pax_global_header00006660000000000000000000000064146353341640014523gustar00rootroot0000000000000052 comment=48653ce5bcb8476870e0c8a4228833478d83caaa easyeffects-7.1.7/000077500000000000000000000000001463533416400140405ustar00rootroot00000000000000easyeffects-7.1.7/.circleci/000077500000000000000000000000001463533416400156735ustar00rootroot00000000000000easyeffects-7.1.7/.circleci/config.yml000066400000000000000000000126021463533416400176640ustar00rootroot00000000000000version: 2.0 jobs: archlinux: docker: - image: archlinux:latest auth: username: wellingtonwallace password: $DOCKERHUB_PASSWORD environment: LANG: C DISPLAY: :10 G_MESSAGES_DEBUG: easyeffects steps: - run: date +%F > /tmp/date - run: | mkdir -p pacman_cache /root/.ccache pacman -Sy --noconfirm # circleci cache needs tar pacman -S tar --noconfirm - restore_cache: keys: - pacman-cache-{{ checksum "/tmp/date" }} - run: | pacman -Su --cachedir pacman_cache --noconfirm pacman -S --cachedir pacman_cache --noconfirm pkg-config git gcc meson itstool boost appstream-glib gettext gtk4 glib2 pipewire pipewire-pulse libsigc++-3.0 libsndfile libsamplerate zita-convolver libebur128 lilv lv2 calf zam-plugins soundtouch mda.lv2 lsp-plugins rnnoise fftw libbs2b speexdsp nlohmann-json xorg-server-xvfb gawk ccache libadwaita tbb fmt gsl ladspa pacman -Sc --cachedir pacman_cache --noconfirm - save_cache: key: pacman-cache-{{ checksum "/tmp/date" }} paths: - pacman_cache - run: rm -rf pacman_cache # - run: # name: Starting Xvfb # command: Xvfb $DISPLAY -screen 0 1280x1024x24 # background: true # - run: # name: Starting dbus # command: | # dbus-uuidgen > /var/lib/dbus/machine-id # mkdir -p /var/run/dbus # DBUS_SESSION_BUS_ADDRESS=$(dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address) && echo $DBUS_SESSION_BUS_ADDRESS # echo "export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS" >> $BASH_ENV # - run: # name: Starting PipeWire in background # command: | # sleep 5 # DISABLE_RTKIT=1 PIPEWIRE_DEBUG=4 pipewire # background: true # - run: # name: Starting pipewire-pulse in background # command: | # sleep 5 # DISABLE_RTKIT=1 pipewire-pulse # background: true # - run: # name: Starting pipewire-media-session in background # command: | # sleep 5 # DISABLE_RTKIT=1 pipewire-media-session # background: true # - run: # name: loading devices # command: | # sleep 5 # pactl load-module module-null-sink object.linger=1 media.class=Audio/Sink sink_name=my-sink audio.position=FL,FR # pactl load-module module-null-sink object.linger=1 media.class=Audio/Source sink_name=my-source audio.position=FL,FR # pw-cli list-objects Node # background: true - restore_cache: keys: - ccache-{{ checksum "/tmp/date" }} - checkout - run: name: Compile and install EasyEffects command: | meson build && cd build && ninja -j 8 && ninja -j 8 install - save_cache: key: ccache-{{ checksum "/tmp/date" }} paths: - /root/.ccache # - run: # name: Starting PE in background # command: | # easyeffects # background: true # - run: # name: Testing play/pause # command: | # .circleci/enable_all_plugins.sh # # stream outputs # #gst-launch-1.0 audiotestsrc num-buffers=100 ! queue ! pipewiresink # #gst-launch-1.0 audiotestsrc num-buffers=100 ! queue ! pipewiresink # # strem inputs # #gst-launch-1.0 pipewiresrc num-buffers=100 ! queue ! audio/x-raw,format=F32LE ! pipewiresink # #gst-launch-1.0 pipewiresrc num-buffers=100 ! queue ! audio/x-raw,format=F32LE ! pipewiresink # - run: # name: Simulating audio applications # command: | # gst-launch-1.0 audiotestsrc ! queue ! pipewiresink & # gst-launch-1.0 pipewiresrc ! queue ! audio/x-raw,format=F32LE ! pipewiresink # background: true # - run: # name: Testing plugin enable/disable on the fly # command: | # sleep 5 # .circleci/enable_all_plugins.sh # sleep 1 # .circleci/disable_all_plugins.sh # sleep 1 # .circleci/enable_all_plugins.sh # - run: # name: Testing presets # command: | # sleep 5 # cp -v .circleci/presets/soe_preset_disable_all.json /root/.config/easyeffects/input # cp -v .circleci/presets/soe_preset_enable_all.json /root/.config/easyeffects/input # cp -v .circleci/presets/sie_preset_disable_all.json /root/.config/easyeffects/output # cp -v .circleci/presets/sie_preset_enable_all.json /root/.config/easyeffects/output # easyeffects -l soe_preset_disable_all || true # sleep 1 # easyeffects -l soe_preset_enable_all || true # sleep 1 # easyeffects -l sie_preset_disable_all || true # sleep 1 # easyeffects -l sie_preset_enalbe_all || true # - run: # name: Reset Configuration and finish # command: | # sleep 5 # easyeffects -r || true # easyeffects -q || true workflows: version: 2 build: jobs: - archlinux easyeffects-7.1.7/.circleci/disable_all_plugins.sh000077500000000000000000000073411463533416400222330ustar00rootroot00000000000000#!/usr/bin/env bash # general settings gsettings set com.github.wwmm.easyeffects enable-all-streaminputs false # effects for sink inputs gsettings set com.github.wwmm.easyeffects.autogain:/com/github/wwmm/easyeffects/streamoutputs/autogain/ state false gsettings set com.github.wwmm.easyeffects.bassenhancer:/com/github/wwmm/easyeffects/streamoutputs/bassenhancer/ state false gsettings set com.github.wwmm.easyeffects.compressor:/com/github/wwmm/easyeffects/streamoutputs/compressor/ state false gsettings set com.github.wwmm.easyeffects.convolver:/com/github/wwmm/easyeffects/streamoutputs/convolver/ state false gsettings set com.github.wwmm.easyeffects.crossfeed:/com/github/wwmm/easyeffects/streamoutputs/crossfeed/ state false gsettings set com.github.wwmm.easyeffects.crystalizer:/com/github/wwmm/easyeffects/streamoutputs/crystalizer/ state false gsettings set com.github.wwmm.easyeffects.deesser:/com/github/wwmm/easyeffects/streamoutputs/deesser/ state false gsettings set com.github.wwmm.easyeffects.delay:/com/github/wwmm/easyeffects/streamoutputs/delay/ state false gsettings set com.github.wwmm.easyeffects.equalizer:/com/github/wwmm/easyeffects/streamoutputs/equalizer/ state false gsettings set com.github.wwmm.easyeffects.exciter:/com/github/wwmm/easyeffects/streamoutputs/exciter/ state false gsettings set com.github.wwmm.easyeffects.filter:/com/github/wwmm/easyeffects/streamoutputs/filter/ state false gsettings set com.github.wwmm.easyeffects.gate:/com/github/wwmm/easyeffects/streamoutputs/gate/ state false gsettings set com.github.wwmm.easyeffects.limiter:/com/github/wwmm/easyeffects/streamoutputs/limiter/ state false gsettings set com.github.wwmm.easyeffects.loudness:/com/github/wwmm/easyeffects/streamoutputs/loudness/ state false gsettings set com.github.wwmm.easyeffects.maximizer:/com/github/wwmm/easyeffects/streamoutputs/maximizer/ state false gsettings set com.github.wwmm.easyeffects.multibandcompressor:/com/github/wwmm/easyeffects/streamoutputs/multibandcompressor/ state false gsettings set com.github.wwmm.easyeffects.multibandgate:/com/github/wwmm/easyeffects/streamoutputs/multibandgate/ state false gsettings set com.github.wwmm.easyeffects.pitch:/com/github/wwmm/easyeffects/streamoutputs/pitch/ state false gsettings set com.github.wwmm.easyeffects.reverb:/com/github/wwmm/easyeffects/streamoutputs/reverb/ state false gsettings set com.github.wwmm.easyeffects.stereotools:/com/github/wwmm/easyeffects/streamoutputs/stereotools/ state false # effects for source outputs gsettings set com.github.wwmm.easyeffects.compressor:/com/github/wwmm/easyeffects/streaminputs/compressor/ state false gsettings set com.github.wwmm.easyeffects.deesser:/com/github/wwmm/easyeffects/streaminputs/deesser/ state false gsettings set com.github.wwmm.easyeffects.equalizer:/com/github/wwmm/easyeffects/streaminputs/equalizer/ state false gsettings set com.github.wwmm.easyeffects.filter:/com/github/wwmm/easyeffects/streaminputs/filter/ state false gsettings set com.github.wwmm.easyeffects.gate:/com/github/wwmm/easyeffects/streaminputs/gate/ state false gsettings set com.github.wwmm.easyeffects.limiter:/com/github/wwmm/easyeffects/streaminputs/limiter/ state false gsettings set com.github.wwmm.easyeffects.multibandcompressor:/com/github/wwmm/easyeffects/streaminputs/multibandcompressor/ state false gsettings set com.github.wwmm.easyeffects.multibandgate:/com/github/wwmm/easyeffects/streaminputs/multibandgate/ state false gsettings set com.github.wwmm.easyeffects.pitch:/com/github/wwmm/easyeffects/streaminputs/pitch/ state false gsettings set com.github.wwmm.easyeffects.reverb:/com/github/wwmm/easyeffects/streaminputs/reverb/ state false gsettings set com.github.wwmm.easyeffects.echocanceller:/com/github/wwmm/easyeffects/streaminputs/echocanceller/ state false easyeffects-7.1.7/.circleci/enable_all_plugins.sh000077500000000000000000000073011463533416400220520ustar00rootroot00000000000000#!/usr/bin/env bash # general settings gsettings set com.github.wwmm.easyeffects enable-all-streaminputs true # effects for sink inputs gsettings set com.github.wwmm.easyeffects.autogain:/com/github/wwmm/easyeffects/streamoutputs/autogain/ state true gsettings set com.github.wwmm.easyeffects.bassenhancer:/com/github/wwmm/easyeffects/streamoutputs/bassenhancer/ state true gsettings set com.github.wwmm.easyeffects.compressor:/com/github/wwmm/easyeffects/streamoutputs/compressor/ state true gsettings set com.github.wwmm.easyeffects.convolver:/com/github/wwmm/easyeffects/streamoutputs/convolver/ state true gsettings set com.github.wwmm.easyeffects.crossfeed:/com/github/wwmm/easyeffects/streamoutputs/crossfeed/ state true gsettings set com.github.wwmm.easyeffects.crystalizer:/com/github/wwmm/easyeffects/streamoutputs/crystalizer/ state true gsettings set com.github.wwmm.easyeffects.deesser:/com/github/wwmm/easyeffects/streamoutputs/deesser/ state true gsettings set com.github.wwmm.easyeffects.delay:/com/github/wwmm/easyeffects/streamoutputs/delay/ state true gsettings set com.github.wwmm.easyeffects.equalizer:/com/github/wwmm/easyeffects/streamoutputs/equalizer/ state true gsettings set com.github.wwmm.easyeffects.exciter:/com/github/wwmm/easyeffects/streamoutputs/exciter/ state true gsettings set com.github.wwmm.easyeffects.filter:/com/github/wwmm/easyeffects/streamoutputs/filter/ state true gsettings set com.github.wwmm.easyeffects.gate:/com/github/wwmm/easyeffects/streamoutputs/gate/ state true gsettings set com.github.wwmm.easyeffects.limiter:/com/github/wwmm/easyeffects/streamoutputs/limiter/ state true gsettings set com.github.wwmm.easyeffects.loudness:/com/github/wwmm/easyeffects/streamoutputs/loudness/ state true gsettings set com.github.wwmm.easyeffects.maximizer:/com/github/wwmm/easyeffects/streamoutputs/maximizer/ state true gsettings set com.github.wwmm.easyeffects.multibandcompressor:/com/github/wwmm/easyeffects/streamoutputs/multibandcompressor/ state true gsettings set com.github.wwmm.easyeffects.multibandgate:/com/github/wwmm/easyeffects/streamoutputs/multibandgate/ state true gsettings set com.github.wwmm.easyeffects.pitch:/com/github/wwmm/easyeffects/streamoutputs/pitch/ state true gsettings set com.github.wwmm.easyeffects.reverb:/com/github/wwmm/easyeffects/streamoutputs/reverb/ state true gsettings set com.github.wwmm.easyeffects.stereotools:/com/github/wwmm/easyeffects/streamoutputs/stereotools/ state true # effects for source outputs gsettings set com.github.wwmm.easyeffects.compressor:/com/github/wwmm/easyeffects/streaminputs/compressor/ state true gsettings set com.github.wwmm.easyeffects.deesser:/com/github/wwmm/easyeffects/streaminputs/deesser/ state true gsettings set com.github.wwmm.easyeffects.equalizer:/com/github/wwmm/easyeffects/streaminputs/equalizer/ state true gsettings set com.github.wwmm.easyeffects.filter:/com/github/wwmm/easyeffects/streaminputs/filter/ state true gsettings set com.github.wwmm.easyeffects.gate:/com/github/wwmm/easyeffects/streaminputs/gate/ state true gsettings set com.github.wwmm.easyeffects.limiter:/com/github/wwmm/easyeffects/streaminputs/limiter/ state true gsettings set com.github.wwmm.easyeffects.multibandcompressor:/com/github/wwmm/easyeffects/streaminputs/multibandcompressor/ state true gsettings set com.github.wwmm.easyeffects.multibandgate:/com/github/wwmm/easyeffects/streaminputs/multibandgate/ state true gsettings set com.github.wwmm.easyeffects.pitch:/com/github/wwmm/easyeffects/streaminputs/pitch/ state true gsettings set com.github.wwmm.easyeffects.reverb:/com/github/wwmm/easyeffects/streaminputs/reverb/ state true gsettings set com.github.wwmm.easyeffects.echocanceller:/com/github/wwmm/easyeffects/streaminputs/echocanceller/ state true easyeffects-7.1.7/.circleci/presets/000077500000000000000000000000001463533416400173605ustar00rootroot00000000000000easyeffects-7.1.7/.circleci/presets/sie_preset_disable_all.json000066400000000000000000000227371463533416400247430ustar00rootroot00000000000000{ "spectrum": { "show": "true", "n-points": "100", "height": "100", "use-custom-color": "true", "fill": "true", "show-bar-border": "true", "scale": "1", "exponent": "1", "sampling-freq": "10", "line-width": "2", "type": "Bars", "color": ["0", "1", "1", "1"], "gradient-color": ["0", "1", "1", "0.52364864864864868"] }, "output": { "blacklist": "", "plugins_order": [ "limiter", "autogain", "exciter", "crystalizer", "loudness", "bass_enhancer", "convolver", "equalizer", "filter", "compressor", "reverb", "crossfeed", "maximizer", "multiband_compressor", "gate", "multiband_gate", "stereo_tools", "deesser", "pitch", "delay" ], "bass_enhancer": { "state": "false", "input-gain": "0", "output-gain": "0", "amount": "-4", "harmonics": "8.5", "scope": "250", "floor": "40", "blend": "0", "floor-active": "true", "listen": "false" }, "compressor": { "state": "false", "detection": "RMS", "stereo-link": "Average", "mix": "0", "attack": "20", "release": "250", "threshold": "-30", "ratio": "4", "knee": "-15", "makeup": "0" }, "crossfeed": { "state": "false", "fcut": "700", "feed": "4.5" }, "deesser": { "state": "false", "detection": "RMS", "mode": "Split", "threshold": "-20", "ratio": "3", "laxity": "15", "makeup": "0", "f1-freq": "10000", "f2-freq": "11000", "f1-level": "0", "f2-level": "12", "f2-q": "2", "sc-listen": "false" }, "equalizer": { "state": "false", "mode": "IIR", "num-bands": "4", "input-gain": "0", "output-gain": "0", "split-channels": "false", "left": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-3.5", "frequency": "500", "q": "0.49999999999999867" }, "band1": { "type": "Resonance", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-4", "frequency": "4500", "q": "9" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "1.5", "frequency": "1600", "q": "2" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "-2", "frequency": "5500", "q": "2" } }, "right": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-3.5", "frequency": "500", "q": "0.49999999999999867" }, "band1": { "type": "Resonance", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-4", "frequency": "4500", "q": "9" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "1.5", "frequency": "1600", "q": "2" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "-2", "frequency": "5500", "q": "2" } } }, "exciter": { "state": "false", "input-gain": "0", "output-gain": "0", "amount": "-15", "harmonics": "8.5", "scope": "2000", "ceil": "16000", "blend": "0", "ceil-active": "false", "listen": "false" }, "filter": { "state": "false", "input-gain": "0", "output-gain": "0", "frequency": "2000", "resonance": "-3", "mode": "12dB/oct Lowpass", "inertia": "20" }, "gate": { "state": "false", "detection": "RMS", "stereo-link": "Average", "range": "-24", "attack": "20", "release": "250", "threshold": "-18", "ratio": "2", "knee": "9", "makeup": "0" }, "limiter": { "state": "false", "input-gain": "0", "limit": "-1", "lookahead": "5", "release": "1000", "asc": "true", "asc-level": "1", "oversampling": "1" }, "maximizer": { "state": "false", "release": "3.1600000000000001", "ceiling": "0", "threshold": "0" }, "pitch": { "state": "false", "input-gain": "0", "output-gain": "0", "cents": "0", "semitones": "0", "octaves": "0", "crispness": "3", "formant-preserving": "false", "faster": "false" }, "reverb": { "state": "false", "input-gain": "0", "output-gain": "0", "room-size": "Large", "decay-time": "1.5", "hf-damp": "5000", "diffusion": "0.5", "amount": "-12", "dry": "0", "predelay": "0", "bass-cut": "300", "treble-cut": "5000" }, "multiband_compressor": { "state": "false", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } }, "loudness": { "state": "false", "loudness": "-2.9999999999999893", "output": "-7", "link": "-9.0000000000000018" }, "multiband_gate": { "state": "false", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } }, "stereo_tools": { "state": "false", "input-gain": "0", "output-gain": "0", "balance-in": "0", "balance-out": "0", "softclip": "false", "mutel": "false", "muter": "false", "phasel": "false", "phaser": "false", "mode": "LR > LR (Stereo Default)", "side-level": "0", "side-balance": "0", "middle-level": "0", "middle-panorama": "0", "stereo-base": "0", "delay": "0", "sc-level": "1", "stereo-phase": "0" }, "convolver": { "state": "false", "input-gain": "0", "output-gain": "0", "kernel-path": "/home/wallace/.config/easyeffects/irs/Samsung SoundAlive ((48k Z-Edition)) 10.3D+Clarity.irs", "ir-width": "100", "blocksize": "512" }, "crystalizer": { "state": "false", "input-gain": "0", "output-gain": "-6", "intensity-low": "3", "intensity-mid": "1.5", "intensity-high": "0.75000000000000022", "mute-low": "false", "mute-mid": "false", "mute-high": "false" }, "autogain": { "state": "false", "input-gain": "0", "output-gain": "0", "target": "-23", "weight-m": "1", "weight-s": "2", "weight-i": "3" }, "delay": { "state": "false", "input-gain": "0", "output-gain": "0", "time-l": "0", "time-r": "0" } } } easyeffects-7.1.7/.circleci/presets/sie_preset_enable_all.json000066400000000000000000000344731463533416400245660ustar00rootroot00000000000000{ "spectrum": { "show": "true", "n-points": "100", "height": "100", "use-custom-color": "true", "fill": "true", "show-bar-border": "true", "scale": "1", "exponent": "1", "sampling-freq": "10", "line-width": "2", "type": "Bars", "color": [ "0", "1", "1", "1" ], "gradient-color": [ "0", "1", "1", "0.52364864864864868" ] }, "output": { "blacklist": "", "plugins_order": [ "limiter", "autogain", "multiband_compressor", "convolver", "bass_enhancer", "exciter", "equalizer", "delay", "maximizer", "stereo_tools", "compressor", "reverb", "filter", "crossfeed", "loudness", "gate", "multiband_gate", "deesser", "crystalizer", "pitch" ], "bass_enhancer": { "state": "true", "input-gain": "0", "output-gain": "0", "amount": "0.40000000000000013", "harmonics": "8.5", "scope": "250", "floor": "20", "blend": "0", "floor-active": "true", "listen": "false" }, "compressor": { "state": "true", "input-gain": "0", "output-gain": "0", "mode": "Downward", "attack": "25", "release": "100", "threshold": "-21.072093963623047", "ratio": "4.2500799999999996", "knee": "-20", "makeup": "0", "sidechain": { "listen": "false", "type": "Feed-forward", "mode": "RMS", "source": "Middle", "preamp": "0", "reactivity": "10", "lookahead": "0" } }, "crossfeed": { "state": "true", "fcut": "700", "feed": "4.5" }, "deesser": { "state": "true", "detection": "RMS", "mode": "Wide", "threshold": "-18", "ratio": "3", "laxity": "15", "makeup": "0", "f1-freq": "6000", "f2-freq": "4500", "f1-level": "0", "f2-level": "12", "f2-q": "1", "sc-listen": "false" }, "equalizer": { "state": "true", "mode": "IIR", "num-bands": "4", "input-gain": "0", "output-gain": "0", "split-channels": "false", "left": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-3", "frequency": "500", "q": "0.49999999999999867" }, "band1": { "type": "Resonance", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-3.5", "frequency": "4500", "q": "9" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "1", "frequency": "1600", "q": "2" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "-1.5", "frequency": "5500", "q": "2" } }, "right": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-3", "frequency": "500", "q": "0.49999999999999867" }, "band1": { "type": "Resonance", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "-3.5", "frequency": "4500", "q": "9" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "1", "frequency": "1600", "q": "2" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x4", "solo": "false", "mute": "false", "gain": "-1.5", "frequency": "5500", "q": "2" } } }, "exciter": { "state": "true", "input-gain": "0", "output-gain": "0", "amount": "-8", "harmonics": "8.5", "scope": "2000", "ceil": "16000", "blend": "0", "ceil-active": "false", "listen": "false" }, "filter": { "state": "true", "input-gain": "0", "output-gain": "0", "frequency": "2000", "resonance": "-3", "mode": "12dB\/oct Lowpass", "inertia": "20" }, "gate": { "state": "true", "detection": "RMS", "stereo-link": "Average", "range": "-24", "attack": "20", "release": "250", "threshold": "-18", "ratio": "2", "knee": "9", "makeup": "0" }, "limiter": { "state": "true", "input-gain": "0", "limit": "0", "lookahead": "10", "release": "100", "asc": "true", "asc-level": "1", "oversampling": "1" }, "maximizer": { "state": "true", "release": "3.1600000000000001", "ceiling": "0", "threshold": "-16" }, "pitch": { "state": "true", "input-gain": "0", "output-gain": "0", "cents": "0", "semitones": "0", "octaves": "0", "crispness": "3", "formant-preserving": "false", "faster": "false" }, "reverb": { "state": "true", "input-gain": "0", "output-gain": "0", "room-size": "Large\/smooth", "decay-time": "0.44594499999999998", "hf-damp": "5508.46", "diffusion": "0.54000000000000004", "amount": "-9", "dry": "0", "predelay": "25", "bass-cut": "257.64999999999998", "treble-cut": "20000" }, "multiband_compressor": { "state": "true", "input-gain": "0", "output-gain": "0", "freq0": "300", "freq1": "1000", "freq2": "4000", "mode": "LR8", "subband": { "threshold": "-30", "ratio": "4", "attack": "100", "release": "500", "makeup": "0", "knee": "18", "detection": "Peak", "bypass": "false", "solo": "false" }, "lowband": { "threshold": "-40", "ratio": "2", "attack": "100", "release": "500", "makeup": "0", "knee": "9", "detection": "Peak", "bypass": "false", "solo": "false" }, "midband": { "threshold": "-50", "ratio": "2", "attack": "50", "release": "500", "makeup": "0", "knee": "9", "detection": "Peak", "bypass": "false", "solo": "false" }, "highband": { "threshold": "-40", "ratio": "4", "attack": "100", "release": "500", "makeup": "0", "knee": "18", "detection": "Peak", "bypass": "false", "solo": "false" } }, "loudness": { "state": "true", "loudness": "-3.1000000000000001", "output": "-6", "link": "-9.0999999999999996" }, "multiband_gate": { "state": "true", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } }, "stereo_tools": { "state": "true", "input-gain": "0", "output-gain": "0", "balance-in": "0", "balance-out": "0", "softclip": "false", "mutel": "false", "muter": "false", "phasel": "false", "phaser": "false", "mode": "LR > LR (Stereo Default)", "side-level": "0", "side-balance": "0", "middle-level": "0", "middle-panorama": "0", "stereo-base": "0", "delay": "1.5000000000000011", "sc-level": "1", "stereo-phase": "0" }, "convolver": { "state": "true", "input-gain": "0", "output-gain": "0", "kernel-path": "\/home\/wallace\/.config\/easyeffects/\/irs\/Samsung SoundAlive Small Room.irs", "ir-width": "150" }, "crystalizer": { "state": "true", "aggressive": "false", "input-gain": "0", "output-gain": "0", "band0": { "intensity": "12", "mute": "false", "bypass": "false" }, "band1": { "intensity": "10", "mute": "false", "bypass": "false" }, "band2": { "intensity": "8", "mute": "false", "bypass": "false" }, "band3": { "intensity": "6", "mute": "false", "bypass": "false" }, "band4": { "intensity": "4", "mute": "false", "bypass": "false" }, "band5": { "intensity": "2", "mute": "false", "bypass": "false" }, "band6": { "intensity": "0", "mute": "false", "bypass": "false" }, "band7": { "intensity": "-2", "mute": "false", "bypass": "false" }, "band8": { "intensity": "-4", "mute": "false", "bypass": "false" }, "band9": { "intensity": "-6", "mute": "false", "bypass": "false" }, "band10": { "intensity": "-8", "mute": "false", "bypass": "false" }, "band11": { "intensity": "-10", "mute": "false", "bypass": "false" }, "band12": { "intensity": "-12", "mute": "false", "bypass": "false" } }, "autogain": { "state": "true", "input-gain": "0", "output-gain": "0", "target": "-23", "weight-m": "3", "weight-s": "2", "weight-i": "1" }, "delay": { "state": "true", "input-gain": "0", "output-gain": "0", "time-l": "0", "time-r": "1.5000000000000011" } } } easyeffects-7.1.7/.circleci/presets/soe_preset_disable_all.json000066400000000000000000000720541463533416400247460ustar00rootroot00000000000000{ "spectrum": { "show": "true", "n-points": "100", "height": "100", "use-custom-color": "true", "fill": "true", "show-bar-border": "true", "scale": "1", "exponent": "1", "sampling-freq": "10", "line-width": "2", "type": "Bars", "color": [ "0", "1", "1", "1" ], "gradient-color": [ "0", "1", "1", "0.52364864864864868" ] }, "input": { "blacklist": "", "plugins_order": [ "limiter", "gate", "webrtc", "multiband_gate", "compressor", "multiband_compressor", "filter", "equalizer", "deesser", "reverb", "pitch" ], "compressor": { "state": "false", "input-gain": "0", "output-gain": "0", "mode": "Downward", "attack": "20", "release": "250", "threshold": "-18", "ratio": "2", "knee": "-6", "makeup": "0", "sidechain": { "listen": "false", "type": "Feed-forward", "mode": "RMS", "source": "Middle", "preamp": "0", "reactivity": "10", "lookahead": "0" } }, "deesser": { "state": "false", "detection": "RMS", "mode": "Wide", "threshold": "-18", "ratio": "3", "laxity": "15", "makeup": "0", "f1-freq": "6000", "f2-freq": "4500", "f1-level": "0", "f2-level": "12", "f2-q": "1", "sc-listen": "false" }, "equalizer": { "state": "false", "mode": "IIR", "num-bands": "30", "input-gain": "0", "output-gain": "0", "split-channels": "false", "left": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "22.589254117941671", "q": "4.3600000000000003" }, "band1": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "28.438186042552807", "q": "4.3600000000000003" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "35.801555074299934", "q": "4.3600000000000003" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "45.071487464784603", "q": "4.3600000000000003" }, "band4": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "56.741640916779602", "q": "4.3600000000000003" }, "band5": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "71.433493657033537", "q": "4.3600000000000003" }, "band6": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "89.929440418076979", "q": "4.3600000000000003" }, "band7": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "113.21445781074659", "q": "4.3600000000000003" }, "band8": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "142.52855792044753", "q": "4.3600000000000003" }, "band9": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "179.43282347242823", "q": "4.3600000000000003" }, "band10": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "225.89254117941681", "q": "4.3600000000000003" }, "band11": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "284.3818604255282", "q": "4.3600000000000003" }, "band12": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "358.01555074299949", "q": "4.3600000000000003" }, "band13": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "450.71487464784627", "q": "4.3600000000000003" }, "band14": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "567.41640916779625", "q": "4.3600000000000003" }, "band15": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "714.33493657033569", "q": "4.3600000000000003" }, "band16": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "899.29440418077013", "q": "4.3600000000000003" }, "band17": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1132.1445781074663", "q": "4.3600000000000003" }, "band18": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1425.2855792044757", "q": "4.3600000000000003" }, "band19": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1794.328234724283", "q": "4.3600000000000003" }, "band20": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2258.9254117941691", "q": "4.3600000000000003" }, "band21": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2843.8186042552834", "q": "4.3600000000000003" }, "band22": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "3580.1555074299968", "q": "4.3600000000000003" }, "band23": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "4507.1487464784641", "q": "4.3600000000000003" }, "band24": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "5674.1640916779661", "q": "4.3600000000000003" }, "band25": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "7143.3493657033605", "q": "4.3600000000000003" }, "band26": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "8992.9440418077065", "q": "4.3600000000000003" }, "band27": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "11321.445781074672", "q": "4.3600000000000003" }, "band28": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "14252.855792044767", "q": "4.3600000000000003" }, "band29": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "17943.282347242843", "q": "4.3600000000000003" } }, "right": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "22.589254117941671", "q": "4.3600000000000003" }, "band1": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "28.438186042552807", "q": "4.3600000000000003" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "35.801555074299934", "q": "4.3600000000000003" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "45.071487464784603", "q": "4.3600000000000003" }, "band4": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "56.741640916779602", "q": "4.3600000000000003" }, "band5": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "71.433493657033537", "q": "4.3600000000000003" }, "band6": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "89.929440418076979", "q": "4.3600000000000003" }, "band7": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "113.21445781074659", "q": "4.3600000000000003" }, "band8": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "142.52855792044753", "q": "4.3600000000000003" }, "band9": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "179.43282347242823", "q": "4.3600000000000003" }, "band10": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "225.89254117941681", "q": "4.3600000000000003" }, "band11": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "284.3818604255282", "q": "4.3600000000000003" }, "band12": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "358.01555074299949", "q": "4.3600000000000003" }, "band13": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "450.71487464784627", "q": "4.3600000000000003" }, "band14": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "567.41640916779625", "q": "4.3600000000000003" }, "band15": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "714.33493657033569", "q": "4.3600000000000003" }, "band16": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "899.29440418077013", "q": "4.3600000000000003" }, "band17": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1132.1445781074663", "q": "4.3600000000000003" }, "band18": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1425.2855792044757", "q": "4.3600000000000003" }, "band19": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1794.328234724283", "q": "4.3600000000000003" }, "band20": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2258.9254117941691", "q": "4.3600000000000003" }, "band21": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2843.8186042552834", "q": "4.3600000000000003" }, "band22": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "3580.1555074299968", "q": "4.3600000000000003" }, "band23": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "4507.1487464784641", "q": "4.3600000000000003" }, "band24": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "5674.1640916779661", "q": "4.3600000000000003" }, "band25": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "7143.3493657033605", "q": "4.3600000000000003" }, "band26": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "8992.9440418077065", "q": "4.3600000000000003" }, "band27": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "11321.445781074672", "q": "4.3600000000000003" }, "band28": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "14252.855792044767", "q": "4.3600000000000003" }, "band29": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "17943.282347242843", "q": "4.3600000000000003" } } }, "filter": { "state": "false", "input-gain": "0", "output-gain": "0", "frequency": "2000", "resonance": "-3", "mode": "12dB\/oct Lowpass", "inertia": "20" }, "gate": { "state": "false", "detection": "RMS", "stereo-link": "Average", "range": "-24", "attack": "20", "release": "250", "threshold": "-18", "ratio": "2", "knee": "9", "makeup": "0" }, "limiter": { "state": "false", "input-gain": "0", "limit": "0", "lookahead": "5", "release": "1000", "asc": "true", "asc-level": "1", "oversampling": "1" }, "pitch": { "state": "false", "input-gain": "0", "output-gain": "0", "cents": "0", "semitones": "0", "octaves": "0", "crispness": "3", "formant-preserving": "false", "faster": "false" }, "reverb": { "state": "false", "input-gain": "0", "output-gain": "0", "room-size": "Large", "decay-time": "1.5", "hf-damp": "5000", "diffusion": "0.5", "amount": "-12", "dry": "0", "predelay": "0", "bass-cut": "300", "treble-cut": "5000" }, "webrtc": { "state": "false", "high-pass-filter": "true", "echo-cancel": "true", "echo-suppression-level": "moderate", "noise-suppression": "true", "noise-suppression-level": "moderate", "gain-control": "true", "extended-filter": "true", "delay-agnostic": "false", "target-level-dbfs": "3", "compression-gain-db": "9", "limiter": "true", "gain-control-mode": "adaptive-digital", "voice-detection": "false", "voice-detection-frame-size-ms": "10", "voice-detection-likelihood": "low" }, "multiband_compressor": { "state": "false", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } }, "multiband_gate": { "state": "false", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } } } } easyeffects-7.1.7/.circleci/presets/soe_preset_enable_all.json000066400000000000000000000720411463533416400245650ustar00rootroot00000000000000{ "spectrum": { "show": "true", "n-points": "100", "height": "100", "use-custom-color": "true", "fill": "true", "show-bar-border": "true", "scale": "1", "exponent": "1", "sampling-freq": "10", "line-width": "2", "type": "Bars", "color": [ "0", "1", "1", "1" ], "gradient-color": [ "0", "1", "1", "0.52364864864864868" ] }, "input": { "blacklist": "", "plugins_order": [ "limiter", "gate", "webrtc", "multiband_gate", "compressor", "multiband_compressor", "filter", "equalizer", "deesser", "reverb", "pitch" ], "compressor": { "state": "true", "input-gain": "0", "output-gain": "0", "mode": "Downward", "attack": "20", "release": "250", "threshold": "-18", "ratio": "2", "knee": "-6", "makeup": "0", "sidechain": { "listen": "false", "type": "Feed-forward", "mode": "RMS", "source": "Middle", "preamp": "0", "reactivity": "10", "lookahead": "0" } }, "deesser": { "state": "true", "detection": "RMS", "mode": "Wide", "threshold": "-18", "ratio": "3", "laxity": "15", "makeup": "0", "f1-freq": "6000", "f2-freq": "4500", "f1-level": "0", "f2-level": "12", "f2-q": "1", "sc-listen": "false" }, "equalizer": { "state": "true", "mode": "IIR", "num-bands": "30", "input-gain": "0", "output-gain": "0", "split-channels": "false", "left": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "22.589254117941671", "q": "4.3600000000000003" }, "band1": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "28.438186042552807", "q": "4.3600000000000003" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "35.801555074299934", "q": "4.3600000000000003" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "45.071487464784603", "q": "4.3600000000000003" }, "band4": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "56.741640916779602", "q": "4.3600000000000003" }, "band5": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "71.433493657033537", "q": "4.3600000000000003" }, "band6": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "89.929440418076979", "q": "4.3600000000000003" }, "band7": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "113.21445781074659", "q": "4.3600000000000003" }, "band8": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "142.52855792044753", "q": "4.3600000000000003" }, "band9": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "179.43282347242823", "q": "4.3600000000000003" }, "band10": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "225.89254117941681", "q": "4.3600000000000003" }, "band11": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "284.3818604255282", "q": "4.3600000000000003" }, "band12": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "358.01555074299949", "q": "4.3600000000000003" }, "band13": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "450.71487464784627", "q": "4.3600000000000003" }, "band14": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "567.41640916779625", "q": "4.3600000000000003" }, "band15": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "714.33493657033569", "q": "4.3600000000000003" }, "band16": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "899.29440418077013", "q": "4.3600000000000003" }, "band17": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1132.1445781074663", "q": "4.3600000000000003" }, "band18": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1425.2855792044757", "q": "4.3600000000000003" }, "band19": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1794.328234724283", "q": "4.3600000000000003" }, "band20": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2258.9254117941691", "q": "4.3600000000000003" }, "band21": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2843.8186042552834", "q": "4.3600000000000003" }, "band22": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "3580.1555074299968", "q": "4.3600000000000003" }, "band23": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "4507.1487464784641", "q": "4.3600000000000003" }, "band24": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "5674.1640916779661", "q": "4.3600000000000003" }, "band25": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "7143.3493657033605", "q": "4.3600000000000003" }, "band26": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "8992.9440418077065", "q": "4.3600000000000003" }, "band27": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "11321.445781074672", "q": "4.3600000000000003" }, "band28": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "14252.855792044767", "q": "4.3600000000000003" }, "band29": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "17943.282347242843", "q": "4.3600000000000003" } }, "right": { "band0": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "22.589254117941671", "q": "4.3600000000000003" }, "band1": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "28.438186042552807", "q": "4.3600000000000003" }, "band2": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "35.801555074299934", "q": "4.3600000000000003" }, "band3": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "45.071487464784603", "q": "4.3600000000000003" }, "band4": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "56.741640916779602", "q": "4.3600000000000003" }, "band5": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "71.433493657033537", "q": "4.3600000000000003" }, "band6": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "89.929440418076979", "q": "4.3600000000000003" }, "band7": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "113.21445781074659", "q": "4.3600000000000003" }, "band8": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "142.52855792044753", "q": "4.3600000000000003" }, "band9": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "179.43282347242823", "q": "4.3600000000000003" }, "band10": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "225.89254117941681", "q": "4.3600000000000003" }, "band11": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "284.3818604255282", "q": "4.3600000000000003" }, "band12": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "358.01555074299949", "q": "4.3600000000000003" }, "band13": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "450.71487464784627", "q": "4.3600000000000003" }, "band14": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "567.41640916779625", "q": "4.3600000000000003" }, "band15": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "714.33493657033569", "q": "4.3600000000000003" }, "band16": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "899.29440418077013", "q": "4.3600000000000003" }, "band17": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1132.1445781074663", "q": "4.3600000000000003" }, "band18": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1425.2855792044757", "q": "4.3600000000000003" }, "band19": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "1794.328234724283", "q": "4.3600000000000003" }, "band20": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2258.9254117941691", "q": "4.3600000000000003" }, "band21": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "2843.8186042552834", "q": "4.3600000000000003" }, "band22": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "3580.1555074299968", "q": "4.3600000000000003" }, "band23": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "4507.1487464784641", "q": "4.3600000000000003" }, "band24": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "5674.1640916779661", "q": "4.3600000000000003" }, "band25": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "7143.3493657033605", "q": "4.3600000000000003" }, "band26": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "8992.9440418077065", "q": "4.3600000000000003" }, "band27": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "11321.445781074672", "q": "4.3600000000000003" }, "band28": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "14252.855792044767", "q": "4.3600000000000003" }, "band29": { "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false", "gain": "0", "frequency": "17943.282347242843", "q": "4.3600000000000003" } } }, "filter": { "state": "true", "input-gain": "0", "output-gain": "0", "frequency": "2000", "resonance": "-3", "mode": "12dB\/oct Lowpass", "inertia": "20" }, "gate": { "state": "true", "detection": "RMS", "stereo-link": "Average", "range": "-24", "attack": "20", "release": "250", "threshold": "-18", "ratio": "2", "knee": "9", "makeup": "0" }, "limiter": { "state": "true", "input-gain": "0", "limit": "0", "lookahead": "5", "release": "1000", "asc": "true", "asc-level": "1", "oversampling": "1" }, "pitch": { "state": "true", "input-gain": "0", "output-gain": "0", "cents": "0", "semitones": "0", "octaves": "0", "crispness": "3", "formant-preserving": "false", "faster": "false" }, "reverb": { "state": "true", "input-gain": "0", "output-gain": "0", "room-size": "Large", "decay-time": "1.5", "hf-damp": "5000", "diffusion": "0.5", "amount": "-12", "dry": "0", "predelay": "0", "bass-cut": "300", "treble-cut": "5000" }, "webrtc": { "state": "true", "high-pass-filter": "true", "echo-cancel": "true", "echo-suppression-level": "moderate", "noise-suppression": "true", "noise-suppression-level": "moderate", "gain-control": "true", "extended-filter": "true", "delay-agnostic": "false", "target-level-dbfs": "3", "compression-gain-db": "9", "limiter": "true", "gain-control-mode": "adaptive-digital", "voice-detection": "false", "voice-detection-frame-size-ms": "10", "voice-detection-likelihood": "low" }, "multiband_compressor": { "state": "true", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } }, "multiband_gate": { "state": "true", "input-gain": "0", "output-gain": "0", "freq0": "120", "freq1": "1000", "freq2": "6000", "mode": "LR8", "subband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "lowband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "midband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" }, "highband": { "reduction": "-24", "threshold": "-12", "ratio": "2", "attack": "150", "release": "300", "makeup": "0", "knee": "9", "detection": "RMS", "bypass": "false", "solo": "false" } } } } easyeffects-7.1.7/.circleci/test.sh000077500000000000000000000076641463533416400172260ustar00rootroot00000000000000#!/usr/bin/env bash # Use shellcheck to check this script after making changes # Try too keep it compatible with both GNU and BSD coreutils # This script is for testing EasyEffects. # Can be ran locally after making changes in code # or in continious integration systems. # Requirements for CI containers: bash ImageMagic scrot Xvfb # Authors: # - Mikhail Novosyolov set -e # fail on any error #set -f # disable globbing #export DISPLAY=:0 # Gurantee consistency of language strings in GUIs and CLI outputs export LANG=c if [ "$(pwd | awk -F '/' '{print $NF}')" = "util" ]; then cd .. ; fi dir0="$PWD" # EasyEffects binary # In PATH, relative or absolute PE_BIN="${PE_BIN:-easyeffects}" cleanup(){ ( set +e +f while read -r line do kill "$line" # TODO: check if has been actually killed done < <(cat ${tmp_dir}/*.pid) ) if [ -z "$NO_CLEANUP" ]; then rm -fr ${tmp_dir:?}/* ; fi } export -f cleanup trap cleanup EXIT # This test runs a graphical app and checks that it ran OK # The idea is described here (in Russian): # https://lists.altlinux.org/pipermail/sisyphus/2018-April/366621.html graphical_run_test(){ # Xephyr is an X server in a seperate graphical window - for local tests on developer PCs # Xvfb is a headless X server - for automated tests # Let's automatically use Xephyr on developers PCs if [ -n "$DISPLAY" ] && [ -z "$X_SERVER" ]; then X_SERVER=Xephyr fi X_SERVER="${X_SERVER:-Xvfb}" # Keep GUI consistent to compare screenshots export GTK_THEME=Adwaita:light tmp_dir="$(mktemp -d)" mkdir -p "${tmp_dir}" echo "Temp dir: ${tmp_dir}" rm -fvr ${tmp_dir:?}/* virt_display="$(( ( RANDOM % 100 ) + 1 ))" echo "Random DISPLAY = $virt_display" case "$X_SERVER" in Xephyr|xephyr ) echo "Using Xephyr X server" Xephyr -br -ac -noreset -screen 1024x720 ":${virt_display}" & ;; Xvfb|xvfb ) echo "Using Xvfb X server" Xvfb ":${virt_display}" -screen 0 1024x720x24 & ;; esac echo $! > "${tmp_dir}/X-server.pid" # export DISPLAY only after running Xephyr, otherwise Xephyr itself tries to use this $DISPLAY export DISPLAY=":${virt_display}" # now run EasyEffects "$PE_BIN" & echo $! > "${tmp_dir}/easyeffects.pid" # Check that EasyEffects started # TODO: improve this check # EasyEffects start up time is different on different systems, you make set yours # TODO: writee better code and avois using sleep SLEEP_TIME="${SLEEP_TIME:-10}" sleep "$SLEEP_TIME" if ! ps aux | awk '{print $NF}' | grep -v 'grep ' | grep -q "${PE_BIN}\$"; then echo "$PE_BIN" did not start in "$SLEEP_TIME" seconds, exiting with error! return 1 fi # take screenshot of our seperate X server scrot --quality 100 "${tmp_dir}/current_screenshot_full.png" # master screenshot of test result MASTER_SCREENSHOT="${MASTER_SCREENSHOT:-${dir0}/images/master_screenshot_test.png}" if [ ! -f "$MASTER_SCREENSHOT" ]; then echo "Master screenshot ${MASTER_SCREENSHOT} not found!" return 1 fi # reduce nu,ber of colors in screenshot to remove unneeded artefacts and differences convert +dither -colors 2 "$MASTER_SCREENSHOT" "${tmp_dir}/master_screenshot_reduced.png" convert +dither -colors 2 "${tmp_dir}/current_screenshot_full.png" "${tmp_dir}/current_screenshot_cropped.png" # TODO: what will we do with different default fonts? # https://stackoverflow.com/questions/29229535/measure-similarity-of-two-images-in-java-or-imagemagick screenshots_diff_value="$(compare -metric ae "${tmp_dir}/master_screenshot_reduced.png" "${tmp_dir}/current_screenshot_cropped.png" null: 2>&1)" echo screenshots_diff_value = "$screenshots_diff_value" # 8000 is an experimanental value, probably we can somehow find a more exact value if [ "$screenshots_diff_value" -le 8000 ] then echo "Graphical test: OK" return 0 else echo "Graphical test: FAILED !!!" return 1 fi # trap cleanup will run if nothing else is planned to be after this function } # TODO: parse command line arguements etc. graphical_run_test easyeffects-7.1.7/.clang-format000066400000000000000000000076531463533416400164260ustar00rootroot00000000000000--- Language: Cpp # BasedOnStyle: Chromium AccessModifierOffset: -1 AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false AlignConsecutiveDeclarations: false AlignEscapedNewlines: Left AlignOperands: true AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: false AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: Inline AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: true AlwaysBreakTemplateDeclarations: Yes BinPackArguments: true BinPackParameters: false BraceWrapping: AfterClass: false AfterControlStatement: false AfterEnum: false AfterFunction: false AfterNamespace: false AfterObjCDeclaration: false AfterStruct: false AfterUnion: false AfterExternBlock: false BeforeCatch: false BeforeElse: false IndentBraces: false SplitEmptyFunction: true SplitEmptyRecord: true SplitEmptyNamespace: true BreakBeforeBinaryOperators: None BreakBeforeBraces: Attach BreakBeforeInheritanceComma: false BreakInheritanceList: BeforeColon BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: false BreakConstructorInitializers: BeforeColon BreakAfterJavaFieldAnnotations: false BreakStringLiterals: true ColumnLimit: 120 CommentPragmas: '^ IWYU pragma:' CompactNamespaces: false ConstructorInitializerAllOnOneLineOrOnePerLine: true ConstructorInitializerIndentWidth: 4 ContinuationIndentWidth: 4 Cpp11BracedListStyle: true DerivePointerAlignment: false DisableFormat: false ExperimentalAutoDetectBinPacking: false FixNamespaceComments: true ForEachMacros: - foreach - Q_FOREACH - BOOST_FOREACH IncludeBlocks: Preserve IncludeCategories: - Regex: '^' Priority: 2 - Regex: '^<.*\.h>' Priority: 1 - Regex: '^<.*' Priority: 2 - Regex: '.*' Priority: 3 IncludeIsMainRegex: '([-_](test|unittest))?$' IndentCaseLabels: true IndentPPDirectives: None IndentWidth: 2 IndentWrappedFunctionNames: false JavaScriptQuotes: Leave JavaScriptWrapImports: true KeepEmptyLinesAtTheStartOfBlocks: false MacroBlockBegin: '' MacroBlockEnd: '' MaxEmptyLinesToKeep: 1 NamespaceIndentation: None ObjCBinPackProtocolList: Never ObjCBlockIndentWidth: 2 ObjCSpaceAfterProperty: false ObjCSpaceBeforeProtocolList: true PenaltyBreakAssignment: 2 PenaltyBreakBeforeFirstCallParameter: 1 PenaltyBreakComment: 300 PenaltyBreakFirstLessLess: 120 PenaltyBreakString: 1000 PenaltyBreakTemplateDeclaration: 10 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 200 PointerAlignment: Left RawStringFormats: - Language: Cpp Delimiters: - cc - CC - cpp - Cpp - CPP - 'c++' - 'C++' CanonicalDelimiter: '' BasedOnStyle: google - Language: TextProto Delimiters: - pb - PB - proto - PROTO EnclosingFunctions: - EqualsProto - EquivToProto - PARSE_PARTIAL_TEXT_PROTO - PARSE_TEST_PROTO - PARSE_TEXT_PROTO - ParseTextOrDie - ParseTextProtoOrDie CanonicalDelimiter: '' BasedOnStyle: google ReflowComments: true SortIncludes: true SortUsingDeclarations: true SpaceAfterCStyleCast: false SpaceAfterTemplateKeyword: true SpaceBeforeAssignmentOperators: true SpaceBeforeCpp11BracedList: false SpaceBeforeCtorInitializerColon: true SpaceBeforeInheritanceColon: true SpaceBeforeParens: ControlStatements SpaceBeforeRangeBasedForLoopColon: true SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 2 SpacesInAngles: false SpacesInContainerLiterals: true SpacesInCStyleCastParentheses: false SpacesInParentheses: false SpacesInSquareBrackets: false Standard: Auto TabWidth: 8 UseTab: Never ... easyeffects-7.1.7/.clang-tidy000066400000000000000000000077651463533416400161130ustar00rootroot00000000000000# the checks with the hyphen prepended are disabled until they are fixed # some like clang-analyzer-osx* should stay disabled as they are not relevant, to improve performance somewhat Checks: 'bugprone-*,cert-*,clang-analyzer-*,concurrency-*,cppcoreguidelines-*,hicpp-*,misc-*,modernize-*,performance-*,portability-*,readability-*, -clang-analyzer-osx*, -clang-analyzer-optin.osx*, -cppcoreguidelines-pro-type-cstyle-cast, -cppcoreguidelines-pro-type-vararg, -cppcoreguidelines-non-private-member-variables-in-classes, -cppcoreguidelines-avoid-magic-numbers, -cppcoreguidelines-owning-memory, -cppcoreguidelines-avoid-non-const-global-variables, -cppcoreguidelines-pro-bounds-constant-array-index, -readability-magic-numbers, -readability-function-cognitive-complexity, -readability-identifier-length, -bugprone-easily-swappable-parameters, -misc-non-private-member-variables-in-classes, -hicpp-vararg, -cppcoreguidelines-special-member-functions, -hicpp-special-member-functions, -cppcoreguidelines-pro-type-member-init, -hicpp-member-init, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -misc-const-correctness, -cppcoreguidelines-pro-type-const-cast, -hicpp-signed-bitwise, -cert-err58-cpp, -hicpp-multiway-paths-covered, -cert-dcl50-cpp, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -hicpp-no-array-decay, -bugprone-narrowing-conversions, -cppcoreguidelines-narrowing-conversions, -cert-err33-c, -concurrency-mt-unsafe, -bugprone-branch-clone, -cppcoreguidelines-pro-type-reinterpret-cast, -cppcoreguidelines-avoid-c-arrays, -hicpp-avoid-c-arrays, -modernize-avoid-c-arrays, -cppcoreguidelines-avoid-const-or-ref-data-members, -misc-use-anonymous-namespace, -cppcoreguidelines-avoid-do-while, -hicpp-explicit-conversions, -misc-unused-parameters, -modernize-use-trailing-return-type, -readability-qualified-auto, -readability-redundant-string-cstr, -readability-non-const-parameter, -performance-unnecessary-value-param, -cppcoreguidelines-prefer-member-initializer, -readability-implicit-bool-conversion, -performance-inefficient-vector-operation, -readability-else-after-return, -bugprone-exception-escape, ' # todo, clang-analyzer-core.NullDereference is also suppressed in the code itself with NOLINT, consider fixing that too # todo these can all be fixed automatically but that needs to be done with caution # hicpp-explicit-conversions, misc-unused-parameter,modernize-use-trailing-return-type,readability-qualified-auto,readability-redundant-string-cstr, # readability-non-const-parameter,performance-unnecessary-value-param,cppcoreguidelines-prefer-member-initializer,readability-implicit-bool-conversion # performance-inefficient-vector-operation,readability-else-after-return CheckOptions: # we don't want these to be passed by reference, even if (especially for shared_ptrs) it incurs a much greater cost # since we either we use c apis like pipewire which clang-tidy/c++ cannot reason about (NodeInfo, LinkInfo, DeviceInfo), # or we depend on shared_ptrs to work across multiple threads, notably when the caller finishes before the callee performance-unnecessary-value-param.AllowedTypes: 'NodeInfo; LinkInfo; DeviceInfo; std::shared_ptr' # note some checks are disabled in the code itself by adding NOLINT(check-name) or NOLINTNEXTLINE(check-name) # treat clang diagnostic warnings (aka compiler warnings) as errors, to ensure CI fails on these warnings # note we can't completely suppress warnings like can be done for other checks above, they will always be outputted # these can however be suppressed by disabling the compiler warnings in meson, but that is not really what we want # we cannot ignore clang-diagnostic-error, which are just compilation errors, which will occur when using clang < 16 (clang-tidy always wants clang for compilation it seems) WarningsAsErrors: '*' # set this to the include directory specifically, not '.*' since we don't want generated files like config.h being scanned HeaderFilterRegex: './include/' easyeffects-7.1.7/.github/000077500000000000000000000000001463533416400154005ustar00rootroot00000000000000easyeffects-7.1.7/.github/FUNDING.yml000066400000000000000000000001751463533416400172200ustar00rootroot00000000000000github: wwmm liberapay: wwmm patreon: wellingtonwallace custom: https://www.paypal.com/donate?hosted_button_id=RK723F4EKH2UE easyeffects-7.1.7/.github/ISSUE_TEMPLATE/000077500000000000000000000000001463533416400175635ustar00rootroot00000000000000easyeffects-7.1.7/.github/ISSUE_TEMPLATE/bug_report.yml000066400000000000000000000031031463533416400224530ustar00rootroot00000000000000name: Bug Report description: Report an EasyEffects bug body: - type: input attributes: label: EasyEffects Version placeholder: EasyEffects Settings > About EasyEffects validations: required: true - type: dropdown attributes: label: What package are you using? options: - Arch (easyeffects) - AUR (easyeffects-git) - Fedora - Flatpak (Flathub) - Flatpak Nightly (Flathub-beta) - Gentoo - NixOS - openSUSE - Other (specify below) validations: required: true - type: input attributes: label: Distribution placeholder: "e.g. Arch Linux, Fedora 35 or Ubuntu 20.04" validations: required: true - type: textarea attributes: label: Describe the bug description: A clear description of the bug you've experienced. validations: required: true - type: textarea attributes: label: Expected Behavior description: A clear and concise description of what you expected to happen. - type: textarea attributes: label: Debug Log description: If relevant, please add a log by launching with `G_MESSAGES_DEBUG=easyeffects` value: "
Debug Log
``` Paste your log here ```
" - type: textarea attributes: label: Additional Information description: If your problem needs further explanation please add more information here. See https://github.com/wwmm/easyeffects/wiki/Reporting-Bugs for suggestions on what you might want to include. easyeffects-7.1.7/.github/dependabot.yaml000066400000000000000000000001651463533416400203730ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" easyeffects-7.1.7/.github/workflows/000077500000000000000000000000001463533416400174355ustar00rootroot00000000000000easyeffects-7.1.7/.github/workflows/CI.yaml000066400000000000000000000261511463533416400206210ustar00rootroot00000000000000on: push: branches-ignore: # dependabot branches will fail on push since they run with fork-level permissions despite being in the main repo. # said branches are tested anyhow when dependabot makes its PR and the pull_request triggers the run. - 'dependabot/**' pull_request: name: CI jobs: prepare: name: Prepare runs-on: ubuntu-22.04 outputs: github_commit_desc: ${{ steps.get_commit_desc.outputs.github_commit_desc }} steps: - name: Checkout uses: actions/checkout@v4.1.7 with: fetch-depth: 0 - name: Get head branch latest commit run: echo "GITHUB_PR_HEAD_SHA=$(git log --pretty=format:'%h' $GITHUB_SHA^2 -1)" >> $GITHUB_ENV - name: Get base branch latest commit run: echo "GITHUB_PR_BASE_SHA=$(git log --pretty=format:'%h' $GITHUB_SHA^1 -1)" >> $GITHUB_ENV - name: Get latest commit run: echo "GITHUB_HEAD_SHA=$(git log --pretty=format:'%h' -1)" >> $GITHUB_ENV # on a pull_request event in github actions, the tests are not run on the head branch of the PR, rather they are run on the merge commit of head merged into the base branch # this means the latest commit in github actions, which is used for build artifact names is a commit that does not exist in the repository # so on pull requests we create a user-friendly string to use in place of the merge commit sha, otherwise we just use the normal git HEAD sha. - id: get_commit_desc run: | if [[ ${{ github.event_name }} == 'pull_request' ]]; then echo "github_commit_desc=merge-${{ env.GITHUB_PR_HEAD_SHA }}-into-${{ env.GITHUB_PR_BASE_SHA }}" >> $GITHUB_OUTPUT else echo "github_commit_desc=${{ env.GITHUB_HEAD_SHA }}" >> $GITHUB_OUTPUT fi flatpak: name: Flatpak runs-on: ubuntu-22.04 env: FLATPAK_BUILD_PATH: flatpak_app/files/share needs: prepare container: image: bilelmoussaoui/flatpak-github-actions:gnome-46 options: --privileged steps: - name: Checkout uses: actions/checkout@v4.1.7 - name: Enable errors on warnings run: | dnf install -y jq # jq does not have an option to save edits in place so we should make a temporary file to edit this safely updated_manifest=$(mktemp) jq '.modules[0]."config-opts" += ["-Dwerror=true"]' util/flatpak/com.github.wwmm.easyeffects.Devel.json > "$updated_manifest" mv "$updated_manifest" util/flatpak/com.github.wwmm.easyeffects.Devel.json - uses: flatpak/flatpak-github-actions/flatpak-builder@v6.3 with: bundle: easyeffects-flatpak-${{ needs.prepare.outputs.github_commit_desc }}.flatpak manifest-path: util/flatpak/com.github.wwmm.easyeffects.Devel.json cache-key: flatpak-builder-${{ github.sha }} run-tests: true # we also validate appstream in the appstream-news-validate job, # but we still should specifically ensure the flatpak outputs it properly #- name: Validate AppStream # shell: bash # working-directory: ${{ env.FLATPAK_BUILD_PATH }} #run: | # appstream-util validate-relax appdata/com.github.wwmm.easyeffects.Devel.appdata.xml # - name: Verify icon and metadata in app-info # shell: bash # working-directory: ${{ env.FLATPAK_BUILD_PATH }} # run: | # test -f app-info/icons/flatpak/128x128/com.github.wwmm.easyeffects.Devel.png || { echo "Missing 128x128 icon in app-info" ; exit 1; } # test -f app-info/xmls/com.github.wwmm.easyeffects.Devel.xml.gz || { echo "Missing com.github.wwmm.easyeffects.Devel.xml.gz in app-info" ; exit 1; } # this just validates, actual update PRs are done in flatpak-update.yaml - name: Verify flatpak external data checker metadata uses: docker://ghcr.io/flathub/flatpak-external-data-checker:latest with: args: util/flatpak/com.github.wwmm.easyeffects.Devel.json arch-linux: name: Arch Linux runs-on: ubuntu-22.04 needs: prepare steps: - name: Checkout uses: actions/checkout@v4.1.7 with: # needed for getting git describe info for pkgver() in pkgbuild fetch-depth: 0 - name: Save commit description to file # if this file is present, pkgver() in pkgbuild will use it to show a more user-friendly commit sha run: echo ${{ needs.prepare.outputs.github_commit_desc }} >> GITHUB_COMMIT_DESC - name: Makepkg Build and Check id: makepkg uses: edlanglois/pkgbuild-action@v1.1.8 with: # namcap doesn't actually exclude this rule, resulting in unnecessary warnings, so just disable namcap since it's not critical # namcapExcludeRules: unusedsodepends namcapDisable: true - name: Upload Package Archive uses: actions/upload-artifact@v4.3.3 with: name: easyeffects-archlinux-${{ needs.prepare.outputs.github_commit_desc }}-x86_64 path: ${{ steps.makepkg.outputs.pkgfile0 }} if-no-files-found: error alpine-linux: name: Alpine Linux runs-on: ubuntu-22.04 strategy: # test also with libc++ as that is not the default, and is good to test as some distros like chimera linux use it over libstdc++ matrix: stdlib: [libstdc++, libc++] container: image: alpine steps: - name: Checkout repository uses: actions/checkout@v4.1.7 - name: Install deps run: | apk update apk upgrade # install general build deps apk add meson clang clang-extra-tools build-base bash libc++-dev # copy pasted from https://git.alpinelinux.org/aports/plain/community/easyeffects/APKBUILD depends="lv2" makedepends=" appstream-glib-dev desktop-file-utils fftw-dev fmt-dev gsl-dev gtk4.0-dev itstool libadwaita-dev libbs2b-dev libebur128-dev libsamplerate-dev libsigc++3-dev libsndfile-dev libtbb-dev lilv-dev lv2-dev meson nlohmann-json pipewire-dev rnnoise-dev soundtouch-dev speexdsp-dev zita-convolver-dev ladspa-dev " # install easyeffects deps apk add $makedepends $depends # install libportal since we technically need it for a full check apk add libportal-dev - name: Build with Clang and ${{ matrix.stdlib }} run: | CC=clang CXX=clang++ CXXFLAGS=-stdlib=${{ matrix.stdlib }} meson setup build -Dwerror=true -Denable-libportal=true -Dbuildtype=debug ${{ matrix.stdlib == 'libc++' && '-Denable-libcpp-workarounds=true' || '' }} meson compile -C build codeql-analyze: name: CodeQL Analyze runs-on: ubuntu-22.04 permissions: security-events: write container: image: archlinux steps: - name: Checkout repository uses: actions/checkout@v4.1.7 - name: Install deps run: | # install general build deps pacman -Syu --noconfirm ninja gcc pkgconf python3 python-pip which # install easyeffects deps source ./PKGBUILD && pacman -Syu --noconfirm --needed --asdeps "${makedepends[@]}" "${depends[@]}" - name: Initialize CodeQL uses: github/codeql-action/init@v3.25.10 with: languages: cpp # we don't use a matrix build (to analyze multiple lanaguages in parallel) as we are only analyzing c++ - name: Autobuild uses: github/codeql-action/autobuild@v3.25.10 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3.25.10 clang-tidy: name: Clang Tidy runs-on: ubuntu-22.04 container: image: archlinux steps: - name: Checkout repository uses: actions/checkout@v4.1.7 - name: Install deps run: | # install general build deps pacman -Syu --noconfirm ninja gcc pkgconf python3 python-pip which # install easyeffects deps source ./PKGBUILD && pacman -Syu --noconfirm --needed --asdeps "${makedepends[@]}" "${depends[@]}" # install clang pacman -S --noconfirm --needed --asdeps clang # install libportal since we technically need it for a full check pacman -S --noconfirm --needed --asdeps libportal libportal-gtk4 - name: Build with Clang # build with clang not because we strictly need to (we do need to do some kind of build so config.h shows up) # but because any clang compiler failures will cause clang-tidy to fail later on, so we might as well fail fast run: | CC=clang CXX=clang++ meson setup build -Dwerror=true -Denable-libportal=true -Dbuildtype=debug meson compile -C build - name: Install ctcache run: | git clone https://github.com/matus-chochlik/ctcache cd ctcache git checkout bd1620a8609ddaf2f64500820abc8b4d150edeaf # v1.1.0 ./install-user-client - name: Restore Clang Tidy cache uses: actions/cache/restore@v4.0.2 with: # since the ctcache is just a list of checksums that were checked, we want to write to it every ci run to keep it up to date # otherwise github actions just restores some old cache if the key didn't change # the ctcache itself is what handles what misses or not # https://github.com/actions/cache/blob/ea0503788c59256f4da17725d04df850ca027df5/tips-and-workarounds.md#update-a-cache path: /tmp/ci-ctcache key: clang-tidy-ctcache-${{ github.run_id }} # this restores the most recently saved cache from the following 3 categories # it first checks caches from the current branch/pull request, then the base branch of the pull request (if it exists), and then master (the default branch), as described here: # https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key # this also relies on github's fairly restricted isolation for caches: # https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache # note the most recently saved cache is not necessarily the one with the greatest run id, as a workflow run could have started before another but taken longer to complete restore-keys: | clang-tidy-ctcache- - name: Clang Tidy run: | cd build PATH=~/.local/bin:"$PATH" CTCACHE_DIR=/tmp/ci-ctcache ../util/clang-tidy.sh - name: Save Clang Tidy cache uses: actions/cache/save@v4.0.2 # always run, except if the workflow was cancelled # this means clang tidy will get cached even if some checks are failing if: success() || failure() with: path: /tmp/ci-ctcache key: clang-tidy-ctcache-${{ github.run_id }} appstream-news-validate: name: AppStream and News validate runs-on: ubuntu-22.04 container: image: archlinux steps: - name: Checkout code uses: actions/checkout@v4.1.7 - name: Install deps run: pacman -Syu --noconfirm appstream appstream-glib libxslt which - name: Validate existing files run: ./util/update-release-files.sh --no-new-release easyeffects-7.1.7/.github/workflows/artifact-pr-comment.yaml000066400000000000000000000121101463533416400241700ustar00rootroot00000000000000name: Artifact PR comment on: workflow_run: workflows: [CI] types: [completed, requested] permissions: # write comment pull-requests: write jobs: artifact_pr_comment: name: Update Artifact PR comment if: github.event.workflow_run.event == 'pull_request' runs-on: ubuntu-22.04 steps: - name: Check if workflow is running if: ${{github.event.workflow_run.conclusion == '' }} run: echo "CONCLUSION=running" >> $GITHUB_ENV - name: Check if workflow concluded if: ${{github.event.workflow_run.conclusion != '' }} run: echo "CONCLUSION=${{github.event.workflow_run.conclusion }}" >> $GITHUB_ENV - name: Get the PR number run: | # Query the issue search API to get the PR associated with it PR_RAW=$(curl 'https://api.github.com/search/issues?q=${{ github.event.workflow_run.head_commit.id }}') # Get the event number from the search results, which will be the PR number # Filter by PRs only in this repository, as a PR with an identical head commit may be made in another repository (e.g. a fork) # Assume the 0th index in the array of found PRs is the correct one (it seems to usually be the latest one) PR_NUM=$(echo $PR_RAW | jq '.items | map(select(.repository_url=="https://api.github.com/repos/${{ github.repository }}")) | .[0].number') echo "PR_NUM=${PR_NUM}" >> ${GITHUB_ENV} - name: Comment on PR uses: actions/github-script@v7.0.1 with: # adapted from https://github.com/oprypin/nightly.link/blob/master/.github/workflows/pr-comment.yml # and https://github.com/oprypin/nightly.link/pull/38 script: | async function upsertComment(owner, repo, issue_number, purpose) { const { data: comments } = await github.rest.issues.listComments( { owner, repo, issue_number }); const marker = ``; let body = 'no body was set'; const conclusion = process.env.CONCLUSION; if (conclusion === "running") { body = `Workflow is currently running, latest artifacts not yet available.\n`; } else { const artifacts = await github.paginate( github.rest.actions.listWorkflowRunArtifacts, { owner, repo, run_id }); // in case we have a simple scenario, when no artifacts are available. if (!artifacts.length) { if (conclusion === "failure") { body = `Workflow failed, and no artifacts are available.\n`; } else if (conclusion === "cancelled") { body = `Workflow was cancelled, and no artifacts are available.\n`; } else { return core.error(`No artifacts were found for non successful workflow, but conclusion was not failure or cancelled, instead it was: ${conclusion}`); } } // if at least some artifacts exist we can still make a comment with them. else { if (conclusion === "success") { body = `Download the latest artifacts for this pull request:\n`; } else if (conclusion === "failure") { body = `Workflow failed, but the following artifacts are still available for this pull request:\n`; } else if (conclusion === "cancelled") { body = `Workflow was cancelled, but the following artifacts are still available for this pull request:\n`; } else { return core.error(`Artifacts were found for this workflow, but conclusion was not success, failure, or cancelled, instead it was: ${conclusion}`); } for (const art of artifacts) { body += `\n* [${art.name}.zip](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`; } } } body = marker + "\n" + body; const existing = comments.filter((c) => c.body.includes(marker)); if (existing.length > 0) { const last = existing[existing.length - 1]; core.info(`Updating comment ${last.id}`); await github.rest.issues.updateComment({ owner, repo, body, comment_id: last.id, }); } else { core.info(`Creating a comment in issue / PR #${issue_number}`); await github.rest.issues.createComment({ issue_number, body, owner, repo }); } } const { owner, repo } = context.repo; const run_id = ${{ github.event.workflow_run.id }}; await upsertComment(owner, repo, process.env.PR_NUM, "ci-artifacts-comment"); easyeffects-7.1.7/.github/workflows/deploy-help.yaml000066400000000000000000000024331463533416400225450ustar00rootroot00000000000000name: Deploy help on: # Runs on every push to a tag not containing a / push: tags: - "*" # Allows you to run this workflow manually from the Actions tab workflow_dispatch: permissions: contents: read pages: write id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "pages" cancel-in-progress: false jobs: deploy-help: name: Deploy help environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4.1.7 - name: Setup Pages uses: actions/configure-pages@v5.0.0 - name: Build html help pages run: | sudo apt-get update sudo apt-get upgrade -y sudo apt-get install -y yelp-tools mkdir help/dist-html yelp-build html -o help/dist-html help/C - name: Upload artifact uses: actions/upload-pages-artifact@v3.0.1 with: path: help/dist-html - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4.0.5 easyeffects-7.1.7/.github/workflows/flatpak-update.yaml000066400000000000000000000031731463533416400232270ustar00rootroot00000000000000name: Flatpak dependency updates on: schedule: # for scheduling to work this file must be in the default branch - cron: "0 0 * * *" # run every day workflow_dispatch: # can be manually dispatched under GitHub's "Actions" tab jobs: flatpak-external-data-checker: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4.1.7 with: # we can't push changes to a fork via a shallow update, we need to clone the full repo fetch-depth: 0 # by default when persisting credentials the local git config will use the workflow provided GITHUB_TOKEN, not our own GITHUB_TOKEN env var for the container # we must not use the provided GITHUB_TOKEN, as it will fail to push to the fork since the provided GITHUB_TOKEN is only for the repository where the workflow is running persist-credentials: false - uses: docker://ghcr.io/flathub/flatpak-external-data-checker:latest env: GIT_AUTHOR_NAME: EasyEffects Bot GIT_COMMITTER_NAME: EasyEffects Bot # email sets "EasyEffects Bot" user as commit author GIT_AUTHOR_EMAIL: 110548574+easyeffects-bot@users.noreply.github.com GIT_COMMITTER_EMAIL: 110548574+easyeffects-bot@users.noreply.github.com EMAIL: 110548574+easyeffects-bot@users.noreply.github.com GITHUB_TOKEN: ${{ secrets.EASYEFFECTS_BOT }} with: entrypoint: /bin/bash args: -c "git config --global --add safe.directory /github/workspace && cd /github/workspace && /app/flatpak-external-data-checker --update --always-fork util/flatpak/com.github.wwmm.easyeffects.Devel.json" easyeffects-7.1.7/.github/workflows/translation-templates.yaml000066400000000000000000000064431463533416400246620ustar00rootroot00000000000000on: push: branches: [ master ] name: Update translation templates jobs: update-templates: name: Update translation templates runs-on: ubuntu-22.04 container: image: archlinux steps: # install git first otherwise checkout will not give us an actual git repo - name: Install git run: pacman -Syu --noconfirm git - name: Checkout uses: actions/checkout@v4.1.7 - name: Install deps run: | # install general build deps pacman -Syu --noconfirm ninja gcc pkgconf python3 python-pip which # install easyeffects deps source ./PKGBUILD && pacman -Syu --noconfirm --needed --asdeps "${makedepends[@]}" "${depends[@]}" # workaround upstream permissions issue github.com/peter-evans/create-pull-request/issues/1170 - name: Change git permissions run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Run meson targets run: | meson build cd build ../util/update_translation_templates.sh cd .. - name: Check for non-timestamp diff run: | # see https://stackoverflow.com/a/26622262 DIFF_LINES=$(git diff --unified=0 | grep '^[+-]' | grep -Ev '^(--- a/|\+\+\+ b/)') if [[ $(echo "$DIFF_LINES" | grep "POT-Creation-Date:") != "$DIFF_LINES" ]]; then echo "The calculated diff includes modifications besides just timestamp changes (POT-Creation-Date)." echo "Letting the PR continue as this is a valid reason to open a PR." else echo "The calculated diff just has timestamp changes (POT-Creation-Date)." echo "Restoring original files since this is not a valid reason to open a PR." git restore . fi echo "All diff lines count: $(echo "$DIFF_LINES" | wc -l)" echo "Diff lines count where POT-Creation-Date was changed: $(echo "$DIFF_LINES" | grep "POT-Creation-Date:" | wc -l)" # TODO it would be ideal to refresh metainfo fully by copying release notes from the upcoming release in NEWS.yaml to metainfo, and then running the above update template script, # however this is not possible without putting a dummy release in the metainfo with said upcoming release notes which would later have to be adjusted to the real release. - name: Create Pull Request uses: peter-evans/create-pull-request@v6.1.0 with: title: Update translation templates body: Ensure to merge all other Pull Requests before merging this. Conflicts here will automatically be resolved in case of changes in master. commit-message: Update translation templates # email sets "EasyEffects Bot" user as commit author committer: EasyEffects Bot <110548574+easyeffects-bot@users.noreply.github.com> author: EasyEffects Bot <110548574+easyeffects-bot@users.noreply.github.com> branch: automatically-update-translation-templates # the easyeffects_bot secret/token is only valid for a fork # note the machine user (easyeffects-bot) must have already forked the repository where the action is running for this to work push-to-fork: easyeffects-bot/easyeffects token: ${{ secrets.EASYEFFECTS_BOT }} easyeffects-7.1.7/.gitignore000066400000000000000000000020351463533416400160300ustar00rootroot00000000000000__pycache__ _build build build-dir locale gschemas.compiled obj-*-linux-gnu .vscode node_modules package-lock.json compile_commands.json .clangd .cache # Compiled python modules. *.pyc # binary language files *.mo # patches *.patch \.python-version # exclude debian building logs and other junk debian/* !debian/changelog !debian/changelog.tpl !debian/compat !debian/control !debian/copyright !debian/docs !debian/pycompat !debian/rules !debian/source/format !debian/build-ppa.sh !debian/*.install !debian/*lintian-overrides !debian/watch !debian/patches !debian/patches/*.patch !debian/source /build-ppa.sh # Dolphin file manager creates the file .directory to save some folder-specific settings *.directory *-build-deps*.deb .build-tools.cson ppastats .autobuild # exclude flatpak build directories build-dir* util/flatpak/repo .flatpak .flatpak-builder # explictly include flatpak patch/shared-modules directory which includes usually ignored patch files !util/flatpak/patch/**/*.patch !util/flatpak/shared-modules/linux-audio/**/*.patch easyeffects-7.1.7/CHANGELOG.md000066400000000000000000000567531463533416400156710ustar00rootroot00000000000000# Changelog ## 7.1.7 ### 2024-06-21 ### Features: - Community Presets have been implemented. Users can install packages containing multiple Easy Effects presets to be imported and applied inside the application. These packages will be maintained and shipped by volunteers. You can search them on the repositories of your favorite distribution. - Added the ability of collapsing the sidebar to hide the effects list and expand the area of the effects user interface. - EasyEffects won't touch streams that define `PW_KEY_TARGET_OBJECT` to an output device that is different from the one EasyEffects is using. - Equalizer APO import feature can now apply Band-Pass filters. ### Bug fixes: - A change in GTK 4.14.1 prevented to apply the values inserted into the text field of our SpinButton widgets. This issue is now resolved. - The latest Maximizer plugin releases do not have the ceiling control anymore. So we removed it from our user interface (you can use the plugin input gain to retrieve the same functionality). - Equalizer APO import feature does not crash anymore on Flatpak when invalid values are provided. ### Other notes: - In order for Community Presets to be correctly shipped, packagers are invited to read and follow the guidelines linked inside the README of EasyEffects master branch. - Presets with Convolver and/or Noise Reduction (RNNoise) effects created before `7.2.0` version are deprecated. Please reload the irs/model file inside the Convolver/RNNoise UI and resave the preset. ## 7.1.6 ### 2024-03-29 ### Features: - Improved the pipeline management system. Non-limiter effects are placed before the limiter even if the last two plugins in the pipeline are a limiter followed by a level meter. ### Bug fixes: - Fixed a regression that prevented the level meters to be updated under certain conditions. ### Other notes: ## 7.1.5 ### 2024-03-22 ### Features: - We now set `monitor.passthrough = true` in our virtual devices. This will allow latency offset to be properly applied by video players when PipeWire > 1.0.3 is released. - Updated translations. ### Bug fixes: ### Other notes: ## 7.1.4 ### 2024-02-01 ### Features: - EasyEffects will try to avoid moving to its virtual sources streams for which the user has set a custom `target.object` that is different from the mic EE is recording from. THe stream has to be started when EE is already running for this logic to take effect. - Updated translations - The equalizer can export basic APO preset files - Our players/recorders tab will show the audio client binary name in the cases were no app name is defined. - EasyEffects version can be shown in the command line through the option `--version` ### Bug fixes: - A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept in place until gtk developers fiz things on their side ### Other notes: ## 7.1.3 ### 2023-11-08 ### Features: - Updated translations ### Bug fixes: - Fixed a regression introduced in `7.1.2` that could cause EasyEffects to crash ### Other notes: ## 7.1.2 ### 2023-11-08 ### Features: - Updated translations ### Bug fixes: - The DeepFilterNet plugin can now be added to the preset file ### Other notes: ## 7.1.1 ### 2023-10-27 ### Features: - The spectrum has a new option that allows the dynamic vertical scale to be disabled. - Improved compatibility with the latest LSP releases. ### Bug fixes: - Fixed an incorrect drawing of the impulse response file characteristics ### Other notes: ## 7.1.0 ### 2023-09-07 ### Features: ### Bug fixes: - Fixed a small bug the prevented the noise reduction voice activity threshold from being properly initialized. ### Other notes: ## 7.0.9 ### 2023-09-07 ### Features: - Added a new control to the noise reduction plugin that allows the voice detection to be disabled. ### Bug fixes: ### Other notes: ## 7.0.8 ### 2023-08-29 ### Features: - The Filter effect has been improved with new parameters since it has been ported from Calf Studio to Linux Studio Plugins. - Noise reduction by RNNoise has been improved with the addition of Release and VAD Threshold controls. - Noise reduction by RNNoise can now mix the original and denoised signals to avoid the output to sound too "dry". ### Bug fixes: ### Other notes: - This release is intended to work with versions of Linux Studio Plugins equal or greater than "1.2.10". - EasyEffects is now buildable also with libc++. ## 7.0.7 ### 2023-08-11 ### Features: - The Expander from Linux Studio Plugins can be used in Easy Effects. - The Equalizer bands now have an additional gain control that allows for more efficient input of values that are hard to set in the scale. More details at https://github.com/wwmm/easyeffects/issues/1383. - Added the ability to select and load multiple files in the opening dialogs for presets, Convolver impulse responses and RNNoise models. ### Bug fixes: - Fixed the Solo button in the Equalizer band settings. ### Other notes: - Easy Effects folders under `/etc` have been deprecated and presets located there won't be loaded anymore. At the moment only local presets under `~/.config/easyeffects` are automatically loaded in the Presets Menu. In the future we will implement a new system to install, manage and import Community Presets. ## 7.0.6 ### 2023-07-28 ### Features: - An "Experimental Features" section was added to our preferences window. - The native window of the LSP plugins can be used. This is an experimental feature intended only for advanced users. So expect some bugs. - Fractional semitone values can now be used in the Pitch Shift effect. ### Bug fixes: - The input/output device dropdown in our PipeWire tab is updated when the system default device changes and `Use Default` is enabled. This fixes issue https://github.com/wwmm/easyeffects/issues/1989. ### Other notes: ## 7.0.5 ### 2023-06-11 ### Features: - A new `Level Meter` plugin based on `libebur128` has been added. - The Pitch plugin now uses the library SoundTouch instead of Rubberband. Hopefully some of the mysterious crashes that were happening with Rubbernand are not going to happen anymore. - Improved compatibility with recent PipeWire versions. More information at https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3196 ### Bug fixes: - Active Equalizer filters are not set to `Bell` type anymore when the number of bands changes. ### Other notes: - Rabberband is not a dependency anymore since it has been replaced by SoundTouch. ## 7.0.4 ### 2023-05-01 ### Features: - The presets menu now asks for confirmation before saving/deleting a preset file. ### Bug fixes: - The plugin reset should not make its controls innefective anymore. ### Other notes: - Speex is no longer incorrectly listed as a build dependency (speexdsp is still a build dependency) - RNNoise is no longer an autodependency. It is now required by default, if not available it must be explicitly disabled with -Denable-rnnoise=false ## 7.0.3 ### 2023-04-06 ### Features: - Updated translations. ### Bug fixes: - A small mistake was done in the last release. Making a new one to make sure people have the right branch in the package ## 7.0.2 ### 2023-04-06 ### Features: - The Equalizer "sort bands" feature is now ordering bands on GSettings, so the result can be saved into presets. - Improved performance when resetting keys. ### Bug fixes: - Fixed the "Large Empty Hall" preset selection in the Reverberation effect. - Fixed some misuses of PipeWire's API that can potentially fix some random bugs some users are facing. ### Other notes: - As we are removing code deprecated by `GTK 4.10` the minimum GTK version has been increased. ## 7.0.1 ### 2023-02-26 ### Features: - The spectrum plugin update rate was improved. Different sampling rates should lead to similar update frequencies visually. - The update interval used by level meters and the spectrum can be customized by the user. - The equalizer band gain slider value can be updated in larger steps. Fine grain control is still possible through the keyboard up/down keys. - Small improvements to the echo canceller. ### Bug fixes: - The echo canceller probes were not being linked to the soundcard after the move to multiple filters intances. This should be fixed now. ## 7.0.0 ### 2022-11-02 ### Features: - It is now possible to add more than one filter instance to the effects pipeline. - A new `Speech Processor` plugin based on the Speex library was added. Besides providing noise suppression it also can detect voice activity. It is a decent alternative to the cases whre the rnnoise library does not work well. - Improved compatibility with Linux Studio Plugins `1.2.3`. - GraphicEQ presets can be imported into the Equalizer effect. - The application name has been changed to `Easy Effects` to adhere to the naming conventions of GNOME Human Interface Guidelines. - The documentation has been updated. - Improved presets autoloading. - The Autogain silence threshold can now be configured by the user. - Dry and wet controls added to the Stereo Tools effect. - The echo canceller now has a residual noise suppression control also based on the Speex library. ### Bug fixes: - When the mouse was hovering over a chart the wrong value for the x axis coordinate was being shown. This regression is fixed. ### Other notes: - Because of the new multiple instances feature, the preset format has changed, but the old one is still compatible to be loaded. Anyway take in consideration that saving the current preset will always write it in the new format. ## 6.3.0 ### 2022-09-02 ### Features: - Multiband Gate implementation has been migrated from CALF to Linux Studio Plugins. - The preset autoloading code compatibility with bluez5 devices has been improved. - Wet/dry controls were added for some plugins - Effect interface is no longer loaded when the related lv2 plugin is not installed on the system. In its place a status message to the user is shown. - The documentation has been updated - Improved debug messages - Updated translations ### Bug fixes: ### Other notes: ## 6.2.8 ### 2022-07-25 ### Features: - Improved translations ### Bug fixes: - Fixed a bug where EasyEffects could crash when closing its window while effects were being applied. ### Other notes: ## 6.2.7 ### 2022-07-18 ### Features: - The bypass state can be saved to the preset file. The reasons why this was done can be seen at https://github.com/wwmm/easyeffects/issues/1039 - The preset autoloading code compatibility with usb devices has been improved. - A dialog is shown to the user when a preset fails to load or a preset/impulse file fails to be imported. - The SideChain Gate plugin from `Linux Studio Plugins` is now used instead of the one from Calf Studio. ### Bug fixes: - EasyEffects should not crash anymore when the user locale is not properly configured. - A workaround was implemented in our icon to deal with the lack of proper SVG support in QT. ### Other notes: ## 6.2.6 ### 2022-06-22 ### Features: - When effects are disable to an application we now set its target metadata to null. This will allow the media session manager (wireplumber) to properly move the stream to a new device. - A new configuration option was added. It allows EasyEffects to ignore streams whose purpose is to monitor sink devices. This will help to fix some of problems our users were having when using OBS. - The code that shows the stream sample format has been improved - The rnnoise library is now optional. This should help package maintainers to build a Debian package. See https://github.com/wwmm/easyeffects/issues/1000 for more information. - Our logs now show the source code line where the messages are being printed ### Bug fixes: - The "enable effects" checkbox in our window was not being updated when third party programs like pavucontrol moved the stream away from our virtual devices. This should be fixed now. - Fixed a crash that could happen when the maximum autogain history was changed. - Avoid crashes when pw-mididump is running ## 6.2.5 ### 2022-04-30 ### Features: - The interface of the pitch plugin was improved - Our application icon is now compatible with desktops that uses QT - Our blocklist code will use the `application.id` tag if the stream sets it - In order to avoid problems with the mouse scroll the entries in the applications list shown in our `Players/Recorders` tab do not show a volume scale anymore. More details about the problem and the solution for it can be found on https://github.com/wwmm/easyeffects/issues/1211 and https://github.com/wwmm/easyeffects/issues/1427 - When no application is available for display in the `Players/Recorders` a message will be shown to the user - Many translation updates ### Bug fixes: - Fixed a bug where EasyEffects crashed when the number of points displayed in the spectrum was changed while our pipeline was active and the spectrum widget was visible - The pipeline latency value displayed in our window could be wrong in some situations. This was fixed. ## 6.2.4 ### 2022-03-07 ### Features: - There is a new setting allowing the user to select an inactivity timeout for the pipeline. When no client is playing to or recording from our devices the filters will be unlinked after the timeout is reached. This is done to make sure we do not waste CPU power processing silence. - The autogain plugin now allows the user to select which of the three loudness are used to calculate the geometric mean. - The autogain plugin now allows the maximum history to be set and does not use `libebur128` histogram mode anymore. This should avoid the cases where the `Integrated` loudness gets stuck forever in the same value. - EasyEffects icon has been updated in a way that should make it visible in QT desktops. ### Bug fixes: - The command line option that returns the global bypass state is working again. ## 6.2.3 ### 2022-01-29 ### Features: - The crossfeed filter should deal better with PipeWire's dynamic latency switches. Jumps in volume level should not happen anymore in these situations. ### Bug fixes: - Fixed a bug that prevented mono microphones from properly working with EasyEffects ## 6.2.2 ### 2022-01-27 ### Features: - Support for the next PipeWire release `0.3.44` - The autogain filter should deal better with PipeWire's dynamic latency switches. Jumps in volume level should not happen anymore in these situations. - We added an option that allows the volume and mute state of our virtual devices to be reset when EasyEffects starts. It should help with the cases were our devices are muted by the audio server for unknown reasons. - Better support for computer suspending. - Updated translations ### Bug fixes: - Fixed a bug where trying to create an autoloading profile without having presets caused the application to crash. ## 6.2.1 ### 2022-01-05 ### Bug fixes: - Fixed a bug where setting a equalizer band `quality` to `zero` would lead to an application crash. ## 6.2.0 ### 2022-01-04 ### Features: - LibAdwaita is used to create some parts of our window and for handling the switching between dark and light themes. - The settings menu has been redesigned using LibAdwaita widgets. - Equalizer APO preset import feature has been improved to apply not only the Bell filter, but also other supported ones (at the moment only the Bandpass filter is not available in LSP plugin). - The `Reset All Settings` function in our menu should work in Flatpak now. - We have a new option that allows the user to disable our menus `autohide`. This may help to workaround some bugs Popover menus currently have on gtk4. ### Bug fixes: - More robust parsing to import APO presets saved with comma as thousands separator in central frequency band. ### Other notes: - The fmt library is a new dependency https://github.com/fmtlib/fmt. At least while the c++ compilers do not implement its features. This is expected to happen in the next years. - GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly. ## 6.1.5 ### 2021-11-17 ### Features: - It is now possible to combine impulse responses in the Convolver interface. A new impulse file is generated and it should be visible in the impulse list. - Improved `x axis` drawings in our plots. Now the number of labels is adjusted dynamically depending on our window width. - The documentation has been updated reflecting the new EasyEffects features. Old references about PulseEffects have been removed. The documentation button has been added in the menu section. ### Bug fixes: - When a spinbutton is filled with an out of range value, now it is updated with the lowest/highest value rather than resetting to the previous one. - The application window now remembers the maximized state and restores it on the next opening event. ### Other notes: - The `tbb` library is a new dependency https://www.threadingbuildingblocks.org ## 6.1.4 ### 2021-10-16 ### Features: - The Limiter and the Multiband Compressor plugins can now use an optional external sidechain. - The Autogain plugin now allows the user to select which Loudness is used as reference for the volume correction. - The APO Profile Import feature of Equalizer plugin now parses the "Pre Amplification" parameter. - Optional Cubic Volume can be enabled in General Settings. ### Bug fixes: - The Spectrum plugin was supposed to enter passthrough whenever it was not visible, but this was happening only when our window was closed. - Improved support for Assistive Technology. - The probes used in some filters like the Compressor and the Limiter were not being relinked after changing the order of the plugins in the pipeline. It should be working now. ## 6.1.3 ### 2021-10-03 ### Features: - PipeWire monitor streams are now excluded and removed from the applications list. ### Bug fixes: - Hopefully crashes like the one reported at https://github.com/wwmm/easyeffects/issues/1172 are fixed. - Prevented a case in which Spectrum was crashing. - Pavucontrol is not added anymore to input applications list on systems with localization different than English. ## 6.1.2 ### 2021-09-20 ### Features: - Improved compatibility with WirePlumber. This is needed to run on systems that decided to use it instead of the built-in PipeWire session manager. More information at https://github.com/wwmm/easyeffects/issues/1144. ## 6.1.1 ### 2021-09-17 ### Features: - When trying to add an autoloading profile for a device already in the list its target preset will be updated. This way we can change the profile preset without having to remove and recreating it. - The preset autoloading support implementation was redesigned again. It should work on more hardware now. For more information see https://github.com/wwmm/easyeffects/issues/1051. - If the Limiter or the Maximizer are set in the last position of the plugin stack, new plugins are added at the second to last position in order to prevent hardware damage on eventually high output level. - Removing an application from the blocklist, its previous enabled state is restored. ### Bug fixes: - Sometimes when removing imported models from the noise reduction plugin the current used model was not properly updated. This should be fixed now. - When editing presets files in an external editor, duplicated entries won't be shown in our presets menu. - Now the blocklist is correctly set when switching presets. - Now the status of the global bypass button is correctly updated when changing plugin stack. - Missing icons on the system should not be shown inside the application info UI (if an application icon could not be shown even if you're sure it's correctly installed, please open an issue). - Some icons not showing in Plasma DE with Breeze icon theme should appear now. ## 6.1.0 ### 2021-08-17 ### Features: - Updated Chinese translation. - Updated Italian translation. - Added support for the compressor parameter `Boost Amount` - The multiband compressor plugin now uses the stereo multiband compressor plugin from Linux Studio Plugins instead of the one from Calf Studio. - The limiter plugin now uses the stereo limiter plugin from Linux Studio Plugins instead of the one from Calf Studio. - LV2 filters now are spawned in PipeWire graph only when loaded the first time. Once loaded, they remain connected until EasyEffects shutdown. ### Bug fixes: - The echo canceller sampling rate is now properly set. - The threshold parameter from the deesser plugin is now saved to the preset file. - Improved band splitting for crystalizer with new default intensity values. - Depending on the input gain or output gain values the corresponding level bars could not be aligned. - When adding more equalizer bands they are set to `Bell` instead of `Off`. - Equalizer APO presets loading is now working properly on locales different than C. - Improved linking management between port filter nodes in PipeWire. - The crystalizer plugin signal amplification was too high before. It should be within more reasonable levels now. ## 6.0.3 ### 2021-07-16 ### Features: - Improved the resampler used in the plugins that require one(like the rnnoise plugin) - Updated translations ### Bug fixes: - Setting multiple autoloading presets should be fine now - Transient windows are now properly set for some plugins dialogs - The convolver impulse response menu was improved to workaround an issue where the impulse files was not loaded when only one was available in the menu, see https://github.com/wwmm/easyeffects/issues/1011 - Fixed a bug that could make the pitch plugin to not be properly initialized - The saturation warning should not displace its neighbor widgets anymore - Fixed the locale in a few widgets - Fixed wrong alignment in a few widgets ## 6.0.2 ### 2021-07-11 ### Features: - The Loudness plugin is being used again for the reasons described at https://github.com/wwmm/easyeffects/issues/820. This means that http://drobilla.net/plugins/mda/Loudness is an optional dependency again. ### Bug fixes: - Fixed a segmentation fault that happened when optional dependencies were not installed ## 6.0.1 ### 2021-07-09 ### Features: - Improved equalizer interface. - Now we use a sidechain LSP compressor that allows the user to select and external source as the sidechain input. - We now support the LSP compressor `Boosting` mode. - When `split-channels` is enabled in the equalizer the imported APO preset will be applied only to the channel being visualized in the window. This will allow to import different presets for each channel instead of just settings the same values to both. ### Bug fixes: - Fixed some segmentation faults that could happen when creating a preset autoloading profile or removing presets ## 6.0.0 ### 2021-07-07 ### Features: - This is one of the biggest releases that I have ever made. The amount of changes is so big that it is hard to talk about everything here. - The following are just the most import ones. People interested on the journey that got us here can take a look at https://github.com/wwmm/easyeffects/issues/904 and https://github.com/wwmm/easyeffects/issues/874. - The application and its repository have been renamed from PulseEffects to `EasyEffects` - gtkmm3 was replaced by gtkmm4 - Gstreamer was replaced by native PipeWire filters. - Many features were reimplemented from scratch. The preset autoloading is one example. Another remarkable change will be seen in the plugins selection menu. Now the user can show in the window only the plugins that he/she wants to use. - Boost is no longer a dependency. The price paid for that was a little change in our presets structures. With some patience it is possible to edit PulseEffects presets in a text editor and make them work in EasyEffects. Hopefully someone will come up with a script for this in the feature. - New libraries are being used and some of the librarires that were optional before are now required easyeffects-7.1.7/COMMUNITY_PRESETS_GUIDELINES.md000066400000000000000000000267431463533416400206770ustar00rootroot00000000000000# Introduction to Easy Effects Community Presets From `7.2.0` version, Easy Effects introduces the new system of Community Presets which is an easy way for users to try and use presets made by the community. The Presets menu popover of the graphical application shows an additional tab where community presets are listed. The difference with Local Presets is that community ones are intended to be easily installed since not all users were able to find presets on the internet, which were practically reported in one of the subpage of the Github project (that linked other repositories where the user should manually download them on the local storage). Now it should be easier to discover them making a search on the repository or your favorite distribution. Instead the Local Presets list is intended to save self-made presets and/or a selected choice of presets imported by the community list. Importing presets locally is essential when the user wants to autoload and associate them to a specific device. Indeed, Community Presets **cannot be autoloaded**. In order to list the Community Presets, the user should install one or more packages made and maintained by other Easy Effects users. The packages can be shipped by Linux distributions in their specific repositories. # Guidelines for packagers of Easy Effects Community Presets The followings are the guidelines that packagers should respect in order to make their presets available inside Easy Effects. ## How to make a package - The package should contain an `easyeffects` directory installed under one of the paths listed in the `$XDG_DATA_DIRS` environment variable. - The `easyeffects` directory above mentioned may contain the following subfolders: - - `output`: for presets files (with `.json` extension) applied to output devices (showed only in the popover of the Output window). - - `input`: for presets files (with `.json` extension) applied to input devices (showed only in the popover of the Input window). - - `irs`: for impulse response files (with `.irs` extension) used by the Convolver effect. - - `rnnoise`: for model files (with `.rnnn` extension) used by the Noise Reduction effect. - The folders above mentioned should contain a subdirectory with the name associated to the installed package. In example: - - `XDG_DATA_DIR/easyeffects/output/package-name` - The name of the package should be something descriptive e.g. `easyeffects-presets-LoudnessEqualizer`. If your package contains a group of presets without a particular "theme", naming a package `easyeffects-USERNAME-presets` is reasonable. ## Guidelines for package directories structure The package name should be unique to avoid misunderstandings between different packages. Therefore try to use a name which is exclusive to your package. Easy Effects can still distinguish and list presets from packages having the same name but installed in different `XDG_DATA_DIR`. Nevertheless this would confuse users seeing multiple presets with the same package name in the menu list. For this reasons we recommend to try to use unique package names. So choose a name that you know it won't be used by other packagers, maybe including your nickname. In example: - `XDG_DATA_DIR/easyeffects/output/wwmm-presets` - `XDG_DATA_DIR/easyeffects/output/Digitalone` - `XDG_DATA_DIR/easyeffects/output/vchernin` ### How Easy Effects looks for Community Presets Basically Easy Effects scans every directory with the package name looking for: - Files with the `.json` extention. - - The packager should take care of the integrity of those `.json` files being text files that can be correctly parsed by the application in order to be loaded without errors. - The scan takes place only in the first and the second level of the directory with the package name. In other words, the presets files contained in the folder itself and its subfolder. In example, the following presets are correctly loaded and listed: - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/generic-pop.json` - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/generic-rock.json` - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/device-1/pop.json` - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/device-1/rock.json` - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/device-2/pop.json` - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/device-1/rock.json` Files with the wrong extention or presets placed more in depth are not shown. In example, the followings are ignored: - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/rock.txt` - `XDG_DATA_DIR/easyeffects/output/wwmm-presets/device-3/alternative/rock.json` ### How Easy Effects looks for additional files The package may contain also impulse responses and models for presets with Convolver and Noise Reduction (RNNoise) effects. They should be placed in the package structure following the same scheme reported above. For example: - `XDG_DATA_DIR/easyeffects/irs/wwmm-presets/impulse.irs` - `XDG_DATA_DIR/easyeffects/rnnoise/wwmm-presets/model.rnnn` From version `7.2.0` the mechanism to detect those files has been changed. If you are going to ship a preset containing Convolver and/or RNNoise with specific associated files, make sure to include those files inside the package. But, more importantly, **make sure to build/save the preset with a version >=`7.2.0`**. More in detail, Easy Effects presets does not save the path anymore, but only the name of the additional files (without extension). Previously, the path was stored in the preset JSON file as `kernel-path`, and now the replacement key which only stores the name is `kernel-name`. So if you see `kernel-path` in a preset JSON file it probably needs to be updated by saving the preset with a version >=`7.2.0`. When a preset is loaded, the application searches the specified file, first in the local directory, then in `XDG_DATA_DIR/easyeffects`. Therefore it's recommended to use a unique name for additional files. If you ship `model.irs` inside your package and the user has a different impulse response with the same filename locally, they will listen something different when trying you preset. easyeffects-7.1.7/LICENSE000066400000000000000000001045051463533416400150520ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. {one line to give the program's name and a brief idea of what it does.} Copyright (C) {year} {name of author} This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: {project} Copyright (C) {year} {fullname} This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . easyeffects-7.1.7/PKGBUILD000066400000000000000000000037051463533416400151710ustar00rootroot00000000000000# This PKGBUILD is intented for our github workflows. For building your custom packages use the file PKGBUILD_AUR # Contributor: Wellington # Maintainer: Upstream https://github.com/wwmm/easyeffects pkgname=easyeffects-git pkgver=pkgvernotupdated pkgrel=1 pkgdesc='Audio Effects for PipeWire Applications' arch=(x86_64) url='https://github.com/wwmm/easyeffects' license=('GPL3') depends=('libadwaita' 'pipewire-pulse' 'lilv' 'libsigc++-3.0' 'libsamplerate' 'zita-convolver' 'libebur128' 'rnnoise' 'soundtouch' 'libbs2b' 'nlohmann-json' 'tbb' 'fmt' 'gsl' 'speexdsp') makedepends=('meson' 'itstool' 'appstream-glib' 'git' 'mold' 'ladspa') optdepends=('calf: limiter, exciter, bass enhancer and others' 'lsp-plugins: equalizer, compressor, delay, loudness' 'zam-plugins: maximizer' 'mda.lv2: bass loudness' 'yelp: in-app help' 'libdeep_filter_ladspa: noise remover') conflicts=(easyeffects) provides=(easyeffects) replaces=('pulseeffects') sha512sums=() pkgver() { description=$(git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g') # if in github actions environment if test -f "../GITHUB_COMMIT_DESC"; then # remove last commit from git describe output (which may sometimes be a merge commit), # and replace it with a human friendly version description_short=$(echo "$description" | sed -r 's/(.*)\..*/\1/') github_commit_desc_no_hyphen=$(sed 's/-/./g' ../GITHUB_COMMIT_DESC) printf "%s" "${description_short}.${github_commit_desc_no_hyphen}" else printf "%s" "$description" fi } build() { cd .. # set werror to true if the CI file exists, otherwise false # arch-meson sets --buildtype plain by default, so don't set -Dbuildtype=debug arch-meson . build -Ddevel=true -Dwerror="$( test -f "./GITHUB_COMMIT_DESC" && echo "true" || echo "false")" ninja -C build } package() { cd .. DESTDIR="${pkgdir}" ninja install -C build } easyeffects-7.1.7/PKGBUILD_AUR000066400000000000000000000024161463533416400156760ustar00rootroot00000000000000# Maintainer: robertfoster # Contributor: Bleuzen # Contributor: Filipe Laíns (FFY00) # Contributor: Wellington pkgname=easyeffects-git pkgver=7.0.4.r136.gce892ece pkgrel=1 pkgdesc='Audio Effects for Pipewire applications' arch=(x86_64 i686 arm armv6h armv7h aarch64) url='https://github.com/wwmm/easyeffects' license=('GPL3') depends=('fftw' 'fmt' 'gsl' 'gtk4' 'libadwaita' 'libbs2b' 'libebur128' 'libsamplerate' 'libsigc++-3.0' 'libsndfile' 'lilv' 'lv2' 'nlohmann-json' 'pipewire' 'rnnoise' 'soundtouch' 'speexdsp' 'tbb' 'zita-convolver') makedepends=('appstream-glib' 'git' 'itstool' 'meson' 'ladspa') optdepends=('calf: limiter, exciter, bass enhancer and others' 'lsp-plugins: equalizer, compressor, delay, loudness' 'zam-plugins: maximizer' 'mda.lv2: bass loudness' 'yelp: in-app help' 'libdeep_filter_ladspa: noise remover') conflicts=("${pkgname%%-git}") provides=("${pkgname%%-git}") source=("${pkgname%%-git}::git+${url}") sha512sums=('SKIP') pkgver() { cd "${pkgname%%-git}" printf "%s" "$(git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')" } build() { arch-meson "${pkgname%%-git}" build meson compile -C build } package() { DESTDIR="${pkgdir}" meson install -C build } easyeffects-7.1.7/README.md000066400000000000000000000165601463533416400153270ustar00rootroot00000000000000

Easy Effects icon
Easy Effects

Audio effects for PipeWire applications

GitHub Sponsors donation button Liberapay donation button Patreon donation button PayPal donation button


Translation status CI status CircleCI status

This application was formerly known as PulseEffects, but it was renamed to Easy Effects after it started to use GTK4 and GStreamer usage was replaced by native PipeWire filters. ![GitHub Light](images/easyeffects-light-screenshot-1.png#gh-light-mode-only) ![GitHub Light](images/easyeffects-light-screenshot-2.png#gh-light-mode-only) ![GitHub Light](images/easyeffects-light-screenshot-3.png#gh-light-mode-only) ![GitHub Dark](images/easyeffects-dark-screenshot-1.png#gh-dark-mode-only) ![GitHub Dark](images/easyeffects-dark-screenshot-2.png#gh-dark-mode-only) ![GitHub Dark](images/easyeffects-dark-screenshot-3.png#gh-dark-mode-only) ## Effects available - Auto gain - Bass enhancer - Bass loudness - Compressor - Convolver - Crossfeed - Crystalizer - De-esser - Delay - Deep noise remover - Echo canceller - Equalizer - Exciter - Expander - Filter (low-pass, high-pass, band-pass and band-reject modes) - Gate - Level meter - Limiter - Loudness - Maximizer - Multiband compressor - Multiband gate - Noise reduction - Pitch shift - Reverberation - Speech processor - Stereo tools The user has full control over the effects order. Just use the up/down arrows next to the effect labels on the left side. Some packages do not provide all plugin packages by default. In case some effects are not available, ensure you have the following installed on your system:
Dependencies Plugins needed for effects: - [Linux Studio plugins](https://lsp-plug.in/). Version 1.1.24 or higher. - [Calf Studio plugins](https://calf-studio-gear.org/). Version 0.90.1 or higher. - [Libebur128](https://github.com/jiixyj/libebur128). For Auto gain and Level meter. - [ZamAudio plugins](https://www.zamaudio.com/). For Maximizer. - [Zita-convolver](https://kokkinizita.linuxaudio.org/linuxaudio/). For Convolver. - [MDA](https://gitlab.com/drobilla/mda-lv2). For Bass loudness. - [SpeexDSP](https://www.speex.org/). For Speech processor. - [SoundTouch](https://www.surina.net/soundtouch/). For Pitch shift. - [RNNoise](https://gitlab.xiph.org/xiph/rnnoise). For Noise reduction. - [DeepFilterNet](https://github.com/Rikorose/DeepFilterNet). For Deep noise remover. Other dependencies include: - [libsamplerate](http://www.mega-nerd.com/SRC/index.html) - [libsndfile](http://www.mega-nerd.com/libsndfile/) - [libbs2b](https://sourceforge.net/projects/bs2b/files/libbs2b/) - [fftw](https://fftw.org/) - [speexdsp](https://www.speex.org/) - [nlohmann json](https://github.com/nlohmann/json) - [tbb](https://www.threadingbuildingblocks.org)
## Donate You can help me to keep developing Easy Effects through donations. Any amount will be greatly appreciated :-) [GitHub Sponsors](https://github.com/sponsors/wwmm) [Liberapay](https://liberapay.com/wwmm) [Patreon](https://www.patreon.com/wellingtonwallace?fan_landing=true) [PayPal](https://www.paypal.com/donate?hosted_button_id=RK723F4EKH2UE) ## Installation ### Distribution-specific packages Most up-to-date Linux distributions have an `easyeffects` package that can be installed with the distribution package manager. See [the wiki](https://github.com/wwmm/easyeffects/wiki/Package-Repositories) for a full list. ### Flatpak Alternatively, click here to install via Flatpak: Download Easy Effects on Flathub Flatpak packages support most Linux distributions and are sandboxed. The Easy Effects Flatpak package also includes all available plugins. If your distribution does not yet include packages required to build Easy Effects, Flatpak is a convenient option. ## Warning **Do not set** Easy Effects virtual devices as your default audio input/output. Easy Effects is designed assuming that your hardware stays as default device. ## Help A comprehensive set of help pages are included in the application itself, accessed via the hamburger menu in the top right. If the help pages are inaccessible ensure the [yelp](https://gitlab.gnome.org/GNOME/yelp) package is installed. The latest version of the help pages can also be [seen here](https://wwmm.github.io/easyeffects). ## Changelog For information about changes between versions, take a look at our [changelog](https://github.com/wwmm/easyeffects/blob/master/CHANGELOG.md) ## Frequently asked questions Take a look at our [FAQ](https://github.com/wwmm/easyeffects/wiki/FAQ) to see if you are facing a known issue. ## Community presets See the wiki: [Community presets](https://github.com/wwmm/easyeffects/wiki/Community-presets) This page also has instructions for converting PulseEffects presets to Easy Effects presets. Guildelines for package maintainers: [Guidelines](COMMUNITY_PRESETS_GUIDELINES.md) ## Command-line options See the wiki: [Command Line Options](https://github.com/wwmm/easyeffects/wiki/Command-Line-Options) ## GNOME Shell extension See the wiki: [Preset Selector GNOME Extension](https://github.com/wwmm/easyeffects/wiki/Preset-Selector-GNOME-Extension) ## Reporting bugs See the wiki: [Reporting Bugs](https://github.com/wwmm/easyeffects/wiki/Reporting-bugs) ## Translating Easy Effects See the wiki's [Translating Easy Effects](https://github.com/wwmm/easyeffects/wiki/Translating-EasyEffects) article for detailed instructions. ## Installing from source To install from source, see the wiki's [Installing from Source](https://github.com/wwmm/easyeffects/wiki/Installation-from-Source) article for detailed instructions. ## CI artifacts Flatpak bundles and Arch packages for testing and development purposes are built for PRs and pushes to master. See the [installation instructions](https://github.com/wwmm/easyeffects/wiki/Package-Repositories#ci-artifacts). ## License Easy Effects is licensed under GNU General Public License version 3 or later. See the [LICENSE file](https://github.com/wwmm/easyeffects/blob/master/LICENSE). easyeffects-7.1.7/data/000077500000000000000000000000001463533416400147515ustar00rootroot00000000000000easyeffects-7.1.7/data/com.github.wwmm.easyeffects-symbolic.svg000066400000000000000000000064371463533416400246500ustar00rootroot00000000000000 easyeffects-7.1.7/data/com.github.wwmm.easyeffects.Devel.svg000066400000000000000000000150331463533416400240570ustar00rootroot00000000000000 easyeffects-7.1.7/data/com.github.wwmm.easyeffects.Source.svg000066400000000000000000001010551463533416400242600ustar00rootroot00000000000000 Adwaita Icon Template Adwaita Icon Template Hicolor Symbolic Gnome Symbolic Icon Theme easyeffects-7.1.7/data/com.github.wwmm.easyeffects.desktop.in000066400000000000000000000006761463533416400243070ustar00rootroot00000000000000[Desktop Entry] # Translators: This is a variable for the application name, don't translate! Name=@APP_NAME@ GenericName=Equalizer, Compressor and Other Audio Effects Comment=Audio Effects for PipeWire Applications Keywords=limiter;compressor;reverberation;equalizer;autovolume; Categories=GTK;AudioVideo;Audio; Exec=easyeffects Icon=@APP_ID@ StartupNotify=true DBusActivatable=true X-GNOME-UsesNotifications=true Terminal=false Type=Application easyeffects-7.1.7/data/com.github.wwmm.easyeffects.metainfo.xml.in000066400000000000000000001063501463533416400252330ustar00rootroot00000000000000 @APP_ID@.desktop Easy Effects Audio Effects for PipeWire Applications CC0-1.0 GPL-3.0-or-later

Easy Effects is an advanced audio manipulation tool. It includes an equalizer, limiter, compressor and a reverberation tool, just to mention a few. To complement this there is also a built in spectrum analyzer.

Easy Effects is the successor to PulseEffects. Easy Effects only supports PipeWire's audio server. PulseAudio users should instead use PulseEffects.

Because Easy Effects uses the default PipeWire sound server it will work with most, if not all, applications you use. All supported applications are presented in the main window, where each can be enabled individually.

Besides manipulating sound output, Easy Effects is able to apply effects to an input device, such as a microphone. This is, for example, useful in audio recording, but it also works well during voice conversations.

When Easy Effects is launched it will conveniently remember the configuration used in the last session. It is also possible to save all the current settings as profiles.

Wellington Wallace Wellington Wallace offline-only 900 pointing keyboard console touch @APP_ID@.desktop https://github.com/wwmm/easyeffects https://github.com/wwmm/easyeffects/issues https://github.com/wwmm/easyeffects/wiki/FAQ https://wwmm.github.io/easyeffects https://github.com/wwmm/easyeffects#donate https://github.com/wwmm/easyeffects/wiki/Translating-EasyEffects https://github.com/wwmm/easyeffects https://github.com/wwmm/easyeffects/wiki/Installation-from-Source Easy Effects The main page showing two audio output apps https://raw.githubusercontent.com/wwmm/easyeffects/master/images/easyeffects-light-screenshot-1.png The bass enhancer page showing audio controls https://raw.githubusercontent.com/wwmm/easyeffects/master/images/easyeffects-light-screenshot-2.png The convolver page showing audio controls https://raw.githubusercontent.com/wwmm/easyeffects/master/images/easyeffects-light-screenshot-3.png
  • Features:
  • Community Presets have been implemented. Users can install packages containing multiple Easy Effects presets to be imported and applied inside the application. These packages will be maintained and shipped by volunteers. You can search them on the repositories of your favorite distribution.
  • Added the ability of collapsing the sidebar to hide the effects list and expand the area of the effects user interface.
  • EasyEffects won't touch streams that define PW_KEY_TARGET_OBJECT to an output device that is different from the one EasyEffects is using.
  • Equalizer APO import feature can now apply Band-Pass filters.
  • Bug fixes:
  • A change in GTK 4.14.1 prevented to apply the values inserted into the text field of our SpinButton widgets. This issue is now resolved.
  • The latest Maximizer plugin releases do not have the ceiling control anymore. So we removed it from our user interface (you can use the plugin input gain to retrieve the same functionality).
  • Equalizer APO import feature does not crash anymore on Flatpak when invalid values are provided.
  • Other notes:
  • In order for Community Presets to be correctly shipped, packagers are invited to read and follow the guidelines linked inside the README of EasyEffects master branch.
  • Presets with Convolver and/or Noise Reduction (RNNoise) effects created before 7.2.0 version are deprecated. Please reload the irs/model file inside the Convolver/RNNoise UI and resave the preset.
  • Features:
  • Improved the pipeline management system. Non-limiter effects are placed before the limiter even if the last two plugins in the pipeline are a limiter followed by a level meter.
  • Bug fixes:
  • Fixed a regression that prevented the level meters to be updated under certain conditions.
  • Other notes:
  • Features:
  • We now set monitor.passthrough = true in our virtual devices. This will allow latency offset to be properly applied by video players when PipeWire > 1.0.3 is released.
  • Updated translations.
  • Bug fixes:
  • Other notes:
  • Features:
  • EasyEffects will try to avoid moving to its virtual sources streams for which the user has set a custom target.object that is different from the mic EE is recording from. THe stream has to be started when EE is already running for this logic to take effect.
  • Updated translations
  • The equalizer can export basic APO preset files
  • Our players/recorders tab will show the audio client binary name in the cases were no app name is defined.
  • EasyEffects version can be shown in the command line through the option --version
  • Bug fixes:
  • A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept in place until gtk developers fiz things on their side
  • Other notes:
  • Features:
  • Updated translations
  • Bug fixes:
  • Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash
  • Other notes:
  • Features:
  • Updated translations
  • Bug fixes:
  • The DeepFilterNet plugin can now be added to the preset file
  • Other notes:
  • Features:
  • The spectrum has a new option that allows the dynamic vertical scale to be disabled.
  • Improved compatibility with the latest LSP releases.
  • Bug fixes:
  • Fixed an incorrect drawing of the impulse response file characteristics
  • Other notes:
  • Features:
  • Bug fixes:
  • Fixed a small bug the prevented the noise reduction voice activity threshold from being properly initialized.
  • Other notes:
  • Features:
  • Added a new control to the noise reduction plugin that allows the voice detection to be disabled.
  • Bug fixes:
  • Other notes:
  • Features:
  • The Filter effect has been improved with new parameters since it has been ported from Calf Studio to Linux Studio Plugins.
  • Noise reduction by RNNoise has been improved with the addition of Release and VAD Threshold controls.
  • Noise reduction by RNNoise can now mix the original and denoised signals to avoid the output to sound too "dry".
  • Bug fixes:
  • Other notes:
  • This release is intended to work with versions of Linux Studio Plugins equal or greater than "1.2.10".
  • EasyEffects is now buildable also with libc++.
  • Features:
  • The Expander from Linux Studio Plugins can be used in Easy Effects.
  • The Equalizer bands now have an additional gain control that allows for more efficient input of values that are hard to set in the scale. More details at issue 1383.
  • Added the ability to select and load multiple files in the opening dialogs for presets, Convolver impulse responses and RNNoise models.
  • Bug fixes:
  • Fixed the Solo button in the Equalizer band settings.
  • Other notes:
  • Easy Effects folders under /etc have been deprecated and presets located there won't be loaded anymore. At the moment only local presets under ~/.config/easyeffects are automatically loaded in the Presets Menu. In the future we will implement a new system to install, manage and import Community Presets.
  • Features:
  • An "Experimental Features" section was added to our preferences window.
  • The native window of the LSP plugins can be used. This is an experimental feature intended only for advanced users. So expect some bugs.
  • Fractional semitone values can now be used in the Pitch Shift effect.
  • Bug fixes:
  • The input/output device dropdown in our PipeWire tab is updated when the system default device changes and Use Default is enabled. This fixes issue issue 1989.
  • Other notes:
  • Features:
  • A new Level Meter plugin based on libebur128 has been added.
  • The Pitch plugin now uses the library SoundTouch instead of Rubberband. Hopefully some of the mysterious crashes that were happening with Rubbernand are not going to happen anymore.
  • Improved compatibility with recent PipeWire versions. More information at
  • Bug fixes:
  • Active Equalizer filters are not set to Bell type anymore when the number of bands changes.
  • Other notes:
  • Rabberband is not a dependency anymore since it has been replaced by SoundTouch.
  • Features:
  • The presets menu now asks for confirmation before saving/deleting a preset file.
  • Bug fixes:
  • The plugin reset should not make its controls innefective anymore.
  • Other notes:
  • Speex is no longer incorrectly listed as a build dependency (speexdsp is still a build dependency)
  • RNNoise is no longer an autodependency. It is now required by default, if not available it must be explicitly disabled with -Denable-rnnoise=false
  • Features:
  • Updated translations.
  • Bug fixes:
  • A small mistake was done in the last release. Making a new one to make sure people have the right branch in the package
  • Features:
  • The Equalizer "sort bands" feature is now ordering bands on GSettings, so the result can be saved into presets.
  • Improved performance when resetting keys.
  • Bug fixes:
  • Fixed the "Large Empty Hall" preset selection in the Reverberation effect.
  • Fixed some misuses of PipeWire's API that can potentially fix some random bugs some users are facing.
  • Other notes:
  • As we are removing code deprecated by GTK 4.10 the minimum GTK version has been increased.
  • Features:
  • The spectrum plugin update rate was improved. Different sampling rates should lead to similar update frequencies visually.
  • The update interval used by level meters and the spectrum can be customized by the user.
  • The equalizer band gain slider value can be updated in larger steps. Fine grain control is still possible through the keyboard up/down keys.
  • Small improvements to the echo canceller.
  • Bug fixes:
  • The echo canceller probes were not being linked to the soundcard after the move to multiple filters intances. This should be fixed now.
  • Features:
  • It is now possible to add more than one filter instance to the effects pipeline.
  • A new Speech Processor plugin based on the Speex library was added. Besides providing noise suppression it also can detect voice activity. It is a decent alternative to the cases whre the rnnoise library does not work well.
  • Improved compatibility with Linux Studio Plugins 1.2.3.
  • GraphicEQ presets can be imported into the Equalizer effect.
  • The application name has been changed to Easy Effects to adhere to the naming conventions of GNOME Human Interface Guidelines.
  • The documentation has been updated.
  • Improved presets autoloading.
  • The Autogain silence threshold can now be configured by the user.
  • Dry and wet controls added to the Stereo Tools effect.
  • The echo canceller now has a residual noise suppression control also based on the Speex library.
  • Bug fixes:
  • When the mouse was hovering over a chart the wrong value for the x axis coordinate was being shown. This regression is fixed.
  • Other notes:
  • Because of the new multiple instances feature, the preset format has changed, but the old one is still compatible to be loaded. Anyway take in consideration that saving the current preset will always write it in the new format.
  • Features:
  • Multiband Gate implementation has been migrated from CALF to Linux Studio Plugins.
  • The preset autoloading code compatibility with bluez5 devices has been improved.
  • Wet/dry controls were added for some plugins
  • Effect interface is no longer loaded when the related lv2 plugin is not installed on the system. In its place a status message to the user is shown.
  • The documentation has been updated
  • Improved debug messages
  • Updated translations
  • Bug fixes:
  • Other notes:
  • Features:
  • Improved translations
  • Bug fixes:
  • Fixed a bug where EasyEffects could crash when closing its window while effects were being applied.
  • Other notes:
  • Features:
  • The bypass state can be saved to the preset file. The reasons why this was done can be seen at issue 1039
  • The preset autoloading code compatibility with usb devices has been improved.
  • A dialog is shown to the user when a preset fails to load or a preset/impulse file fails to be imported.
  • The SideChain Gate plugin from Linux Studio Plugins is now used instead of the one from Calf Studio.
  • Bug fixes:
  • EasyEffects should not crash anymore when the user locale is not properly configured.
  • A workaround was implemented in our icon to deal with the lack of proper SVG support in QT.
  • Other notes:
  • Features:
  • When effects are disable to an application we now set its target metadata to null. This will allow the media session manager (wireplumber) to properly move the stream to a new device.
  • A new configuration option was added. It allows EasyEffects to ignore streams whose purpose is to monitor sink devices. This will help to fix some of problems our users were having when using OBS.
  • The code that shows the stream sample format has been improved
  • The rnnoise library is now optional. This should help package maintainers to build a Debian package. See issue 1000 for more information.
  • Our logs now show the source code line where the messages are being printed
  • Bug fixes:
  • The "enable effects" checkbox in our window was not being updated when third party programs like pavucontrol moved the stream away from our virtual devices. This should be fixed now.
  • Fixed a crash that could happen when the maximum autogain history was changed.
  • Avoid crashes when pw-mididump is running
  • Features:
  • The interface of the pitch plugin was improved
  • Our application icon is now compatible with desktops that uses QT
  • Our blocklist code will use the application.id tag if the stream sets it
  • In order to avoid problems with the mouse scroll the entries in the applications list shown in our Players/Recorders tab do not show a volume scale anymore. More details about the problem and the solution for it can be found on issue 1211 and issue 1427
  • When no application is available for display in the Players/Recorders a message will be shown to the user
  • Many translation updates
  • Bug fixes:
  • Fixed a bug where EasyEffects crashed when the number of points displayed in the spectrum was changed while our pipeline was active and the spectrum widget was visible
  • The pipeline latency value displayed in our window could be wrong in some situations. This was fixed.
  • Features:
  • There is a new setting allowing the user to select an inactivity timeout for the pipeline. When no client is playing to or recording from our devices the filters will be unlinked after the timeout is reached. This is done to make sure we do not waste CPU power processing silence.
  • The autogain plugin now allows the user to select which of the three loudness are used to calculate the geometric mean.
  • The autogain plugin now allows the maximum history to be set and does not use libebur128 histogram mode anymore. This should avoid the cases where the Integrated loudness gets stuck forever in the same value.
  • EasyEffects icon has been updated in a way that should make it visible in QT desktops.
  • Bug fixes:
  • The command line option that returns the global bypass state is working again.
  • Features:
  • The crossfeed filter should deal better with PipeWire's dynamic latency switches. Jumps in volume level should not happen anymore in these situations.
  • Bug fixes:
  • Fixed a bug that prevented mono microphones from properly working with EasyEffects
  • Features:
  • Support for the next PipeWire release 0.3.44
  • The autogain filter should deal better with PipeWire's dynamic latency switches. Jumps in volume level should not happen anymore in these situations.
  • We added an option that allows the volume and mute state of our virtual devices to be reset when EasyEffects starts. It should help with the cases were our devices are muted by the audio server for unknown reasons.
  • Better support for computer suspending.
  • Updated translations
  • Bug fixes:
  • Fixed a bug where trying to create an autoloading profile without having presets caused the application to crash.
  • Bug fixes:
  • Fixed a bug where setting a equalizer band quality to zero would lead to an application crash.
  • Features:
  • LibAdwaita is used to create some parts of our window and for handling the switching between dark and light themes.
  • The settings menu has been redesigned using LibAdwaita widgets.
  • Equalizer APO preset import feature has been improved to apply not only the Bell filter, but also other supported ones (at the moment only the Bandpass filter is not available in LSP plugin).
  • The Reset All Settings function in our menu should work in Flatpak now.
  • We have a new option that allows the user to disable our menus autohide. This may help to workaround some bugs Popover menus currently have on gtk4.
  • Bug fixes:
  • More robust parsing to import APO presets saved with comma as thousands separator in central frequency band.
  • Other notes:
  • The fmt library is a new dependency At least while the c++ compilers do not implement its features. This is expected to happen in the next years.
  • GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly.
  • Features:
  • It is now possible to combine impulse responses in the Convolver interface. A new impulse file is generated and it should be visible in the impulse list.
  • Improved x axis drawings in our plots. Now the number of labels is adjusted dynamically depending on our window width.
  • The documentation has been updated reflecting the new EasyEffects features. Old references about PulseEffects have been removed. The documentation button has been added in the menu section.
  • Bug fixes:
  • When a spinbutton is filled with an out of range value, now it is updated with the lowest/highest value rather than resetting to the previous one.
  • The application window now remembers the maximized state and restores it on the next opening event.
  • Other notes:
  • The tbb library is a new dependency
  • Features:
  • The Limiter and the Multiband Compressor plugins can now use an optional external sidechain.
  • The Autogain plugin now allows the user to select which Loudness is used as reference for the volume correction.
  • The APO Profile Import feature of Equalizer plugin now parses the "Pre Amplification" parameter.
  • Optional Cubic Volume can be enabled in General Settings.
  • Bug fixes:
  • The Spectrum plugin was supposed to enter passthrough whenever it was not visible, but this was happening only when our window was closed.
  • Improved support for Assistive Technology.
  • The probes used in some filters like the Compressor and the Limiter were not being relinked after changing the order of the plugins in the pipeline. It should be working now.
  • Features:
  • PipeWire monitor streams are now excluded and removed from the applications list.
  • Bug fixes:
  • Hopefully crashes like the one reported at issue 1172 are fixed.
  • Prevented a case in which Spectrum was crashing.
  • Pavucontrol is not added anymore to input applications list on systems with localization different than English.
  • Features:
  • Improved compatibility with WirePlumber. This is needed to run on systems that decided to use it instead of the built-in PipeWire session manager. More information at issue 1144.
  • Features:
  • When trying to add an autoloading profile for a device already in the list its target preset will be updated. This way we can change the profile preset without having to remove and recreating it.
  • The preset autoloading support implementation was redesigned again. It should work on more hardware now. For more information see issue 1051.
  • If the Limiter or the Maximizer are set in the last position of the plugin stack, new plugins are added at the second to last position in order to prevent hardware damage on eventually high output level.
  • Removing an application from the blocklist, its previous enabled state is restored.
  • Bug fixes:
  • Sometimes when removing imported models from the noise reduction plugin the current used model was not properly updated. This should be fixed now.
  • When editing presets files in an external editor, duplicated entries won't be shown in our presets menu.
  • Now the blocklist is correctly set when switching presets.
  • Now the status of the global bypass button is correctly updated when changing plugin stack.
  • Missing icons on the system should not be shown inside the application info UI (if an application icon could not be shown even if you're sure it's correctly installed, please open an issue).
  • Some icons not showing in Plasma DE with Breeze icon theme should appear now.
  • Features:
  • Updated Chinese translation.
  • Updated Italian translation.
  • Added support for the compressor parameter Boost Amount
  • The multiband compressor plugin now uses the stereo multiband compressor plugin from Linux Studio Plugins instead of the one from Calf Studio.
  • The limiter plugin now uses the stereo limiter plugin from Linux Studio Plugins instead of the one from Calf Studio.
  • LV2 filters now are spawned in PipeWire graph only when loaded the first time. Once loaded, they remain connected until EasyEffects shutdown.
  • Bug fixes:
  • The echo canceller sampling rate is now properly set.
  • The threshold parameter from the deesser plugin is now saved to the preset file.
  • Improved band splitting for crystalizer with new default intensity values.
  • Depending on the input gain or output gain values the corresponding level bars could not be aligned.
  • When adding more equalizer bands they are set to Bell instead of Off.
  • Equalizer APO presets loading is now working properly on locales different than C.
  • Improved linking management between port filter nodes in PipeWire.
  • The crystalizer plugin signal amplification was too high before. It should be within more reasonable levels now.
  • Features:
  • Improved the resampler used in the plugins that require one(like the rnnoise plugin)
  • Updated translations
  • Bug fixes:
  • Setting multiple autoloading presets should be fine now
  • Transient windows are now properly set for some plugins dialogs
  • The convolver impulse response menu was improved to workaround an issue where the impulse files was not loaded when only one was available in the menu, see issue 1011
  • Fixed a bug that could make the pitch plugin to not be properly initialized
  • The saturation warning should not displace its neighbor widgets anymore
  • Fixed the locale in a few widgets
  • Fixed wrong alignment in a few widgets
  • Features:
  • The Loudness plugin is being used again for the reasons described at issue 820. This means that is an optional dependency again.
  • Bug fixes:
  • Fixed a segmentation fault that happened when optional dependencies were not installed
  • Features:
  • Improved equalizer interface.
  • Now we use a sidechain LSP compressor that allows the user to select and external source as the sidechain input.
  • We now support the LSP compressor Boosting mode.
  • When split-channels is enabled in the equalizer the imported APO preset will be applied only to the channel being visualized in the window. This will allow to import different presets for each channel instead of just settings the same values to both.
  • Bug fixes:
  • Fixed some segmentation faults that could happen when creating a preset autoloading profile or removing presets
  • Features:
  • This is one of the biggest releases that I have ever made. The amount of changes is so big that it is hard to talk about everything here.
  • The following are just the most import ones. People interested on the journey that got us here can take a look at issue 904 and issue 874.
  • The application and its repository have been renamed from PulseEffects to EasyEffects
  • gtkmm3 was replaced by gtkmm4
  • Gstreamer was replaced by native PipeWire filters.
  • Many features were reimplemented from scratch. The preset autoloading is one example. Another remarkable change will be seen in the plugins selection menu. Now the user can show in the window only the plugins that he/she wants to use.
  • Boost is no longer a dependency. The price paid for that was a little change in our presets structures. With some patience it is possible to edit PulseEffects presets in a text editor and make them work in EasyEffects. Hopefully someone will come up with a script for this in the feature.
  • New libraries are being used and some of the librarires that were optional before are now required
easyeffects-7.1.7/data/com.github.wwmm.easyeffects.service.in000066400000000000000000000001201463533416400242560ustar00rootroot00000000000000[D-BUS Service] Name=@APP_ID@ Exec=@BIN_DIR@/easyeffects --gapplication-service easyeffects-7.1.7/data/com.github.wwmm.easyeffects.svg000066400000000000000000000034741463533416400230270ustar00rootroot00000000000000 easyeffects-7.1.7/data/easyeffects.gresource.xml000066400000000000000000000060241463533416400217730ustar00rootroot00000000000000 ui/custom.css ui/app_info.ui ui/application_window.ui ui/apps_box.ui ui/autogain.ui ui/autoload_row.ui ui/bass_enhancer.ui ui/bass_loudness.ui ui/blocklist_menu.ui ui/chart.ui ui/compressor.ui ui/convolver.ui ui/convolver_menu_combine.ui ui/convolver_menu_impulses.ui ui/crossfeed.ui ui/crystalizer.ui ui/crystalizer_band.ui ui/deepfilternet.ui ui/deesser.ui ui/delay.ui ui/echo_canceller.ui ui/effects_box.ui ui/equalizer.ui ui/equalizer_band.ui ui/exciter.ui ui/expander.ui ui/factory_clients_listview.ui ui/factory_input_device_dropdown.ui ui/factory_modules_listview.ui ui/factory_node_dropdown.ui ui/factory_output_device_dropdown.ui ui/factory_presets_dropdown.ui ui/factory_rnnoise_listview.ui ui/filter.ui ui/gate.ui ui/level_meter.ui ui/limiter.ui ui/loudness.ui ui/maximizer.ui ui/multiband_compressor.ui ui/multiband_compressor_band.ui ui/multiband_gate.ui ui/multiband_gate_band.ui ui/pipe_manager_box.ui ui/pitch.ui ui/plugin_row.ui ui/plugins_box.ui ui/plugins_menu.ui ui/preferences_general.ui ui/preferences_spectrum.ui ui/preferences_window.ui ui/preset_row.ui ui/preset_community_row.ui ui/presets_menu.ui ui/reverb.ui ui/rnnoise.ui ui/shortcuts.ui ui/speex.ui ui/stereo_tools.ui icons/scalable/emblems/ee-applications-multimedia-symbolic.svg icons/scalable/emblems/ee-arrow-down-symbolic.svg icons/scalable/emblems/ee-arrows-right-symbolic.svg icons/scalable/emblems/ee-bypass-symbolic.svg icons/scalable/emblems/ee-double-vertical-lines-symbolic.svg icons/scalable/emblems/ee-drag-handle-symbolic.svg icons/scalable/emblems/ee-spectrum-symbolic.svg easyeffects-7.1.7/data/icons/000077500000000000000000000000001463533416400160645ustar00rootroot00000000000000easyeffects-7.1.7/data/icons/scalable/000077500000000000000000000000001463533416400176325ustar00rootroot00000000000000easyeffects-7.1.7/data/icons/scalable/emblems/000077500000000000000000000000001463533416400212565ustar00rootroot00000000000000easyeffects-7.1.7/data/icons/scalable/emblems/credits.txt000066400000000000000000000015311463533416400234540ustar00rootroot00000000000000- Icons I have made: ee-spectrum-symbolic - Icons I did not make: ee-square-symbolic is the icon "media-playback-stop-symbolic" from the Adwaita package ee-plugins-symbolic is the icon "application-x-addon-symbolic" from the Adwaita package ee-drag-handle-symbolic is the icon "list-drag-handle-symbolic" from the Adwaita package ee-arrows-right-symbolic is the icon "media-playlist-consecutive-symbolic" from the Adwaita package ee-bypass-symbolic is the icon "system-log-out-symbolic" from the Adwaita package ee-applications-multimedia-symbolic is the icon "applications-multimedia-symbolic" from the Adwaita package ee-arrow-down-symbolic is made by SVG Repo from https://www.svgrepo.com/svg/85713/arrow-down (CC0 license) ee-double-vertical-lines-symbolic.svg is made by SVG Repo from https://www.svgrepo.com/svg/175958/parallel-lines (CC0 license) easyeffects-7.1.7/data/icons/scalable/emblems/ee-applications-multimedia-symbolic.svg000066400000000000000000000023661463533416400310320ustar00rootroot00000000000000 easyeffects-7.1.7/data/icons/scalable/emblems/ee-arrow-down-symbolic.svg000066400000000000000000000010641463533416400263050ustar00rootroot00000000000000 easyeffects-7.1.7/data/icons/scalable/emblems/ee-arrows-right-symbolic.svg000066400000000000000000000011471463533416400266400ustar00rootroot00000000000000 easyeffects-7.1.7/data/icons/scalable/emblems/ee-bypass-symbolic.svg000066400000000000000000000022021463533416400255020ustar00rootroot00000000000000 easyeffects-7.1.7/data/icons/scalable/emblems/ee-double-vertical-lines-symbolic.svg000066400000000000000000000007061463533416400304010ustar00rootroot00000000000000 easyeffects-7.1.7/data/icons/scalable/emblems/ee-drag-handle-symbolic.svg000066400000000000000000000011611463533416400263520ustar00rootroot00000000000000 easyeffects-7.1.7/data/icons/scalable/emblems/ee-spectrum-symbolic.svg000066400000000000000000000004531463533416400260510ustar00rootroot00000000000000 easyeffects-7.1.7/data/meson.build000066400000000000000000000104241463533416400171140ustar00rootroot00000000000000schemadir = join_paths(datadir, 'glib-2.0', 'schemas') install_data([ 'schemas/com.github.wwmm.easyeffects.gschema.xml', 'schemas/com.github.wwmm.easyeffects.autogain.gschema.xml', 'schemas/com.github.wwmm.easyeffects.bassenhancer.gschema.xml', 'schemas/com.github.wwmm.easyeffects.bassloudness.gschema.xml', 'schemas/com.github.wwmm.easyeffects.compressor.gschema.xml', 'schemas/com.github.wwmm.easyeffects.convolver.gschema.xml', 'schemas/com.github.wwmm.easyeffects.crossfeed.gschema.xml', 'schemas/com.github.wwmm.easyeffects.crystalizer.gschema.xml', 'schemas/com.github.wwmm.easyeffects.deepfilternet.gschema.xml', 'schemas/com.github.wwmm.easyeffects.deesser.gschema.xml', 'schemas/com.github.wwmm.easyeffects.delay.gschema.xml', 'schemas/com.github.wwmm.easyeffects.echo_canceller.gschema.xml', 'schemas/com.github.wwmm.easyeffects.equalizer.gschema.xml', 'schemas/com.github.wwmm.easyeffects.equalizer.channel.gschema.xml', 'schemas/com.github.wwmm.easyeffects.exciter.gschema.xml', 'schemas/com.github.wwmm.easyeffects.expander.gschema.xml', 'schemas/com.github.wwmm.easyeffects.filter.gschema.xml', 'schemas/com.github.wwmm.easyeffects.gate.gschema.xml', 'schemas/com.github.wwmm.easyeffects.levelmeter.gschema.xml', 'schemas/com.github.wwmm.easyeffects.limiter.gschema.xml', 'schemas/com.github.wwmm.easyeffects.loudness.gschema.xml', 'schemas/com.github.wwmm.easyeffects.maximizer.gschema.xml', 'schemas/com.github.wwmm.easyeffects.multibandcompressor.gschema.xml', 'schemas/com.github.wwmm.easyeffects.multibandgate.gschema.xml', 'schemas/com.github.wwmm.easyeffects.outputlevel.gschema.xml', 'schemas/com.github.wwmm.easyeffects.pitch.gschema.xml', 'schemas/com.github.wwmm.easyeffects.reverb.gschema.xml', 'schemas/com.github.wwmm.easyeffects.rnnoise.gschema.xml', 'schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml', 'schemas/com.github.wwmm.easyeffects.speex.gschema.xml', 'schemas/com.github.wwmm.easyeffects.streamoutputs.gschema.xml', 'schemas/com.github.wwmm.easyeffects.stereotools.gschema.xml', 'schemas/com.github.wwmm.easyeffects.streaminputs.gschema.xml' ], install_dir: schemadir) if get_option('enable-libportal') install_data([ 'schemas/com.github.wwmm.easyeffects.libportal.gschema.xml' ], install_dir: schemadir) endif data_conf = configuration_data() data_conf.set('BIN_DIR', bindir) data_conf.set('APP_ID', app_id) data_conf.set('APP_NAME', 'Easy Effects' + name_suffix) metainfo_file = i18n_mod.merge_file( input: configure_file( input: files('com.github.wwmm.easyeffects.metainfo.xml.in'), output: 'com.github.wwmm.easyeffects.metainfo.xml.in', configuration: data_conf ), output: '@0@.metainfo.xml'.format(app_id), po_dir: '../po/news', install: true, install_dir: join_paths(datadir, 'metainfo') ) # Validate merged AppStream metainfo file appstream_util = find_program('appstream-util', required: false) if appstream_util.found() test('Validate appstream file', appstream_util, args: ['validate-relax', '--nonet', metainfo_file] ) endif desktop_file = i18n_mod.merge_file( input: configure_file( input: files('com.github.wwmm.easyeffects.desktop.in'), output: 'com.github.wwmm.easyeffects.desktop.in', configuration: data_conf ), output: '@0@.desktop'.format(app_id), type: 'desktop', po_dir: '../po', install: true, install_dir: join_paths(datadir, 'applications') ) # Validate merged desktop entry file desktop_utils = find_program('desktop-file-validate', required: false) if desktop_utils.found() test('Validate desktop file', desktop_utils, args: [desktop_file] ) endif icondir = join_paths(datadir, 'icons', 'hicolor') install_data('@0@.svg'.format(app_id), install_dir: join_paths(icondir, 'scalable', 'apps'), rename: '@0@.svg'.format(app_id) ) install_data('com.github.wwmm.easyeffects-symbolic.svg', install_dir: join_paths(icondir, 'symbolic', 'apps'), rename: '@0@-symbolic.svg'.format(app_id) ) gresources = gnome_mod.compile_resources( 'easyeffects-resources', 'easyeffects.gresource.xml', c_name: meson.project_name() ) configure_file( input: 'com.github.wwmm.easyeffects.service.in', output: '@0@.service'.format(app_id), configuration: data_conf, install: true, install_dir: join_paths(get_option('datadir'), 'dbus-1', 'services'), ) easyeffects-7.1.7/data/presets/000077500000000000000000000000001463533416400164365ustar00rootroot00000000000000easyeffects-7.1.7/data/presets/gstreamer_ballad.json000066400000000000000000000046611463533416400226300ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "4", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "3.75", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "2.5", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "0", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "-4", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "-6", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "-3", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "0", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "2.5", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "9", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_classic.json000066400000000000000000000046551463533416400230350ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "0", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "0", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "0", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "0", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "0", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "0", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "-6", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "-7", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "-7", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "-9.5", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_club.json000066400000000000000000000046511463533416400223350ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "0", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "0", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "8", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "6", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "5.5", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "5", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "3", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "0", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "0", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "0", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_dance.json000066400000000000000000000046601463533416400224620ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "9.6", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "7", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "2.5", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "0", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "0", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "-5.6", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "-7", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "-7", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "0", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "0", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_more_bass.json000066400000000000000000000046661463533416400233700ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "-8", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "10", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "10", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "5.5", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "1.5", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "-4", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "-8", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "-10", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "-11", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "-11", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_more_bass_and_treble.json000066400000000000000000000050371463533416400255400ustar00rootroot00000000000000 { "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "8", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "5.5", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "0", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "-7", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "-5", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "1.5", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "8", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "11.2", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "12", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "12", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_party.json000066400000000000000000000046471463533416400225540ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "7", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "7", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "0", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "0", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "0", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "0", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "0", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "0", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "7", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "7", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_pop.json000066400000000000000000000046701463533416400222070ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "-1.6", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "4.5", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "7", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "8", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "5.6", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "0", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "-2.5", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "-2", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "-1.6", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "-1.5", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_reggae.json000066400000000000000000000046561463533416400226470ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "0", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "0", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "0", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "-5.5", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "0", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "6.5", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "6.5", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "0", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "0", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "0", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_rock.json000066400000000000000000000046611463533416400223470ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "8", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "5", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "-5.5", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "-8", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "-3", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "4", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "8", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "11", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "11", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "11.5", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_ska.json000066400000000000000000000046571463533416400221740ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "-2.5", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "-5", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "-4", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "0", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "4", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "5.5", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "8", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "9", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "11", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "9", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_soft.json000066400000000000000000000046561463533416400223700ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "5", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "1.5", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "0", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "-2.5", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "0", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "4", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "8", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "9", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "11", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "12", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/gstreamer_techno.json000066400000000000000000000046571463533416400226760ustar00rootroot00000000000000{ "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "8", "frequency": "29.952623149688797", "width": "19.905246299377595", "type": "Lo-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "5.5", "frequency": "59.763340205038524", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "0", "frequency": "119.24354052777788", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "-5.5", "frequency": "237.92214271853953", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "-5", "frequency": "474.71708526294935", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "0", "frequency": "947.18511049703125", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "8", "frequency": "1889.8827562743609", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "10", "frequency": "3770.8118433037489", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "10", "frequency": "7523.7587677823067", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "9", "frequency": "15011.872336272731", "width": "9976.2553274545608", "type": "Hi-shelf", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/presets/ziyad_perfecteq.json000066400000000000000000000045741463533416400225210ustar00rootroot00000000000000 { "equalizer": { "state": "true", "mode": "IIR", "num-bands": "10", "input-gain": "0", "output-gain": "0", "band0": { "gain": "4", "frequency": "32", "width": "19.905246299377595", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band1": { "gain": "2", "frequency": "64", "width": "39.716187811321859", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band2": { "gain": "1", "frequency": "125", "width": "79.244212834156855", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band3": { "gain": "0", "frequency": "250", "width": "158.11299154736642", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band4": { "gain": "-1", "frequency": "500", "width": "315.47689354145319", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band5": { "gain": "-2", "frequency": "1000", "width": "629.45915692671076", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band6": { "gain": "0", "frequency": "2000", "width": "1255.9361346279484", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band7": { "gain": "2", "frequency": "4000", "width": "2505.9220394308272", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band8": { "gain": "3", "frequency": "8000", "width": "4999.9718095262879", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" }, "band9": { "gain": "3", "frequency": "16000", "width": "9976.2553274545608", "type": "Bell", "mode": "RLC (BT)", "slope": "x1", "solo": "false", "mute": "false" } } }easyeffects-7.1.7/data/schemas/000077500000000000000000000000001463533416400163745ustar00rootroot00000000000000easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.autogain.gschema.xml000066400000000000000000000030531463533416400276600ustar00rootroot00000000000000 false 0 0 -23 false "Geometric Mean (MSI)" 15 -70 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.bassenhancer.gschema.xml000066400000000000000000000024341463533416400305070ustar00rootroot00000000000000 false 0 0 0 8.5 100 20 0 false false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.bassloudness.gschema.xml000066400000000000000000000017021463533416400305550ustar00rootroot00000000000000 false 0 0 -3.1 -6 -9.1 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.compressor.gschema.xml000066400000000000000000000130001463533416400302360ustar00rootroot00000000000000 false 0 0 -100 0 "Downward" 20 100 -100 -12 4 -6 0 6 -72 false "Feed-forward" "RMS" false "Middle" "Left/Right" 0 10 0 "off" 10 "off" 20000 "" easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.convolver.gschema.xml000066400000000000000000000014341463533416400300670ustar00rootroot00000000000000 false 0 0 "" 100 true easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.crossfeed.gschema.xml000066400000000000000000000013411463533416400300240ustar00rootroot00000000000000 false 0 0 700 4.5 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.crystalizer.gschema.xml000066400000000000000000000111511463533416400304220ustar00rootroot00000000000000 false 0 0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 false false false false false false false false false false false false false false false false false false false false false false false false false false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.deepfilternet.gschema.xml000066400000000000000000000025061463533416400307050ustar00rootroot00000000000000 false 0 0 100 -10 30 20 0 0.02 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.deesser.gschema.xml000066400000000000000000000044061463533416400275060ustar00rootroot00000000000000 false 0 0 "RMS" "Wide" -18 3 15 0 6000 4500 0 12 1 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.delay.gschema.xml000066400000000000000000000026361463533416400271550ustar00rootroot00000000000000 false 0 0 -100 -100 0 0 0 0 false false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.echo_canceller.gschema.xml000066400000000000000000000016231463533416400310000ustar00rootroot00000000000000 false 0 0 100 -70 -70 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.equalizer.channel.gschema.xml000066400000000000000000001130561463533416400314660ustar00rootroot00000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22.40 27.80 34.51 42.82 53.14 65.95 81.83 101.55 126 156.38 194.06 240.81 298.834 370.834 460.182 571.057 708.647 879.387 1091.26 1354.19 1680.47 2085.35 2587.79 3211.29 3985.01 4945.15 6136.63 7615.17 9449.96 11726.8 14552.2 18058.4 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4.36 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "Bell" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "RLC (BT)" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" "x1" false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.equalizer.gschema.xml000066400000000000000000000026751463533416400300630ustar00rootroot00000000000000 false 32 "IIR" 0 0 false 0 0 0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.exciter.gschema.xml000066400000000000000000000024421463533416400275150ustar00rootroot00000000000000 false 0 0 0 8.5 7500 16000 0 false false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.expander.gschema.xml000066400000000000000000000121551463533416400276620ustar00rootroot00000000000000 false 0 0 -100 0 "Upward" 20 100 -100 -12 4 -6 0 false "Internal" "RMS" false "Middle" "Left/Right" 0 10 0 "off" 10 "off" 20000 "" easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.filter.gschema.xml000066400000000000000000000062431463533416400273420ustar00rootroot00000000000000 false 0 0 2000 4.0 0.0 0 0 "Low-pass" "RLC (BT)" "IIR" "x1" easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.gate.gschema.xml000066400000000000000000000120041463533416400267650ustar00rootroot00000000000000 false 0 0 -100 0 20 100 -24 -6 false -12 -6 -24 0 false "Internal" "RMS" false "Middle" "Left/Right" 0 10 0 "off" 10 "off" 20000 "" easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.gschema.xml000066400000000000000000000046161463533416400260600ustar00rootroot00000000000000 true false false "" "" "" "" false false 0 0 false false false true true 10 true 50 30 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.levelmeter.gschema.xml000066400000000000000000000003421463533416400302130ustar00rootroot00000000000000 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.libportal.gschema.xml000066400000000000000000000004311463533416400300360ustar00rootroot00000000000000 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.limiter.gschema.xml000066400000000000000000000107631463533416400275240ustar00rootroot00000000000000 false 0 0 "Herm Thin" "None" "None" 5 5 5 0 true 0 100 false 5 50 0 false "" easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.loudness.gschema.xml000066400000000000000000000032661463533416400277130ustar00rootroot00000000000000 false 0 0 "4096" "ISO226-2003" 0 false 6 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.maximizer.gschema.xml000066400000000000000000000013441463533416400300570ustar00rootroot00000000000000 false 0 0 25 0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.multibandcompressor.gschema.xml000066400000000000000000000742101463533416400321500ustar00rootroot00000000000000 false 0 0 -100 0 false "Modern" "None" true true true false false false false 500 1000 2000 4000 8000 12000 16000 "" false false false false false false false false "RMS" "RMS" "RMS" "RMS" "RMS" "RMS" "RMS" "RMS" "Middle" "Middle" "Middle" "Middle" "Middle" "Middle" "Middle" "Middle" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" 0 0 0 0 0 0 0 0 10 10 10 10 10 10 10 10 0 0 0 0 0 0 0 0 false false false false false false false false false false false false false false false false 10 500 1000 2000 4000 8000 12000 16000 500 1000 2000 4000 8000 12000 16000 20000 "Downward" "Downward" "Downward" "Downward" "Downward" "Downward" "Downward" "Downward" true true true true true true true true false false false false false false false false false false false false false false false false -12 -12 -12 -12 -12 -12 -12 -12 20 20 20 20 20 20 20 20 -100 -100 -100 -100 -100 -100 -100 -100 100 100 100 100 100 100 100 100 1 1 1 1 1 1 1 1 -6 -6 -6 -6 -6 -6 -6 -6 -72 -72 -72 -72 -72 -72 -72 -72 6 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.multibandgate.gschema.xml000066400000000000000000000677311463533416400307060ustar00rootroot00000000000000 false 0 0 -100 0 false "Modern" "None" true true true false false false false 500 1000 2000 4000 8000 12000 16000 "" false false false false false false false false "RMS" "RMS" "RMS" "RMS" "RMS" "RMS" "RMS" "RMS" "Middle" "Middle" "Middle" "Middle" "Middle" "Middle" "Middle" "Middle" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" "Left/Right" 0 0 0 0 0 0 0 0 10 10 10 10 10 10 10 10 0 0 0 0 0 0 0 0 false false false false false false false false false false false false false false false false 10 500 1000 2000 4000 8000 12000 16000 500 1000 2000 4000 8000 12000 16000 20000 true true true true true true true true false false false false false false false false false false false false false false false false 20 20 20 20 20 20 20 20 100 100 100 100 100 100 100 100 false false false false false false false false -12 -12 -12 -12 -12 -12 -12 -12 -6 -6 -6 -6 -6 -6 -6 -6 -24 -24 -24 -24 -24 -24 -24 -24 -6 -6 -6 -6 -6 -6 -6 -6 -24 -24 -24 -24 -24 -24 -24 -24 0 0 0 0 0 0 0 0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.outputlevel.gschema.xml000066400000000000000000000003411463533416400304360ustar00rootroot00000000000000 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.pitch.gschema.xml000066400000000000000000000027021463533416400271600ustar00rootroot00000000000000 false 0 0 0.0 false false 40 15 8 0 0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.reverb.gschema.xml000066400000000000000000000037261463533416400273450ustar00rootroot00000000000000 false 0 0 "Large" 1.5 5000 0.5 -12 0 0 300 5000 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.rnnoise.gschema.xml000066400000000000000000000020351463533416400275250ustar00rootroot00000000000000 false 0 0 "" false 50 0.0 20.0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml000066400000000000000000000034431463533416400277160ustar00rootroot00000000000000 true true true false true 100 2 (1.0,1.0,1.0,1.0) (1.0,1.0,1.0,1.0) 120 "Bars" 20 20000 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.speex.gschema.xml000066400000000000000000000024061463533416400271760ustar00rootroot00000000000000 false 0 0 true -70 false false 95 90 false easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.stereotools.gschema.xml000066400000000000000000000060561463533416400304410ustar00rootroot00000000000000 false 0 0 0 0 false false false false false "LR > LR (Stereo Default)" 0 0 0 0 0 0 1 0 -100 0 easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.streaminputs.gschema.xml000066400000000000000000000016041463533416400306070ustar00rootroot00000000000000 [] true "" 50 [] false true easyeffects-7.1.7/data/schemas/com.github.wwmm.easyeffects.streamoutputs.gschema.xml000066400000000000000000000016101463533416400310050ustar00rootroot00000000000000 [] true "" 50 [] false true easyeffects-7.1.7/data/ui/000077500000000000000000000000001463533416400153665ustar00rootroot00000000000000easyeffects-7.1.7/data/ui/app_info.ui000066400000000000000000000431171463533416400175260ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/application_window.ui000066400000000000000000000114131463533416400216170ustar00rootroot00000000000000
_Help app.help
_Reset Settings app.reset
_Preferences app.preferences _Shortcuts app.shortcuts _About Easy Effects app.about
_Quit app.quit
easyeffects-7.1.7/data/ui/apps_box.ui000066400000000000000000000030441463533416400175410ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/autogain.ui000066400000000000000000001340331463533416400175400ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/autoload_row.ui000066400000000000000000000121531463533416400204260ustar00rootroot00000000000000 6 6 6 center 1 6 6 end Device 0 0 start end 1 0 end Name 0 1 start end 1 1 end Profile 0 2 start end 1 2 end Preset 0 3 start end 1 3 Remove this autoload preset end center user-trash-symbolic easyeffects-7.1.7/data/ui/bass_enhancer.ui000066400000000000000000000755121463533416400205320ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/bass_loudness.ui000066400000000000000000000502621463533416400205760ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/blocklist_menu.ui000066400000000000000000000136041463533416400207430ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/chart.ui000066400000000000000000000003711463533416400170270ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/compressor.ui000066400000000000000000003221671463533416400201340ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/convolver.ui000066400000000000000000000655641463533416400177620ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/convolver_menu_combine.ui000066400000000000000000000145741463533416400224750ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/convolver_menu_impulses.ui000066400000000000000000000055311463533416400227130ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/crossfeed.ui000066400000000000000000000515701463533416400177120ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/crystalizer.ui000066400000000000000000000341151463533416400203040ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/crystalizer_band.ui000066400000000000000000000056501463533416400212720ustar00rootroot00000000000000 1 center 12 Bypass Mute 6 6 6 6 6 vertical center popover_menu emblem-system-symbolic band 1 center vertical 1 1 0 bottom -40 32 1 1 band_label easyeffects-7.1.7/data/ui/custom.css000066400000000000000000000001121463533416400174040ustar00rootroot00000000000000.drag-listboxrow-icon { background: white; border: 1px solid black; } easyeffects-7.1.7/data/ui/deepfilternet.ui000066400000000000000000000700131463533416400205600ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/deesser.ui000066400000000000000000001252561463533416400173720ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/delay.ui000066400000000000000000000731731463533416400170360ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/echo_canceller.ui000066400000000000000000000505551463533416400206650ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/effects_box.ui000066400000000000000000000171161463533416400202220ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/equalizer.ui000066400000000000000000001177571463533416400177500ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/equalizer_band.ui000066400000000000000000000411061463533416400207140ustar00rootroot00000000000000 12 1 Type 2 Off Bell High-Pass High-Shelf Low-Pass Low-Shelf Notch Resonance All-Pass Band-Pass Ladder-Pass Ladder-Rejection Mode 2 RLC (BT) RLC (MT) BWC (BT) BWC (MT) LRX (BT) LRX (MT) APO (DR) Slope 2 x1 x2 x3 x4 Solo 2 center Mute 2 center Frequency 2 center 0 10 10 24000 1 100 center edit-undo-symbolic Gain 2 center 2 10 -36 36 0.01 1.0 center edit-undo-symbolic Quality 2 center 2 10 100 0.01 0.1 center edit-undo-symbolic Width 2 center 2 10 band_type 12 0.01 0.1 center edit-undo-symbolic easyeffects-7.1.7/data/ui/exciter.ui000066400000000000000000000755111463533416400174010ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/expander.ui000066400000000000000000003037031463533416400175410ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/factory_clients_listview.ui000066400000000000000000000145211463533416400230460ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/factory_input_device_dropdown.ui000066400000000000000000000021311463533416400240430ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/factory_modules_listview.ui000066400000000000000000000116451463533416400230610ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/factory_node_dropdown.ui000066400000000000000000000024141463533416400223160ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/factory_output_device_dropdown.ui000066400000000000000000000021211463533416400242430ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/factory_presets_dropdown.ui000066400000000000000000000021141463533416400230530ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/factory_rnnoise_listview.ui000066400000000000000000000037121463533416400230620ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/filter.ui000066400000000000000000001126501463533416400172170ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/gate.ui000066400000000000000000003452311463533416400166550ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/level_meter.ui000066400000000000000000000606421463533416400202400ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/limiter.ui000066400000000000000000002041531463533416400173770ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/loudness.ui000066400000000000000000000554331463533416400175730ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/maximizer.ui000066400000000000000000000502411463533416400177340ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/multiband_compressor.ui000066400000000000000000001453631463533416400221740ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/multiband_compressor_band.ui000066400000000000000000001500361463533416400231510ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/multiband_gate.ui000066400000000000000000001453111463533416400207110ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/multiband_gate_band.ui000066400000000000000000001423341463533416400216770ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/pipe_manager_box.ui000066400000000000000000001450231463533416400212310ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/pitch.ui000066400000000000000000000725701463533416400170470ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/data/ui/plugin_row.ui000066400000000000000000000104131463533416400201110ustar00rootroot00000000000000 6 center 6 pointer start center ee-arrow-down-symbolic start center ee-double-vertical-lines-symbolic start center 1 Name Remove this effect center 0 user-trash-symbolic Enable/disable this effect center 0 system-shutdown-symbolic Change the position of this effect end center 0 8 8 8 center ee-drag-handle-symbolic grab easyeffects-7.1.7/data/ui/plugins_box.ui000066400000000000000000000263411463533416400202640ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/plugins_menu.ui000066400000000000000000000120071463533416400204320ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/preferences_general.ui000066400000000000000000000247141463533416400217330ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/preferences_spectrum.ui000066400000000000000000000306361463533416400221600ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/preferences_window.ui000066400000000000000000000003271463533416400216170ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/preset_community_row.ui000066400000000000000000000070221463533416400222230ustar00rootroot00000000000000 6 6 center 1 12 start center 1 2 vertical start end Package start end Name end center Try Try this community preset name Import Import this community preset into the local presets list name easyeffects-7.1.7/data/ui/preset_row.ui000066400000000000000000000123531463533416400201220ustar00rootroot00000000000000 6 6 1 6 start center 1 Name end center Load Discard the current settings and load this preset name Save current settings to this preset file document-save-symbolic name Remove this preset file user-trash-symbolic name 6 0 start center 1 Name 6 end object-select-symbolic process-stop-symbolic easyeffects-7.1.7/data/ui/presets_menu.ui000066400000000000000000000605021463533416400204410ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/reverb.ui000066400000000000000000001173721463533416400172250ustar00rootroot00000000000000 1 6 6 6 6 6 vertical 1 6 Ambience Empty Walls 6 1 Room Large Empty Hall 6 1 Disco Large Occupied Hall horizontal horizontal horizontal easyeffects-7.1.7/data/ui/rnnoise.ui000066400000000000000000000766761463533416400174300ustar00rootroot00000000000000 horizontal easyeffects-7.1.7/data/ui/shortcuts.ui000066400000000000000000000041241463533416400177640ustar00rootroot00000000000000 1 shortcuts 12 Overview overview F1 Show help F11 Fullscreen/Restore from fullscreen <Ctrl>w Close the Window <Ctrl>q Quit Easy Effects easyeffects-7.1.7/data/ui/speex.ui000066400000000000000000000636161463533416400170650ustar00rootroot00000000000000 easyeffects-7.1.7/data/ui/stereo_tools.ui000066400000000000000000001745561463533416400204700ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.7/debian/000077500000000000000000000000001463533416400152625ustar00rootroot00000000000000easyeffects-7.1.7/debian/changelog000066400000000000000000000002211463533416400171270ustar00rootroot00000000000000easyeffects (6.2.5-1) unstable; urgency=medium * Version 6.2.5 upstream. -- Boyuan Yang Sat, 18 Jun 2022 19:16:31 -0400 easyeffects-7.1.7/debian/control000066400000000000000000000015701463533416400166700ustar00rootroot00000000000000Source: easyeffects Section: sound Priority: optional Maintainer: Boyuan Yang Build-Depends: appstream-util, debhelper-compat (= 13), gettext, itstool, libadwaita-1-dev, libbs2b-dev, libebur128-dev, libfftw3-dev, libfmt-dev, libglib2.0-dev, libgtk-4-dev, liblilv-dev, libpipewire-0.3-dev, libsoundtouch-dev, libsamplerate0-dev, libsigc++-3.0-dev, libsndfile-dev, libspeexdsp-dev, libtbb-dev, libzita-convolver-dev, lv2-dev, meson, nlohmann-json3-dev, pkg-config, ladspa-sdk, Standards-Version: 4.6.1 Homepage: https://github.com/wwmm/easyeffects Package: easyeffects Architecture: any Depends: calf-plugins, lsp-plugins-lv2 | lsp-plugins, ${misc:Depends}, ${shlibs:Depends}, Recommends: mda-lv2, zam-plugins, libdeep_filter_ladspa, Description: Audio effects for PipeWire applications Many sound effects for PipeWire input and output. easyeffects-7.1.7/debian/copyright000066400000000000000000000032661463533416400172240ustar00rootroot00000000000000Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: easyeffects Upstream-Contact: Wellington Wallace Source: https://github.com/wwmm/easyeffects Files: * Copyright: 2017-2022 Wellington Wallace License: GPL-3.0+ Files: debian/* Copyright: Mikhail Novosyolov 2019-2022 Boyuan Yang License: GPL-3.0+ Files: util/autobuild.sh Copyright: Mikhail Novosyolov License: GPL-3.0+ Files: PKGBUILD Copyright: Wellington License: GPL-3.0+ Files: data/com.github.wwmm.easyeffects.metainfo.xml.in Copyright: 2017 Patrik Nilsson License: CC0-1.0 License: GPL-3.0+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". License: CC0-1.0 On Debian systems, the complete text of the Creative Commons Zero v1.0 Universal License can be found in "/usr/share/common-licenses/CC0-1.0". easyeffects-7.1.7/debian/rules000077500000000000000000000000361463533416400163410ustar00rootroot00000000000000#!/usr/bin/make -f %: dh $@ easyeffects-7.1.7/debian/source/000077500000000000000000000000001463533416400165625ustar00rootroot00000000000000easyeffects-7.1.7/debian/source/format000066400000000000000000000000141463533416400177700ustar00rootroot000000000000003.0 (quilt) easyeffects-7.1.7/debian/watch000066400000000000000000000002471463533416400163160ustar00rootroot00000000000000version=4 opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*@ARCHIVE_EXT@)%@PACKAGE@-$1%" \ https://github.com/wwmm/easyeffects/tags \ (?:.*?/)?v?@ANY_VERSION@@ARCHIVE_EXT@ easyeffects-7.1.7/easyeffects.code-workspace000066400000000000000000000043631463533416400211770ustar00rootroot00000000000000{ "folders": [ { "path": "." } ], "settings": { "mesonbuild.buildFolder": "_build", "mesonbuild.configureOnOpen": true, "mesonbuild.configureOptions": [ "--buildtype=debugoptimized", "--cpp_std=c++17" ], "editor.formatOnSave": true, "editor.rulers": [120], "files.associations": { "*.page": "xml", "*.tcc": "cpp", "iostream": "cpp", "cctype": "cpp", "clocale": "cpp", "cmath": "cpp", "csignal": "cpp", "cstdarg": "cpp", "cstddef": "cpp", "cstdio": "cpp", "cstdlib": "cpp", "cstring": "cpp", "ctime": "cpp", "cwchar": "cpp", "cwctype": "cpp", "array": "cpp", "atomic": "cpp", "strstream": "cpp", "bit": "cpp", "bitset": "cpp", "chrono": "cpp", "codecvt": "cpp", "complex": "cpp", "condition_variable": "cpp", "cstdint": "cpp", "deque": "cpp", "list": "cpp", "map": "cpp", "set": "cpp", "unordered_map": "cpp", "vector": "cpp", "exception": "cpp", "string_view": "cpp", "fstream": "cpp", "functional": "cpp", "future": "cpp", "initializer_list": "cpp", "iomanip": "cpp", "iosfwd": "cpp", "istream": "cpp", "limits": "cpp", "memory": "cpp", "mutex": "cpp", "new": "cpp", "numeric": "cpp", "optional": "cpp", "ostream": "cpp", "ratio": "cpp", "sstream": "cpp", "stdexcept": "cpp", "streambuf": "cpp", "string": "cpp", "system_error": "cpp", "thread": "cpp", "type_traits": "cpp", "tuple": "cpp", "typeindex": "cpp", "typeinfo": "cpp", "utility": "cpp", "valarray": "cpp", "variant": "cpp", "algorithm": "cpp", "hash_map": "cpp", "iterator": "cpp", "memory_resource": "cpp", "random": "cpp", "cfenv": "cpp", "cinttypes": "cpp" }, "xml.format.joinContentLines": true, "clangd.arguments": [ "--header-insertion=never", "--clang-tidy", "--enable-config" ], "prettier.enable": false, "xml.format.preservedNewlines": 1, "xml.format.enabled": true, "xml.format.maxLineWidth": 0 } } easyeffects-7.1.7/help/000077500000000000000000000000001463533416400147705ustar00rootroot00000000000000easyeffects-7.1.7/help/C/000077500000000000000000000000001463533416400151525ustar00rootroot00000000000000easyeffects-7.1.7/help/C/advancedinfo.page000066400000000000000000000013011463533416400204240ustar00rootroot00000000000000 Advanced Information

Easy Effects audio processing is composed by three main stages. Each of them needs a specific audio format and sampling rate.

In the bottom bar is reported the pipeline output sampling rate (in kHz) and the latency (in ms) introduced by the audio processing stage.

Every stream in applications list also reports its own latency and sampling rate, along with status and format.

easyeffects-7.1.7/help/C/autogain.page000066400000000000000000000112351463533416400176210ustar00rootroot00000000000000 Auto Gain

Easy Effects Autogain is based on the library libebur128 which implements the EBU R 128 standard for loudness normalization. It changes the audio volume to a perceived loudness target that can be customized by the user.

<em style="strong" its:withinText="nested">Target</em>

Loudness level.

<em style="strong" its:withinText="nested">Silence</em>

Silence threshold. While the momentary loudness is below this value the autogain won't make any changes to the current gain being applied to the signal level.

<em style="strong" its:withinText="nested">Maximum History</em>

Range of time taken into account for the calculation of loudness level and output gain.

<em style="strong" its:withinText="nested">Reference</em>

The parameter used as reference to evaluate the output gain.

Momentary - Measures the loudness of the past 400 milliseconds.

Short-Term - Measures the loudness of the past 3 seconds.

Integrated - Ideally it indicates how loud the content is on average. It measures the loudness on a long range of time, depending on the value set as Maximum History.

Geometric Mean - Uses the geometric mean of all the above mentioned parameters, or two of them at user choosing.

<em style="strong" its:withinText="nested">Reset History</em>

Resets the Autogain history related to chosen Reference.

<em style="strong" its:withinText="nested">Monitor Parameters</em>

Autogain values shown as stats.

Relative - Used to detect silence. Whenever the Momentary term is below a predetermined threshold, modifications to the output gain will be disabled.

Loudness - The difference between its value and the target loudness determines the output gain.

Range - Indicates how large is the dynamic range of the content played.

Output Gain - The input signal is adjusted by this correction gain to bring its loudness to the target value.

References

Wikipedia EBU R 128

EBU - Loudness Normalisation and Permitted Maximum Level of Audio Signals

easyeffects-7.1.7/help/C/bassenhancer.page000066400000000000000000000053141463533416400204470ustar00rootroot00000000000000 Bass Enhancer

A Bass Enhancer is used to produce very low sound that is not present in the original signal. This is done by creating harmonic distortions of the signal which are restricted in range and added to the original signal. It raises the lower end of an audio signal without simply raising the lower frequencies like an Equalizer would do to create a more "fat" or "boomy" sound.

<em style="strong" its:withinText="nested">Amount</em>

Amount of harmonics added to the original signal.

<em style="strong" its:withinText="nested">Harmonics</em>

Amount of newly created harmonics.

<em style="strong" its:withinText="nested">Scope</em>

The frequency above which harmonics are produced.

<em style="strong" its:withinText="nested">Floor (button)</em>

Constrain the enhancement on the lower end.

<em style="strong" its:withinText="nested">Floor (value)</em>

The frequency below which no harmonics are produced.

<em style="strong" its:withinText="nested">Blend Harmonics</em>

The "colour" (or octave) of the harmonics.

<em style="strong" its:withinText="nested">Listen</em>

Mute the original signal and listen to the harmonics exclusively.

References

Calf Bass Enhancer

Wikipedia Missing Fundamental

easyeffects-7.1.7/help/C/bassloudness.page000066400000000000000000000032271463533416400205210ustar00rootroot00000000000000 Bass Loudness

The ear is less sensitive to low frequencies when listening at low volume. This plugin developed by MDA allows the bass level to be adjusted measuring the "equal-loudness contour".

<em style="strong" its:withinText="nested">Loudness</em>

Source level relative to listening level (based on a 100 dB SPL maximum level).

<em style="strong" its:withinText="nested">Output</em>

Change output level.

<em style="strong" its:withinText="nested">Link</em>

Automatically adjusts Output to maintain a consistent tonal balance at all levels.

References

Wikipedia Equal-Loudness Contour

MDA Loudness

easyeffects-7.1.7/help/C/blocklist.page000066400000000000000000000014121463533416400177740ustar00rootroot00000000000000 Applications Excluded

There are cases in which the user wants a specific application to be excluded from the "Process All Input/Output" functionality. This can be done by using the list of Excluded Applications.

Just click the "Excluded Apps" button in the bottom bar and add the application name exactly as it is shown in the Players/Recorders tab list.

A specific application in the Players/Recorders list can be quickly added to the Excluded Apps just clicking the "Exclude" checkbutton.

easyeffects-7.1.7/help/C/compressor.page000066400000000000000000000316731463533416400202160ustar00rootroot00000000000000 Compressor

A Compressor is used to reduce the dynamic range or, in other words, the difference in level between the quietest and the loudest parts of an audio signal. It achieves this purpose altering the gain when the signal overtakes a predetermined Threshold. Easy Effects uses the Stereo Sidechain Compressor from Linux Studio Plugins.

Compressor Options <em style="strong" its:withinText="nested">Attack Time</em>

The length of time it takes to apply roughly two-thirds of the targeted amount of compression ratio to the uncompressed signal.

<em style="strong" its:withinText="nested">Release Time</em>

The length of time it takes to restore roughly two-thirds of the reduced gain (in Downward mode) or increased gain (in Upward/Boosting mode) to the compressed signal.

<em style="strong" its:withinText="nested">Attack Threshold</em>

The target level around which the compression is applied (the range depends by the Knee).

<em style="strong" its:withinText="nested">Release Threshold</em>

Sets up the Threshold of the Release Time, calculated by summing the Release Threshold to the Attack Threshold.

If the Sidechain level is above that Threshold, the compressor uses the Release Time for the releasing stage. Otherwise the Attack Time is used in place of Release Time.

For example, with -10 dB Attack Threshold and -60 dB Release Threshold, if the Sidechain is above -10 + (-60) = -70 dB, the Release Time is used for the gain restoration. If the Sidechain is below -70 dB, the Attack Time is used for the gain restoration.

<em style="strong" its:withinText="nested">Ratio</em>

The amount of attenuation (in Downward mode) or amplification (in Upward/Boosting mode) that will be applied to the signal.

For example, when the Ratio is 2 in Downward mode and the Sidechain rises above the Threshold by 10 dB, the signal would be ideally reduced by 5 dB (10/2 dB). In practice this behavior mostly depends on how the Compressor is designed and configured.

<em style="strong" its:withinText="nested">Knee</em>

The range over which the Compressor switches from no compression to almost the full ratio compression (the Threshold usually sits at the center of this transition zone).

<em style="strong" its:withinText="nested">Makeup</em>

The gain to apply after the compression stage.

<em style="strong" its:withinText="nested">Dry Level</em>

Amount of unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Wet Level</em>

Amount of processed signal mixed in the output.

<em style="strong" its:withinText="nested">Mode</em>

Downward - It's aimed to decrease the gain of the signal above the Threshold.

Upward - It's aimed to increase the gain of the signal below the Threshold.

Boosting - It's aimed to increase the gain of the signal below the Threshold by a specific amount.

<em style="strong" its:withinText="nested">Boost Threshold</em>

The Threshold below which a constant amplification will be applied to the input signal in Upward Mode (it prevents from applying infinite amplification to very quiet signals).

<em style="strong" its:withinText="nested">Boost Amount</em>

Maximum gain amplification to apply in Boosting Mode.

Sidechain <em style="strong" its:withinText="nested">Listen</em>

Allows to listen the processed Sidechain signal.

<em style="strong" its:withinText="nested">Input Type</em>

Determines which signal is the Sidechain or, in other words, the signal that controls the compression stage.

Feed-forward - The Sidechain is the Compressor input signal (taken after applying the plugin input gain). More aggressive compression.

Feed-back - The Sidechain is the Compressor output signal (taken before applying the Makeup and the plugin output gain). Vintage-style compression.

External - The Sidechain is an external source took by a specific input device (typically a microphone).

<em style="strong" its:withinText="nested">Input Device</em>

Select the device for the External Sidechain.

<em style="strong" its:withinText="nested">Mode</em>

Determines how the Sidechain is evaluated for the compression stage.

Peak - The Compressor reacts according to the peaks.

RMS - The Compressor reacts according to the average loudness measured by the root mean square.

Low-Pass - The Compressor reacts according to the signal processed by a Low-Pass filter.

Uniform - The Compressor reacts according to the loudness measured by the average of the absolute amplitude.

<em style="strong" its:withinText="nested">Source</em>

Determines which part of the Sidechain is taken into account for the compression stage.

Middle - The sum of left and right channels.

Side - The difference between left and right channels.

Left - Only left channel is used.

Right - Only right channel is used.

Min - The absolute minimum value is taken from stereo input.

Max - The absolute maximum value is taken from stereo input.

<em style="strong" its:withinText="nested">PreAmplification</em>

Gain applied to the Sidechain signal.

<em style="strong" its:withinText="nested">Reactivity</em>

The time that defines the number of samples used to process the Sidechain in RMS, Uniform and Low-Pass modes. Higher the value, more smooth the compression.

<em style="strong" its:withinText="nested">Lookahead</em>

The signal to compress is delayed by this amount of time, so that the compression will be applied earlier than it would be otherwise. The corresponding delay is reproduced on the output signal.

Sidechain Filters <em style="strong" its:withinText="nested">High-Pass Filter Mode</em>

Sets the type of the High-Pass filter applied to Sidechain signal.

<em style="strong" its:withinText="nested">High-Pass Frequency</em>

Sets the cut-off frequency of the High-Pass filter.

<em style="strong" its:withinText="nested">Low-Pass Filter Mode</em>

Sets the type of the Low-Pass filter applied to Sidechain signal.

<em style="strong" its:withinText="nested">Low-Pass Frequency</em>

Sets the cut-off frequency of the Low-Pass filter.

References

Wikipedia Dynamic Range Compression

LSP Sidechain Compressor Stereo

Black Ghost Audio - The Ultimate Guide to Compression

Attack Magazine - Demolishing The Myths of Compression

easyeffects-7.1.7/help/C/convolver.page000066400000000000000000000050071463533416400200270ustar00rootroot00000000000000 Convolver

The Convolver creates a simulation of an audio environment using a pre-recorded audio sample of the impulse response of the space being modeled. This feature is based on the "convolution": a process through which the sonic characteristics of one signal are used to alter the character of another.

Easy Effects Convolver offers the opportunity to apply multiple impulse responses by combining them in one file.

<em style="strong" its:withinText="nested">Impulses</em>

Manage impulse response files. This menu allows to load a specific impulse or add/remove files from the Easy Effects configuration directory.

<em style="strong" its:withinText="nested">Combine</em>

Select two impulse responses to combine into a single file to be saved under the Easy Effects configuration directory.

<em style="strong" its:withinText="nested">Stereo Width</em>

Modify the impulse response stereo image width.

<em style="strong" its:withinText="nested">Spectrum</em>

Visualize the frequency spectrum of the selected channel.

References

Wikipedia Reverb Effect

Indiana University - Convolution: A Form of Cross-Synthesis

Designing Sound - Recording Impulse Responses

easyeffects-7.1.7/help/C/crossfeed.page000066400000000000000000000044151463533416400177710ustar00rootroot00000000000000 Crossfeed

Easy Effects uses the Crossfeed by bs2b. This plugin is used to improve headphone listening of stereo audio records. It does so by mixing the left and right channel in a way that simulates a stereo speaker setup while using headphones.

<em style="strong" its:withinText="nested">Cutoff</em>

Low-Pass filter cutoff frequency.

<em style="strong" its:withinText="nested">Feed</em>

Amount of signal from a channel that is sent to the other.

<em style="strong" its:withinText="nested">Presets</em>

Default - Closest to virtual speaker placement (30°, 3 meters).

Cmoy - Close to Chu Moy's Crossfeed (popular).

Jmeier - Close to Jan Meier's CORDA amplifiers (little change).

References

Wikipedia Crossfeed

Bauer Stereophonic-to-Binaural DSP.

easyeffects-7.1.7/help/C/crystalizer.page000066400000000000000000000031321463533416400203620ustar00rootroot00000000000000 Crystalizer

The Crystalizer plugin can be used to add a little of dynamic range to songs that were overly compressed. The signal is split in multiple bands to which different intensities can be applied in order to alter the overall dynamic range.

<em style="strong" its:withinText="nested">Intensities</em>

The higher the value the higher is the difference in magnitude between the loudest and the quietest sounds of the selected band. Different intensities can be set for each frequency band.

<em style="strong" its:withinText="nested">Bypass</em>

When active the audio signal passing through the selected band is not modified.

<em style="strong" its:withinText="nested">Mute</em>

Mutes the selected band.

References

Wikipedia Dynamic Range

easyeffects-7.1.7/help/C/deepfilternet.page000066400000000000000000000114701463533416400206450ustar00rootroot00000000000000 Deep Noise Remover

Advanced noise reduction is achieved using "DeepFilterNet" technology. This technology uses AI technology called deep learning to efficiently remove noise from audio signals, enabling higher quality noise suppression than conventional methods. This technology has several control parameters, which are explained below and how to set them.

<em style="strong" its:withinText="nested">Attenuation Limit</em>

This parameter determines how much noise is attenuated. Higher values result in stronger noise reduction, but too high a value may also remove parts of the audio.

Recommended setting: 70dB to 80dB is a typical balanced value. This minimizes background noise while preserving speech intelligibility.

<em style="strong" its:withinText="nested">Minimum Processing Threshold</em>

Signals below the Minimum Processing Threshold are targeted for denoising. Signals louder than this threshold are not subject to noise reduction and are passed through unchanged. This setting is intended to effectively remove small background noise.

Recommended setting: -15dB to -30dB is good. This should be fine-tuned according to the ambient noise. Currently, Easy Effects does not allow a value smaller than -15dB.

<em style="strong" its:withinText="nested">Maximum ERB Processing Threshold</em>

The human auditory system has the ability to separate and recognize different frequency components. Equivalent Rectangular Bandwidth (ERB) is a numerical expression and model of this filtering capability. ERB-based processing emphasizes the perceptual importance of speech by focusing on specific frequency bands. This improves the effectiveness of noise reduction and speech enhancement. This threshold sets the maximum level at which perceptually equivalent bandwidth (ERB)-based processing is applied. Signals above this threshold are not subject to noise reduction or speech enhancement processing. This prevents important speech components or loud portions of speech from being unnecessarily processed.

Recommended setting: Start in the range of 20dB to 30dB and adjust as needed.

<em style="strong" its:withinText="nested">Maximum DF Processing Threshold</em>

The Maximum DF Processing Threshold sets the maximum level of signal that DeepFilterNet will process. Signals exceeding this threshold are excluded from noise reduction processing. This prevents important or loud portions of speech from being unnecessarily processed.

Recommended setting: 20 dB as the default value. This effectively suppresses noise while maintaining voice quality.

<em style="strong" its:withinText="nested">Minimum Processing Buffer</em>

Defines the size of the buffer used to process frames of audio data. A larger buffer can improve noise suppression but may increase latency.

Recommended setting: Set to a small value (0) if real-time processing is important, or to a number greater than 1 if noise suppression accuracy is a priority.

<em style="strong" its:withinText="nested">Post Filter Beta</em>

Controls the intensity of the post-processing filter applied after the initial noise suppression. This allows for more subtle refinement of the audio signal.

Recommended setting: 0.5dB to 2dB is generally recommended, but currently Easy Effects has a maximum value of 0.05dB, which is almost ineffective.

easyeffects-7.1.7/help/C/deesser.page000066400000000000000000000103731463533416400174460ustar00rootroot00000000000000 Deesser

A Deesser is used to dynamically reduce high frequencies. The standard field of use of this plugin is the reduction of "sssss" and "shhhh" in vocal tracks. Easy Effects uses the Deesser developed by Calf Studio Gear.

<em style="strong" its:withinText="nested">Detection</em>

Select the detection of the Sidechain signal between Peak (stronger) and RMS (smoother).

<em style="strong" its:withinText="nested">Mode</em>

Select the operation mode between Wideband and Split. In Split mode not the full range signal will be affected by the gain reduction, but only frequencies above the split frequency will be manipulated in gain.

<em style="strong" its:withinText="nested">F1 Split</em>

The split frequency. All signals above this frequency will affect the gain reduction (and are affected in Split mode too).

<em style="strong" its:withinText="nested">F1 Gain</em>

It shifts the volume of the higher band. In Wideband mode it affects the Sidechain. In Split mode it also affects the processed high frequencies.

<em style="strong" its:withinText="nested">F2 Peak</em>

Center frequency of the bell filter. It allows a more precise selection of the Sidechain signal.

<em style="strong" its:withinText="nested">F2 Level</em>

Increases or decreases the level of the chosen F2 frequency.

<em style="strong" its:withinText="nested">F2 Peak Q</em>

Set the quality of the bell filter. Higher values will affect a narrower frequency range. Lower values will affect a wider band.

<em style="strong" its:withinText="nested">Laxity</em>

The reaction of the Deesser. Higher values won't affect really short peaks.

<em style="strong" its:withinText="nested">Threshold</em>

The level above which the gain reduction is applied.

<em style="strong" its:withinText="nested">Ratio</em>

The amount of attenuation applied to the signal.

For example, a Ratio of 2 means that if the level rises 4 dB above the Threshold, it will be only 2 dB above after the reduction.

<em style="strong" its:withinText="nested">Makeup</em>

The gain to apply after the processing stage. In Split mode only the high band will be made up.

References

Wikipedia De-essing

Calf Deesser

LedgerNote - De-esser: The Guide for Sibilant-Free Vocal Recordings

easyeffects-7.1.7/help/C/delay.page000066400000000000000000000044621463533416400171140ustar00rootroot00000000000000 Delay

This plugin allows the user to add a short Delay of time to each individual channel of the stereo stream. Easy Effects Delay uses the Delay Compensator Stereo by Linux Studio Plugins set in time mode.

<em style="strong" its:withinText="nested">Left Delay</em>

Left channel delay in milliseconds.

<em style="strong" its:withinText="nested">Right Delay</em>

Right channel delay in milliseconds.

<em style="strong" its:withinText="nested">Left Dry Level</em>

Amount of right unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Right Dry Level</em>

Amount of right unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Left Wet Level</em>

Amount of left processed signal mixed in the output.

<em style="strong" its:withinText="nested">Right Wet Level</em>

Amount of right processed signal mixed in the output.

References

Wikipedia Delay (audio effect)

LSP Delay Compensator Stereo

easyeffects-7.1.7/help/C/echocanceller.page000066400000000000000000000037121463533416400206020ustar00rootroot00000000000000 Echo Canceller

The Echo is a reflected sound wave with sufficient magnitude and delay to be detectable as a signal distinct from the source one. An Echo Canceller is used to improve voice quality by preventing Echo from being created or removing it after it has been added to the source signal. Easy Effects uses the Echo Canceller from SpeexDSP library.

<em style="strong" its:withinText="nested">Frame Size</em>

The amount of time in milliseconds to process at once. It is recommended to use a frame size in the order of 20 ms.

<em style="strong" its:withinText="nested">Filter Length</em>

The amount of time of the Echo cancelling filter to use (also known as tail length). The recommended tail length is approximately the third of the room reverberation time. For example, in a small room, reverberation time is in the order of 300 ms, so a tail length of 100 ms is a good choice.

References

Wikipedia Echo Suppression and Cancellation

Speex Acoustic Echo Canceller

easyeffects-7.1.7/help/C/effectsorder.page000066400000000000000000000010111463533416400204540ustar00rootroot00000000000000 Changing Effects Order

The user can change the effects order in the plugins stack. The effects can be dragged with the cursor and dropped at the new position. The first plugin from top to bottom is the first to receive the audio signal.

easyeffects-7.1.7/help/C/enableapp.page000066400000000000000000000023401463533416400177360ustar00rootroot00000000000000 Enable or Disable an Application

The user can choose which applications have effects applied through the Enable checkbutton. "Process All Inputs/Outputs" option in General Settings can be activated to always apply effects to whichever application.

Note that without the "Process All Inputs/Outputs" option the enabled state may not replicated for an application at the next session. This is because "Process All Inputs/Outputs" makes Easy Effects trying to move the stream to its virtual device every time a new application spawns (unless it is listed in the Excluded Apps). When Easy Effects is not running, the app stream may be redirected to another destination by Pipewire, any third party audio manager or the app itself. This leads Easy Effects to not receive the stream at the next startup if "Process All Inputs/Outputs" option is not active.

easyeffects-7.1.7/help/C/equalizer.page000066400000000000000000000250011463533416400200070ustar00rootroot00000000000000 Equalizer

The Equalization in sound recording and reproduction is the process of adjusting the volume of different frequency bands within an audio signal. Easy Effects uses the Parametric Equalizer from Linux Studio Plugins. The user can choose from 1 to 32 bands. Width and center frequency of each band can be customized as needed.

Global Options <em style="strong" its:withinText="nested">Bands</em>

The number of bands.

<em style="strong" its:withinText="nested">Mode</em>

IIR - Infinite Impulse Response filters, nonlinear minimal phase. In most cases does not add noticeable latency to output signal.

FIR - Finite Impulse Response filters with linear phase, finite approximation of Equalizer's impulse response. Adds noticeable latency to output signal.

FFT - Fast Fourier Transform approximation of the frequency chart, linear phase. Adds noticeable latency to output signal.

<em style="strong" its:withinText="nested">Balance</em>

Balance between left and right output channels.

<em style="strong" its:withinText="nested">Pitch Left</em>

The frequency shift for all filters of the left channel, in semitones.

<em style="strong" its:withinText="nested">Pitch Right</em>

The frequency shift for all filters of the right channel, in semitones.

<em style="strong" its:withinText="nested">Split Channels</em>

When enabled it is possible to apply different configurations to left and right channels.

<em style="strong" its:withinText="nested">Flat Response</em>

This function sets each band gain to 0.

<em style="strong" its:withinText="nested">Calculate Frequencies</em>

This function calculates the center frequency and the width of each band using the current number of bands. Useful when the user wants fewer than 32 bands but has no idea about which frequencies should be chosen.

Band Options <em style="strong" its:withinText="nested">Type</em>

Off - The filter is not working (turned off).

Bell - Bell filter with smooth peak/recess.

High Pass - High Pass filter with rejection of low frequencies.

High Shelf - Shelving filter with adjustment of high frequency range.

Low Pass - Low Pass filter with rejection of high frequencies.

Low Shelf - Shelving filter with adjustment of low frequency range.

Notch - Notch filter with full rejection of selected frequency.

Resonance - Resonance filter with sharp peak/recess.

All Pass - All Pass filter.

<em style="strong" its:withinText="nested">Mode</em>

RLC - Very smooth filters based on similar cascades of RLC contours. Bilinear Z-transform (BT) or Matched Z-transform (MT) is used for pole/zero mapping.

BWC - Butterworth-Chebyshev-type-1 based filters. Does not affect Resonance and Notch filters. Bilinear Z-transform (BT) or Matched Z-transform (MT) is used for pole/zero mapping.

LRX - Linkwitz-Riley based filters. Does not affect Resonance and Notch filters. Bilinear Z-transform (BT) or Matched Z-transform (MT) is used for pole/zero mapping.

APO - Digital biquad filters derived from canonic analog biquad prototypes digitalized through Bilinear transform. These are textbook filters which are implemented as in the Equalizer APO software. Direct design (DR) is used to serve the digital filter coefficients directly in the digital domain, without performing transforms.

<em style="strong" its:withinText="nested">Slope</em>

The slope of the filter characteristics.

<em style="strong" its:withinText="nested">Solo</em>

Makes the selected band the only one active.

<em style="strong" its:withinText="nested">Mute</em>

Mutes the selected band.

<em style="strong" its:withinText="nested">Frequency</em>

Center frequency of the selected band.

<em style="strong" its:withinText="nested">Width</em>

Bandwidth calculated as width = frequency / quality.

<em style="strong" its:withinText="nested">Quality</em>

The quality factor of the filter used.

References

Wikipedia Equalization (audio)

LSP Parametric Equalizer x32 LeftRight

Wikipedia Q Factor

How to EQ - Q Factor and Bandwidth in EQ: What They Mean

easyeffects-7.1.7/help/C/exciter.page000066400000000000000000000052561463533416400174630ustar00rootroot00000000000000 Exciter

An Exciter is used to produce high sound that is not present in the original signal. This is done by creating harmonic distortions of the signal which are restricted in range and added to the original signal. It raises the upper end of an audio signal without simply raising the higher frequencies like an Equalizer would do to create a more "crisp" or "brilliant" sound.

<em style="strong" its:withinText="nested">Amount</em>

Amount of harmonics added to the original signal.

<em style="strong" its:withinText="nested">Harmonics</em>

Amount of newly created harmonics.

<em style="strong" its:withinText="nested">Scope</em>

The frequency above which harmonics are produced.

<em style="strong" its:withinText="nested">Ceiling (button)</em>

Constrain the excitement on the upper end.

<em style="strong" its:withinText="nested">Ceiling (value)</em>

The frequency above which no harmonics are produced.

<em style="strong" its:withinText="nested">Blend Harmonics</em>

The "colour" (or octave) of the harmonics.

<em style="strong" its:withinText="nested">Listen</em>

Mute the original signal and listen to the harmonics exclusively.

References

Calf Exciter

Wikipedia Exciter (effect)

easyeffects-7.1.7/help/C/filter.page000066400000000000000000000035651463533416400173060ustar00rootroot00000000000000 Filter

A Filter is used to amplify (boost), pass or attenuate (cut) defined parts of a frequency spectrum. Easy Effects uses the Filter from Calf Studio Gear.

<em style="strong" its:withinText="nested">Mode</em>

The type of the filter.

<em style="strong" its:withinText="nested">Frequency</em>

The center or cut-off frequency of the filter.

<em style="strong" its:withinText="nested">Resonance</em>

Add an accentuation to the center frequency. When used on a bandpass the surrounding frequencies are decreased in level and the band gets more narrow. A bandreject is narrowed down to a thin needle.

<em style="strong" its:withinText="nested">Inertia</em>

Smooths the jumps between frequencies.

References

Wikipedia Audio Filter

Calf Filter

easyeffects-7.1.7/help/C/gate.page000066400000000000000000000267461463533416400167470ustar00rootroot00000000000000 Gate

The Gate attenuates signals that register below a Threshold. This kind of signal processing is used to reduce disturbing noise between useful signals. Easy Effects uses the Stereo Sidechain Gate from Linux Studio Plugins.

Gate Workflow

The Gate begins to open when the Sidechain level becomes above the Attack Zone Start level.

The Gate fully opens when the Sidechain level becomes above the Attack Threshold level.

The Gate begins to close when the Sidechain level becomes below the Release Zone Start level.

The Gate fully closes when the Sidechain level becomes below the Release Threshold level.

Gate Options <em style="strong" its:withinText="nested">Attack Time</em>

The length of time it takes to restore roughly two-thirds of the gain reduction.

<em style="strong" its:withinText="nested">Release Time</em>

The length of time it takes to apply roughly two-thirds of the gain reduction.

<em style="strong" its:withinText="nested">Curve Threshold</em>

The Gate fully opens upon the Sidechain level becoming above Curve Threshold (displayed as Attack Threshold level).

If Hysteresis is not enabled, the Gate begins to close upon the Sidechain level becoming below Curve Threshold (displayed as Release Zone Start level).

<em style="strong" its:withinText="nested">Curve Zone Size</em>

The Gate begins to open upon the Sidechain level becoming above the Curve Threshold + Curve Zone (displayed as Attack Zone Start level).

If Hysteresis is not enabled, the Gate fully closes upon the Sidechain level becoming below the Curve Threshold + Curve Zone (displayed as Release Threshold level).

<em style="strong" its:withinText="nested">Hysteresis</em>

When enabled, Curve Threshold and Curve Zone apply only to the opening Gate, and separate parameters can be configured for closing Gate.

<em style="strong" its:withinText="nested">Hysteresis Threshold</em>

If Hysteresis is enabled, the Gate begins to close upon the Sidechain level becoming below Curve Threshold + Hysteresis Threshold (displayed as Release Zone Start level).

<em style="strong" its:withinText="nested">Hysteresis Zone Size</em>

If Hysteresis is enabled, the Gate fully closes upon the Sidechain level becoming below the Curve Threshold + Hysteresis Threshold + Hysteresis Zone (displayed as Release Threshold level).

<em style="strong" its:withinText="nested">Dry Level</em>

Amount of unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Wet Level</em>

Amount of processed signal mixed in the output.

<em style="strong" its:withinText="nested">Reduction</em>

If the value is negative, it acts as the amount of gain reduction to apply to the input signal when the Gate is fully closed. If the value is positive, the Gate operates in "Reverse Mode": It reduces the amplitude when the signal is above the threshold.

<em style="strong" its:withinText="nested">Makeup</em>

The gain to apply after the gating stage.

Sidechain <em style="strong" its:withinText="nested">Listen</em>

Allows to listen the processed Sidechain signal.

<em style="strong" its:withinText="nested">Input Type</em>

Determines which signal is the Sidechain or, in other words, the signal that controls the gating stage.

Internal - The Sidechain is the Gate input signal (taken after applying the plugin input gain).

External - The Sidechain is an external source took by a specific input device (typically a microphone).

<em style="strong" its:withinText="nested">Input Device</em>

Select the device for the External Sidechain.

<em style="strong" its:withinText="nested">Mode</em>

Determines how the Sidechain is evaluated for the gating stage.

Peak - The Gate reacts according to the peaks.

RMS - The Gate reacts according to the average loudness measured by the root mean square.

Low-Pass Filter - The Gate reacts according to the signal processed by a recursive 1-pole Low-Pass filter.

Simple Moving Average - The Gate reacts according to the signal processed by the Simple Moving Average filter.

<em style="strong" its:withinText="nested">Source</em>

Determines which part of the Sidechain is taken into account for the gating stage.

Middle - The sum of left and right channels.

Side - The difference between left and right channels.

Left - Only left channel is used.

Right - Only right channel is used.

Min - The absolute minimum value is taken from stereo input.

Max - The absolute maximum value is taken from stereo input.

<em style="strong" its:withinText="nested">PreAmplification</em>

Gain applied to the Sidechain signal.

<em style="strong" its:withinText="nested">Reactivity</em>

The time that defines the number of samples used to process the Sidechain in RMS, Uniform and Low-Pass modes. Higher the value, more smooth the gating.

<em style="strong" its:withinText="nested">Lookahead</em>

The signal to gate is delayed by this amount of time, so that the gating will be applied earlier than it would be otherwise. The corresponding delay is reproduced on the output signal.

Sidechain Filters <em style="strong" its:withinText="nested">High-Pass Filter Mode</em>

Sets the type of the High-Pass filter applied to Sidechain signal.

<em style="strong" its:withinText="nested">High-Pass Frequency</em>

Sets the cut-off frequency of the High-Pass filter.

<em style="strong" its:withinText="nested">Low-Pass Filter Mode</em>

Sets the type of the Low-Pass filter applied to Sidechain signal.

<em style="strong" its:withinText="nested">Low-Pass Frequency</em>

Sets the cut-off frequency of the Low-Pass filter.

References

Wikipedia Dynamic Range Compression

LSP Sidechain Gate Stereo

Wikipedia Noise Gate

easyeffects-7.1.7/help/C/general.page000066400000000000000000000066051463533416400174340ustar00rootroot00000000000000 General <em style="strong" its:withinText="nested">Launch Service at System Startup</em>

Start Easy Effects as a service in the next login.

<em style="strong" its:withinText="nested">Shutdown on Window Closing</em>

Terminates Easy Effects process on window close rather than keep it running in background.

<em style="strong" its:withinText="nested">Process All Output Streams</em>

Apply effects to the output of all audio applications (except those into the Excluded Apps). This will automatically activate the enable checkbutton that can be seen in the app list entries.

<em style="strong" its:withinText="nested">Process All Input Streams</em>

Apply effects to the input (microphone) of all audio applications (except those into the Excluded Apps). This will automatically activate the enable checkbutton that can be seen in the app list entries.

<em style="strong" its:withinText="nested">Ignore Streams from Monitor of Devices</em>

Do not process streams which are a duplication of the stream of existing devices. They, also known as Monitor Streams, are usually generated by applications like OBS to capture audio and redirect it to somewhere else, but may not be of any use in Easy Effects.

<em style="strong" its:withinText="nested">Use Cubic Volume</em>

Use cubic scale for app volume rather than linear one. Low percentages give lower volume.

<em style="strong" its:withinText="nested">Inactivity Timeout</em>

After this amount of time, Easy Effects stops audio processing and the internal filters are unlinked. This helps not wasting CPU resources while processing silence, but also makes sure the filters and not unlinked and relinked for small pauses of the stream.

<em style="strong" its:withinText="nested">Use Dark Theme</em>

Prefer the dark version of the Adwaita theme for Easy Effects window.

<em style="strong" its:withinText="nested">Hide Menus on Outside Clicks</em>

When a popover menu is shown, return to the main window when a click is made outside the widget.

easyeffects-7.1.7/help/C/guide_1.page000066400000000000000000000620341463533416400173320ustar00rootroot00000000000000 Enhancing your internal notebook speakers without using an Equalizer

This tutorial was written for PulseEffects by Markus Schmidt (schmidt@boomshop.net) on November 2019 and updated two years later for the new Easy Effects on PipeWire.

Introduction

If you're a notebook user relying on your internal speakers and you - like me - own a model suffering from a tinny, clanging sound, Easy Effects is your salvation!

Commercial operating systems on laptops these days often come with software like Dolby Theatre and the like to enhance the sound of lousy notebook speakers to something more substantial and acoustically rich. Under Linux, Easy Effects will do the job for you, although, compared to the commercial pendants, there's some manual tweaking required until the community sets up a database with presets for common machines.

This DSP software comes with everything needed to fatten the sound of your laptop speakers with a flexibility never found in other operating systems. Unfortunately the drawback of this flexibility is that average users will get lost in the sheer amount of possibilities. That's why this tutorial was created.

Why no Equalizer?

We will attack the problems one by one utilizing specific signal processors, deliberately renouncing Equalizers. Equalizers are not of any help here but tend to make these kinds of problems even worse. This is because of the nature of this processor, but also because users tend to add to the signal (additive equalization) instead of trying to eliminate problems by removing from the signal (subtractive equalization) like it is usually done in the professional world.

But even subtractive equalization wouldn't be of any help since the amplifiers and speakers in a notebook are not loud enough by default, so trying to eliminate problems this way leads to a quiet and still castrated sound. And raising the volume afterwards generally leads to distorted sounds and other problems because the system was at its limits beforehand and just fiddling with the frequency response doesn't help at all.

Frequency Range

We'll have to talk about the frequency range. For a better understanding and because of the way we will solve our problems I'll break it down to five ranges which are:

Sub – More or less vibrations up to something an ear can barely hear. Everything from 10 Hz to ~40 Hz.

Low or Bass – Where the whole fundament of a signal is located. Low end of bass drums, bass synthesizers and bass guitars are found here. Movies occupy this range with explosions, rumbling waters, thunder, heavy gun fire and the like. Absolutely missing on notebooks and tablets. Technically speaking it's ~60 Hz - ~200 Hz.

Low-Mid – Hit a 0.5 m³ cardboard box and you know what low-mids are. The "punch" of a sound is often located here, also the juice of snare drums and electric guitars. In Movies, roaring engines and shotguns are found in this range. We're talking about ~250 Hz - ~750 Hz.

High-Mid – This is the ears most important and sensitive range. The main information of any kind of signal is located here. Human voice, picking of guitars, attack of drums, the colour of a synthesizer - everything carrying the main information of sound. Something around ~1 kHz - ~4 kHz.

Highs – The air, the breathe, the sizzling, the splashing - this is the range of brightness. Everything around and above ~5 kHz.

Test Signal

You definitely need a good signal for this job. I decided to use the song G€LD by Seeed.

It is quite snappy, has lots of well defined substance, clear and bright highs, present vocals, comes with a very balanced frequency response and is a great mix in combination with great mastering. Afterwards I tested against various movies and other stuff like talks, classical music and the like and was convinced of the result. Well produced, modern pop music (avoid the 80's and 90's stuff) is always a good test signal for this kind of job. Movies are way too dynamic, so is classical music, and they normally don't cover a steady, broad frequency range like this kind of signal.

We will not be able to make the notebook bounce. What is the goal here is that everything contained in the mix gets audible in a well balanced manner and to gain a present, upfront, broad and hopefully rich sound.

I assume you don't utilize a player or source which is able to produce levels above 0 dB. I also assume you don't use e.g. video players volume bar to lower the volume of your source. This approach works well for defined, mixed and mastered sound sources like music, movies, tv and the like, played back at 100% volume in the player. Set the desired volume directly on your hardware after the processing happened.

Problems

Let's investigate the biggest problems first:

<em style="strong">Bass</em>

The most obvious problem of notebook speakers is the tinny, pressure-free sound not reproducing any kind of low-end. This is because of the size of the membranes and the inadequate housing. Fortunately software can work around this issue at least a bit.

<em style="strong">Highs</em>

Often the highs are quite bitchy, not representing the "air" but torturing the listener with searing sibilants. In order to fix that we need to equal this frequency range out.

<em style="strong">Overall Frequency Response</em>

Normally the relation between the different frequency ranges low, low-mid, high-mid and height is quite out-of-bounds. This needs correction, although I promised a tutorial without EQ.

<em style="strong">Distortion</em>

Because of the thin and neutered sound users tend to raise the volume or even add an Equalizer to raise missing frequency ranges. This normally leads to digital distortions because every signal above 0 dB at the sound card DAC will go from occasional crackling up to a totally distorted sound.

<em style="strong">Dynamic range</em>

With movies, but music as well, those tiny transducers tend to wiping away low-level sounds but going ballistic on loud and bassy sounds. For this reason it's recommended to reduce the overall dynamic range so you don't need to press your ear onto the palm rest when the lady in the movie starts whispering.

<em style="strong">Stereo Image</em>

The stereo base is quite narrow because of the positioning of the speakers inside the laptop which gives an impression of almost mono signals.

Solutions

Let's start fixing the sound. The result will not come even close to something more substantial but at least we'll be able to get the best out of the physical boundaries of these transducers.

Every parameter we are gonna set absolutely depends on your situation and the hardware you've got. Every notebook has its own frequency response and dynamic range so there's no panacea. But the audio signal processors, their order and their missions are well defined and reproducible.

Don't care about clipping in the plugins level meters. The signal will be processed as 32 bit numbers internally (check title bar) which gives a non-clipping overhead of hundreds of decibels. The only thing that shouldn't happen is that there's clipping when the signal hits the sound card DAC (Digital-to-Analog Converter), which would result in digital distortion.

Let's head over to the signal chain:

<em style="strong">Limiter</em>

We will start with the last signal processor being used. As I explained earlier, as soon as the signal hits the sound card DAC it has to be below 0 dB, otherwise it will result in a distorted, messy sound.

Delete already present processors in the list, then add the Limiter. You will not hear any difference, which is what we expect. It will hit in as soon as we start messing up the signal with all the other processors. Set PreAmp to 0 dB, Lookahead to 4 ms, Attack to 2 ms and Release to 8 ms.

A Limiter monitors the signal in (nearly) realtime and detects peaks over a certain Threshold, in our case 0 dB. Set also Stereo Link to 100%, Oversampling to Half x4, disable External Sidechain and Auto Leveling and leave remaining options to their defaults.

As soon as a peak is detected, it starts lowering the volume constantly (within the Lookahead) until the peak will be below Threshold. Afterwards it raises the volume again (within release time frame) until it is back to normal. This way we avoid signals above Threshold hitting the DAC without being noticed too much. If one tries to overdo limiting, it will definitely result in distortion and other side effects, but in our case it's just a fire-and-forget troubleshooter so we can concentrate on the results without trying to mess with levelling over and over again.

Don't overdo things! This might render your overall sound experience worse than before.

Let's look at the real processing now.

<em style="strong">Filter</em>

First of all we should remove frequencies that cannot be heard because even if the speakers are unable to reproduce them a lot of energy will be wasted in the process. This will lead to problems like not being able to use the full dynamic range and the introduction of digital and physical distortions.

Add the Filter to the list and place it on top, above the Limiter. Set the type to 36 dB High Pass (this will cut off everything below a frequency and will let everything above it pass) and the frequency to 50 Hz (which is definitely below your laptop's speakers abilities). Continuously raise the frequency by 10 Hz until you start hearing a change in the lower end of the audible signal, which should be around 130-160 Hz. Subtract 10% (or 15 Hz) and set it as the Filters frequency. On my machine it is 145 Hz, since the signal started being affected at 160 Hz.

What happened is that we removed everything the speakers can't reproduce at all, leaving a little bit of signal just below this frequency, which is quite important for the next step.

<em style="strong">Bass Enhancer</em>

Let's grow some testicles to the signal.

Add the Bass Enhancer and place it at the second position, between the Filter and the Limiter. Set the Floor to 10 Hz and forget about it (we already removed everything below the Filter plugin cutoff frequency). Raise Harmonics to 10 and start with a Scope of 200 Hz. Now start raising the Amount continuously until the bass takes over the whole energy, which is definitely too much. For me it works best at +24 dB. Which is huge but my ThinkPad P1 has the worst speakers I've ever heard in a 2.8k € notebook.

What happens is that the Bass Enhancer adds frequencies to the signal which weren't there before. While an Equalizer only raises stuff which is already in the signal, a Bass Enhancer improves the lower end by adding distortion to a specific frequency range. This kind of distortion adds so called Harmonics to the signal which is a multiple of existing frequencies. On the Blend slider you can choose seamlessly between 2nd and 3rd Harmonics, which means that a frequency of 100 Hz produces a new signal of 200/300/400/600/800/900 Hz... at varying (due to the Harmonics setting) and constantly decreasing levels. This means we're effectively raising the lower range into something better reproducible. It doesn't add or raise the real fundament (so your trousers won't start to flutter), but makes more audible signals that have been swallowed by the hardware before.

Later on, in order to refine the result, you should play with the Amount parameter to define the level of bass and maybe with the Scope to define the upper end of our additional Harmonics.

<em style="strong">Multiband Compressor</em>

This is the most demanding step in the chain. Even professionals have great respect for this signal processor since it's absolutely able to destroy your signals big time. But let's be honest, we're consumers and no one will hear the difference between 100 ms and 200 ms Attack time - even on notebook and tablet speakers. This means we can work with some reliable, well established defaults for the timing and frequency splits.

The Multiband Compressor will solve several things for us. It will cut outstanding and annoying frequencies, lower the overall dynamic range and figure our overall frequency response. The latter is what most people try to achieve with an Equalizer. Thing is Equalizers aren't dynamic which will add to the problems instead of solving anything.

Add the Multiband Compressor and place it at the third position, after the Bass Enhancer and before the Limiter.

Since the Bass Enhancer really raised the energy and level of the signal, lower the Multiband Compressor input gain to -6 dB as a starting point. Enable bands 2, 3 and 4. Set Modern Operating Mode and disable the Sidechain Boost. Then let's set the split frequencies for the different bands:

Band 2 Start: 250 Hz

Band 3 Start: 1250 Hz

Band 4 Start: 5000 Hz

Afterwards let's set some defaults:

Band 1

Attack Time: 150 ms

Release Time: 300 ms

Attack Threshold: -16 dB

Ratio: 5

Knee: -12 dB

Makeup: 4 dB

Band 2

Attack Time: 150 ms

Release Time: 200 ms

Attack Threshold: -24 dB

Ratio: 3

Knee: -9 dB

Makeup: 4 dB

Band 3

Attack Time: 100 ms

Release Time: 150 ms

Attack Threshold: -24 dB

Ratio: 3

Knee: -9 dB

Makeup: 4 dB

Band 4

Attack Time: 80 ms

Release Time: 120 ms

Attack Threshold: -24 dB

Ratio: 4

Knee: -9 dB

Makeup: 4 dB

Compression Mode for all enabled bands should be Downward. The remaining parameters can be left to their defaults. These values should be a good starting point.

A Compressor lowers signal levels which appear above a certain Threshold. It adds a simple multiplication to the signal defined by the Ratio. If the Threshold is set to -24 dB and Ratio to 2, a signal of -12 dB would in fact become -18 dB. In this example one can then raise the Makeup parameter to 6 dB, since this is what went "lost". So first of all we're rendering loud signals quieter to then raise the overall volume, which leads to less dynamic range with quiet parts becoming more audible.

The timing settings affect the "speed" of the compression. Attack means that a signal needs to go over Threshold for this amount of time until the Compressor reaches the full (negative) amplification. Release defines the amount of time the signal has to stay below Threshold until the amplification is back to 1 again.

A Multiband Compressor splits the signal in various frequency ranges to work on them exclusively with dedicated compression stages. This means that a very loud bass drum would not affect a crash cymbal, since they are clearly located in different bands.

Start playing around with these parameters:

Makeup – This is probably most important setting in this concept. Makeup raises the signal after compression stage which means that it directly influences the perceived volume of every single band. Or in other words: this is your Equalizer :). Raise Makeup of single bands to make them louder or quieter. On my ThinkPad P1 I ended up with 4 dB, 3 dB, 6 dB and 6 dB respectively in band 1, 2, 3 and 4.

Input Level – Set it to -6 dB by default, I ended up at -3 dB. What happens is that a higher input level pushes all bands of the Compressor equally, leading to a allegedly louder sound (well, the loudness was raised in fact) without tweaking every single band manually. This reduces the overall dynamic range, raising quiet parts and squeezing loud parts even more.

<em style="strong">Stereo Tools</em>

After figuring our overall sound let's look for some icing on the cake.

Add the Stereo Tools and place it at the fourth position, after Multiband Compressor and before Limiter. This tool has a lot of functionality but we only need just a single parameter. Switch to the "Output" tab and set the parameter Stereo Base to 0.25. That's it.

Stereo Base acts on the two channels. It adds inverted signals crossover-wise. This way one can bring a full stereo signal down to mono seamlessly (by going negative values, -1 is fully mono) but also raise the stereo base by choosing positive numbers. This setting has lots of side effects, so avoid overdoing it! One of the bigger problems is that it reduces the bass range due to different effects, which is something we definitely don't want here.

Play with Stereo Base to spread the appearance of your sound to a nice, broad stage without losing the center (vocals, snare drums, conversations in movies) or substance in the lower end. Most likely values between 0 and 0.5 will give some good results.

Aftermath

Hopefully you ended up with a better sound than before. This signal processor chain is able to completely trash your sound if not done right but also can improve it to compete with some high class notebook speaker systems. All manufacturers put on the pants the same way and Dolby Theatre is no rocket science but just some presets on a presumably comparable set of signal processors set up in the presumably same way as this tutorial explained.

When my notebook was new, I first ran the pre-installed Windows system in order to test if all hardware was working. Sound-wise I remembered the bad reputation of this machine in every test, so I tried some tunes on Youtube - and was quite convinced. After installing my Linux system the enthusiasm was totally gone - the sound turned into a squawking, pressure-less something. It became clear that all problems of the internal speakers where due to the missing sound chips DSP driver. But fortunately Wellington Wallace spent his spare-time casting the most important Calf and LSP plugins for this job into something usable on consumers systems. Thanks a bunch for that, mate!

tl;dr

Sorry dude, this isn't done by simply loading a preset, since the community is not Apple, Lenovo or Dell offering high quality Dolby Theatre drivers for your particular machine.

easyeffects-7.1.7/help/C/index.page000066400000000000000000000034571463533416400171300ustar00rootroot00000000000000 Wellington Wallace wellingtonwallace@gmail.com Easy Effects

Easy Effects applies audio effects to applications managed by PipeWire. The user can apply effects to applications output or to the microphone before sending its audio to a recording application.

These are the Easy Effects help pages. Here you can find information concerning usage of the app, e.g. descriptions of each audio effect. Additional information beyond the scope of the app itself, e.g. how to build the app, is kept in a seperate wiki.

This documentation is available from within the app by clicking the Help button within the hamburger menu. This documentation is also available online.

Note the documentation within the app is offline and not automatically updated; it can only be updated by updating the app. The online documentation is automatically updated when a Easy Effects release is made, so it might be newer than the documentation within the app.

Guides
User Interface
Plugins
Calibration
easyeffects-7.1.7/help/C/limiter.page000066400000000000000000000174751463533416400174730ustar00rootroot00000000000000 Limiter

A Limiter is a special type of downward Compressor which does not allow the signal to overtake a predetermined Threshold. Ideally it has a very high compression ratio that takes the amplitude below a ceiling which stands as the maximum output level. For this reason it is usually named "brick-wall limiter".

Easy Effects uses the Sidechain Stereo Limiter from Linux Studio Plugins. In most cases it works as a brick-wall limiter, but it offers also an additional feature that acts like a Compressor with extreme settings, so the output signal may exceed the specified Threshold.

<em style="strong" its:withinText="nested">Mode</em>

Select the operative mode of the peak cutting algorithm which searches the peaks above the Threshold and applies short gain reduction patches to the signal.

These patches can be selected in 3 forms: Hermite, Exponential and Linear. Each one has 4 different variants related to gain reduction of the samples around the peak: Thin, Tail, Duck and Wide.

The shape of each form and variant can be referred into the Linux Studio Plugin manual. See References section at the bottom of the present document.

<em style="strong" its:withinText="nested">Oversampling</em>

When enabled, the sample rate is internally increased in order to improve peak detection and reduce aliasing (that causes distortion).

The modes have 2 main types: Full, which increases both the Sidechain and the Input signals, and Half which increases only the Sidechain. Each one of them specifies different multipliers and, between parentheses, the number of "lobes in the kernel".

The oversampled Input signal is downsampled to the original sample rate after processing.

<em style="strong" its:withinText="nested">Dither</em>

If specified, it enables Dithering for the selected bit depth. The process of Dithering adds a low-level noise to output signal in order to mask "quantization distortion", a form of artifact present in digital audio rendered at lower bit depth.

<em style="strong" its:withinText="nested">SC PreAmp</em>

The gain applied to the Sidechain before it is processed.

<em style="strong" its:withinText="nested">Lookahead</em>

The size of the buffer used to detect the peaks in advance. It adds the corresponding latency to the output signal.

<em style="strong" its:withinText="nested">Attack</em>

The length of time it takes to apply the needed gain reduction to keep the peak below the Threshold.

It affects the length of the gain reduction patch. It cannot be larger than the Lookahead (if specified larger, it's set internally as the max possible value).

<em style="strong" its:withinText="nested">Release</em>

The length of time it takes to restore the reduced gain around the limited peak.

It affects the length of the gain reduction patch. It cannot be twice larger than the Lookahead (if specified larger, it's set internally as the max possible value).

<em style="strong" its:withinText="nested">Threshold</em>

The target level above which the Limiter should reduce the peak of the signal. In some modes it represents the maximum output level.

<em style="strong" its:withinText="nested">Threshold Boost</em>

If enabled it applies an amount of gain to the limited signal equal to the absolute value of the Threshold. This causes the peak limited at the Threshold level to output at 0 dB (it has only effect when the Threshold is set below 0 dB).

<em style="strong" its:withinText="nested">Stereo Link</em>

The degree of the channel linking. At 0% both channels are limited independently while at 100% the loudest one triggers the same gain reduction on both.

<em style="strong" its:withinText="nested">External Sidechain</em>

Switch the Sidechain to an external source took by a specific input device (typically a microphone).

Auto Leveling

The Auto Leveling checkbutton introduces an additional feature named "Automated Level Regulation" (ALR) which acts like a Compressor with infinite ratio for the purpose of applying a smoothed gain reduction rather than a stronger peak cutter like in brick-wall mode. This configuration could get the output level to exceed the Threshold even if the signal is highly compressed.

<em style="strong" its:withinText="nested">Attack</em>

Manage how the raise of the input signal affects the smoothness of the ALR curve that controls the gain reduction level. Higher the value, more quickly the curve goes to it's maximum.

<em style="strong" its:withinText="nested">Release</em>

Manage how the fall of the input signal affects the smoothness of the curve that controls the gain reduction level. Higher the value, more quickly the curve goes to it's minimum.

<em style="strong" its:withinText="nested">Knee</em>

Manage the Threshold of the ALR gain curve and, in fact, adjust the balance between two gain reduction stages. Raising the value delegates more work to the peak-cutting algorithm. Lowering the value delegates more work to the ALR gain reduction algorithm.

References

Wikipedia Limiter

LSP Sidechain Limiter Stereo

easyeffects-7.1.7/help/C/loudness.page000066400000000000000000000113661463533416400176530ustar00rootroot00000000000000 Loudness

Easy Effects uses the Loudness Compensator from Linux Studio Plugins which applies the "equal-loudness contour" corrections to the input signal.

An equal-loudness contour is a measure of sound pressure level (SPL), over the frequency spectrum, for which a listener perceives a constant loudness when presented with pure steady tones. The unit of measurement for loudness levels is the phon and is arrived at by reference to equal-loudness contours.

Usage of equal-loudness contours solves many mixing problems that every sound engineer meets while working on the track. The main problem is that human ear perceives different frequencies for different volume settings in a different way. In other words, applying changes to the mix on the low volume settings may cause unexpected sounding of the mix at the maximum loudness.

The Loudness Compensator performs frequency response computations and applies the computed frequency response to the input signal depending on the output volume settings. Additionally it can provide ear protection by applying hard-clipping to the output signal if it exceeds the allowed configurable level.

<em style="strong" its:withinText="nested">Standard</em>

Allows to select different equal-loudness contour standards.

Flat - Applies flat frequency response to the whole spectrum. It's similar to just a gain knob but useful to perform a comparison to other modes.

ISO 226:2003 - Recent equal-loudness contour standard published in 2003.

Fletcher-Munson - The first equal-loudness contour implementation by Harvey Fletcher and Wilden A. Munson published in 1933.

Robinson-Dadson - More accurate equal-loudness contour implementation by D.W. Robinson and R.S. Dadson published in 1956. It became the basis for the ISO 226:2003 standard.

<em style="strong" its:withinText="nested">FFT Size</em>

Allows to select size of the Fast Fourier Transform frame used for the processing. The larger FFT frame is, the more precise the curve is approximated and the more latency is introduced.

<em style="strong" its:withinText="nested">Output Volume</em>

The output volume of the signal with applied equal loudness contour. It controls the loudness of the 1 kHz pure sine wave.

<em style="strong" its:withinText="nested">Clipping</em>

Allows to enable and the hard clipping of the output signal.

<em style="strong" its:withinText="nested">Clipping Range</em>

Allows to set the gap level for the hard clipping of the output signal.

References

Wikipedia Equal-Loudness Contour

LSP Loudness Compensator Stereo

Lindos Electronics - Equal-Loudness Contours

easyeffects-7.1.7/help/C/maximizer.page000066400000000000000000000046141463533416400200220ustar00rootroot00000000000000 Maximizer

The Maximizer is a special type of Limiter that does not only prevent the signal to exceed a specified target level, but also adjusts the average Loudness of the audio track.

Easy Effects uses the Maximizer developed by ZamAudio. It acts like an Amplifier that feeds a brick-wall Limiter with a fixed Lookahead of 10 ms adding the corresponding delay to the output signal.

<em style="strong" its:withinText="nested">Threshold</em>

This parameter represents the ideal amplification level needed by the signal.

It contributes along with the Ceiling to determine the amount of gain to apply to the signal before the limiting stage. The gain is calculated by (-Threshold) - (-Ceiling).

For example, on Threshold -6 dB and Ceiling -2 dB, the signal is amplified by 4 dB and limited to not exceed -2 dB output level.

<em style="strong" its:withinText="nested">Ceiling</em>

This parameter represents the ideal attenuation level needed by the signal and the maximum allowed output level.

When the Threshold is set to 0 dB, the Ceiling is simply the gain reduction. When the Threshold is lowered, the signal is boosted without overtaking the Ceiling value.

<em style="strong" its:withinText="nested">Release</em>

Sets the release of the internal brick-wall Limiter. Lower values may introduce small artifacts.

References

Sonarworks Blog - What Is A Maximizer?

easyeffects-7.1.7/help/C/multibandcompressor.page000066400000000000000000000412561463533416400221140ustar00rootroot00000000000000 Multiband Compressor

Easy Effects uses the Sidechain Multiband Compressor Stereo developed by Linux Studio Plugins. Please refer to the Compressor documentation to comprehend the basic functionality of the dynamic range compression.

Global Options <em style="strong" its:withinText="nested">Band Management</em>

This Compressor allows to split the input signal up to 8 bands. Each band is not attached to its strict frequency and can be controlled by completely different frequency range that can be obtained by applying Low-Cut and Hi-Cut filters to the Sidechain signal.

The first band is always enabled while the others can be activated if needed. When only the first band is enabled, the functionality is similar to the Singleband Sidechain Compressor. Otherwise the signal is split in more bands and each band is compressed individually. After the compression stage, the bands are mixed together to form the output result.

<em style="strong" its:withinText="nested">Operating Mode</em>

Determines how the input signal is split to obtain the different bands.

Classic - The original signal is split using crossover filters. After the compression stage, all bands become phase-compensated using All-Pass filters.

Modern - Each band is processed by a pair of dynamic shelving filters. This mode allows a better control over the gain of each band.

<em style="strong" its:withinText="nested">Sidechain Boost</em>

If enabled, it introduces a special mode for assigning the same weight for higher frequencies opposite to lower frequencies.

When disabled, the frequency band is processed 'as is', but the usual audio signal has 3 dB/octave falloff in the frequency domain and could be compared with the pink noise. So lower frequencies take more effect on the Compressor rather than higher frequencies.

On the other hand the Sidechain Boost mode allows to compensate the -3 dB/octave falloff of the signal spectrum and, even more, makes the signal spectrum growing +3 dB/octave in the almost fully audible frequency range.

Pink applies +3 dB/octave while Brown applies +6 dB/octave Sidechain Boost. Each of them can use bilinear-transformed (BT) or matched-transformed (MT) shelving filter.

<em style="strong" its:withinText="nested">Sidechain Source</em>

If the External Sidechain is enabled inside at least one band, this combobox allows to select the input device as source.

<em style="strong" its:withinText="nested">Dry Level</em>

Amount of unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Wet Level</em>

Amount of processed signal mixed in the output.

Band Options <em style="strong" its:withinText="nested">Band Start</em>

Allows to change the lower end split frequency of the selected band. This value is assigned to the Band End of the previous enabled band. It can be modified for all bands except the first one, which is always enabled and its value is 0 Hz.

<em style="strong" its:withinText="nested">Band End</em>

Specify the upper end split frequency of the selected band. It cannot be directly modified and assumes the same value of the Band Start of the next enabled band. For the last enabled band it is always 24.000 Hz.

<em style="strong" its:withinText="nested">Compression Mode</em>

Downward - It's aimed to decrease the gain of the signal above the Threshold.

Upward - It's aimed to increase the gain of the signal below the Threshold.

Boosting - It's aimed to increase the gain of the signal below the Threshold by a specific amount.

<em style="strong" its:withinText="nested">External Sidechain</em>

The Sidechain is an external source took by a specific input device (typically a microphone).

<em style="strong" its:withinText="nested">Band Bypass</em>

If enabled, the selected band is not affected by the compression stage.

<em style="strong" its:withinText="nested">Solo</em>

Turns on the Solo mode to the selected band by applying -36 dB gain to the other non-soloing bands.

<em style="strong" its:withinText="nested">Mute</em>

Turns on the Mute mode applying -36 dB gain to to the selected band.

<em style="strong" its:withinText="nested">Attack Time</em>

The length of time it takes to apply roughly two-thirds of the targeted amount of compression ratio to the uncompressed band signal.

<em style="strong" its:withinText="nested">Release Time</em>

The length of time it takes to restore roughly two-thirds of the reduced gain (in Downward mode) or increased gain (in Upward/Boosting mode) to the compressed band signal.

<em style="strong" its:withinText="nested">Attack Threshold</em>

The target level around which the compression is applied (the range depends by the Knee).

<em style="strong" its:withinText="nested">Release Threshold</em>

Sets up the Threshold of the Release Time, calculated by summing the Release Threshold to the Attack Threshold.

If the Sidechain level is above that Threshold, the compressor uses the Release Time for the releasing stage. Otherwise the Attack Time is used in place of Release Time.

For example, with -10 dB Attack Threshold and -60 dB Release Threshold, if the Sidechain is above -10 + (-60) = -70 dB, the Release Time is used for the gain restoration. If the Sidechain is below -70 dB, the Attack Time is used for the gain restoration.

<em style="strong" its:withinText="nested">Ratio</em>

The amount of attenuation (in Downward mode) or amplification (in Upward/Boosting mode) that will be applied to the signal.

For example, when the Ratio is 2 in Downward mode and the Sidechain rises above the Threshold by 10 dB, the signal would be ideally reduced by 5 dB (10/2 dB). In practice this behavior mostly depends on how the Multiband Compressor is designed and configured.

<em style="strong" its:withinText="nested">Knee</em>

The range over which the Compressor switches from no compression to almost the full ratio compression (the Threshold usually sits at the center of this transition zone).

<em style="strong" its:withinText="nested">Makeup</em>

The gain to apply after the compression stage.

Band Sidechain Options <em style="strong" its:withinText="nested">Mode</em>

Determines how the Sidechain of the selected band is evaluated for the compression stage.

Peak - The Compressor reacts according to the peaks.

RMS - The Compressor reacts according to the average loudness measured by the root mean square.

Low-Pass - The Compressor reacts according to the signal processed by a Low-Pass filter.

Uniform - The Compressor reacts according to the loudness measured by the average of the absolute amplitude.

<em style="strong" its:withinText="nested">Source</em>

Determines which part of the Sidechain is taken into account for the compression stage.

Middle - The sum of left and right channels.

Side - The difference between left and right channels.

Left - Only left channel is used.

Right - Only right channel is used.

Min - The absolute minimum value is taken from stereo input.

Max - The absolute maximum value is taken from stereo input.

<em style="strong" its:withinText="nested">Low-Cut Filter</em>

Enables a custom Low-Cut Filter for the selected band.

<em style="strong" its:withinText="nested">Low-Cut Frequency</em>

Sets the cut-off frequency of the custom Low-Cut filter. If it is disabled, the default Low-Cut filter assumes internally the Band Start frequency as the cut-off frequency.

<em style="strong" its:withinText="nested">Hight-Cut Filter</em>

Enables a custom High-Cut Filter for the selected band.

<em style="strong" its:withinText="nested">Hight-Cut Frequency</em>

Sets the cut-off frequency of the custom High-Cut filter. If it is disabled, the default High-Cut filter assumes internally the Band End frequency as the cut-off frequency.

<em style="strong" its:withinText="nested">PreAmp</em>

Gain applied to the Sidechain signal of the selected band.

<em style="strong" its:withinText="nested">Reactivity</em>

The time that defines the number of samples used to process the Sidechain in RMS, Uniform and Low-Pass modes. Higher the value, more smooth the compression.

<em style="strong" its:withinText="nested">Lookahead</em>

The band signal to compress is delayed by this amount of time, so that the compression will be applied earlier than it would be otherwise.

Each band can have different Lookahead values. To avoid phase distortions in the mixing stage, all the bands are automatically delayed for an individually calculated period of time.

<em style="strong" its:withinText="nested">Boost Amount</em>

Maximum gain amplification to apply in Boosting Mode.

<em style="strong" its:withinText="nested">Boost Threshold</em>

The Threshold below which a constant amplification will be applied to the band signal in Upward Mode (it prevents from applying infinite amplification to very quiet signals).

References

Wikipedia Dynamic Range Compression

LSP Sidechain Multiband Compressor Stereo

Black Ghost Audio - The Ultimate Guide to Compression

Attack Magazine - Demolishing The Myths of Compression

easyeffects-7.1.7/help/C/multibandgate.page000066400000000000000000000351311463533416400206330ustar00rootroot00000000000000 Multiband Gate

Easy Effects uses the Multiband Gate Stereo developed by Calf Studio Gear. Please refer to the Gate documentation to comprehend the basic functionality of the gating process.

Global Options <em style="strong" its:withinText="nested">Band Management</em>

This Gate allows to split the input signal up to 8 bands. Each band is not attached to its strict frequency and can be controlled by completely different frequency range that can be obtained by applying Low-Cut and Hi-Cut filters to the Sidechain signal.

The first band is always enabled while the others can be activated if needed. When only the first band is enabled, the functionality is similar to the Singleband Sidechain Gate. Otherwise the signal is split in more bands and each band is processed individually. After the gating stage, the bands are mixed together to form the output result.

<em style="strong" its:withinText="nested">Operating Mode</em>

Determines how the input signal is split to obtain the different bands.

Classic - The original signal is split using crossover filters. After the gating stage, all bands become phase-compensated using All-Pass filters.

Modern - Each band is processed by a pair of dynamic shelving filters. This mode allows a better control over the gain of each band.

<em style="strong" its:withinText="nested">Sidechain Boost</em>

If enabled, it introduces a special mode for assigning the same weight for higher frequencies opposite to lower frequencies.

When disabled, the frequency band is processed 'as is', but the usual audio signal has 3 dB/octave falloff in the frequency domain and could be compared with the pink noise. So lower frequencies take more effect on the Gate rather than higher frequencies.

On the other hand the Sidechain Boost mode allows to compensate the -3 dB/octave falloff of the signal spectrum and, even more, makes the signal spectrum growing +3 dB/octave in the almost fully audible frequency range.

Pink applies +3 dB/octave while Brown applies +6 dB/octave Sidechain Boost. Each of them can use bilinear-transformed (BT) or matched-transformed (MT) shelving filter.

<em style="strong" its:withinText="nested">Sidechain Source</em>

If the External Sidechain is enabled inside at least one band, this combobox allows to select the input device as source.

<em style="strong" its:withinText="nested">Dry Level</em>

Amount of unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Wet Level</em>

Amount of processed signal mixed in the output.

Band Options <em style="strong" its:withinText="nested">Band Start</em>

Allows to change the lower end split frequency of the selected band. This value is assigned to the Band End of the previous enabled band. It can be modified for all bands except the first one, which is always enabled and its value is 0 Hz.

<em style="strong" its:withinText="nested">Band End</em>

Specify the upper end split frequency of the selected band. It cannot be directly modified and assumes the same value of the Band Start of the next enabled band. For the last enabled band it is always 24.000 Hz.

<em style="strong" its:withinText="nested">External Sidechain</em>

The Sidechain is an external source took by a specific input device (typically a microphone).

<em style="strong" its:withinText="nested">Band Bypass</em>

If enabled, the selected band is not affected by the gating stage.

<em style="strong" its:withinText="nested">Solo</em>

Turns on the Solo mode to the selected band by applying -36 dB gain to the other non-soloing bands.

<em style="strong" its:withinText="nested">Mute</em>

Turns on the Mute mode applying -36 dB gain to to the selected band.

<em style="strong" its:withinText="nested">Attack Time</em>

The length of time it takes to apply roughly two-thirds of the gain reduction.

<em style="strong" its:withinText="nested">Release Time</em>

The length of time it takes to restore roughly two-thirds of the gain reduction.

<em style="strong" its:withinText="nested">Curve Threshold</em>

The Gate fully opens upon the Sidechain level becoming above Curve Threshold.

If Hysteresis is not enabled, the Gate begins to close upon the Sidechain level becoming below Curve Threshold.

<em style="strong" its:withinText="nested">Curve Zone Size</em>

The Gate begins to open upon the Sidechain level becoming above the Curve Threshold + Curve Zone.

If Hysteresis is not enabled, the Gate fully closes upon the Sidechain level becoming below the Curve Threshold + Curve Zone.

<em style="strong" its:withinText="nested">Hysteresis</em>

When enabled, Curve Threshold and Curve Zone apply only to the opening Gate, and separate parameters can be configured for closing Gate.

<em style="strong" its:withinText="nested">Hysteresis Threshold</em>

If Hysteresis is enabled, the Gate begins to close upon the Sidechain level becoming below Curve Threshold + Hysteresis Threshold.

<em style="strong" its:withinText="nested">Hysteresis Zone Size</em>

If Hysteresis is enabled, the Gate fully closes upon the Sidechain level becoming below the Curve Threshold + Hysteresis Threshold + Hysteresis Zone.

<em style="strong" its:withinText="nested">Reduction</em>

If the value is negative, it acts as the amount of gain reduction to apply to the input signal when the Gate is fully closed. If the value is positive, the Gate operates in "Reverse Mode": It reduces the amplitude when the signal is above the threshold.

<em style="strong" its:withinText="nested">Makeup</em>

The gain to apply after the gating stage.

Band Sidechain Options <em style="strong" its:withinText="nested">Mode</em>

Determines how the Sidechain is evaluated for the gating stage.

Peak - The Gate reacts according to the peaks.

RMS - The Gate reacts according to the average loudness measured by the root mean square.

Low-Pass Filter - The Gate reacts according to the signal processed by a recursive 1-pole Low-Pass filter.

Simple Moving Average - The Gate reacts according to the signal processed by the Simple Moving Average filter.

<em style="strong" its:withinText="nested">Source</em>

Determines which part of the Sidechain is taken into account for the gating stage.

Middle - The sum of left and right channels.

Side - The difference between left and right channels.

Left - Only left channel is used.

Right - Only right channel is used.

Min - The absolute minimum value is taken from stereo input.

Max - The absolute maximum value is taken from stereo input.

<em style="strong" its:withinText="nested">Low-Cut Filter</em>

Enables a custom Low-Cut Filter for the selected band.

<em style="strong" its:withinText="nested">Low-Cut Frequency</em>

Sets the cut-off frequency of the custom Low-Cut filter. If it is disabled, the default Low-Cut filter assumes internally the Band Start frequency as the cut-off frequency.

<em style="strong" its:withinText="nested">Hight-Cut Filter</em>

Enables a custom High-Cut Filter for the selected band.

<em style="strong" its:withinText="nested">Hight-Cut Frequency</em>

Sets the cut-off frequency of the custom High-Cut filter. If it is disabled, the default High-Cut filter assumes internally the Band End frequency as the cut-off frequency.

<em style="strong" its:withinText="nested">PreAmp</em>

Gain applied to the Sidechain signal of the selected band.

<em style="strong" its:withinText="nested">Reactivity</em>

The time that defines the number of samples used to process the Sidechain in RMS, Uniform and Low-Pass modes. Higher the value, more smooth the gating.

<em style="strong" its:withinText="nested">Lookahead</em>

The band signal to gate is delayed by this amount of time, so that the gating will be applied earlier than it would be otherwise.

Each band can have different Lookahead values. To avoid phase distortions in the mixing stage, all the bands are automatically delayed for an individually calculated period of time.

References

LSP Sidechain Multiband Gate Stereo

Wikipedia Noise Gate

easyeffects-7.1.7/help/C/pipewire.page000066400000000000000000000036531463533416400176430ustar00rootroot00000000000000 PipeWire

PipeWire tab can be used to set default devices, autoloading presets and test signals in addition to refer to different information about PipeWire installation on the user system.

<em style="strong" its:withinText="nested">General</em>

Choose between using default devices or select one of the connected devices managed by PipeWire.

PipeWire version, quantum values and sample rate are also reported inside the tab.

<em style="strong" its:withinText="nested">Presets Autoloading</em>

The list of autoloading presets associated to specific Devices and their Profile.

The user can change their combination selecting between the available Presets and the connected Devices from the relative comboboxes.

<em style="strong" its:withinText="nested">Modules</em>

The list of PipeWire modules installed on the system.

<em style="strong" its:withinText="nested">Modules</em>

The list of PipeWire clients loaded on the system.

<em style="strong" its:withinText="nested">Test Signal</em>

Configures a test signal for testing purpose.

easyeffects-7.1.7/help/C/pitch.page000066400000000000000000000157031463533416400171250ustar00rootroot00000000000000 Pitch

Pitch shifting is a sound recording technique in which the original Pitch of a sound is raised or lowered. Easy Effects uses the pitch shifter from SoundTouch.

<em style="strong" its:withinText="nested">Mode</em>

Controls the method used for pitch shifting.

High Speed - Uses a method with a CPU cost that is relatively moderate and predictable.

High Quality - Uses the highest quality method for pitch shifting. This CPU cost is approximately proportional to the required frequency shift.

High Consistency - Uses the method that gives greatest consistency when used to create small variations in pitch around the 1.0-ratio level. Unlike the previous two options, this avoids discontinuities when moving across the 1.0 pitch scale. It also consumes more CPU than the others in the case where the pitch scale is exactly 1.0.

<em style="strong" its:withinText="nested">Formant</em>

Controls the handling of formant shape (spectral envelope) when pitch-shifting.

Shifted - Applies no special formant processing. The spectral envelope will be pitch shifted as normal.

Preserved - Preserves the spectral envelope of the unshifted signal. This permits shifting the note frequency without so substantially affecting the perceived pitch profile of the voice or instrument.

<em style="strong" its:withinText="nested">Transients</em>

Controls the component frequency phase-reset mechanism that may be used at transient points to provide clarity and realism to percussion and other significant transient sounds.

Crisp - Resets component phases at the peak of each transient (the start of a significant note or percussive event). This usually results in a clear-sounding output, but it is not always consistent, and may cause interruptions in stable sounds present at the same time as transient events.

Mixed - Resets component phases at the peak of each transient, outside a frequency range typical of musical fundamental frequencies. The results may be more regular for mixed stable and percussive notes than Crisp option, but with a "phasier" sound. The balance may sound very good for certain types of music and fairly bad for others.

Smooth - Does not reset component phases at any point. The results will be smoother and more regular but may be less clear than the other transient options.

<em style="strong" its:withinText="nested">Detector</em>

Controls the type of transient detector used.

Compound - Uses a general purpose transient detector which is likely to be good for most situations.

Percussive - Detects percussive transients.

Soft - Uses an onset detector with less of a bias toward percussive transients. This may give better results with certain material (e.g. relatively monophonic piano music).

<em style="strong" its:withinText="nested">Phase</em>

Controls the adjustment of component frequency phases from one analysis window to the next during non-transient segments.

Laminar - Adjusts phases when stretching in such a way as to try to retain the continuity of phase relationships between adjacent frequency bins whose phases are behaving in similar ways. This should give good results in most situations.

Independent - Adjusts the phase in each frequency bin independently from its neighbours. This usually results in a slightly softer, phasier sound.

<em style="strong" its:withinText="nested">Cents</em>

Number of cents the Pitch will be increased or decreased.

<em style="strong" its:withinText="nested">Semitones</em>

Number of semitones the Pitch will be increased or decreased.

<em style="strong" its:withinText="nested">Octaves</em>

Number of octaves the Pitch will be increased or decreased.

References

Wikipedia Pitch Shift

SoundTouch Audio Time Stretcher Library - Attractive Features

easyeffects-7.1.7/help/C/reverb.page000066400000000000000000000067011463533416400173010ustar00rootroot00000000000000 Reverberation

Reverberation is the phenomenon of persistence of sound after the source has been stopped as a result of multiple reflections of the waves over objects within a closed surface. These reflections build up with each other and decay gradually as they are absorbed by the surfaces of objects in the space enclosed.

The Reverberation is different than Echo because the Echo is a reflected sound wave with sufficient magnitude and delay to be detectable as a signal distinct from the source one. To simulate the Reverberation effect, Easy Effects uses the Reverb plugin developed by Calf Studio Gear.

<em style="strong" its:withinText="nested">High Frequency Damping</em>

Cutoff frequency of the reflections. It causes higher frequencies to decay faster.

<em style="strong" its:withinText="nested">Room Size</em>

Size of the space where simulated Reverberation occurs inside. It determines the time between reflections.

<em style="strong" its:withinText="nested">Diffusion</em>

Degree of uniformity. Higher values lead to less uniform Reverberation.

<em style="strong" its:withinText="nested">Pre Delay</em>

Additional delay. It corresponds to a distance between sound source and the nearest wall.

<em style="strong" its:withinText="nested">Decay Time</em>

The time it takes for Reverberation to fade out.

<em style="strong" its:withinText="nested">Dry Level</em>

Amount of unprocessed signal mixed in the output.

<em style="strong" its:withinText="nested">Wet Level</em>

Amount of processed signal (Reverberation) mixed in the output.

<em style="strong" its:withinText="nested">Bass Cut</em>

Removes low frequencies from the Reverberation.

<em style="strong" its:withinText="nested">Treble Cut</em>

Removes high frequencies from the Reverberation.

References

Wikipedia Reverberation

Calf Reverb

easyeffects-7.1.7/help/C/rnnoise.page000066400000000000000000000030151463533416400174640ustar00rootroot00000000000000 Noise Reduction

The Noise Reduction is a process aimed to attenuate the disturbing noise from a signal.

Easy Effects Noise Reduction is made on the RNNoise library which is based based on recurrent neural network, a class of artificial neural networks where connections between nodes form a directed graph along a temporal sequence. This allows it to exhibit temporal dynamic behavior.

Standard RNNoise Model is used and custom models can be imported to perform different types of noise reduction.

References

Wikipedia Noise Reduction

Wikipedia Recurrent Neural Network

Jean-Marc Valin - RNNoise: Learning Noise Suppression

easyeffects-7.1.7/help/C/saturated.page000066400000000000000000000012501463533416400200020ustar00rootroot00000000000000 Saturation Warning

If the audio signal coming out from the pipeline is too high, very unpleasant noises can be produced. In case this happens a warning icon is shown near the output level meter in the bottom bar so that the user can reduce the audio level using the Limiter or the Maximizer plugin.

easyeffects-7.1.7/help/C/settingsmenu.page000066400000000000000000000004371463533416400205410ustar00rootroot00000000000000 Settings Menu easyeffects-7.1.7/help/C/spectrum.page000066400000000000000000000046771463533416400176700ustar00rootroot00000000000000 Spectrum <em style="strong" its:withinText="nested">Enabled</em>

Show or hide the Spectrum.

<em style="strong" its:withinText="nested">Shape</em>

Choose the style of the animation.

<em style="strong" its:withinText="nested">Points</em>

Number of points/bars on the x axis.

<em style="strong" its:withinText="nested">Height</em>

Changes the height of the Spectrum.

<em style="strong" its:withinText="nested">Line Width</em>

The width of a single bar.

<em style="strong" its:withinText="nested">Fill</em>

Draw filled bars.

<em style="strong" its:withinText="nested">Show Bars Border</em>

Draw bars with borders.

<em style="strong" its:withinText="nested">Rounded Corners</em>

Draw bars with rounded corners.

<em style="strong" its:withinText="nested">Color</em>

Choose the color of the Spectrum components.

<em style="strong" its:withinText="nested">Minimum Frequency Range</em>

Lower end frequency of the Spectrum.

<em style="strong" its:withinText="nested">Maximum Frequency Range</em>

Upper end frequency of the Spectrum.

easyeffects-7.1.7/help/C/speex.page000066400000000000000000000017351463533416400171420ustar00rootroot00000000000000 Speech Processor

This plugin allows EasyEffects to use the Speex preprocessor to attenuate disturbing background noises from a signal.

Compared to Noise Reduction which uses RNNoise to suppress noises, Speech Processor has the benefit of using less computational resources, at the cost of sacrificing noise suppression quality.

For more information on noise suppression in general, refer to the manual page on Noise Reduction.

References

The Speex Project

easyeffects-7.1.7/help/C/stereotools.page000066400000000000000000000131561463533416400204000ustar00rootroot00000000000000 Stereo Tools

Easy Effects uses the Stereo Tools developed by Calf Studio Gear which provides some handy utilities to manage Stereo streams handling Left and Right channels in conjunction with Mid and Side signals.

Mid/Side is a recording technique which registers Mid and Side signals rather then plain Left and Right channels. Its basic setup makes use of one cardioid microphone (Mid) and one bidirectional (figure-eight) microphone (Sides). In mastering stage Mid and Side can be used to shape the balance of the Stereo image having more control over the mix to get a wider, deeper, and more focused track.

Having a Stereo stream, Mid is obtained summing both channels (L+R) while Side is the result of the difference between Left and Right (L-R). Mid and Side signals can be decoded back to Left (M+S)/2 and Right (M-S)/2.

Input <em style="strong" its:withinText="nested">Balance</em>

Sets the balance between both channels.

<em style="strong" its:withinText="nested">Softclip (button)</em>

Makes a kind of analog distortion instead of harsh digital 0 dB clipping.

<em style="strong" its:withinText="nested">Softclip (value)</em>

Level of Softclip.

Stereo Matrix <em style="strong" its:withinText="nested">Mode</em>

Allows to choose between different channel configurations such as normal Stereo Mode, Mid-Side or Mono simulation.

<em style="strong" its:withinText="nested">Mute L/R</em>

Mutes the Left/Right channel.

<em style="strong" its:withinText="nested">Invert Phase L/R</em>

Changes the Phase of the Left/Right channel.

<em style="strong" its:withinText="nested">Side Level</em>

The level of the Side signal.

<em style="strong" its:withinText="nested">Side Balance</em>

The balance of the Side signal.

<em style="strong" its:withinText="nested">Middle Level</em>

The level of the Middle signal.

<em style="strong" its:withinText="nested">Middle Panorama</em>

The position in the Panorama of the Middle signal.

Output <em style="strong" its:withinText="nested">Balance</em>

Sets the balance between both channels.

<em style="strong" its:withinText="nested">Delay L/R</em>

Delays the Left or the Right channel. Negative values delay the Left channel and positive values the Right channel.

<em style="strong" its:withinText="nested">Stereo Base</em>

Sets the Stereo Base of the content seamless between Mono and inverted channels.

<em style="strong" its:withinText="nested">Stereo Phase</em>

Set the Stereo Phase of the content.

References

Wikipedia Stereophonic Sound

Calf Stereo Tools

Unlock Your Sound - Stereo, Mono, Mid, Side, Panning, and Imaging Explained

easyeffects-7.1.7/help/C/testsignals.page000066400000000000000000000023201463533416400203450ustar00rootroot00000000000000 Test Signal

A specific signal can be used to test the frequency response of the speakers.

<em style="strong" its:withinText="nested">Enable</em>

Enable or disable the test signal.

<em style="strong" its:withinText="nested">Channel</em>

Choose if apply the test signal to left or right channel only, or both.

<em style="strong" its:withinText="nested">Signal</em>

The type of the signal: sine wave or white noise.

<em style="strong" its:withinText="nested">Frequency</em>

The frequency of the sine wave.

easyeffects-7.1.7/help/C/userpresets.page000066400000000000000000000016501463533416400203760ustar00rootroot00000000000000 Creating and Importing User Presets

The configuration of the selected effects in the plugins stack can be saved in Preset files and reused at the next login or on another system running Easy Effects. Just open the "Presets" menu, write a name and click on the add button. Presets can be imported also by clicking on the import button.

A specific Preset can be autoloaded when an input or output device is added to the system. Just open the PipeWire tab, click on "Presets Autoloading", select the desired Preset and the device to associate from the two comboboxes, then click the add button.

easyeffects-7.1.7/help/meson.build000066400000000000000000000016701463533416400171360ustar00rootroot00000000000000itstool = find_program('itstool', required: true) if not itstool.found() error('itstool not found.') endif help_pages = [ 'advancedinfo.page', 'autogain.page', 'bassenhancer.page', 'bassloudness.page', 'blocklist.page', 'compressor.page', 'convolver.page', 'crossfeed.page', 'crystalizer.page', 'deesser.page', 'delay.page', 'deepfilternet.page', 'echocanceller.page', 'effectsorder.page', 'enableapp.page', 'equalizer.page', 'exciter.page', 'filter.page', 'gate.page', 'general.page', 'guide_1.page', 'index.page', 'limiter.page', 'loudness.page', 'maximizer.page', 'multibandcompressor.page', 'multibandgate.page', 'pipewire.page', 'pitch.page', 'reverb.page', 'rnnoise.page', 'saturated.page', 'settingsmenu.page', 'spectrum.page', 'speex.page', 'stereotools.page', 'testsignals.page', 'userpresets.page' ] gnome_mod.yelp(meson.project_name(), sources: help_pages ) easyeffects-7.1.7/images/000077500000000000000000000000001463533416400153055ustar00rootroot00000000000000easyeffects-7.1.7/images/appdata-screenshot-01.png000066400000000000000000001412231463533416400220210ustar00rootroot00000000000000PNG  IHDRT)sBIT|dtEXtSoftwaregnome-screenshot> IDATxytTW&d@$MPAdGEQP[QWqWVKmZk*RE*l  !/ d&7qܹ3| II:\?h"fv|7^J#,HR{}]vCN\.\.@ l6h݋RSSsa{KBBв2n &.44T{]Xߌ7 桼\){] ((-=Pr\'((,vS.K;wСCT^^^mnWllRSĂƠEMr+ߚj۶mBMܹCGf+..NtڱcF>גc6+*ʡΝS-iعs գGOhnusV5i_#5y:m, Nɶ6MݻwڵPݻUXXhusVM9pb=\n[eee_rbxjX6ɕrn>!VM9hYՃ ƈ PI97|@E0 @qX*~с > өߝ*H&*$I\F^+ViWF~s?6{>yH&j@cB Tsޟ+/oW^UIINKKӀ3Е.Yj-X*˥;wj݆E\jŪUࠜN&$1eos5<6|V\)):wh;YugGsrmx쭙h꜒\h^{s^{sFQJHHycheeOR ;N={<_6 5FGGyXiG)cEEFjo>^u8+K99GձcEz?l%zTl Qbb~sՕؿ-CS׀j*2~s$;5rWd2''P;zhZhb#uU:K6dgf]k׭WvjU^=z(::ZT=zvKHO$}bSJJLUW^b%OZ9ッwfѳO?3?@R{_=DIzvUXT/'^x_JSKknܷ_S﹫ޏ]/j6f׶9MTUPXXjB vMMdd.If˖-}VN ÊU%BNks"I:IV_|eUۄ=im{Iҝݪg o\: -ئRIR=D_>T?mfI@e QPPP<|zꩿQnZt<7W>'߰Q.^c)9r _&OV>v}6T3f(g@ڶ}֮[T{_)""BiR6UPX8]Wܩg;o:w\ZtJڵmN;ߟ)WZZyW -ցy瞫m۶Whz{'iw: I.Kn[W_w7sf2]zZaBBBtC۫')88X\:|XmZե]$I*((GR6l$xN[<8/%5q6':M5{TPPn>m۾]ɝ:Xu /XdNIҼ?79睫7h$Uj슊4"v:DE5~~^~vܥUרPV43^Pt*--_|-Zx ۭe,WgE>?/E/#G8t:+:!..Vw?`\.4%:|VV{UNTUm*!>^j-rrHÃqVMp ǟ(??_O}:|X<sҋt:ݺu|JIኊ4x>.^>{i1WkXNUII-_/peeN;IrM{ rg(P=(]v:v~y{4r0_C>7ghz򱿪T3_CPzumSc.Mij߮iNUAai}9qϵ姟tMC+I6e!*))$kN UTTTt:t:~}OWˈW.3|Ù={wMVhhZ{nڹkW-?(ۭ̑P^_~6mhЀnVڷv٣IWLw3 j]2$I#G xl5(IسG߮\ܼ<9~;_PP =nكkݺu6ly:ޡÇpG?ah>?Sb95\$IW~~ *)))s8n.tu.K!)Q}n9B_pfvKݮ PdW\vf̬Hһuӎ_l_V؋E//[Ӵq&;Fo;sǎцԽ[WAAҸc{6mA̞C[׮5z~/̵PaaaPl6x nY%%%+kkoЙUﮛ1iZtztVpiM>z]Iҫw6vm4sz7hMU}WzpTP.x^IuxNu;wJze ryy&XQQ Ѣ/?'9(Hr:uHN}!ZV{Oy~wd15{m/|yk:a MvNu2vVJr$iWFnn=ӊ۱P5B>t/X{33u z㭙~}O6KR:%Ц?X _~%I:ܱ0R39MIɝ:-[rT)ڛ.cGAUwDU:rDqq>O^3YsnjܦaJEժ5k4j_P֮ix@tˎ/OL̚7 zh;ŋq #5B_:ii|_Hwk+(({{}|XosNI֊+%6GU4oڛ34jİ==5$ 5x{>PNMYIͷݮ]?hƫ/Xu &]q&]q$郏?Ys*lRz2vцƌҟ$i5:/1gMk&M[n}fUX\qcSq\ڽg۷ֱբEͿޭCP$mg՘Q$Ut:rD+,,T]OKehrDE);'GrkVRE٢E k/dndRu霪Z' U*Vm73SztoVPD맭[%ImZR 2XK-I={:}MޫG]qe>TY/N 2DrDEiҕW]v鯼;vv+h꾊qWn",L;W/nMH={TRRrݳcNjJnϕ*-YLy*))Q֭/|9evsgͬmsmtZZ?+:r=y6osP]zRIRrWddK}jff]x;8א>\.=Sz'܊.Cg&YiZtʝNEhİ_گ,T I]?slAJJLy玕йcFk`bEGх矧_ pZju֠:{`\Z~KJ2"B}z B|~y}'+/wj߾ N޽zi5nDZcǴc.l6UY6hp=zk ٿ^{zi֜9ir\j6AuҺTLJkoWhw)}{vNfo6I$srz^}M94jdEsG҆j#HN}}UvP~3O*?@1mtE{:zz^|5sJ^S>W8PnrzwMucGkcovUZZZFGT Rqqߎo.,]H_y|[G;~&cvl r8Z),,LCG$-[JJJ{\>o۶:߇YaŪUr::|@Ӷt"PTT:u}ru{I Jl*//W~~ 6m+& RYY?V9zuϕ*ccdTZZcǎU.m߾f#W}V׾mFUgNIn:̬Q8u)TN ~iRnnFnuSkoUۗizcǎرǜN{_u=xԪ_ O0:Æ޳6&:M tz}56ͯ:\ z j6o7gfkshP70A@{{@Khr=F#H&)70A@eu h<P70A@/r$hc;)70Tv]N[aYك\_قnJrUX})!c鋷**..jUBB;޽K 9Jqq:.^I3Urr$)+밊A'+++Ւ% -9vXX vQTơSd>|P6SYYiTjX6"(??ٽ` @F@KXJt:nlf,O> hƂ$1 ,*~,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,E@KPRT,bud)#nء2fg9z$mu#4/6{z]v}Ӂ,x,rm_cO'jٓylw"jj_z9=0LH%#PcXcujlsxX1Ij0GN~1WyVp}@ (3qU @-(fӨGE5/0ԝ%jj:PkMԺS4zxtMVL s\ݵNȄT<o;rw{nn\aƞW>*=̢V**WV9Oa gwvgGuޯ=¡qSop\奆Ƒ.coQ=6{ Cp:qJ5ZQ頎'O=IGP@m_E4eTP+Aj{#UΒBm9գHJWL@/h/6l/Ym_;SkH׋UnC}};Au9Ki"K@ewT.ȄTLH5[%+gpǸZ_}p9˴6)}s_sb ]Tpxg[>cC2%ݯUs}o/4[>nZ>rbk#%IջPp!88*ڼ$s+ajǂ=O=LnҶ/51ΰ3\@%U|iWuLGRڟqE-BCac6/Wo>EMY&RCc!X s*sAkTa^]^;wUa^G6(zb:{srv1gcUwDy,{q*\ݑM2YI:30.ZhRF`uWy!|//+Qhd>^UoJc걅Iˊr 7:IJ~!XKOVIRLYT/~ rv,x#*=zk_Ű'ADL{,Ʒ߳IgQK8AQzyFݥA/jؾ5j,x&$l_Qt9KwegX]e *8J!?vQNT]*6|`g:fhKK*gw|>9gqVO [%2nBbuM2oUxtS4ߏz\Iv}7},wfwNU2XUP\i$%FQ^Vb@RV$aٙ6l]s%3k$Vi㦘>俆kl_mxBuQ,*+Uy@kД*:vuNS?uXBԧ-\ru0=L& FMO7ARiQm{铟6L:opHnע#A48_6GWYu "ۦ*hezߣHJWxLRl0V+wzInC [y;A{[VuoLQϞ#,ZԖy<} "RgLOJNԏQI[@eodD&Wbz}ėv.xP4eˊUVtܣ4r%3&gw*1!T`&l&7_mSM!a^,)4gmY"8DtM' m.+4.mj3T|Gfo!WYqKpUuyGR;pUZMP9Yw4A*bQ~&.Ng_S)}4r×4QImڣeHTkЈ,'c ~e)M{}ȶ8xE9&ĥSRŷc7Z۽0UʈڿP5P7/4W1igi1 ʊ0{G㐫k*'Udhur41FdBMV{['5h4( Б PtڹUc4}lWo1F1m6yt\J6o6YV{ipU?ll!-Lsh73 uc5K{ s 缶}-U>بoQm2`0@4mm`}ՆUqO+74CRd|gǼ[WVrv1|mhd=Oz Í8ϰ`ALѠTmRͯ,)8Kyy}c9; J0i *X%4/TMYնϹX2P:㊋]{}yR&Xwby.a=Uףț҂?ʡQ1*8}jzO63o|Ag%s1eC=!p>AaKn}og)#nКn4}ZuF\Mkb 4Խlz.6_ ^xz_dOqϩX9cG=hh0GgR`djL~o~E?{KG[HzLxD!a|,*PS0J Ƥ m +C>}G9.}:䏦ze6ZI{=OÒvՔ#)?8VQ|;ۘ Զ/7ԇ_#- mi=sɴG+ j _oTcw3^]X5QnzLxgLjܘT=ؘͥ+ZuSrW7дqؕm~7ɲ7IP-auicԗKTWU}fiYRV:^Q=8M'C/wfoa֝_4ԏޠ_d\L Nc8|nk>qa㉕ FU7V{ {ծrT RHXZZI4!zY,:4* g٨o˝Rky@e~ASBBrnߨe,5=E- @} ]nӞRނ$ً߰:m,ۙXuU^OΎL'C6ٺ8O7{*:Zw:ݧuOW+Ԭ IRDt2ףm__9T1ǎ no^c~gHXK0_ ϞNϘn:^v,сer]M[~YAq R+5 7ytNH904OO54oĴ%2KMО;$25%jj?#)Z[hdҼl-'5pq?>Ӽi .N /\81C$Jss=jmRlڬW{ĴGh;l}a>qCGiϡ'I'xnݩa#r~4]!-g;U{^fvy)غr9Kuls~&CM2t{`9mZn#x ʭ[U\%(z[uh$Woa:Yr$75Ӏ_J */1жz,ӷ۩ur_uZTw0h?ycN+6T@kxp*.g݇yoϚp)JwGyʊr QĤ Pyc6q7J,_㐫Ծ߅zY-NI^v82CsMQ9ƞ![=nmrCRK/ \aꤎ06<:QeQچձ*gIm[6nE-0EUQsUHTDL?0M4-o{/]q0hG͑.pG8, Z8רElR>զMikUHC1,{bCpe6J1i 3-,b kk*Yf3jFuڤU2?$ٰCO8\z 6{el0m&R.*@" N*8KgNAѩ-ecmU;b(Y民C; ={I o^yGwL5}ʓM$C~Wc3Y eoq?_R˸d%u4qH(}x^ud_Z#fwh3ܥ,d ųG8ˊi86}5yw` 24/mz4MQ>Czv7uf D$0;Ӵ9UP5e޾mŷp͋wER3'dߺSZc'*uUVwUI֝<0HGw`"о>ԮE{ϸE[=ϰ dk-Iω*=jkB/zǽz*1TJz&f/u3 Ri,Ajd:L)X'¯, 5a|F9ٳD݄46%.k31DeE=j]YRխXl~ZVй9Gb7J"(4ڠuO>8v3>L6{قύf⿌bFf8FtP>cP sk;=ꎤtbC(]PƠmﱿ|9SH(0gɚ Ǫw4G=Em_'*Ԟ=N@`۽M!LHUʈ -:pbu.7'cS*%yG[eXQtF*4MroacYaO~Fv&᷅-jQeiC_j0`rZU^j6H1i{\gqU 3[e/Pe|Tu<ôl>4y? @ҢM{Ch5*P#Vܢj}MUtjJ!-~i㦨гǞ-خMs1d]pHZng*}OG1Np` X}r<PC:TGoU5+Z1Ij{h0 @re [Y"n(C:UU5aގ/}NƞfyoT٪|6O1IJ9Rf=d;zH8zgoVI~}LMG36jwx?E9 =: щ^mMoe%t.P~=%Gb7٫,H^7~%*R^(ڳ]#gjӹ^sr/UUϣ>5\㴌O=Jk 4 mSaZ|Q>Ty:i{VG'$ʟU'GWu>sn+hihZ&t62@n//JrqG?M.gi *(DfX1*<3d>jV8 U=jdUhDL:hQkZ| ?i;=j 6LkXI74*F%"ӛ귈mn78`CfgQÚʟrdfIqa>쫔4h`;SK g^خC+&,Z*IdwjEtEaQ1ʊkꮭ5TC6kVҀ[^WIZ^[5k(oulv/8 ʊkꮭ5TCjGa8 PD`RT,|N;܋ojOޭ"##+YkWFN[{ ]=ǫSuUh7uTeޣaC֑#9k4sl;n˰>OWyy-]'zZϽ0]={]۶5~&經YPS99z˯9i?jlڳw^xe͙;WwU^==o59ywfϩ&u%nɄ4k8O5=z7ԿgO[V銈8sT;n=TۃjŪL=?+/UVzUyy$黵K/p^TVVi=Q;wh}\fBBBtz QѣUW),,Oun8~:v|y&\vBBB$Ik[^=³K?W^|>UT瞪5fH_=Ւ\<)gvi*MoqcǨMrDE?Tƞ=Y{Ozz衘uڶm~޾^7԰kZj[l۴Q=eh,bcCΒ-(Oun/9EW]yZjȖ _/8_mڨMֺ nÆǹ:TUTT i݆ ԻWO ?n9jzi*M/fXÈJ IDAT;+WZrNR޶;t=UvrQI/Öjwznpb>LA&/5y[do8Z9ZIU3%rD9jݻuSuͿטQ#jOuFC*өfW.D:ZF^3홚̚V6~s0}r\OKzʓ'Us7|TTUWNPtt}r}IMuP1YYƛr%"$*c[׮ո1B;W>g )+sjcSuzsP=fC.$Ղڼec_{]{f+ʵ>穦_Gv{^{?ڕ[Ͻ8]s㊨e'ye7Vj)zB-]\N+˥YY?p@qqf?$KzBGt z|JxǶ;vR}~9~m'Tevn>k@6!^EGQNNG-((HI6nzٹ&ٲns1MnS穆DWPppv?r rx2>OƊ)ȶmߡ^|Iwb+C=ӵzZqq6oAXv{8֔[n\/W|OW^!g ҼxlhRѯZ>y<*o綺4_g dۛcCCCep]^8ıcǕu䈒;u|F !g 3[6qjl6nV*&:ZA&_rx2>OƊCǞЕ_fڝsҕ;jO?رz#RSRjM55hU}pZdƌyNun >k@uZfXҲ2}ڹkF &IzwUZZ¢"͜5G99{zy*Pݹvg*ŗzw*..֑l_hЀs陉nZ7߮۶NS _ݮ!g ҋ/}tO?{4@d7Vޞ5G95[oI;V[nQ/LEYG3FW73SKY}]ߦQ#yh6o٢B5yoWHJП-(Hգk@6!A<8U3zwQTmǿ6$$PIoA@G_{A}{džXPHQDz U:wc!H$>׵Ιs枓aݹs^yc2 4IaԪ{~H|M4/JD*\I=9lDtTC:k @&|,'`EݸaR/4$afҋSS}ǟ&ATT_ŠΆҫ͹9"KDDDDDDDDD΁[XDDDDDDDDRJDDDDDDDDJ *q+kbbc5,,1yLSDDDDDDDDĭRJDDDDDDDDJ *q+%DDDDDDDDĭ@ADDDDDDQJDDDDDDDDJ *q+%DDDDDDDDĭRJDDDDDDDDJ *q+%DDDDDDDDĭRJDDDDDDDDJ *q+%DDDDDDDDĭg*EʹCZ1!={Ol߹5mB`` ){(EDDDuT?g`,_2b07H!֬]ǟ*v1#asHh *iƘE3\wf9JDDDdA%"""RC8:;vkqt4aaԋK4rJDDD,%DDDDjڲ}yIZhpDDDDJLS:4ӽMFLb{ڵxLw}mZi\ oO"*ڷm͛H)AիVZGTJ@'yZMۨqm jěE,̫R*Zhb6;R+?nѾlϢY/z5#@F`dղ}wZnقMf;$:A1ʎ6l {c_[t<+c&Dd-k{`f/?,&ޘ30@kѳ6N#¦[-_+ѵqd>_V jDD'IpŏHDDDlڷm˪5k?\تY;m`ZԡcbӻcG!ۻex{qeZ233,V\ErJ p1nْǓg:*v5k̤s:M['3 <9z_~9 VMg4,oPx-u1I8 %~J]^/gt`R3|( i@Z_6&1e!3JFv~Ib}kxo!~ޘTd]Yp6߯?N ^Vڞlpo2݂iE:7 3_<Ư1 L%DDDj߮-7ĜU;G&̻-[[WBCBXǟ_(~ s%pq/^yRSYoaYf>6޽zj223ٲmZPrJDDJ5L(_bb3Hvtg*7W3VI/pkJ$*ēMc_rļW^^u}aZEжw'l7 C;kFWl؟sm`^5+L7 y7YyNHQ%""" DRV-0vr~C ލ'{;Ȅ wA&$x lۆlf՚t>~|}_ДNxCj&>""XaLx;wi6n̠2~8kHMK#))~@|_we>IMG¤ٽw >̻S?d51bˣWsUTa5Qnutmdj";uv&iPۯÔT~FQLKwJNki≗͕|, ]_ZNMm$+IR4?o36dh 6ed[{ָs1~[8z8nٜڡlgYx{{P6Y4@Ν/l ///WdzuYf IIԋnx]??Xnb! l:hP~,*J(V+@ٰ֭q#ii^LnA"""RR%.>!4 wbK#_ܞZdfn]ml8-À3wr Rs㳽Bƾ(K.sHy9f_};ew-[ԡ}a~g6~Uabu7Ʉl)}{׆mt@zv/[ۏj777*j3^`݆ ]UҪE jo~^Ejo:W=5]8 ȥ3iL챜OG!> @&~䴭Z GX5Mqʝ')fDN., o3{dީ1y~}%;R_˃uKUWDDDrrsyI|:Bɩӝ:T\6m\Q jmNFff~YY5ѣ\تUwڳw4t=|EݰX,|<bM)GPhli'g:AvQBC=0ryKsϯwr 1%@w ˕ oϑlmK4>+vahzc84NQu]1wQQ!/WlGbkӥk4־c 0(oQ:EZz_O w ۭ![S `X sIv[O*I%׳:?Æ$bXZ%WAm3sa=oFw N3xwab/~CL'!17 '+VEyGzl޺KD D5lP{={/Xv6ةyg[v;}1Zl_lޜZ*%Δ_QSNg&lK/\:1ҿ퉉hDD| /dR_^=O}Ž璿xWe :ڭrssrp_Ќ7_}ለh_RDDDDn-eڿKzu6%"""RJ?3JjeUc7=wޡ䔈T'"""RXV&>/`ϾLf S\9rj;L29?);M);RJDDDDDDDDJ *q+%DDDDDDDDĭRJDDDDDDDDJ *q+%DDDDDDDDĭ;qyMٌiԮꆈj8(0N;p7kwcdU~E}<==i԰!-3hL|qڵi0 ʱT""RzJPcGWk76q<嬜cɡ#ywL6֔>(+oLfC&n7y;ZjEDD*T"""'~~Hy'G8kq``#G )UݚYǟ]oM& {Fn9PDD(A%"""%O?㯿͚rmR/.CGbғO2ut2糏9>.kӚǎasYf &1d)IIIr\ܳOLĪ5k0h(ڵىO/*ad_>HKKgz: }zƱcVϯx}%#G /*/i3;Oz<(!p>l?(L///rsxۈ[///8|O>6~n[oн[Wޭ+C]MP` _oIxvSLSwST,xk.e^yδ%3#''=K@? :++zB^{ם듙:m:/? p>&//#GwIXL~g oOy_$^z nztFzzIIcgLaqYyeL0 TBCɧLL:@B4qE~NHաU :L>bqw8%:m%-y[RwѓǸ;JgYt3}~}o"p筷l .[nu˖ӻQ оmbfr .Z6o_oywIH<_&`L>1///_5qcF痗z:|v2Z&0 BCKܷ=h~AOE]iڤ }z]+oY30 [nc۫K:ϒΫ/g%/ooDzi˖B59%""UT5ĺij8vp7&܎o뫢o&?8Nc^rw(""72Gqqf5mbf+8js@l{ݎyl_};ml'#3phIN.N䯿ϸvP,fs~yY >!09f\6I:u*$*cǩ]zA,}\Vةez\Ե w{?.&8۹PuXyt^e>Nk'vmJ2S甈T5DvF>Usaۢf^0J TԘ0\9xx“qtXj1h i*98/_~ase@ʼoTΦ͛6+ʼ&O<+nONSܥ밤,ſcYAD|Ooqꐜ::*"R"tsmAddcæԯ#n] q:kgl涛3wޏaa]YܕmԵ#/IK+ayOеsg^|in?}ZaTҞgQU̡Ç Ly=5߃F *)V``7ߙBx326c&&^=W1ٻo?;v"))9}ٳwii9zBnm\Hv6ue__;Laؾs'7ovT~傦MXo:̾\v IDAT۹:lعk7N_/#==TWF~tŝWe5H 99LY&k5߃FS3 0V UsX9X-`G"QGDDDDDDD1*'':u] :&MҮ];^>X~y]xW1 Ç^1cK/^E3j(Ly#)oYl֬F.5\KӦҥ+ӧO}4mڌ;"(.Tz!ڵkGVλ8z)C'=y\wu4iҔT&ZLxп?[?n[RtI,P?4΃ItoKt'>f+'8@tn,PuQV8s8܏Oqb^T'n~rYIɓV6:/(>*q9'Oۺu+)))t~?'*f))"2)*f͚On 97Ӏ\ABaHhmlLh_bpqv%rd82ah ]rӤ@%&bbbxGS.f]۱liӆ 6p7p8X`a 4^`-C=TqS|>𡃰Zkǎ19\غUO*/b-[.: ɧp;4FP$ZDD_!!3 T_Gt(fڹUf̏գ;͚4.WI%T1Fҿe]Bݿݡה!l^fg;Rڼع f Z_;aMg.︋C3f-|ucEYѽopc5F>Qth󖭬XƔݷ#F22۱s zbJX,f2J6xH|-w{W ;wp<)~q/XMpED 9s.l֘?h/ wSZx匹,:N'gwkW'ݡ3Ǔx7޻ѭ$%'~B!\ѣDԭ cFѵs"WL{]232yrҳsͰuJtw(\^Qygr@.'{vN7Nޤq4|m_~AdzoUvz<==iݡTkyyy9zNjf;Sx{+MDD %jnSndg;<Y,ݡJpn9g0 [nc۩]trrr];NZA|%oO&~'&bu|,|}ѿe,{YLP8N^yE+Bnn{ "醱>l6m򕫘>݊cǟ0| /̪ui&u1#D ia}T 33*=\CED䜩E]p׽3:jKU.ޝFQ\ٿ/[K2fT|Ba0r̸muT UT>dsJ*(L\w̧72|BuF_h[^^L}믻АJt|vCqkժDDjQJd2ハC"L&&>8Wy?1;[KKU?<6 \ЬiZ8vh}}}}ZfNdKU3SxېkGqk- $y~&._ҷ`蠫+$dt)5R"""R:JPuܙ;?3OKֵ+׬=[O>!5<, 0عkWjؐA 2g$!O>H>ŕW;o{jf| IO=z~}%ܱso>O?8j;fpb d=EYD_H!^Fzz:)ϯߏVt rrs_ٽg}zˋvt:sYK //;wq:=1 z5֟U;醱rQ6~8n]gKuϽ5ÆҮMws^EYly}NL(꽈|ׯDDDTL~g 4jCݓ_+e2ΐ0Lo׎IOM <,?+oLa0i"C]'ƍʹ-o;nc̏y̰!iݲ;NqQ Ю-Pr_'4$afҋ#k)V{oe>/pa>3/|oeY}ֻSp!ԡ=OL8|x ; jESDDDDDDDDĭRJDDDDDDDDJ *q+%DDDDDDDDĭRJDDDDDDDDJ *q+%DDDDDDDDĭ;%KȑC8NwS,͊ژL&wS"ՊM*%^08pǎpTxűZR~jɔo;9{O퇯)Vrr dhwS"#}hԨQ&&&V8@nn-[lB-t6oބ;9I#j#Gp0ͤ;blۏٳ? *J``?F۶"##Rq&f͛z*%DDDDDDm!r080l;R3-6u277<550 EDDDDD!=qw8c2Zj/b2 'ףLuACrԿǮkT.fd)m+iͫ '<8k_Q|kFO_SJPTJ؉6oq׫Er Lp;޶*Oh7A1/T"UT""""""BvF>~r[-6AUM?:.#6v?Ǐ#--ق74hE X,ƨN卵իƫ> z1|pn&l6[,\RPuW\\+W.ߟ֭JppTv޽{ظqu 22!K5QT;vvPbcc~ibccy*3>)Xj5.8i٢Ç\ [oa˖,Z4oU5=z8zvg૱l8Zlɔoӡ+#ft1 g,fQh{rr o;l.h֔;!:)9xF\kPtb26fDD+r{~F?ƕQ>vaMR/"]) T~\j6a𴚱YLX̮LyN\~l2a52W9'p%&Wr*'I&bF^R3Oe.ڵ3gk.Zhfbرcx aҤgΛqtˬ[[niӦѺu+nfvСظqc~_|L׮](1~v".. `ժU 0u2w\ TUuQ^q%___ڷkClٺ-_ՂWl6N_9_ ?}mSrssKlODDDDDL{)\ri޷ܷoXzUL`N*ҹC0mRW# "'KUV|>+>u?ˋ>Jt(vê5k֥"nԪU9u:0/#*Qr__;W]1?,-TڷkGpzg#G )lpYLxL UmY(+#,Nϖuh^NjvA|yN3#yPެ*"鑑ӲeK O)?s'ef3HNN.Mpqms~˻u놏[nQ8ZcFGGpB9Btt4 6<JګjG?tN:LHp3k/oqeVRrٟ3p:ꥦ䷸[k{|?YbH9rFp䕻 #ݻP8YYY$$&ЧWm6:ao0j1AVz/_6/Lc'Gtl;΃Ito2e1^eAU3OUEOpBN:v3mXD'Nf,3Wcn %Nfxssr0[,幆h1EDDDDr8X,gwW5<-<0'7+aQ]I /2a0H^zr$%lj/y2͛s↻YCMΨ>\bul6၏Z@ϯPʪ~vE6fHޝ^][GrN3 L;?"""""5IA;vw.Frqvߒw<`^`BBBK,8 p8 'dpү&J6Ez(̏V' pkU 5jI%&||b୷*m7_Ov9">~y9i$&M^z)ꠦ_xzzYfX ,_ڲbUt֡JKKcOHqx]S/uJF4զMX3=SDDDDD* 9x0r'ILle^^^?6/\#ѩC+Ӏ\ABaHhmlLh_bpqv%rd82apݗ9Xeʚ~PV%'|`^G^_  [ 3L$9\ѯ -EؾHQ׏X222J8+##{PnD߮m֬]ǡC%K Mpppϖ8 u8)))\}dMrx2};oLDDDDD*'-ZfӦ l*drݣ &&ma ׷O/WmE7"QTϖq?Ng-g :2s LeP!}'6;LĿɮEP)AU>̜nMSN))p8ҩ=.ZDDDDDDӓ&Mz5K'46v/^l6 tFzzGfƍDDԣUxxx,Ξq_g+jqR<BU a6[HHHnݺwS<٪b~ mODDDDDo~~~\pAs@l~ñ\222HH'33vV諿 ?UM[H/r^oU޽ PJ#))J;ɡ""""""UdnӠAC8z%{.1-x{{LzԩS__1rj*%j:zJ6lXKnn)lOO;fhР;"""""RyxxyxT{dd',,@PYe)*`*(j-nJUՠ}(cĂJ *DHb2ÌuM!9=s_͕x<|2MSv]:jX9lCA&┛KX' .4*l6"##Cvv#)CrDS[vYCbK;wf5~PP &%+4AFgk×j٩IViTk+5npқE['Z=`Z4Z *4Tpj<~c2=>TeuF^۵VG JrM XDD<I}K` ^XN(uVG i -}(5k\v+99/ѬQiiZl}J eK *b*//122JgVZ:l% eeeJMM:!Ű:~(`) *X (`) *X "jgϷ|V PttRRZfYQr\j߾CH PP>*WORllq8%KZef:N^***}vk8 0g7W0 UWW[' #RܹC#r؃*Lx?D'5$ -Լokl 4PӲBgz{y%IQV׵LO8hAURRKΚ2Ol( suuyd-Z};鮻RnnԦQ*/ߣ?\IIITTAK.UUU'|BN̈́ i&[NIIIѺvզ2eVZ> g}Vԃ>ŋo߾:A%''K̙^xQ۶mS\\/yǂ?T=ۯ7~W__:\C^W]5Yz?zt;Gԩcz622R%k-~6}%I8p`r\wuS.uueVu֭[?7RLK^:Bv=ܫիW /TFFϟW_}}̙Hj{\sO6M6\'Hƍ^ѣ/%\zKݭիWumiر2 CIIIǂ?T0Mx4Wttbccս9:Mkm?7".N3v-IJII x_|˓$G#GO?3gJz讗_~Y7TPP_~I۷5z/$߻k׮׿%I6b z{]G$[sj*\R'Nw%Iڼy,YhӦM#4w~S%\gP}[^.IJKMmpp(yv{zْV-35hAզMIҮ]qc,K.K6lkڷoٳG۷W۶m%I|NvvH5kf͚`XSll{y-\ p 8w~S'< xIҞ{`l 5OnL487Nk:t ͦ ?>yGg|a;zkpm@CJL_V7qD͟FOffZjuW\? ڀcO%4Cڟ)ݮ7ywk_cYc:fi~8z<u-Zh7ڶmLKy<Z$SN5k֨?v"lذA:<'++KTZZ^z5J222SOh͛7kժUNw<^V)uJKKUѧ7ǞPZj?L} 4Դ{[5g-\P]vQ][EEE:p֮]s9GW~~&OIYYY?_~?)==Cst7;W}=]{޽T\\^/^|efSMM>sIRrrc;gxb?04r0%7K'Tf=/GÆQll**,ނ*RRRhQ|)jժOT~Q<=ג%KYԩS'wȄm޼Eo1_mڴK/={sԴiӔH˖}LuQiJ}{]>O[չsl|̱Op$]bb\_y^ Pdd\. d~pm1`=[iiijթM3ԣG;V9\]yxc4?9[}:FJJv{甕){oY7NӶk8& 0K@ #S UddJKKBh@9 *4i$*L]eȐaحQYYHn?* 0MtPqrJIiaux8PDl% OUQ_n8].K IvZQa(..A۷oܲ2TfP8Rxqr8"lViTDD\.ڷy5Ta⣏ t:uՓku**hɒE:|V(ףJm߾]ڵ:a*LٳGU2 CV C4w(%&&(% [NgLӴ:JLӔ:J ~/ TQPP( 䢠(`)6I#,(TZVZZպu董'/8Nii1b)vIIKUUU:tHД)w.\n餄 %Zvbb\߆j7յs }iYa~z^uVZ;MһuyR^^.I:x?[nܹnfݻWt#9r22Zڻo|]sf.2HWL_3Aes;uA42MS{њ5kKv*I7n^{mF\\rz-wJ.~%KHg)77W)))=jڴi *>>|Ϟ=r:4a9=ēz?{v%%%jq>}7o|M0k#<뮻Nyyyҥnl٪Q.Ӻu۲1c֮]۔? OڴYnG/xEGG+66Vݻ3ڴVцs#"r:aAoƍJOhplРAKj*\R'Nwoyf-YDаat=jɒwӊ+v5|x׺\Kzs]WW'I޽IF%gm۶9rV\?>\R˗/ׅUG_`.`$I}ȑOgduM$yzgg5E#RSw8JiŻ^xi^xi$U =}A4ym۶H&M_:UqWYfi֬Y +..V.]_R***tR.H￿0YYYHG;uHT@?f~EEEU]}HTQQh6n3x`^zriÆ ?zYg%Iڿi(< xIҞ{`l 5OnL487N7I߽{zys݊Vbb'jذ\)~vUX gϞjѢEPe""(I:{h䛔SJw}Od7 Cvڏ{3uYϔnכO']?bmk]z0NI@c:ATGeddhĉ9sf|NLG4e/X74YKٴi߯tBIҝwQ}m$]TYyY:u$I*(X &H֬Y*؉RuAZTTkΪ*-5MUEe3c4[o̙g}VcǎQǎ_JZh}*.. /]}$um k֬՝wީ;w$oINKK$֭͘[E7?3$I<6l(iֆs905yM?EDDox a9|%OWoYD垗aC(66_Ps\UBBnwz>}xq=LM6MlهTNeڥ^: ]ۘaÆwhjݺt{_{5**Z_m۶iȐ!***_v(}'Ztg{?z<=ג%KYԩS& V.񓤘.Wz++0>-5U?2Uqqq?6$|[W_+ou&?gOVZInu𜲲+hq͠銮 0K@ #S QP*z(ˆi$*L]eȐaحQYYHn?* 0MtPqrJIiaux8PDl% OUQ_n8].K IvZQa(..A۷oܲ2TfP8Rx-,֗6㩳:Npll6IY$ ͦĄX%FZc+--1ƧhνjӵQ.4jO|Xk%'X'%{uǓ󴭬Rܲ2dfP7!QNIҾ=7*>ڡjsM: a=CUrY#h*5iLTRS!| IDATPDA˄B9uT(e PPRA}Mog s14bnd?~J>M^ӔLf M$ϔH e;Rj|fXSlHA.kժ˗/WZZzaIҡCԿMrWPSZZ.xXP?JKK:jAzvϖMQ6D+!ڮx]NCHC(?e(aSdMNHCNC2 [IU3CN:F;wTOm ''G-Zm޼Y_T\\~>7100ԻCtS$*jXRkPO-#u%ꁷvi_G^Թeta[kwk T@:Urr֮]׉7kСR[ͣ MKvFH%$jhRb';]ҝzjQ\^IR|]#%Vg*wXdxa mR*pWWW,]u;wj̘رt[oz/ oF&M9BE7M6-g)==]555rz3ft6mPnn/͜99sԯ_nFg#GiϞ=&EmJKZ;AQ^Y^'X8./g]e!VS4?n7 /[oBpr=jݺ }z=rرCCU۶gk׮۷O{ӥozZ PϞ=yÇovCmݺU]v$%%%jqjժ̙3Em^UjdhsI}zpS{O5X]PUVVjM+c v$Iї78k׮? IRff;M2EcT&\縸8=_??3mV#GʕԾ};I҈?6m:X8l2lR3gϵ8y=EGNgR<ogGU9r/5qszJR ;jٲ -_ewY,IݻOЁڵ˔$8pM6Wvv.phϟٳ_QQzUW$UTT_~s= ?ЕW^nAQQQ‘iQ%SjSid)bF#{=9O7j{P5}Iq u'ts8/1#kͮoo̙jڴG4nTAA&OIn[SNՃ?֪U+~+BzG4h` ;3%Ԧy> 'W(\2S.5NwTݑKԷcY'wR :H>t|L;.,SO=>|6oެUV5:n|*=dգmnBtY$MBUP_POf^]i˼XMpL3>zѣ=\͛""j.So1d>Rii钤3պuhbŋv.IJNnp,ܘ|)WrkUvօfjhvU֒;++y[Uz%IG *f9JKa+ ;$͞뮻h"+==>kQQzBm۶MC QQQ$J}{]>O[չsl|̱dJ)}thZU){d"[]S4 ŦÕ(M0u뮓y[11 HҒS[?ߧnT>:b>&]c;?v&?'I>)S ;_a ~{ti68?kӗslR^u3Ckg!9eeeJMM=E'}-_\u1%L5Iwn~Cu&gvq՜̠ɊRVV6nܠW_}M]tрN;kݏ6=Yt *׫H ?ot;F{ 㤾@!~ H'v2FC,؃ 84} QTFA&QN#euD8ڲcl-ð[' ۣ;wf5~2h2 0ѣeZv)glqլe;=J\fV V,XV)VG ,JKKX_{u˴v&>TeuF^ ]2B#Mn7B111+++Sjj)J@x%LTMMjkkxnl(81}afr =cX?oT,EAKQPRT,EAKQPRT,EAKQPRTTpbx^-_V>89QJJ l64*""B.Kw 0Gr:I:N@d">\ViQEEo߮vYCA&٣*jpDj!;wvHTv{T^^nu{P -3ZiZQipq[%ha?N(H(SGRVprQPRTP VZ';ˏzǕdeusMO 3>!4*''G-Zm޼Y_T\\~hp@jgZTT|K>lzpE;*)-Ӕ5L^-329ӽ 귿YC$wޚ7oUPB͛v֐Ao>-+,֯_W>Wn]cz'dj{}3W:#Fhʕ#F(--]%%m۶)--]ڻw$?Yt] A=/==M骩՘1cեKWisrs{i̙̙~u6:l9J{it,ԘR`ݷ_o9_]3^+F_믙Ҳo~b:fi~OjjuNHAuu)//O]tuMҖ-[5jeZn.bI'|,IZ#Ie`/ Çkmz嗵uV}r8JJJ4}45o\>8UZzn}hQzu'|QFiŊ֊+t%O>QddxLpMC3޶m[9J+WR$I#F p[{lڴc(\my$)-5qáY셗f녗fKZCO.6n2x`^zriÆ jݺt颏?Xi꣏>RU]]+>i䓕߿bcciFօUٯhI***ԯ_?…+ 7ܠc)< xIҞ{`l 5OnL487O^tt֎fkxcÐ^]|ںu-P{ՠA5pںu.]kذ>緿Y3g>iѸqcS<&nM:U>XVTX ѠAU[[p,YڃgnwopuwUN$IK֬Y*ѽ}Ql6 0@ А!C;Caa$;/\={l0zREE5|pm޼YVjt,Xڃ*--UOV}G>X\XG{Biiؿ3>u^{nxznZӧOWڲe1BQn.I11.]пz @ ڴHUpX' ۭުVG сJLL: aVZZz0PYY>TvarhqeԾ}F-++Sjj)H@`USn/U[[+cuvNbbbNTafrrYI 獂 (`) *X (`) *X (`) *X :N^b}n<:ff$IlJLHURlq;n|z6ܫ6]:NvoTɇmVZrqQWw<9O*ތq-++Sjj)J@x`UX~$۽Ms:N@) z:wt؃*L>T(W1殭RZX?4M%:%YETL(SGRVB ,TT:~1 @SQP-M#5Mɔl6ɰdJLP#)g֏5dAժUky<KϝPGթM3ԣG;:t.bjڴGNsgKIM" 96 4%ϔ[_ 6"k4 -V_Ny|&/̫MA~58ֽ{(ܹS͛7? KGfLE9 E; 2ɡ6j:TSHwI*kz]W'un?]iڝ5&E`PPlRyy/,JNNڵk4G~VnaӨIDݶWSjRdSSO-*++Ikd$}LEK o"ᑼMJBCN[vܩ1cƪcNr-=*//WZZƍ?JKKҥz5fXuUmڜ^9s>NYYY1wyWii?̝;WtATnԹstڻw^iizꩧuWCt7_GH0lRݦH }QUz5JsNrF%I[vb>%JHCQv=L 89A{nx~!%$$h˵c :Tm۞ ?з~}v5~8jJsՃNՙg6+,qKW_}U.ݸq+Bs?=M .@OlG *æZDa7lC"ZSݦU^ZI67O}@Q잨 H?%hz9% Ԃ {n:رCÆ]߃v\T@jBAu,G- Ƿ:z7h䛔SJw}Oz?KM{DG}ᔘX\oĉ6dff}dJ>SLm*ӐNqzb"eSfJڥiy}rۢ`u~>E};&Iq-A䂪CO?]`<>>^W_}(,,$yշo__?v:x1+O6lȑ#u!UZZ^z຺ƿ\kWn+.ڡ %w>VUP_-(ǧCu>՚z{v.=7II&sռy+"¡̶zs9}4i^,)KfxT֭ӢE."B[ֶm4c oJ͘1C{\Գyӧ~_wӵ^ݻOzᅿÒ)gx%пVkj]xnfk_a-YSbUuWT{2l6]vٻ긒I$M4Ign-ZHqqqj"9?n6-YRtM4Q3g>'IkTT^￿P۶mӐ!CTTTvi뮻}/_}IIu-ܢ>}fjڴi_e>Tff:u2I2%ϔ>ERt~-*je=2Fa bSJ&E uռ|Aſl%'%Xp&LFwq-{8~1QuvCaȟG$ϔoŰIQ=49w6)պ𜲲2DB)fJ^)M2Fwtv#6I>Sd3ﱖaCA?%~@TNRA5tP[#PfPBd 7 0r}Q.%ԖuVfk8mݹK6@QP]ֆ/ ղSO9cӨf-Vj*7:N@zfJO: aVZZ0P}ث۟_7*4zdir x^YYRSSOQ*,ajjjT[[+cuvNgDA+;6M.K.WhNy(`) *X (`) *X (`) *X (`) *X (`) *X (`) *X (`) *X w#IDAT(`) *X (`) *X ;vL 0e1 "M6>}@J %PH T*R) @@J %PH T*R) @@J %PH T*R) @@J %PH T*R) @@J %PH T*R) @@J %PH T*R) @@J %PH Tζz|ŧX;@uAIENDB`easyeffects-7.1.7/images/appdata-screenshot-02.png000066400000000000000000002066421463533416400220310ustar00rootroot00000000000000PNG  IHDRT)sBIT|dtEXtSoftwaregnome-screenshot> IDATxwxn6)$Pґ`(""6Dx՟Zb* ( X-EZ  mwG I6 yå^B @`o>b29d2drssv1LE0Sv]UJlM Z, W xGΝ]Pppbc[x"!aԦM;ys39'3MRS***cI=r^٬֭Ӗ- To^t9grOڜSQ~@UP/Ż:qSl6!# er&9+Un{ϲgΙ{[5}@9uPIp݋LGTZ$s݋5>:VM.^+Wd2=j,^^. րj՚uڟc$t-?kt5F=\P-\DcF,ӞޞBS]]}+V.UPvݷO[رcӸQ}rssf:>,ժH bf{6thc\aoiuj\\^ߩ*%KEte}0#G-b;}}|H r5RޕQXX \i7κ/f+~EIk-YT *8(H{D]:u*LMMձci& ?~8կ+Wi֜wKX,j#G{ Kş uucWbgLux3=RnݴlגϗMԧwoyJKO޵sss)~EGSp+44T)J8pP5S5' @^}vk^TLƺn+QrO /{Wr}OR0]a(//_?X|K/<"]T>Yu]wTOW{ N{sδZept j;W4]\IIڴyK_j ]yee;w*<<\ݺt)i,r5֩UQfVVT*_7V$i7X@gpۖ~$MtUf/YVI>L}v둀l6K&SsE:cT~}IRFf~ m޲U^sU@5o'Zײee7ԭ7߬.צ[t;c]ʕ1j=YYY P45Uݜ>WaaVZĤ$fŵj z҈8pP^[Vy;Z9}\jjya0 sPEDaÆ:tGV޽J*V>+.N[WZ"%:h\L{B WNnf5S֬fUn4e%U^.6T6oѦ͚tDI#uyyyqO4pZƪ@yNk UHzٽ[?-ƎFahUѣUwߩ})ժBu'Z˖nN@PPXGjM:6[;ء"6?n^ھsBH}.]{h/Tvv^%}=ǟzTSQ#jx9B͛5S;s{^EK\l qxJ*(,Ժt4Zh!?MP&M$˯($$Dfܼ<=s Ç)33S3ߞ{SQVVRcƬ;G4o%:GzPEEE:tP55xr;&ݣNdҞ(:ZoKuVUNnyajWhΉŁBrJFLO?Y\9ɵC $I񑏏:jj*((H]tV`@'$Q gfV&&,m6ڷ0U 6U~4h^={ڶ~&߸>j5WL@ У> @S&O:O$]4BR۶M[~MW;n+^3"A^NYY 9|NN~\^z~]'_>ڲ7mJ 娽=?.:W_鴩 \W^8ϾI[^?)(0PnƍJ^rۭۼvjݷeY!5kuK+0ת ͚j*-=c2eZeuX$U؟9o6ݷϴjPfzIH%k uZ.$v*ğM&sAp$ UXXXrrsu4筳$իW_͛k%jۦQNkXdXԲE$Iڶڳozt+=/ZPs?n7ܿh݆t%e~ufYN?]9O^vXJݺvQPP ۷WttԪUK ]xBr>\^s|}|o/^.^O/)uܑ#%UX};gwQR;}N\E%brʬ!kQ"IRjZ wl튎Tr zGtKJfTv#1 C2se/;*(($895Fh%IڴRٰ$8 uʪ\p\˖ھw]8}ym;v*U+DIt%J8p@۶G >jsyN|E6lXܼ2l6kg 7ߔl;U]+~?n9 /Pm8\:9Sǎ. PH'^4 .**R澧9ッ~E3ߞo^͞Q#5hR5isWXeۻo>Tx@uy yyyx B8_E[UE gZ[;{ۼ$iB&O uٹ*2x,:TG\Ĥ$j=͛5SfʹcN]*ys%&%U˖%mǎuT~HpHԴ45rNs֜>0Kh+GqZD۰A r99ڸ)^/ZؗPv/'fȆ ȃ_MS[Y[m/+55)g+^ǟ~#wrrJh(zV,T%a߼Y-b;'++KڶQ.тЯSJa/]Oy$55xr$k;&M4wl׌kFK>+͛w2GԖa ֓GN*A\tlt]7 vڭgܼ|]t:p7j$axFɶmӢ>5Ѯ?Աc%KMKSFZ+5A VcYmTb):*%w*Ð~YZhg܏^={hOtCjk(ys5nEm;OڥBahͺu%۽Ĥ$j߶VY&+??_%IjPZƪ>e cOCv#zf%}:Z$cf*^Zl\~Qw;EUNNB5v5$|ٻOa]P7gޓW֏aPs?WÆ B:N6]nQmet a+IBiuQAA )?w9npS͝3Lq?wV8K%K|5sT{K5F\q$ $y u訆ڹZCTo6~W^Q2088X:vM7Lyyyڶ}~ulVB4h?,[ $զFfI1c4lh%kZ mˇS ٽ֮[|u飵뫯Q~A%ժk#GNeYuaT]_Et~ǎZfF^yu?~\{l%PVU0@п7(<,LW;ݫ/\nզKַ}Sתi>KhƍjܨZa%-.3{Ԣys}Ï G xlݪu7hKվ][5o֬~\?O3 CoQ/K6C:223Ͽ>TaA6m{d`EJRn]4զuktun8Gu}&׮a*,,,1$8X}LRk-Svvû?e˪"p=L{ffw ?Un]]צJ7 bѨk$-^VrssNG_XYNVU~#[*>t촗*""BǏWQQQIdR``|}}e6eٔ2 KhGl6z̊i#_l6^z.Mpp檏%71 i}// E@"GPQT(*xP}e?|w""tхV{X]:ur[=x>Rwgƍv~2TM׏ӕ/|}Kŵl2pчpY-o]/巭zGK\  |}\=_6l6Kk ;󕗗amPPͮZMi9uG= %Iîn]:i+;;GoΞeҠ5d5vz1͜&&jst=ӞyNaaKھ{/zg5⚱lإj:Ns$ʰH:nPPXJyfshS|XL{\ /ji[3kæx-|iqztzU $i`~Zfv{Iۊ4_?Ia+A=ē2 éPs?׎+zvgOJQm߬wݩ`EF6ԥC.ѺKwmc mРճsr3mvۻd.m۪aMv%;cpգFu?GexsInWRyyy9իgb:oUרCjPٰ:,T}@EdXtB5͘5[w~VZUndPa'r:nH={ ztS^n֮_߶P>7##CGSSۼYՇڍ ӞJ(oP'PvvK_WxSdZ=ڶcKQ^7gcv )}UFF^{s΋S븸jtkOs%Izn66c$iҝCzi5zu0kp@?TwOnS?RCedTʾ ueNKMKMNԂ*$8մVNtA5WT(*x< E@"GY<]f>ce<]NeQT&Muޑ#UTT=.)rssk:|7nr&T:ﯿRǎu45M>*(,TN[nS]js=vIrwe6{kϹyj*"H튈'A*RfL@aHEEV3Q||| IDAT@d(9%E+USL~TЬiKi"zT 0 `>YR<ŏIm*NH9p.ՀTxU&1֩a"6gRPpBAAarfy{ŢFQ=rw|5zݺoЮYUxT*TLԷO]3zB?j;S+73+K/u tPP7oO+gԈ4+*`b"#]Uj(*$I6i,:I[&| WFQJ9zT۶-*?_ xVYˇ_*IjLv]իg͘9KiiiXdof͚1W+??-W.G\)?n7vF^yS0BLpn#g'IQŋK"??*??_ii2 C'YnWtߣ[ݟܼ}N:t9 $@Ç2!UU)T-~)O2奢0Py9%[dXhG2Mf2I6]Ǐtt5kP]wCI g}z+,/5l4khy_]@@ S3Y;"<\a(~fm^f?T&1p@9 k&NU=uQ^ş 㝮&)(CTTX捸*#̞.0 0JїPs?Cjվ cן2 C7Ё_ Ow|;F7m} NU3t+.S^^^.7 D*T+y,ٿ~t_^}MY9 mCu\+uAÇ տ_|E䢋0x!}6!?__ }p~~^mʔLLbU`K[|ڵˀlW\\+<,}cǎdR``|}}e6eٔWOa(//OȐjUxx233UxbZ\``uq]9`b6s箞.Nߨï1@d(33KaG,egg9~SYOKK-oNNvejblMG@Nӥ&ڌ T͛5aAaD8?: TY xU@@NN;͘W:|DQ.nF@$x r,#Ϥ#@^ETXhKqڂ=TMrmtEe}>d4kλ.s:zT7N-bZRMMiyl闊kRa<%&ң=%TPK*$8eH~.7$__o~TҡCz՗J~յsg=S|q3_{.s5TP;NO=fyGùZmzslm, 7 c^^^{-mشY CqϚ;g$n.5e5Ezg IRvvNfƍ]ĤCjS&uV¢"7Zfrt^\sf̜0s%շ_~ы?{^M Ðnלfi Y"p$///8:#UPPP3:U:~"""45?k5٧Kvju,RmdmA@TAarrrJ򒟟$P&y7j$???=ē Ԝf(/7O= јѣ$I/?>-oo^ժc2.E6lWxS9K$oIzfc ׎;i֜wul.~؊4`u!qZ|^f#򐼼<INVnoӺ$)))Iַw/J5__Lyѽ=i띹())QO<$_~u3Y?~8O#WKm[ձ}{6hYS!lK\u7JЪ5kuwEls5Ѱ!COקZũ^z4p@bZϺմIGn2ճsrE3mvdQɯc߲7]AwvkIMKr*7 mk߶PaaSV.W=u #xxo;˫GexsInWhIҡÇ%I-bQ-HXhu}lVlfeW=ˊUؾV^ګAU5[ʴYV1snZEWY uM{K,^?vܼ^{dwx5Fh'TXXXV^=?.Jѭ۷ILc :D5raU3YPK_WO,DnZ=ڶc$ 5fz[GPk7l(u|xX233eVYt m@֌YmڼE$u^s:vhޝfz@sy O7nRZz T999:~*}F׫{^?W<~~~ڳwFb5__(;;Gi钪 zQ^?)i}C"d:YD_ Un4w,kdgw5>=wӕ < 2D Oy7^9ᆵ vR5K_|n6ul^O=y&k | 1Q1FG;l#(7T[t[#NMKMNԂ*$8&=YB-u[*,(MvKBfLtm7j+t #jͻȷ^D߮'{7@iV);oW;>}JRj7+K`~}o8l?zA{λ|SG\>?O\3SPwXF];wSA*sL:԰E6%Ij9JZ:(r:j~)u/d*7)y{F%i{mcT?/QеuuK6M꼪< M^pSD 5?DKr`>ASّO<ۗ zSoJo&ØNfdeJ b F/?t͚9oPP[j pK87U)oͧ}SfNi)^,:wcLfo_e^s8Vkˌj7r|qd j*I!r0&(7n[duO )ib%[\㘧thÒ2ATHL-*?*oJ`X\/Ɣ?}ZթQTY2mҎlVi(XI>-y;vdi]ObzTQn ~NZ1 :Ȏ+bRdKK[uqvFVLg P)uIVpa@;%;e_G5Oէ: L쪂P?e뫢Bpw?f@C_p #pL8{Sjs gY_2Tǭϕn"Ƥ /3ћ3VȪ씽֠2NLcdUUz߮j*ZlU!_ՙ*{Qf {hUUp*@et@SȪ/S+%IܬK'QVUu&___OeINNղeK5jHFRQQ$ 7ܠM*&&Fv?^?S_111[ Fe3F-[TddF3ߙ u PcXšET@XL/o5 ꐜ_>lOMMՠAԦM]V;wԔ)S-Iշo_mذA6mu;?)Sӆ TXXk}\K;NǎtU_jذaZzvܩ9RVy{)~9`ظ4/T)EynN4a„2̙Ν;,i0`@ɟRO4ISLqӧGU%Iobcci&u, G}/´sNU޿ uU]U`ão%8{3S˴] szDED8~IҴrJ%m۷K:bKnu%UOHV=%L{f0VjD{PXy˿~thm9lc˴[|͊0F|rDx]RqޣܲR/R{P+IG6#[*[?˝uV(Oך%_YJyS=\ǝu֤Zjb=5Iizέz$I!*[a{shɒ%z'tajJӦMe]Vj"z饗4k,NLL6mZE:tˮe˖) )Ws_ܥ_fE2U4˧S{JYװ5M편=iQگYck~ʻr?f@:rz›<)&&F<_hرZ~ڶm+I:xڴi#ͦΝ;AN1i ]z-Z;T5\H>L8k-|~ի'___yyyU?9_=z:uHM0A ҢEJkڴrrr}v 0@_|qob;)44Ԭ,RpU~R띹rMA@f͔= #Gd2)..N/>s}8qb}7iD6MjҤII}Խ{w^ ՄQIprJML|Zh6nԨ_Ԅ1 j+B?C]vy' W߾}7ߔhʕ+ϸf[u>PTTGVa@g>=jqzgRj_WҘn^~E999ҧ?smͷhŪ5gp 8}3 *=tIRZ1 jT!_s<]6M~EO!_[Vi3o;g;/qwYYVID=;EsMzה]&~p6&LJK.U~~fϞ~Mcǎ$=Zj򔕕^G孹[ڃ>~Zk׮ѣGu]ww,z]Gj̘1:u Tja;l20Zn.]o{իǞ|F6Mqf1knz뿯Ȧi>_-ܕ~>ZPwPo>_\kb34Kn:Vy{eo3>Mgϧ~ IDATգR†ء|z5%護U*sM7^zWwQyǿH#B(MŶbDE!v]W`G+{UA 6 $!dyH2\(Sger琛E]DTT#Gcǎ,Y'xvڱh">ڵka$$$pmѱcGv7|[ Ɯ9s[0`6ŋ,_3gd޽<#:_;w>T]oT:qzW3|g]:ubw)}z`MSwD~ݽ]]Q{W9!r[bcbӻW=N8}AfϝWU}>.;1vhs}{ǘQ#Y_3ϿZU"R_uZ,&ɓ'3y̘13b q̝;sV|ZߟzאZ[,f3dgge6PzkсԮݿq}_瞡}G_ mlgxu|xuW}g~&Fm*?jB&Ҵk7* :']jN_G6mANIܟlE2$$$V>rS00|ֵ 뙏 x<=y&\>JMI9/w2+]O$g[ETk"R{^yc!iiݚ+ǏcPin6moͭ7VJDDD// ** #sVy^'44lBCCX/<,*l7ڛ m?4L} ^ /8uWYC.]_Uisrx޻+/Wr=ՓmQHev;vCХs\v;_|Ex>~m'3yi:vy:k/Woyyqx^"'%ѣ[too#_\+Urscڈ㝥O/1Ӈ>p}՚HԪe SR8Gws1ddYd2ѶMk|n-6nf)'JDDD{~wQodvS=ݷOylHz7+,,dm?OEٺm;N.YFzF+q7-ᤓNo~_֛Kq 5˖drS\y <;ii0?uG^w>[V+;n8k/5kq S{.gfόryUmGK&Ҵjْ﹓XcsѱCfxAlls[dw[JDDDʺqp1L&SrrQ6CQQYYY$%%ҿ mV 9QO=lRSߢI۫V_oӦ $$!** Ábrߵ7+T[˖-ٶm yy4pfZV2au_uQiL'-- SXXHfiѢqO՟.4 PX\\U⯺4@%"""""@Ӈ"'4`f{yZ PJH-JIIAwpxJ*x0 ]kTJ$""""""zi$VT⯺A%"""""`HS@T"""""" $՟.T""""""f+ ՟4&0 O$##Gw+ V(ڶmd*wBO-Hà*i2r99ā8!ԑZlI^ϋlUS20O9e`jeDDDpx+y< qWji8bpKx^KzZe喿dn~_},r,Cz^>4\6v ];wa}|}YuDJ, aPPP_sDEF`HzϪ AB5R/mfc>~HkoGJJ*=w<nbYޯP^}yw?Π&EiHj 4z RTd2 e6,V+'#X,|viiDEFrYgrTyOӖ 7ѧW/rS}<ҵ7odᒥ$Oyx*saa!n!*2ݺkyYLV=͛7o?љW&\_xkXOrr2-ZIWҩcGeoM),*sNL0."6& _{}^q\'1}¿F_}ťcFs`\*klea#Y4咑#x e(~\2rVV4[̍DDDѨP-Hlj{3=/{Yd);q\7IAAkٌvڛrdڷk< Xʫdff2s ,32wn,oux^rrsi$$gϽolٺ汱qP^z5Ə[|& ~FN;ԣzOUCBRKN^ضMkSRk T^cCN>ѣFѼy,~/MHH7X,o %~""""""gX&3a5{ƃ;/= 0HKOcmL< MΰŖ| à[pء_dvzdd]a,_5So=y2˯j":vd2HMKl6lu\Ch"9Ӫz]%xZx8e`ko#&:z0ۻ7k`ÎrB~^׮ڨՌL"ECLl idXΝ:`[:ȠNtV%gT 믘Π&EJ ՂO<ͷ |ߝ*S0 \[Ъ%4$~Nz ;h&^ve`q.=pLlS|nofb!y}8Gw6nLc%44͍V\%gEe~O |}`) PXm f\.'ǟ~e˹t%DG`Zyk"A&x<^pil'Vwo.{)CO9m 8N*\nïv [wF}*ۧd:u>OJxxyy@5_i׮-=Uf+G3kJsPTӌʫxpՔl:kK/_kmHoFne:̙{hNʕ-0O8WOaΝuۓUrNMKwKa8v:t^{s!r?ٱW ~Fr;w$*2Ʉ_<=]#`<%K3Irr󈍍sѽ[WX^}ME.ڷoύ_mNp<}%ﺇcw2W֮ᚫ&WCXVz<ַSyz|[:k '99uxJ_xy7x8].Z'$pqDDc5c R@|6Zu]|CcK$&:2ϸ*s 3ϤE|<%5uKy<ťGɦ~6:$+nbٲ Rk9|*==OƉ',|Ɂni7qLU뭕?)֯!l O?;gxf/&m۶~j_KWԼ9جV<& ՆM ]ҵe2"//ŤkۧӭkZyx{IeP<EEEdeeH'T?n[cjntt4NٕXp:L&q8f<`6jb2pʶ-i+**B.9ۮ>XUL&"""p8[xrcDDD`i֬fMQQ!!!ddddو&55Lvӡrrr|1;yyX3ή];jk1j0׋餠ÁYTTeEDDr &44p %..,\.WoӦ $$!**ʗ_U~%EEE|'p lܸwyV׼ys6oLxxXܿ4LGb[x2~ذQG`'0gޓe 6nO^L*3x e6,V+'#|߭]ǻ@jZQ}֙9\s ye+iiitؑ&N8^p,6lD^^;wb$j /`INNE\=J:uXeU.w19}ϻ\n߿+%en.;xIOOSN\3Jnb7pR'̼y{ժմ.p5/ғzxܤ9Gz݇?ۖ^>Vk99ٔdУ3,"=}rGd]kZnn5;bcyeDAAəKU}) TBZZjl5U}~__äIׯ|aQmIV u݌9nݺsI={6aTpN=z0nee={CFxzh&.>}Ҿ} ̳> qx=z Z%0~?//7[ >kזy}SN_p!v:ڵg^17ס<*OY3yk"F'/<{d  &b)'0 6mLFF:餧ɡ0xxNd䒚Fvhٲ%-zm۶Oa\2r+;S/^MzFە>դ6k.pQm~=z4Gݨr*335kpYg{l۶;שּׁp۷Mݪ\^WNݻ7Y;1c0p/\-R={r%X-F9Cvv61j>Ɩ-[/lۡCf͚`7|su;88t>3zzj[ʮ[/>N:SPP?x(*S[]^+N,l,wϞKXX(gy&-)p:q|ŗLޝo}ntre;ض}=+ƳpR{6 <OBd54.?iLI9r֭c˖-W_宻f5jw ..ݻeڷo9p:.K8:t(˖-?>+V_ELL4Ç{n?f1l0>#."̙M~~>v;Wjҿ,x;^^=4>lz}ˀ|8$}]Vc2m-у{d^/ڵc1PSJJ -+TDD7ѭ15Otto򄆆Naa!DDDa;pX,1*wڳX,ƒd2l6x(((Ldd$VɄ&777pqӸ[߯& ENN%gwy9xo6hRSSl~Ԯ];ׯjVhh(zL37\Jڊ#++ E||?՟Ti𫾪W΀\$hJDa+n48|+8]+j׮U Pj.Tw*116'44z)QQQ!ɴj@6mje?WuhHEitIPHݱZ ٽ{wJñ섅WfM!V+6 ݎjhJDDDDDN Rpz1tԹ(22ҏzdp*::*/{:S*:S28e6}S\Aci<ޯmJL&SJhJDDDDD6պuL&{p9-ZʺHJHhCLL4w,shJDDDDDDD$U5H)HЫh! NDDDDDDDDht&#! wd27)U+p_@wj&9±n&a,(bH RY,18`JNN2 )O|=;#,ݩҁ߷;)2YS=)twJMIIeˆ-""""""X yۯttqJ}Y@wRq3p{ "'V P4S] @2e(P @2e+jP9NڷQ#IJJf˖-DD3~z4+_-[Ø1>}:iiiӗ>7xGysxb,xU/=z @u=z0tP-[Zߩip5W/Yz5uY̝8!!!Gcܸq-''3f_r:t(>8͛ھ뮻Xn-6ldذyg1j1*ι#dß,.l!ߙp汑؟ - 7ӉV|ʔ\端SN{1 26^\^a-/,dcclKVNm"c d9kZ$,#^[ΠuGʝnM4m{t}w?۰(e(P @2e( ڷov28ts%uЁ~݋?saaa<3WyJ~Ϙ13fn۶mTԷ#W~8bEaqDc=4 .6]\.a܆c:'Uuqۚk' (P @2e(P qeP/sPId&< ̥d@zc&:HE:#C?ƺœ xq[ۺnrsskuH(P @2e(P @@pe&(OE]Fŋn[H+.GRJvWIx LLao` (P @2e(P qe* OU:x"أ&[-%_^d[xݵ: (P @2e(P 28ߒ4T^^?(Uy#ko~oML\Aӽ[7czW2e(P @2eW:J1]z7jڎzV7@2e(P @2e+ P #WQ>6GXNLڵOn?+ooaU-<9e&[pdN72P @2e(P @2`@TAb@ߞly mHHDLS홳|=уvN2xݭv:,;;}\6_I.k{B(P @2e(P @@pe 1gLp+L|u/&9ݩax vk~Vpd9xh2P @2e(P @2`@T" Tci]S(P @2e(P\hJ2 op@2e(P @2e+ P4@ۃb HK(e(P @2e( ,v7&.//vs@2V~? ٿ?DFFkۥ)e(P @2e( tH@FF[׶v;mڴM6ᔁ2e(P @2e_QK$RRRhٲe!""""""Ҩi4@%""""""""* (O]v;O=7/%Ke=GgdԳ /x nΩCNl6swKc9b&LEth߮VZiɟSOokz7<2qzv>{$U+6Ae[˴;be,\K3r@̠`7cΓOoǟүo_v;{ xX^[2'"23w:")^_' scȠ ʿWKziep/^>jGAe53pAi}iyUl :>jp =A%@}xOϛë '**x<dee1{h߮>80KFj sgdh2]L> .;խB>L>~m͗_ pku< \=J{b..f{ IDAT[~&ɳO$9%4Lʠ |f>6nd֌x1grjh?^i YWQFs.U7`<>pALj}_5㣚g*jK9wDG٬S=|t܉cFEDD8}{WúzW9!ֵqq<Ѓ:d0f)@[Uuw)}zyLi*vݻ5b8_p>11DGϋ/dӏ?˨2.!>+|>_[nvm,"믽U_!;'>_F8W֕Q0Au{~fGU}.3(Qk0#Ϲx|Tc5 0HaX0믹bw߸i sо]₩u?lY:i!gP\XTHdӐ3(-;;-۶qǭ w|w=@jQQn!gR`j?550ء6hO?o!n7g|T$SeLuv'S\gw; =|>6 <<\fPWDŽ%1bcɠ9WQcɤ6 4@$<-7ݩj%::S#j%,,.]6s$`ͷ IKOM\9~N:ɷMI^^20|ֵ 뙏4L;>85d1;,B P* RD@jUj[[Ztz7Pk׺@Z%(D d@BB)aI&!0~2wSkxowWw]'@**a4ILLh1nSo_yN6΂{ZzN|Cpk`k~ݎhdoq zn[DTy_w5JWA[zk9 W>VWW+// _c tw wD=׼c+'=/9P*H]0ƍtfժOqe\Nk(,,gϞ~t2/opī &~Ś/5I^gHOk/_6l:5_cދ]c|}nW^mr|yffe%; W_b;Ǫ!,,0***+**vnՓȈrN|SV ^gK|\,; ٿÇ{sp*@_?+]9(X_;Nyl6:}Ze=^9'-Xs H9}=/)wRN:r^@΁ TA*&L`yAL'x9vǭ?f\60hycE ni8\/ |h%|?A8n݀Ή`@s{慗^សޏhN6]9z ҕsֹ~UW@?yh/Or=^9'-sY H9}=/)wRN:r^@΁INP<O d2t:όFnn\<CyI)+/olll UU;x=oKrO,kN>Zd""sr>g{_]5G"_?\w^CC7oÇt=Պc9?s5Xm7t:8GNlh^x/0OzykjukG֭l6_x{;ftgi_h00x f>o+砭w^n1Ù~ӏڽ]wƜ_r>7_|h BiY}zF[9hu lOLW汷8~p%p1[Zӕ>:J{3.σ_=6ӫGw=v \3q/Νǟ|t.ڛ3֮c/sV5;b䠵8.Usp*?=/T{^B ee*,^F.8ag% Y[  ]/noMDDDDDDDCIvvލh42mS]]Mrr2ӦČ3hjj"==kLii6m"""n~Sx'Xt)UUUŃ>ȰaüϜ9kא]ʳ>>++qFbbb)(+VP[[رcy?:E_uEE#/ډX,\.gg3y|d j~@VLqVw9ٱc';v_~X,L&11LvO>̚(K,xL&nfnO=6logܹƷ`kشiw'xȰaÈ:ǧ}.Zp'^Mqq1?+֭[_Nrr2 .?m;K/MTTaaaDDD0x@2(fwYDhhw2>܃jxc{L45k2zh; @||<<yyyFrsWpc;w.#GdҤfΜ917ߜ"yyyػ\^{UzŪU2e*_7q&iJѪGX,$DZ;WW 5%Om"""""""?$===(ˈ/\7+[; @uu էO8֭ͽ_.Roñl|7yVgz"77}ѫW/w5^(ߏ=)Eہz_=TDDxe[k 宻f0d}Qjkky衇O-49ȼ#F#&k>v#늂U^b2X۵]xxCǙ:DDDDDDD:4HV\ QFe 7wӧO`z:{gb{)qEXCCMM V|JR$ƎEuMsO#LHkm"""""""?RJJSgӦM,]uȘ1Yd w5L^uf3?}egb{*Ȥ ㉋axo"bcv_6oJDDDDDDDOnl?bΝ7ן;w.=6%K|r7o.YYY455}CqQ z>. шjfGs]L&crr(r(r(5sTA":: w8p'qq'.w(>q:XVn9sn7EE{())-ՑFZZ:Fc啃єP@9P@9fT !/o_pZe4 lPZZpd4<EN 򈊊o~ ~!118Nc׮Bvurr;r """""L a:t]~|'BCCZSFMzzwN'nF aa6rr0p XcjjjwF9@U !$$a1ϤIS1444hxX&'"<ʁc  :epWr\vx -QDDDDD$X@%")/o#F:SȲ#G&?c# *PH),Att4 *]IHHfwN("""""LTs@\NӡrJQQ?)"""""LTSQQNbSӻsPC &z:l6=:jԻ@H0QJDj6n7NgO몔 ODNDv ~tP5>QDDDDD$@%"'**Qhqy8N("""""LTJII tPXXHR߇!ʁD$$%illA7yaAXW^^y$'n!@DDDDDtlwx<[[G}-pV+`h0lٲNvv*""""",Ip\^9TNf!!aDG`0Nf36^zDgPGdd).KBB"Xazjk먬099HJ;r """""@ vj7#NjjYS\.'iiM. ٳÑcXV3}*Xzm! j^V/ۓ d2;NHS*HTk4w{Mv~\;ia3׏u)'m2x\DDDDDDDZS7yo_桫Մ W[z_E f%cⓕ+ټe ͯp] `iRVDDDDDDD,PpBa_b0m!!!3KRUUE~Y< 6&3TVcƍpSP +Vc"44Իٶm6m"&&Spp8HO`̙]7Ry:ĬYXlQF裳`+ܹH233y啗o͗co۶0vũۙ;w.p;<6m]fѢńۘ8jy_n:.rYp!oNΟ?7ߌh#o'`02l0ছ;2eT*/^̽us!~ӟr7b4icYJOOnmr饗z >7|suzEnn.W^tꚓ';;޽{V147okVTTE]DDD/"}1__EHHHm9Y`ؓZ8XM|\LEDX66qݻ7>q96@шt:ؑEnwu[ dX kunV.\bѣ\)]w̞8\r) u$P:Ģ~bEE>yY}3;"ƎC/h|km"""""""?mΝ;9AmNk ++ S[[m | 555dffPVV[L$''3OSP &}v֮]jۙ:ƎxkURR7.h~y΂DR$Ǝ]q-b&"""""""S~G1`@pA6lX3f4K,ᮻf믿l'?痿%v{27twt}>r C a*xXlK,G׳qF[m>m9?Ȥ ㉋axo"bcv_6kN~[tm>Xt O? +Wd/ wsј͛;w.=6%K|r7o.YYY455u8s9ۿeꫯ2tV sx'Xd)|)=z +/Z>s}=n7iiiʃgtpf~ٳ;jRVVbެY5kujjqddd`{>mv8q"'NhPsϓJ:/~  DNNf̸0q$lٲŻIINNu3믧w>}Sĉ8ޜ mk527b|swMMM ů^zIݺoXHcOQw˯˯@jJ2=kDDDDDDD=HΝ;)((nw{[ y7o^߿?/aŊF >VjcVV_V+EE{}m/\7+[; @uuu1uksK/;ol6ӧO8~Z UttǞԢjbg*""Ų{>?y #:[ol^=MVbO]СCILLi]l&<<o;77!CxG塇nW,Gz3 F#&Ӊ~dَ T}zdb??~읿kwv1yY}3znkMDDDDDDDz̙39s^TVVOޕW^̙3y饗)**bƌ\[Zm68!CNi+W~QZ `49tX]X~=޶)qEXCCMM V|JR$ƎEuM qN6v^ϟ?ύ7}>r C a*xaԨ>u[~xSx7:m'%x߳i&.]֢=##o)p}-^8p cƌfɒ%u 233y1'-SzAVV_<ֵ' .nG xںm?~vΝcfɒ%,_l͛KVVVz*X{P۸x(=˅hjzO֍?>(ǭZH+--eÆ<۷Ç_HLL,NÇصlݺ}*P[tܼ3f0c kƬY5kI3uTNzֵZ<϶3O9ޱ gǘ=1=fhl_X&v0jhӻt:q466b0 3Q^^ƲeSSSCVVS#EOM"""""""roj?&MnO[懭n 2eTTy3 TA$"""""""GEEee%\y\6qx<bE0T "O`M"""""""rzcĈ^Rv&9ȑmu@T='""""""O;&!!]ũT l6sFbSk (Tr@\orJQQ;/P*HFGd`߾Jfd2; 6UTӿNsHzzwm9AA KAA鄅;VSXxDGG;6a8,V *Pހ.|gh$$$rFQFsPDDDDDDvSTbKٹsFH}}=ic40gcVvq:~_gP*Hl6Fccc`SHJKKٰ!(:v*h7[n!'g))iӝ9QSS}w.:TMxxx'E:HHH!!!CDDDDDD0jhӻt:q466b0 3Q^^ƲeSSSCVVC4gkb(++!66g ͅL4=oqvq8444˔)SQQ͛}8sJII.LNBg$fDDDDDDDHEEee%\y\m!vx<\qb֜9HJ@II=7yp \.gr9III( 3A3L}x޽Э[XV;Ty#G`˖vc6 T""""""Th4Тm_G>28,rOrӻm S#44}EAfHddVkࡱ:*++?LN섄XUqdpIm0 ,X6qqqɧ;ӢFsϘZrВj%==x*+ٷU_'`e"))=pL&S* gzJp8PZ2LDEENrr*w< ݌`_guSX,~)L6c=8|nwQDvӡCՄp:D989DXXKXH &+~-N T""""""$Zt؁(**<N8wСjNRRRBccctPXXHR߇!A`RJDDDDDDB;>IIv())#ٽ{MM)~9S& .""""""Aljُ͛"HLLl`c|b9>A`RJDDDDD$HnPRRLyy);wh4`4'55}Zݱ J i:TͦM!>>Ʉ '\vSY$'n! 0@$]sߴpL /]obO/1"""""gJii)6E߾>Bbbbq:>\Ǯ]f- %%!#c|VG~plL}x޽Э[XV;y#G`˖vc6v@9l~JRRR),A^jON o~DFFQP$$$xhl 3$;!!!S(E a66! SՕE7j*>2s%#PDDDDDڔL4x`ǃp˔)pS.)֭[()){^V ⩬,g߾ V}h[nՋdd1LS)C x[t4gaE5Px<αYVD9UTQVV¤ISpvc0 ,X6qqqɧ;Bcd2Exx8ɩ' w3?~MbuQF9 1@(NH+/o#F:[Ȳ#G&?#n߇!GNMMcӦ<t_cL&0X¢0Fb0Y =k 3AצH(,Att4 *N]JHHfwN;66uرꃸ\.L&#F'p\:Tî];/"~O4?`#ymC5@@xP焙 5jf5b 1zۢBMBX XB-F¬FB-FF0 oqOM"""""]Wmm6SkZ{_:28v=0`0s>.ua݅s{┈ujzC|||gn8C !11l߾1{cuAS!#a##zG2o$)1]l-mpMJ__LMGSU农0~y'U†=<HQDDDtqRvݘ3FIMM#--1xdU8V)mvt@r؀wpl:@dž ufs=wsePZZƈ#xwU[,&ϋ᪁lع/ l;YPYZ)*ĤA1}]N Nhߏ1UDDD󕖖aCQQQۏ/$&&uUHQnnBNRRrSDDب&.: :TMxxx'E%"N-P555ɨQxg|!+, _|1}'O9{ncݺ< ]CfΜ>$v;wp`46f󩮮&99inbƌ̟?_~;wIff&2&IX,'v/]ź8+%|[r {Cޮ:4bidl.xwzPHo~QIOv؈` ,FNDyy˖}LMM YY(gob(++!661@EE9qqqH|.PpwWQQ:.)S{n.2w㏗P\\b*bīy3f̘1 :nlldbV;v0`, 11Lv̟&f=ʹKLL sOJCC_}111[mA]hO'Tc>'&@ame5t1qAB,f& 敕|w┈HgHU~&Mhc݌%s`رL2r `ѓ3gWOZ>-^GFFc~޽;&Mf͚~ضmIۂ`hnn0Erzpfcm ?V ٜ=CmvLORQQFYY &5txvc0 ,X6qqqɧ;F9Plݺ"w=w=4D("rr>طo_J[LvS#}g|Wݻ),Att4 *J]HHHfwN(4x$6 IDAT.Fjj65us@5ۓINV)9Nkw|ӹV\ Sw`rr2<4[0a۷ogڵm.eG2cL"f5pD*[pGX&7՞(_[HRt\r{?XH (--壏>h7{ak۸AqqK~HqqT夣=].'))fNL}#/o;vl . Ɉhh4`4p\:Tî];/!;?fs>KKD'syqa6[ٳ ,<$)SOM6t2o۲eXd =z7j[n F oeQT6|Y!!ݩkhKw*2"pߍ]աHDDDO.(ӻm Sҷo?"#((Lq^j <46S[[Gee@R/"g^㍿tRuc sNƍGAA|{nx'o-(yÍՖXy- f+&k8֨4 n5rD$cEc0 [|wܖq6?Ʃjʁrp,JzzqqTVo_\O-@M]ERR2v{2L&-"g1 T{ȑ#)++Z-^/x_/^/.6~ZV}yi'Nx&NxҶ`?Ӎrhߍ'rCÃ,D?{w_e}u-9dON6@ ( RQbVmTkw:˴vTv.c;2m[ ;D d; YOs}#,wN~>GsqsΝ,]/ \p1$71 S}DDD,0W.F!0 bs7V)9 @||67[n˥” >xݺu̘1c-b6q gdBE?Ů@DDDd+VibXlֽBvvΠ+477 yj&0E5/χ `szG&"r҈x<f̘}{y?2w\V\9҇0.hOy[cDDD+ Իk¢rT_kIOOFr$Eq]ګ<l޼[n0# ywNիi?rSUUEggYbQ{I4ʁr "F8e>( zeݫ8۷ z{49t ]]By#SD7sPHC(T`rYw3f̦?A]g=ZOYY)sr`#G9PDD T%َ:q8T)0c?N1 TUUR[[́mv"j87σrf#?&vɜ9dddp80ضlA]]= rM^3ʁr "T'Ο77kޤTפBm|d&YNefX;J̜9%K.&55X,F{{SQq}vS\<C0\t2mLLs%%ۘ6m:9n&`'"i.eB!̙әؗʁr ";N||'ctZNL3N`cY6ؾmoաWPXXD,0 :;;l|~1jkkxginnf֬9V.hZ$̙INgOG"99 tvFhmm.L$Nq_8Aq\"4σ|s93*^lsN&==ZìۺffCNN.P.@auJ9PDD TbǣT"2$p 55U]{#xf+G!==P(wC4\v*A0$ϝ¼fƳ`M7ruAB9PDD[%""҇m,]g̉^2=Nvٲ0 ߊ D?޹rY8pLYx\p8|n\ No26;aʁr "(TT^23Uxgq"33 ϑ#~;rt\,?]:ы4OEV[f\&"""SJDDRcc'O&=1x|***x 2 tt;rYZZ:%%ؿ-q8vvvxUUUtvv/N E)//'''dۑ@DDDd|PJDDRNN* {p48t ]]By:"""" T""n73f̦p8 nѣR\<e񻑳@DDDd|PJDDf#?vIMMx*liݫֆپP(\Id:DDDD'"" t2mLLs%%ۘ6m:9n7ݵvSWf2BsWay """t5&"" 2slSFe23HNN&Z[ۨ S\<e<Il*PxM6؀iV'Ӂ#%%fu8r:~9gZB+2n 'A]]-amN߃ay!''P(@ :lf:DDDD TĖ-|^}3@u^%QP0phjjSZ  _a`x_q\*Hs:DDDD Tıc \slvڬONW裏$Dp2:Cp8|>l7._Í82M:DDDDV'bgu4M'XPnw`c{褈HRjI ,DDDDDDDDR*P4I8as""bc۰D" (((n=*;T/sW^xN~~=?O4|>.kcTȪٱ`0̙YbRSӈbq`9طo7+:d zP]pdeeRQqz [V6fT[K/sH%)))̙=KuM-_O33]p."2 JKwRSS+(,,"al6|>??5³4773kCIէ?) kXt)ӟTeV|o/3x/[ECCewoރaXrl &"2(kވnWiaDQRSӸ׿>N$.ZӁysDDUI6.]CDo'^l JKwboEDDDD&!{7x饗ҕ<,[k>{/{/6mgA(ׯ}{6mvjժ3XַG=.**bټy 3kǛoyƶD4^W yEfF:+*{ߟٯ[_ڀDDQy~RRRPϩw3M,~?Gh!r <Omi|RR=J('W[&2z~~Oo[oUz饗'h47MzyW馛.϶D4ac1P9O=*(?x31V\s='?̘1_8NӦMsewydffIQQ;vK.!%%DNNk.n/=SL%sN3lKLsng5Wʦ_'--^W&))fD4r0 ba%""""2\\jnn뽱>1~ayx3g?=={}.D+W?9W^}gnyo8pիWgZ[[ٰaӟ1 oS\<~mhΑ@ Y=qv;nxρ Կ7INN>e۾DDYR!Xiii"|""""b=pu˿|/zswy}vs>_=Nu]w6{<'w8%hH" S"--Ek#%==}8C!A%c  E^^>UUUtvv|X"""""VPjzUZODDN/''DggUU͍48t ]]ByT2#"2nf̘MYY)~YYYph=ee̝;5M=ihl_];"^43^5 0۷ 咛S""""b-Gi\*"29NMidӦM';;@ >ykv."v]F(bΜ8kt45#55;F}}Ng '180DDN2slSFe23HNN&Z[ۨ S\<WGM*P))iٳB|>)P^~ Cx<ƱcMXn 'A]]-amN߃ay!''P(@ »*P ^@I6xcXpdx8._vIL??5³4773kC>" t' GYFB<:::z TibhRSӸRVEDDDDDDNRJ$5TqU0 L+"!&A*TRKW2Ms@]l;{z[XI*S^23Uzg*33 ϑ#~;"""""""*P$&OL<̳z1򩨨-H k a QXXDKKoGDDDDDDശ un7ximY5P@9P@9P`lqw DƋ6F{fY8!'QVٳ)paFUͧodYҨSP@9P@9P@9[MMкaHZGۓ\tr3z֯_ǚ5WSd"""""""gGsP$`0sI nӭ~;"""""""*P$|< c(䄬~;"""""""g$7f" g7-;vNN}vSUUAQAoo&P(o"I0n3fSVVJ87zJ).݈уJSo3G+$: pylVG'9t[6ZZصk's4 |l6 àB *PUo[NvQw]IvZpm#_32S^t2mLLs%%ۘ6m:9n7 `v."v]F(bΜ8/""""""c~C'*fE$Dq {p3^mmmVӧdU,!C2slSFe23HNN&Z[ۨ S\<EDDDDDDz@5ND;ZvOwu3$kLEtN&==Z:TN[[;KZZ99BaX&S'X`@ @nn>xxfݎr0%""""""c T"YȠ@%kٺbiЉ۩ύ~F"""""""2V@5(L96b%ð7M0*faabBَL0c,3~ѯ·Np9l[3)6p:lLrsEq+f4|tV}U]uM`]x\Q}RU_;?J4E(',&9)׾k[ncJQԂha(/ghhl+ /*+<.".E?堷QZVƖxJ?xю|sBA9h~sfQqʂHGN9wg"SеbB$%3{655Ve~rCF٘9KDAuh'C ntttPS[KN p\r9ťQrph4:Q&yПv|>aXtߝr0r0QRSiin`rˆvTðDX&T =LN<}!`!Uw?ܵ"kǷˍx?gy0 C@kk+ȟ0Mt<O1C Lʁrgn}J]}O%3Nv&ov0-Wn5uѶ.V3d[0m%akCAt@d-QƚL9AZ;yqaOFm'rf㙲c,FNjhUb^jhlGo[Y0>e\q3@x=^)wE&L/񚃁[8ٳz oQSS{ʊFc~sBr&O=oxB^6+D9Ps0ޭn= Xi#=$\ue'2⭷3k m(}`,] @ubw{b1{\ŅSwhlkr((OqvycL$rSRR֫C/,[seͽ{^wE*KYۖs$nrgLWoE L^ȋe[0:98M-\GI,Of=ȝ?|x F+T #=;>_[osbzNs=bi_vHm$?`FRwKK36koav;^ah9σtN<L4%q!**$To$@9x^x3$Q~ _w v4^sQ[ϙmA#c ѣG99S_2P`pV^ @u곽#η9+i$f瞜d@]'tɕ^m>%_|[{nQ}=ͪѸy?QĈ8\pxRp DMLLlHΟ @W+cn f&aOeMU'WœW\̼^ݲu--\sx^r9\QV,&{?FrпH$Bk[kL:'Nop:p88ӿD99 'V2ytOxr s'BIV^M+D*7銛tL:ݏΘA0MG#jt3ft;{mHgjxH[p|^߾p8L$u"==Frۆ9\qX,F[[‚|RSR8Aysbby}NjjkbDQI{[;yyV6jݩr{p0h26o0ؽw/(,,:QL;waXj"`,] ytIl;?Ә=mia}g)mmYʎ=/h13gϱ/*`q~9l6y\rhb6lLkky\vJkfAo##3׷܄aJQḻCD8'tM[hnB!3#5WD_&wrNgҥl{u3DQRSXjP]SC0wDX&TJpO,ޗo7w[~d??,V1`{_qş|Y?n 5dggfX""""""" oDzPm>P" Д"""""""ei_*""""""pT'n/v\XutSn '?a~"""""""Iq"`&K_#o"IcIY|e3(V7O? TD z6?Mpeqž*V'4p{L92CT'ly7kա Ĉwl6vmu(""""""" Tb˃:  T?I툈ۓȸXJ* T""""""""b)DDDDDDDDR*PTK@%""""""""RJDDDDDDDd:S@%""""""""RJDDDDDDDD,XJ* T""""""""b)DDDDDDDDRNk à0UU455چa< uODDDd8@%"""QB0ddddF,˩8ľ}).G^^!KX,fu(""2|>))BVT9t'55U,_"baىfS\<P[[ /e x߷}fJ8o|{L-*b|K_ ?l@D씔lcŊUi4Ml6˖`ݺW ]}U d ۰+.|DD=kֈCDDg_4[e+/~&6oK}$TL*PHX VK09yPz<=,=,"c=w=7]."2III!33k@=4M239r¢RF̑*fϚAn(ٳyWF^w~y yhY <\pB6[{1fL*P$noW^[GőJrC9|>sijlNmmӧ|PNǎ[>o~0YYHIIy.99GMMI>'!яI*Ũ??}=~7O} ~_{?y}9R_ʠDm8o\N^zS^E[[hwdgi)|_?N!"r1}UXXDiNo/d'ygzys3˯RpuACc#O<4_='MZj`OFD&h4{4A<>nXrl6Ym 8Nn|44c<\sՕ\a""2>9>x^}vYtl+y}FvVF<lY T"܉eGr0~vtnȭlشorKF,ۮ=;$EDzzƐ҄餺j"r8zX,F\5Oi\ ͷ(3{X D],_gh8SVp8LVV_ʭ7~ҋz?@7eEL*PcMMMR4.pIO0w?/749pi3m àsP g.3k1D$mܸ*28a~6ZrssY OFЉ8rt:#rsŋ8%"2A|~͛Yp0>&I*qL6X4 3M뙳*#=^~<>p 665%W_[Gkkd{T,|LdǎS^wbt4il<}p]s獋|s93z_<g st2S&iVV]$46`؏P~Ǽ[=}cW28v2{ ǀGHŤ8SU]'>Y#̟;oW{g_zSRq}<ק`9?[RSSYd1>o$R4\M&," on*(*:MСtuu |2r/]ʶ_ɿ>C4%-55|^e/0&""2ٻwXSv[Z};u*sg}$TLj)2LjkkG+]}1gqOiD"|g?(wC QDdPN- /"++ ѣlܸsSX8y#D}{ k\ r:::,HDDFcJQ<Ԙ]OG=Dd 8%"bF~~--Mڵ9sp`p\D6 0t;P.=%}stvvtscu nu"x?b~X{c dڴSRߢxÎnna;㴴4snHjj*s}?[VVeehmm:H;;w ''PDdP`a/}x<KE^/3g&99Ȟ=eTV!33$n`0H; Ψ HVVp- ]Ddpdff~U$A%28^xxxfݎr0%"""2T9 áDDDDF&IK@%""""""""RJDDDDDDDD,XJ* T""""""""Hvv!B* T""""""""b)DDDDDDDDR*PTK@%"""""""2Z)TK@%""""""""RJDDDDDDDD,XJ* T""""""""b) à0UU455چa< u_KDDDDF T"""Xuu5;v 9s6hoor**on瑗W`u" jbա| ZJBPJDDd*-IMM˗X,atvvbc ̬Ys]$!a./_:aH;eedeeYΘ"""PiNv퍄BytttL0 (q "lы$:fϞ┈7o>pա$eicOa&"/7 p\Vׯ;?Y:7[oׄuro~IjJ /S{oO{J$|j>z-|vVZݟ(+lt IDATko al6}]]ƍUVFKk yy\|E#P~ Hd؏!""ce)x<^z?x])?t.rsh8I*Q7 ׅ1uJUU'ȷM_T/q>\v π}ۇo暫$owԢ"/[W8φDd JJb*L4og&6eVn+dghtIxG*+ٸy]z)`M/rWq#gcu`˶l%x^o۸xI*Q/p==; ;{sоbqx|x'X>>/Al(ۻ˖q|"2`III!33k@=4M239r¢RdY pɲz232F^w~y yhY <\pB6[{1fL*P?z 2'8nCr-~_3?s׿3$n͵s+pW۩ 3}4>Oɡر@D"~ЏV˂ݦNDGcc'OR;OEE T:::a%zs\r9wQwǟ׻^]{] ڂZ cbXPfeuFa~$cY\PF4!ꖠ2jeZZ鯻^㾷?*;Mڻ{oz@e#9ypهL'^Ӈp8hirь1gLפJ$N--/7R^O>(/6nX?t<ú{!˝ Ϗ[9OYZ^~ԓ$%Y# b_M 5ݑg*Cks{ʾQS[[)Ld ,+c~L>-m>/xr;Ȝ9xL?@/,Hb2Et ?wXeM D⤭5lʠ;n@5k{ZûέQw*̞U yy+{y񥗇~SZ:fҎ=/&?K|n~`j f#6(] 444DP4-) 'Z xttt ;vMl,^㝿c2x0B!mSOV"jR@%'NLQ#G9 QXP@T޸>V &>l6vs{kZmWN=C|ptaZinnRe"gX),,ل>Tn23'?l^/W]u5ɱ DDRWw׋9y.WknIƲÎ8 OV"jR@%G^}^}eK+^0 -[-'5Չ1c.mm*I5)*ݔWPT43L?WbJחDD$Vx\[DvfPHL%0L5'3Ӄb!6*L& à摗S"l IDATxw|uw6i$KHH ! ]&bCP{9OyNO=APҤXhBB!u#c3Mv3Ix=d2| )QM)_}^z鞐Db.K.YZZ~;X$iIɒ:edd<0pttj4 bjծ]<#IC2227L. RFF└']5zJKKnN劊JXPPP/ 'Аt:9N ' r7t$UhfZmQ MΝەߴ{696ۿ]` (((طoǎ:t(G111 4;kl~'EDؕbJΝUPPnݺ+884)ܿi_Tm}@qS:kv-:uuPlS*,,49MJmr3os)\.WUIIV[C#o///QfVIINNMirj{NJ5p/[wwfmo3 *">P{G}@E0 @q__ >ڿؿp89k/Y r&^~fqMl[J;u{{fi'U~'Jr+'z./?<\]6nRzӕ/]n-Z*ө;vh݆c(my b*ݷ_Cqq:gٲX,zu9 6iUꐜsF~y~:$%)gOôwfAgI|3_G+..N񗌕f;:JKK5thuU"Ijg)}nEGVﴴjuu ;[Ԯ) z8ޢ%KV~mZնmM2ֿ-CsӀjsO բ%BW]1AoNyճV]C CU_տo_-Z0Xs?L;w@EsrdXޮ֫MBB?_M_ѭ?kwӴw~;MiOXX[׮WS>ĶmueXmV[}fK?~}?@R{_զĶm˓rIEEp}E󊍍QKkow^wן|Uy/Zڜfgձp]o+88XYHZ~CO^uc$I =7[lQ֭շwډB!_Xj:tP-HGx=}>|+&3IjoP鉿=qچM$IvqsxY,9e ]|>K7S@4vOvg =?HI|=_~F}d϶Uj4L+8zT/NyE7^{z4oB 2X3f*SOxjmZnQXhu^y^v[mjw+#3SEStZ^=q?+Kv k^OCV= S$㱿UH-,S+(w߾W^ի%I!IRB|ڷkp{zp۷O{9ںu[:^I5}>@W{ߊp8`W]~>w'So:UN^k6l$ժZAUՏ?bcuUWTl]t߃_ѣ/TPP~rY{x.B9nƍXI+,4TO>EK*g5R=n+!.o+?+K;JtuJj$\?9--,?>|X/NyYsu+++r{r>ԓzkkn=UZZݻwոƢO5u}NMhj)/>m+:ZX>:y/@aVbcZKrrrkUII$)!!AAAA RDDDu8r8 W޽",L;͂K ?rD32tu*((H!ҹvYj?rcdx;oԪU+ 0mjkk={jݚpx_7g';$yw=T ]/y-JJ+WP`?6&$EGjjp'\99U^cVN?XW7\wre+jZy-Vegks*'7WGv)9)I3=]wu|zTF Ͼ8ո/TFf&^>^oSZ޽͒IٴG՜O??,zI9#ָ/}=Æ|I+}{eV^S*9)IꘒRY;Te QT i={({EKh㏛+/ֺ }}h{Vո`b{ޱvQzuo/g1= I^^zt?/[3!Cj$9Cխ1iSm+éiS^$zǝڙP3xg۪W@5qp8I'̮ޢ}Jߵ[6P;r?%IO_mxL1B_+k_&˥͛҃yTEE5bϞr:ڵ{ڶi#˥ÇRLvIvDo=#FHxl.AmFAtj-V#="B9*w+!!^REx|\ԱCy=] fݳܾ_BII5> 8yXVuI?zr\ZjU@%+#3S5]ݺtַ+V蔶mU\\_~U*:$'k3tr{:|ۯWo;z\sz[nEqqڕuYNSXݻ*;;[;v+].JRdd~Dծ߼Wj{߶nթ¿*:6%MuO1Jڷ-7^~edf*!>V}zěo|@³OkogS~~#v{[p$آb'-Y\5츴vEJߕ.Ir8yX6Q3Jv]<[(*?\EiU*.*OәgWSqIZ)gʀW(44T^wr٫ʀD&٣[Bc/;eX3}ge}tjjG?Yx{?k::Zǎ{wMr]f7ݨ t:S[zͷ+ԶMtHfitI^TܯIIjt#"4bx=B6nԪk4ԭk%o_4$v7<#EQNt(/O.ԫoҲ2uHJ-ue%yKݺtM_[hvźr Pqq϶PPPq/,[X))_x.7PmG?>vcv֮1PPPs$iTZZ#Gܫm2fYjS񶾣5γw^8]_M[>++˭Vɛoq?3T52'{uŵ7}=%Ixu5ŧ]`GTuQooX߻wO}@F__hU_ky̞=~h _]Q{_h$} fhbGNFPLP{G? l6 472_^^ Ӷ7VnJtۜs Ku҆l.S*3sbcSP_ڳ'CGetSWsjJJJ$egPqqq5xG-[lʶCԡCSL>j.Idiu*++39MJmr3os) \f7'j zDp8nNb/>1 8Hb*TT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0LE@SPTT0Le5@S<:YC=NszgHeElMF$ٍB[1C"㕵yU>cDtmU^VbXُ$?۷  *~Ш=hI޹WY'֯&+?s[=Hm>u:WW :[`~*N8^P_? s2oyCY S]BܳszRGߡ,80悀 'w$I&-X3$gy۴k o3P}ݿPh3T֕nQϬk{<=:um+lPk}Ǝ K1EkwàQ)#M-QHdi,5<):hO8QC׿^դ[ThrSf7Mn ІwU^zI6`]$нkl?.Gutr:J _>N%U"B+<6PLЪ5tm_nѓ>F@ӵt# X1}7`e3 OdRk&$@[ie%rz57E >ck-`l]ixR؇|"wNck DTXt޺`G{βMy=W%*t9Jmdwb'_"kP/1LTu[پvbEOӁ rzI\=W+?ri*fz~s[_][oiϚ:mwiW>]T u~rRaN[ݠ:b;֯&׾}qD^k_R 58LK>P7T5hgZxMl@Z{u_t`)oF$uE>vNG u٤ IDATo7HeEGe!@Jg zvL$>؂(uIfTӓOT#{q[lڹ-I3Up`1)l<@I@5NfQ hNsT\OcwVm}rv&k7Mk;N&2:/J0Pi*n7+gjC߯ɪut<`&PB%2auqe(sZױ+/1Ƣ 9ڵ}-Q)7T4*`{{պ le\2ݭgTthan_ : ~Ɵ<oQ3'瞧Kq+SAT7+9enuզ_M֯4UeOAi h+z[=e 7U ϯ=Z&v5۝1A!ڨ ǭ+g3hmz0' ?N.> b Vd4lQQ^zH6{Qj*ANSigtǠqM;6}(Yzd4_P2W}LT\5@ v4;UEh˜'Ii?Mǀ*yuJx)N޲]P9-$2^y=gcCmRɆ7cT]k߸ͤV!wK> *-X#V'kBBj%{ewBh eZPyâ5%^W?WO]t@ua~lE;=.|[&2x:jf f80IT U)mcC O\|j־q[=?6ĭ~,pzCl]uXt$)g :q#8B+-stvz$(u$% 㴭_M6) T-AWmv% 5 a=ThङzUmKj&|+[+ J_pnܾNI؂ۥo[[ڨMS =2&q)9rP{uE&VD.&ȳi:aC=o]%:s/|ͭ\el142!arVhR@廮y6oO|$2V~d7,`C-2)M0{TĮjY[; o[K oR4BA]=,+[B1Z]9QghpҘaщߨ)U ^ [;}aa7T;&ܞ5^Z୸nDVMVPwk.iNGOcm V۾UĒ%0H0ڹdz3qZq޾zFMqp@͋s@+k}۝'CS ukH~\`έ M ɪ]¢}PIws5tNI{5X%Z?.zt@%ؤV-.q<?ՉNo2t j[uӘO%M{}m&i*8Ӱ #,+VAzB1ݾ P~ ?i?\;e Ж9O[%VNr,@[œXkV9Jqyy6.XjuoYr? VnvgLPpDkn(QaN[-MgURoi ]~5ŭil=g޾z:]p\k' <'*YC= (>Ś\Pa|${bWn \нQ_u( *զ_̭bQk_0k +m_0ͭlY{<jWtndE{ׯ<=0>mRr0j z*4:ձ؂h5>b F+يzqY6}Gw]j֐ech5(Uv?U<#::F#:Qusl'vUy⯆zq>\[-:ub r >p:ܧB:ex=N92q[lЪFl!sdr}c} cx'<.ŔED߈Yr$GG ]p3py { Nt@9[W6'<׶oh >*-X]xz$hRg07''PY6 3-XfKs:ʴ3j{>vc WcjڡЭ^'r` l(m:F{_Sh -[-2)MĮ@4dЀ^'{.ek3 MKڕO$ʫ6Q)scUք\ pfG=F}nlN-X-R&(JuCO걝ǥu/z|qAIAVr jxz5ϫ7-gȭs":5dM6aXtZ&(s[6oԞ5s;Vd3U1-^뀪URoE&8-?sK.o8HVTjEOSdx&ce PhdBFQ\ 5Ѻz3.7<+'֐% ֐U)e*nuISGORY_co+{.]kW=YڼyY1{Y[=4:vCڪwu"6]<ӬzdRe%sQi緅V8@Z_㜨^b Pe%*<6Y\[=^ǥ~g}=8J ֐puQ͵qQmzXl M57q:=nFhT"Z{6񖳼Tz.믮n Ǧ֝4^㸤n=k>vEuPUM_7oz)zzfWD©*WeJ߁BthDE{{0Ӕ7͞إa5NJq~O<]CU'2)MՊUuZ~4WղeK=\k i_PYY{:5'\7kz^Yk:J>o;eZիgO[(!}= ߾t':@]>|X<ڝr^4"YVIҚ֩Gzꔗ?+KS_ryÉ=UknU8h.[W2Yr8e ti.M'hj){DnTݒ>HWOݺ)::Zwynݦ߶mkƣizr uJX|KVԣ{WPdӺ5x_z':@]|1ktH]-[*Y,Ƹ͓]GIi=jjtNO94SsUtjʴWuUeK/+뀶48 ǟ۪ñDgвVwf`Nڶi뮞p8n}8gI7\W'OO3=]=E۶PJdtJbÇ둿CcvyyGshtW;7x_d7RjP99?E |kTԌwgvڰqV^7\e8t:uN8e˔r“깭:kjRZZRƶWTT+}rMڝR1Xٺ榛t:1"#$*~UݹǓΝ:):F}8gzozWd<.SVcO4Qup\ZtFrPS_{C{_Ӯ]uZ~x?35FX~0[`oY3Jm7ߤWկontUZwZ+wyF Zڼec8~$LqYԧwo='~s[]q'8={zԾz1r)**ZS_]W钸s':iӏ{IRSS4ݙڻoZ3NuW_YŴnq_ioy߿q |7*0PT0LE@SYnNbָ8]`** "`**nMLE@SPTT0e:[ IDATLE@SPTT0LE@SPTT0LE@SPTT0LU@hb'Wr:>mHii4fB :L>z{߾}ڴi *k\?ΫOJ߯+VAiڶm[kԨs~zug%%%7+Ok׮ܹs5h 5,::ZׯWaMrZ?A`B9rD7pz/Reeeӏu{?K)5T p{9\NT:uĉW՞{_:!j>IzOx%eeedg`Xr%8:4hV3g4T&.MNAewGqq |<8P#6~xN'uӯ_?.\Y oVo~>BBBADDDDDDDJ˗ҥdr())aժUgZq8lfTNU]U[!n'|wU^2 <^u_GٸSΝ;O?õ^GYYYc4p7nk!;;ڷKf3˖-wt ׯoQŋ;x`}^o7'vcǎ! 3u uvAQQ1 />̙ÇIMM h_+USV 7\_c{N7nk׮={x5ŋ_}=zp1y~8[X̝;o|M||WwݻիطgϞ<33l0MʪUҿx , ?q;uYf VWޔk׮Sl\Z|9f3gjٸn>CH>Ÿ'"""xjT45sҭ[7ٳgk_~N~~?;z-pm9x +$%%[1o&t999; v%EEDDDDDDDDZT""""""""TJPHP5@l6.""""""""W&UPHP)A%""""""""AT""""""""TJPHP)A%""""""""AT""""""""TJPHP)A%""""""""AT""""""""TJPHP)A%""""""""Ae%3v;"H * z+E8̔tu`}~qv6} ".[p{xQLHaLI(;d{VyCpv:MBfs8nqQFP #k{g5 (t++""""""LY r=50iTʊ.8t2giTm T#S۞.w2+g^_I@Srrrቈ{VP+Pr8B紋cRRRp%/~1 gGDDDDDDitE3wY!`0wY11|u)>; ءtH"#TH{hTr!I=DDDDDDD:Fנ .GD||>n0֑댮;BDDDDDDj4Aad:Ĕ0a*?kL&0L&|[2U%|W6'"""""""/,y9 6B.vk(.=.͎1a"b"4LLLLi3pgAՄbn5p Vaivv?&4"y#y3:]Ҭ1B,&"xG]cDlmBUTa57imÁ2@K(ߘ@a' wsj6?PHl.vJ]^>[m']\,674d/gpX3yDzԼ5j6T -;S#hqq-y^!fD1XWkܭ؜6NUI NORPo38R'ML-0l">v6eՎɛG,~6S"8Y|&dۉbN_pb3 /STkR0|`!""""""4R}S& ハc2ocP$noeۉ# =s+v gho~QSE:[.$8rEn皔&9ݘ> |~"5k|,^|QJqyӦõ(SU0ѯ`CznxmјBpB U]'8_ܑQ8Vsvhzr *׵cY*͞w0=@~MLJ*}9W*ۿ8Rċw$2m@NJ<^bws2-GZ|eL:[Sdr悋=<5;}؁cnV7UR#UI͔+QOV ZL& brep<>ܞʧ9Nr\FT<9OAJ biX4qqJJDDDDDDDZG@OkOnepG;_NGFaUF~eܑN3YnB16nŇ1.޶*Q *Lqv,ʧY͕ɫ*rW8Sbclf 'g}%vSDDDDDDDZG<ů:R_]YS]4Ӝ)a-*tTs z؝/hw73V<^˨x .`׫sYz ;xqBXL 4\ *=ODDDDDDu\%ņb˿RN6 oULC] jaoFi}jjK>p{|dr wXI*#n0>9.nT&^J\^|H=έ. vVO~4=En1rqe;/Pq8qv~~C F'طz«c ǖ:fY]klۗY'_^C%["/f'UJL\g?j8۰$y̺3EWTڝx&Q\*AeL|e>ꯎk+CWr/=LNN~ɾꢗkJn72ڿɨNUIBC & Z؞_];1w#d9q٫3:_՚Xn/6gg/S0Ylm"z.RpkyΉXQL`1"ۈڌ ?aΪ3KpϒB eM,/xS-4j5iS̆ s՟Iy}ԜYλaè\u]+_gjR?|tekwD'''HjS&x<><&02G[]tijx}75}UPiHh)~>Sߔ6o ؚ'"""""""ԉvVS7tɕb2 =ɤ)~"""""""DS$Lf?V)~f]^5PbpT&}zv0Z)j\OAZ?a>*]Tz ԞtK=,:4*:7X3xR*js7VgBkË\MPéft )],ߗYJ6|B@vݢlN{6IT'I޹M?s2{ov=pG㣉cϡ :Gb;1p8TK(""""""LYuܳr"W hd2̘v6kwD7''HhH005>"""""""re7AU_HK4H * *%DDDDDDDD$RJDDDDDDDDJ * *%DDDDDDDD$;i>Yݺ30e@C烃qL.`2 "ݫ}$7oJhW|1 2aCS\\̻`|f gϞv&f)Y$69k뜗u}%$0zl6k@cK:y]Z+f 䚪kED6%DDDصg77m&::Lp5^mw6+뜗K :`vmN7&ء}m^SVDDjSJDDD 2ՐQ^^3g`?#"":j喛|8V3!6[XOn $s陘jx<_+뜗K :O1= ԭAezMZM * ؒwɐ9q$ qco'̬løWFYY[y7Hhh(ǎgtn}})/M8OR+}{ɩl߹'OQV^F3Æ31"t5ӈԩ Rb5GȈq% JI㔖ׅÆ/=,L&:x&w/,>L&+Mdfec&zdİF6ֿ{'~pחAUOG]_DDjRJDDDz())eܘ15iۙ|]jNnç̹FǞ>u ;w'٧2b;5|Hޝ>}п?NYq%TK qB~w/?<^~&Q#G~/^ ,B)…F?{AnݸvTFƎ]{G_DDjSiɩj)Vi̬,b[)&N11lVNlNΨn'??MIii{H+W 8|(&L!w2z7pУ{wnNqq1̬Zv\uv\ǨWկut)#kQJ^IlIMKn^gbw> ^/NrQrQx"!!hLC㋈Hm'"""-~M|\ӦIjWKm;~(uJA?=qa.;طa̸v:` !::Y3f-!zzV+}{tg?n nw[ {Z_]\bɴ)ks7.4\Guy Q#⣕dǘѣرk7kmp00e]T&ʎ;)/+g o^PVVCٲ5 OEQ\=n?hLc㋈HM,tK. vMe„#`YY9>999]DDڞ{{)S'Ok|ǽcROrr505mG t5tMG׊ȿѴ9j͵y~ /:22ݻs뭷}k#-PJDDr؜4̰!x6|JFfɽ{}$0:tFM.9} ׿5O駟j :zUj6V[ϙ3DEE1h@n;NVvcسg7pg͘1#oSPu WVα8u:ÿ/7wK'MDDDDDDDI'&&A5k&e˖Q\\@AAAc .p@eu]o?~IQQ?ce2ʊꪟm l?O[+u ~}0ͼ{;q4Og}uK5&"""""""ӬE/qF~d۷/}SRRXn=w}7;v젨ǼCO)Yn=.2t` YSfd ++יKCm"""""""<- {z6lӦMeժU߿?oV9/8:f0 ΙMh6oM#&&qcF3{ * \FFϟ;i"#޽G} uiBD5H{;v3f_hO=4Vbڵ 4W_]DJJ .UCGdɌ{0l8Nr?$mMDJbl!I򈉉ic#GIBBBƠn.Zim쬎ո,]o_0䭷 F29rt}rrri""mї_eaW?<\rv!Zd<];]Zim-RA%mr""]Jgv[l<]훮KK_""M #OK D)i@|>/&)a)"""""""O n|` """""""mTa&>+ajoNRkL'Y9@+z=`!""""""!)AAp~JKKlZW M+//ĉvic4HU1rUlߞƮ];hۏ5 3-`(0g^EDDDDDDCRg񔕕xNf3vPDDyܽvc 9v{EEt5W?˱ٽKaLv ]ڧ\ L&NSIiQ'O{L?aO֬aMs0 3lڲkM%""-[Yv-g vmکӧH#ȑR:̨Y&_Bu!"\W2rp'?]{0rpt2yΟA\.Pn5=\viz^_~""reSJDDDfjvQVVFVV6=ۭV+qq8u*xAHBQJDDDb&S'1 }""))) R"5vDDD}CbP^^RG FQQq"[:.iu^myχ]Iqj]"]""dsVBl6 @HHUܼ<~m |]&k~(A%""":tO`Ms!z)*.&,4߷E:+ZB1ǧsvĽ|'a|mm{j~I[_ׅWi *i\ؼSt:v;]9}[EEY$PEj~(A%"""*++c :]k:;ws,|u!&&:ъH[> 223_~""re?׎](*.f=޽ǿ} ߟݻ1~X6mIݻqAXa݆O9y$ d[f\{m>5t^OJfV111tKHh~ȕM *qq I݋޽.SDCG[Sf)_J^o'^ ? *%DDDDDDDD$RJDDDDDDDDJw?Hn9^oibtҩSgL&SiTu}E"""""""TĦMpY;;aZ\rz;Fy<rqzn񊈈7JPu̟f` -iӮcɒl!**s;IkPunv>/ء4aZp;Oi@CrZ{UD#Z\C*fx7]R.DDZT"""WN:s6?-\j+++Сtܥ~zu!"ڴ(!!LKy*%JLL,qq-6K׃ԥ5 ֦Uis"" $$$; i#t=Wz-7~ʁ1$%%q-X`v5㔀(A%"""""""O@ g2o-9rxFEII)'˷֎S RӶzzΜ **Ar98vsx'jon 9կȑ#<<0ʵٴi3U@u ՊVt{ <^C^^6n}~`ݿ_]lk4AͲe2d0<0&´iS_3ϲzj80G}qrHL-ܹڵh{ٿ?STT5\Ë/vݿw͡Cػw/v|z!n7=yGHM¶mۙ1:?qE~߰f &O̓ON:xbr1߿?_m-XW_zø+*nT"""p81r0z&`_Ōnki*33Ν;7oݬ[ӧh"&Mܹx饗xW5j$:gdn:^5Ϙ?6 {С,Yٳo`Y,]Oϟĉylٲ~pa֮]K~~>ছӟh-xi͔)S oVo~>BBBl 3^1TQQͥk|| vuBkmMDDDDDDD9N}d2r'zUW\: 0 `]^o}Z8V~eޭիݻwgO;8wO? ^{eee 53^N>]/f>'Os ߖ2?L5Ӧ0~ji4AեKnv;#}Xf VWޔk.:ummA[FǜgșSL4eŸ1=saaa?-TDDDDDDDڶT;wfUظq#[ o>L2rESOj*֮]ˠAxErddd$wkرc~g}UVaçՋ|>/Xx^zs=8rpm[BG]$ 4?*<a`p:@IkP);;f5\.=5j~AiӖ.]/vM[`„ɍwl#29rt}rrri"""""""Ұ--EDDDDDDDUґHǥUGm:Ae vd2;8EDDDDDD4LADDDDDDD%:0M||W èޜuLOijZsVz0CDDDr5{ W ɰ`2L@ۮ@7LDEF":pDDQС`AkU\54'ۥU< v("""5=8Y@ʴ۱8N2ncprp"NNfesv8""(AAy۷k**Aap`pe+ء״s!.SGJIIIiP(/V,|>ءH;Uر)++;fv;NgPDDD:"B#`bcB:>谐`!""Tdt*#"""T-WTA%""""SL0>zkLHDD&%DDDDDP2&UV?5&&>BZ>lk M+iw0cM|swzM|n.1<ϙ1&mYw/ob퍎v1&5;Z 3v33v3avb"f!!V6 a3[ ,FQU|%""tJP6n 77_k{rƎ ؂D=لjbިh;)E,(0+B-8-"f授&,Lh[qa17`WDJDDZ֠ i())ax|&>,.s*/,fyOI۾%oii)}1[((,w|;2hP8:d0v!AV9o}2nc:5Sp!μn؉l۾RƌC6 :iۨx9|8]"##[&MGژ98N֦ 1yH;bzJ28τl;Q .B%Sf2 *%}DDSHt#Wf҄\,*b@f1b0̾ o}ﯠOr/ιg2GkʤIlڼſmجVFqq8B:y"gϝOWOO7zz_^kOg |ŗ}ZLU *D.f X"Ec "'dz I60Wev'|1sGFX͕ )=MA * *)-%5mÇ!44_~g1n$`̹z\5CG}W>Go]XlͩpFhָHЏ_=s9|8OQ~t߽ ܷ13glwɓ9z[cz_smH۾wFB|Wb8{+>7',aa-sOGSr΅g¨J^EpOղ] gJll=͌|r >+Q'i۔ ?qFr`֭L4 j^sTW\:00 sM8;vŦ-<}̸c=ns[?FCL0ƾ ]>N|Pv/3R{lUzuw\8SOTVJ<^ܦe1<3DLMCUI""rPJDDD$H /^dǮ݌=>KnnS&M"42s)KՉ^IImɍ_()-eyM8{Æ QظaԈ%gb" @eیu+T""""A盨1} 22ҿRQQ1aaӇCG3zٺm{}xo|>=r[n#f3ߺ}~q1b0ҶWcq5f.]& |*gOƏ6맞a` 9/ϯ5v5۰$y̺3EWTڝx&Q\*AeL|e>JrUG"""ұit Yq#ap&O ؼIm;8q478FkNf)G+9z8?0sftywݺ&_=C 6uDrjjolҹ3. 9χwӍ?qm;vb[vJ*>^pvfQz*??|3^4y9Sʵڽ)uU&J6rxnT_\Hk3eggo=]NINIeg IDAT&'m4ޜ.Sd"""Tk> ?$xU?a&0=>_صuv&l=;x0aH;)~ĦMpY;SkZKAA>6*')wiSAAA!Ǐw,`c+ VW ]1^Mհ~,""TDnn.߁lf aڴX"Ae6[ܹsEDDD7յWSִ9}GUL2!!=#t)4WeUTl+EϵaAA] "uERCRHB 63?#IH2|߯Wv=d;Γs Tnooz0vOOOJJ]ӌF?uRDDDS=;sũS""""dź@SDD.<*P\ {vFHͨ@%"""" O/o OPi4xV{M,U`(&H}˚tܞmio`WS`-7 HtCju߅M̶WDI""ޜ*P5jԘ<== K6mqqqu`EhҤ)={૯:}:tÇӢE 8y$#F\A^5ky*PT;r$“yJvk YyCq|9W"""#0`yy'صk7~??ҢE9s>_~X,OhbmHdɲ大 ((ױPF&=Y5b+lڥ w:v, XVWS)Ʉ7c\X.P0o? ^u~&O\''!!!$''7dP},X;v`ؐ;v lʌb[4nq\LTTm""""2>""^iI]<9|0'N]tcNL6qm߾2ۆ •W^ɺuXv-z+?OvҥK9~8#GGeeL6UVQ\\̨QU{z8s߾}ڵ | GfС|n^sYf;k㏱vZV\wNsگʲe˹A̛7~1v8fϞյk>SBCCy'HLLtPw}_֩Qze{zzmoobyǜjש"{!55n3`xyFNKYz599,_Ȉ#*=666ٳ۵kl&--ݩ*;… IMJ~IrrrKG :Աwm۶riӦ NS{8r(QeڲLٷ6qj/~AzoGyJz뭌yE7onZr% ?lrzIxxS:xx燗@Ͻl2&ML||>G[o @pp0cٲ?N[d|Acοӹ##xزe KTiӦ̜9mR}wم4h /fҤ{=ݷgh42vHBf>_ ѫG<#QF pxꩧyyy9̚5ŋb4oޜvbSƌòeѣg,x]ٱU9r$ q̛7>}ӹoe"[سgÆ #55~UXf ˗/?k׮g޼y<̳,^KҡC~{ڵ0g???_.؟=cZ1fB8i:6q=CF!j\D,kaT}wuN;t ]WOfff⫈TF#BZ?*Pw'"""""""K*7G*PXBW_[1ԛi~v!B*7a4 22 xV{M,U`(}"gtPl6+&aH=' -[߇OHX/o ajun}>AAsT)}>&\7&\7}$6&0l`wZv!;9xP9F111"8swClh j Ov|k;c%.;.Ɯq&}ySU_Ř"R;Tr 6dǎT,fWM+,,^'}6s|"ztO>-fXm6vM֭mSRء=vEкeη;o! ˫`Zys;' k/_}ͦͿc:{L4<Ѓu>Ӎ_Ǩ#Zر/Hf߯Åxm]b@.<ڡڵ;7n`Ӧ$JJ]NF>>>^:tTh4ЀM:zvo}4k={חn]XacՖ {UaW7U  é׮.XmX%Uu>㘞=ӷϥlN~}..kj[(w偈D@@={p*e2;qF$m(P%mDKڍO|px֥ P:gml\=_Ê :*FVX,: 6$&}Tb#V^ˉ'hۆF1<2)ڴnM7\wpxjᆉѻ ^g>ߧddd̨Wp1^z]V c߯/_S=yo?-O?z+/o6mLdDmZdr>~g[oĠx xxxO9\>zݺ\Œ'w*ΪoSսw_֬BlsdBCʙR?.YʛC4nM̀+{V_us&װ6y "SM |}}UOҦM}%I~eİtdz/@NN 4`sJ AA TRR‘Ǹgd"y9{Λxqkdfe3`ي7d]<=Qxգ;/^(Pm޲bIlܩTckneg~kwf>@Sٽd{4nݻuh4J)g0_ڵ%8(:ig^Ӫ^{gWݜtVFy "*ZֱC{ IQqbiРݻue}F_}S iؐ5W+0Ķd]X0|PZ4oFbR2yٚ_87_piL>.PƍEHHSJm/X($ك30 4oִsn3~MmV訨s;[&qclf7; *~k' W?gh4KGʙu}μUս_uskX偈8K*ZA.Wzkmt֍O|lrIJUsXO5=2ˀX:xWlHLSвEszwccR2Ѫe 1 <ì]/}-;o/CTgeff#1۸i諫.vL匾ÃE޵ʼHhH4_֬eӯlZ^pwL5v5 \y^sV3'{ ˣ<giH=_7KX Ef|4oִFng m6vqllc'M4wlLĚ@n$&%>qԫGfxnw_~MBF10btƍJ2GFD`ٵ{w٪/^L]KL͟3EGGRRb%OUI,g_sr Sy "PJDDwv}tоl[׮,;ap0{7CVaHLNv5ಁ(EEtlߎ'P:Wx/]F@n]HܘL\g??~E~+͛͡{gƨ+.Gϗˇ #<,c:Ŕ{dSeڧN;}' ᪱c݋ NxG҅h>PAY&@QQ!5*];0ڱG9S3zϭnN:s <g22˔b9Cff&CD."ZSzjS1n 6c^E׼S>'{s*D4ODD;)0?ҟNK9S5THeTj{6r4~I=2I7p"8ۿ%Ks"/¯%]}۹p:;K3ME'"|ldž{{ya6+7IV+y-ٳwyKAA!:vI mXk}T:;Kޔ39Dj T"""""""է)~""""""""R*PK@%"""""""".vZ뵟ؼe;%%E)'6@P@̸`s_QDDDDDDD"nKٶ(M:Tot )p*1| dsWI>r[wЪרzQ>'; |=9yéTx/WzCqK*P“yx: g ru"RG233CPCv;:`8{H}RP`ǧ~'򦨨`)Uy " TӅ)рOa`vfc;U2*j:4mNDDDDDDD)~5fAgm_r%Q<̳UT5S)~"""""""RUnn._~eNj*ȑW0o<W_SfΝ;p4oނz*,P|233߿k7k֌cDZv:Zlѣ{˜cǎ# K/0`-Sl-}J/GN IDAThxv_Q̏S碚Ҩ$jLk۶-|}٧}s:-p gܸq|ͼ YxG… ;vbXNN ߟ7ޘKޗꫯRXXRemn/-D)-2E{a*}:xő\ SkI?if ϫ4}3g_"r*))aa4Yti|ݛHn&rrr.WUUW]EӦMiذ!cƌa޽.VUMrx饗0LfWR՟yz2pjXekNœ93kL&LS-[ƤI)..駟橧t5jԈ?~<gg2dP *ms;vj#Bưv{5iE8Aѩ UF/7d5ZJDC[@~GMs=GRREEE7W+G:ZSU,Z#F~zvIXXF^8kT yPwqNZn 겛2xp5ל5M0::W^yԭ5;wnݺ*܍V;'|v/ݚ0yP8C;4nLN,Kͦ@U\bd{ _KdPZ٫^Dոqc~'*2k,qOtt4o$&&:.[U2}tnV""" al۶[ Z9Wս?%// ~ "נnݺѽ{w,OZh_,._`˖-,Y~b4o¦M N|0sy ȱB&ڌ+ TFSӷC>~ZF#G{@~Xh͚5)rqd2PDRn[Uz?M>}χYd DEEi2ԭ|ٳaÆ _~aϱl4nܘ{;k ܒJlv(a clVTÌ916rN2/kox X mӯ#T~L&M6-e˖8pv,Y___\ԲV\ @llZ`ڱx=dL&S-E vjjb6{33gdup|٧zʉ|zԅPw}ؖOBBcƌ].7ndԩ̟? GVViiitA""R#L&YAf0 Ux/qg۹;k:t(='N$..-[r}ѧO"U{;|0W]u?:~ "H O/o OPi45TW {zb0Jwyֶ3~ bnkT/gf)AU[AE&Nĉ+Ggs<@&un϶ Ĵ뉷éRpt ^Yu$EZX)|^*H=MEDDDDDD.@&^s ]A(E<PH9?TVxx$))[su(RCI6mJ&22Ω)Uy "!#AL"""\TCVVGb:LXXD{@@y *D@%RT>MRJDDDDDDDD\J*q)DDDDDDDDĥTRJDDDDDDDD\HZZѣlR`pu8U:o˖E""""""" Tnbxs wu89ΊK)**YJVk 99ݻ-.xEDDDDDDѣGL&NzQ2< jÇ][TnoovCnӓbW4tOTr#8uZ}UDDDDDDD T""""""""BffT"RodffyW""""""r^LTTCS*PMwEqqለIRRExxé3NMkԨ1XHdd+6-7R\\>?KyG}*NEǗΝpu(uތ'<IZZ>C`uYl9 Cu(|9C=q1wM v!.ًP(( @{}+4:M򦨨srrٜBfVv;DGߵ+f'V[w>^=0LNTUgںm;IɛhҸ1@5uCۗ @UV,;0l`;ƊRneG٬OFDEU&GIK?=19'h׭_6}vˤnVNX,lM%iRgY,YcǎѾ};ҫW/FͺuINN&**={p}0 l!$$ 2QF[oV_TT$QQQ۷bF#7x7o&''hnq'O`سgEhhhmAuX6_}-cFjS|'u]Xzvwk69Qa^ՆZEٶqeվ\h|||veoۆ (..f\н[W;uȕqMhڤfO3'BzAƌTs_eٲ\v ͛@~;vgfL>5k֜*P"00bVZu@+'> g^sYf;kѲe F}[;v쨰>rTYQf'a!O;;;(&gx̩6XII G㞩9o^J. MDXH(|!LΩ3x4?pGv&"""""rXNyDFF:}fPF۶ѻWt^@n QRJ?#nHL$.Sj\ھ};Culݻ7l۶ƍөS'V^n_~aj/v֬Y+O&M C\~2.\|HjVGU0''o~ow*mܳ@T:jѣD2x! ߟΔ_}+kmZ`Ѐ2 OSk>M\sÍ(&b'++uX,տyGfBBJgv|.NÆA6D1lؘH=!;; Ee`i;wfS!uӣv CFW\qfbŊ9z(C &//~WȑWTϙٲe˘4i2<ӎs4jԈyoxٙ|,Y\i[} #ڴldoI4;cv:SFy*k4lHIIkF΁k@$EDDDDDܙdr< ;8c}8GϏ_ˉ'رk?.Y#glHw?.`0j\R>h2a4?(3+ Fğ|i[:)Iɛ8π~}*=\˲{8q"ge,]:#tٳ2䏅 Ļˈ?*2ԭ|ٳaÆ @^^ |fqGAe䞨vwjj'""""" ޴h//o"#" fX,zοnI!*2А?i6阪꣦*PUdz>ó>S>C6s̜l~y+l6ꫯ+/;=f̘r3fLmקp{Tf|gۤvjנ WxYef2whߎ̶Q#G%.u2ۮaՊ10mWV@jEDDDDD\ǧN1unղ}ZhA-j3}Y.8 Tnĝf f׺:P3EdIdׯ/$%ecb9ɦMDO:r#v 0R_ Gxx8YYY$&b:l6AHHOFw*PCg\Ԓ^ǪȅM*7a4 22 왛5TW.:gtPl6+jbڥ 9OS*Lv>_ oooZ4o7EEEU2!&:]1K?YV6o}(**"&:K{d29SU}i$%oI ק@%6O<,YphѼ/q3OԹh>ixk-3'}ƕo׮6qm۪#k  Vac}z`݆D2hެZ7ЧwZ4BT"qO8ko(^r > w~S*ڰZkw30mWV_ȅǧZo[mؐbvJ`` ݻuo#[WsLI6ѴI#̞fNWy^D>뮽Q:d21ếCp SXXȵ7G#<< %Kgyذ1 G[K㌹zĤ$23hӦ55H9c6),,˛M_[W/W?AAA|||ȢiF5>N:|5 PJčY,edбCr۶i@zz:aaakGvl8) >O9UW9IJbcDb9Ϳ16CnF^=ҵz 'hGϏK*(!1N*@%9@HÆF6 Ue.؟|z߹IIMQLLgdee7Ol6AHHg6NqqYE`i0f2h8 ݣ'>dggsb5`]ۺu~NDTDSm>NXhhGDx8qg& >;8c}8GϏ_ˉ'رk?.Y#glHw?.`0j\v^M4Iu `0TTJ:čIDATʶ[ڽg/%V+5 ?67deeQ\\D7`$%e YYYӰa0_1ߵ iiJJt ~6-k:@%7O>.3feaw q,h^7u0͛5óV paz┈\T|||9UF Xn[fV6st[:)Iɛ8π~}*= Tn"]-))) hjwMm3 5dw#.gD{xu4o֔8wMJ慆lycbصgY[\AA|   qc2mZW%ukڜo\sYA'v)9'Zߩ}+x{{Ӣys)*-)DFDfco;X,5nI!*2А?i6阪꣦Tr]9t-^JKwQV?&,$d! D6 ?"mX`ZVPA[j VEhE"T RLY5d,3I`>Ͻp|}.Ӥ_ߤ995ypfSgv]{7osvޭxu,Mc;ک T>MK-S$M{U]蕮~!ST7V?'G|T%u\~&cJBtSbW+ձr3wm޲%{ C їRQQ$)::Z?B] ,ԥ_ӱB\!jۺ:wQ_ܜ?[ #m r]J@]>W^_MCeEGtݓ_޼3^pmz1ꚖvNYn:Ie#ձ¢:9#YAa QRVE>Vn=|f~eU#QVR`)I(-n?9.*,7r:*++UPP6~y,Ը?־Kp4p긆TkcM6V-#] + xб @|]%mv9p^8N6StOFo ?CbgNfK6]|mz P]ĎS6E?+)|y C2$EZ,2$||)22$ 9.fP@բEKy<7xMz֋:\\rwﮅ ?VIIZk„ټj)na(nf?63THVEv?*T5d@jS<;ʫ@VP_~ںuv :ۭ={(&&(U rX*#9\WvW( ^m)ՂGTRSHyz}:\'uj^ =ny _J`P5o\3f\rZZ~BC]Y_YQyZ<5YT&(%!XeJ"Bl5J~yX!Ldn[JHd=ٳGwy:tHQ.izGԥK^|%8p@ 2dh'NT||>l^.uE\r{iʔ)S^^;$}B'3g$PO>vN:롇FСCUc'h_R4rȳv4VdYĩA"x.V{1Z?[pD(i$T&6H.UA,SXa ڿxjmԤIr˭ڽ{ V.V~~~@l6EEEj!jѢfϞS۶mտSm߾F%͝;W.ߐ!Ca1B5k 4{;UcL0A Pzz""v4lʀjQ86o)Is{|,T?S( *an늃̧d=xP;vL ,cqF޽[]wf̘!IJOOׯ~uOEkU[joRffid${=o,effjذa3)I۵tR=zT.1 ͙3;Z ſy`py=}ҡr] -b>U[]9V剀uĪ$ !С/Fg-$edwoߪDTPPp?\-VrrF!Iںu$i̙9sfվ}{Iw aYTJiXd ‚t[ʽ+<8fkv'{PYOIA:T'pZkxW o˖-Ӄ>=zSQQƌ^W<3N4a r8SdqaÆ뮭')))%CgRy> L ׬#raSRlZ7 ׂ=*^*,AZe.k$^I~gP%''K֬СCj\$m۶`bŊѣT߾}V];ntYі-[4x`ݻ իFpϐ*rK( F!m)UDUڄ)@m>8UܧR#Be3J]>{JO 7Iѣ={?PRR+͛7á4}>|^.]Vu=>>A4iҟqF-YղeKܹS&Mc=Vmc4i$),,T/$+.W>}tUWiOtG:t谲5}؍!gx C:uu$ J2-]G~bZ+I* m:bGrzUrq:}&a]3 C_)iSg-TT\ĄxMN3gI$ >\ozj,YpV祗^?K)!!AÇӔ)S%I{6oV-Ν;5p@m޼ĉScuwTwʕ:|$JyGSNф K|nʒTS6g-UQSAa~y DW,nЈWW[Q.WL+XAuVef**2RVgzgӿ}63o=R-c%iC@9ZveVXXZ^]J?ɕP@wo)GEEiڴU/^Xkx_NZj}ƍWW^vmT0`2ͩz}uV\.?^ǏqtocgTgh"[PIy}!C9ޢ$*,#&YNIÐk3&bͧv|SG}ѻッ儍<^^O>qh3OXmv:V-XJ>X>"3ރ !bH^!ExzdHlZ$ YcU .>33֥2^6]wPʽܞ~vj$nRIRbM>]k׭fӕ鞡wnuj޻O zGծm[9zTuی@,]fN{]4o׊tQ!woZk|q4ϩCvЛ3UXXGEv*yyyˑsu؅(22J 5)/?_{]Qp8{P!0 /'[T[qK}.Zk]Mզu>_YP=8|kǎS[ zQ1uKzfj$B&ICY\&6ENyCOٻWnzEEFj񒥚ճGxWsZzogLWpppjWEE~sKiF+..ڵYVVk Wq;9gR a} 9.MtyZEizՔчTDx5Ӡ?S֚tKNV&Mteڵ{ws(&:Z6M?W?mcǎ,կG>KZTDxq6XY<S < qK4ָVVZ&Vᰫ,9 A];!0᫶҅lչ,%&$("<\J혢}O{e+0tڼ>N'i:=e67onN%nH}dZվ]rUfSJ޻޵$kx@uRU^^^zPp<o GΠ?`3 o L۪HLv&ݮ?+/5WC4*J7r{`+5C=YvcJY prl9PK>O%% u )T#(Xe%rN{k -`\e]}ztG yV$th_>Y*sb[|f2 C;jpVm~7mTuUO:Fm5JRD|>~۶_ݵu# 8s!!!X۷__y<8iޥ|BSPpXVTbkM~?SwĦjjթ;kZ1g4G5jUkӻ}DVLLSEEF+VXeg?ɯMF=ĄxܵKeeeꜚzZBeP͵cj{aE6Ԯ{}yM4_=5z"#9bQ>9N*(ȿp?^ԎZHi QTTU#ĴZ]i^f٥PtT-x3eYݻFvYZgjuVeJG ?ѐasjƏޯKc=c/P@%IT>MK-S$ޭj{t^cQhKWWZVω{xMթc<9zqqڴiڷOQXXXԍ]oZ^oݻ˵T\RĄͨKnnNar*--[s3 fSpp\ӯSfCU|:t qqqq3 Yvꀀ "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`** "`**ʞgv @)0IENDB`easyeffects-7.1.7/images/appdata-screenshot-04.png000066400000000000000000001601501463533416400220240ustar00rootroot00000000000000PNG  IHDRT)sBIT|dtEXtSoftwaregnome-screenshot> IDATxy|uwҤiKJBR"""rޮV\o\]]uwuu]uoQQa[9D*PΖLJ:I۔|<3oa:4IvI\uU>ӷGDDYV x9oK)<T61YWVV0eTGn4;|[zNJ4^ٙmzY=h->h/>:|CTѡ 7@}qZ|p*54o%IÇ ƏfrPST -]v~MCəァQX_p~9OhFꅅzŗTVVYY4w]mڼo=rڸi\uJkb-ZD;vRJrN=JVU/N;Tka?h%꜑SG xy}ߑj{??Pկo_ò7'~צצUd6f&7Nvm1cջWO̔nӰUYYi:e>I?frlULt^eP{TPO;o#}3[=‹?l6uh ǟDž^[Pfof貋/˯7zG+7$ܷoOdV\\~W_mX^RZ|ݻWժ{eZCޮP-?rҧW/i]ٲUv?lJ{4xZ=%I -#|\i: .PiYw[?3}Oo͘x\srUT{My y<諯ѓCIihfvܩ[')]QycZ+pA S5l٪_~UC>+ v-Mtt> Iҗ>5k(!!AegW aђ%Yp<z˥_N*IE\~iUJr>I-7A'?Y|hV*%Iv9Lϵ~S**%9`tɧo_Rll$@a/Zr~UuTчOn۰!=5Y]sW߯XOR iPSP߰A/_E^zX|v8*// -7WVUY]25xz\ڽ[[l%]+W W_Z%%%i"9n%U +7c*X?X3}O۷+**JvbuX<7U -ҥ[nCEYmnn-^Ttǟ$Sǎ>V+//o/F;wT3Fz֯P͛oC?5νbIU?M>mm߾C?ܕz7jjl:! z`ٷ kjO^b۶թGJZj$+S>tպЪGk} ژ꜑VݮOKE7~oؠN |pJf_G=?:S~ tzV5w%%%1$uPYYJJKEEڸi,]b9۶ՠ%W Er}gG]("""RRZO>Lz \.Mkk˯v (+/מ={u6uڵ^sPմ$]y٥*+/׏k)I{u:tG***xzkfwr\nrw;uRTdbb}볿~D_}3W1UTTXR|L,=%SR+M7ܠN<=ؿt: SU\\??𐢣ctΙ@aL}^T}4ͷ-w^UTk[nnk*jT_SzB74Q7mnbц>5USz":PqwfÏ?њutU®ݻ Iڻ~`Ύ$I WxxbbbZ%˥h>Vm9'GRwƒu6]s Wáݻk֬]+ǣ޿Α`t>Wv4d eK^KھclݪΟf|QQQAys$'+.ZZp8pݵ[p<(:9_yo׉'~w˗kUkWUv~X,^?ݖ wemkUr\N3:RѪի5iti uСby<u풩Ғb9թ1r\ϯV~~$պP ۯTXM2:zOₚ)~#zVy~okw@=3` :tpzũA_۶HO{fGۧڴkm6l62;g(!>^ԳGm٢ 6jqC:Դ7߬96LK}cF.n7%չG ?k{W5Ila6EF:T\\u+TQQ!I+ǣKmċgCT0dn8i{j^}x<*9n"K;U@]մoKzvﮍ~SUQ\=@p׬.4rɚ,e#G R}4vhl٢?fа'{nz}̯_rRRuMTK 놇jګjPϿLIu*8|iп˯~OKqIF2BsW.Z]5_>Aii;r]<bz?:3I'`MI:5kxzTږ.յjAUu;czJ7 Qa΢_:zT:-aCOPV.ڲu,[#FCuS 2cSNNu %'%Iw[oCC_}V+//CF]U5W㜯q~o{x8 %)1^G˾^}SXx@zt׀/4|؉zd2z%N=J}1G[4lP:tHΘ]tJu_ֆxԳhގzá1F_׍]$mUYYw*ۭT^=7_s6m[<Ovb\m^K$M_֯W׬,M~_SL&z~Y> Tu$yTީ~UnKi[nRSX\CX,zקOzaLL/\K&K/))7R\|F ^/RΖIU?DVEitکct:uQZ;}7k3O?M1~'*-+S(ۧ:Zp"##5~ܹAyGtizV>}`";zcڸiV6lvfu Z]?O-^L 0nޚ5QO{ޙ9S_{_B}1Gn[)ɺ[եW/]HKNڷWf y Iѽe~jGc!/^(ǣ6:cbb4hZ_|o.?P/,,ԍ]?jq}ۦMUrYan#=\g[uTQQCr+?kذzY-Y"˥aC}h&"##զM]'99EfXV*+:tJJeZնmv,**\:xz^+Un.NVU*,!={uŵi/=߀7V59\ F !0,={mshҚ|F-oh4&+oY| Kմz9\V# PzsYa]ث,ofdk AOlRk.*ə)eEh3WSZ:gziaCZA7,a g6E7kT,9Eŧəֳ~Oq!{z= ATSURkJQNӫ =ҩ*ư IDAT4\%>5iI^7)*Z掀r=eo!{c #j1O :^Pyw"=B6/hRBIRq*:ϹVN `^ ļH^HF?-x^cLPR&hZ}Nq|.[D ɗѳ 0`uSe?+hܫmZؤPX.¼꟭v&0Ùvنzl~~_e/nX5U3}.X b£g{i 4bByMUڹ;(3}ց]z^ ;^AkSj](2C 4eTMPNM_d炇TVgx"T9.We;9zt2Z|5a8("bS-ҳ}vX%z@PυUb xmUy޽*)Uaz%7h"6yk*{S#7E@#hbS2cv,ȫ.=[iThACwbzE1Oyʾ)Aiг hc{ u[DnXjB1jel! ~=> u#J~ _z 95~T@٣*޻]?Uo $*߬6G\uGtq$Z>ާ\3 .>炇$\SՎkk&"Om%-δkbUjiJ>P߾}>Ʉ!&0{9k6}.x۫}S*ٷ9Gع8;<:E8Lj9^N6 ljzg O:EnOM ed+:9PO~"۵ȫogZO OX eɸ"m`gZOZvm99;Q^,we_yd Wƥ[OWKUKO͑א|~;]gܮ fWŒÙ% n3|J4@ 2e>[jwӉꎘxu>ZeXb[iPϧڂ@"wNL@ZKVB>땮FoOrSq%:TA'q9-.s2LcоօxճN J[3}%@lCnzC҃X -"Zi_z\Wb ş&OZR3Q=Ι?~U;$I_=0ܫP?,}>ϺϞOQ5D.Gsfd+mxlXUE9UYoJ7Yco=mY]?C=6 ~p sx\A9z%u5c"@CrҚ*w$8hvz9*/U?D5g>C} L[MCR}!q2ԢƗ$%[(aR̳gZϓ@kRO3D8:g5ВhOVk1H2ׄ )ݿL.=[G]oG8y^ v/`C/VtRgv_ @KG@^?R]e|e*?o15DW{UHo` C2A3 >O)FKfO6Eh ۗmzh4߿tWg\o/&[GXmUVǙg QjDXl5V=)Izlz?ۿe6>t<""b &0Kӎ7h-L>-evy# @Q+r7n~CKjV{2P(.P +ʴwb=ʩʙ;ͫ.#[ ݆z4E) ^Wy IrOS|zJj=NREq!ӻ)o\^68RrQ22*͞H|zk|V" QNw@.=[0242.m1DC8XNe h;])*W-<&A;lؾ=mV00A G|2HzcPhlw=ҩ.cnZS8:x^!9i)(ԛڎ=!hB h[I\ E'{?5.ݫhI^5W0p$௃' vnVds^P!?Ta'$Ph̟5/*>M]hp-Wxt!GU\C䭛oxzcƈ9ФL]OE]OP߿Zj8D *䫔tv :xvߡhw O4==ueTM>)(+LjQCo(5jI%{sX,ڹf_sκ0T?|N@@|MgaT&RUIӂдQ9zԨZdsD;ahG@CYмT#LUOSruD!XjR侣jְp\aΓQN(*魁a݆ jؤԚ梥oPMb' ~.LykݪɗCFŦӘGW*-}lXu}ܫgPKͮYdٵ۷MiPf*~'aomI>**>Mq\Rkx2A|YCvNݧYZ1VC{|2S|A2q^a~iZZey!hVCə~`Q7(߫nQYk3PV2!(3\dF&Le}lZlzROB+w=s&=I?>N \MAZ&j۱W-2CZ~&rw8>MhF+Ot[s;zF{;Dd;cJL yo W|×mEtr߿#%[^=){veE +>֪铼jYcou>(3PeFasLTlza]g!oOYa-~PO5Ы(™R h~njiƙԚs"㷲߹pGk9^&'255l҇M'.Y$yO]P%CoVKߡ#57YtrNceC|R3\lc4-$D%t G'wQrQT\ڐ vmrWQ`sE?`Ņ'&sJRl~[;?}PZZ4]EڻaW-™z\l6|1je4=@}lm5ZK~u'}7)M1w!ɾ)vgSjz/y CPzh}+jmOD;thD lyV!ԛLj_}aޯӇ_}.˙aHCwIPy^6IaT(؝$tpϚ^cLPIn4; lZRQZdʍÙhq}JSw02qROSL^ȸCosJ2ה3'D1s UQ5 jQHF?[׼#~o\+^c#qu3^%dcعCΣS3)l_!m^9 hCPڄpf@˳m S"v{iUrS~+X,jeS5X Tǡse6S)}^]A32T7VC# YQN%v?~«^i3Uhc/0]x!ٯP0JWYGtre u3QsV|Uf8gGd!jδ*ٻ=('C Z}ZQ+c^535vOnOd\llZE|]ASbњYlΪNC/Vqv1Q3ԨXa6NT׽VCO0(Um$xsWkׯM@e"th&C qgP]W|DŧU5)RB**?IR޺Z?jU׶3I&>MRwמ 8پ:]>օxjj{7,1LlZXːlrڳX3w[~c*klG=/߻yj1'\~}OӉw3c#*vZNam2tܵl23 q`j-}jZRBz$Sp&<&A2c#Vji4Ū¯d걧+HY½wСݛ _DĦ7?1yMA@"X'&Q++4ȶ>'CPV+I}MޡZp&zn t1d9XcG::gbRt3]54xׇ 53|*ڳI[]mJzʶKNU1}{7,D{MYao`LjW9;tWE'X_4#TU;ցVʬ}EpFqJ2E06ΙdoiN:0MRg>sʵ 1 GݾjL}.=ͺY_dPCmɗI}5Fe;Z t.4uxaݨc\Eť)my]2˫ж@|ÐLVg!kL)e*xoBغmC~~6߲Rz: |H Agkyס^se^ey^\*>kerVnSy s&i \]לUzVHkf?UNT3=]zae<Q7h犏 uN}e*ڽѫp&`oZJ1J~x fw}VV Ɂh~lq] u$80S?I0<.ЬztR1MmȸJ}z걧)&[c;paP_"b> %טͬ5,ŒuśTՅWPի}_v^o^ffdgl1&գ 4ȸڇoMRF;z|̪Ǧ=dq])5Ne Uf5#&Y\[]ekͮV~  GQTMP="5k𘄐_C6ְpf5va;=׉M;W|b؎5̮T~I@ȟS\e5|<0}_}}$w;-2(6__2XOmsWifO\LB;{NH}ܷ;UOmq" ODl_5^$Wi65NJv죓3up:Ù6|^ۏ%r߮Mrg9br p&r ejB{ eٵkg >́u#`; 7lܤMՋКԣ{7EGGW3oӓojsNWᾟqۤu`znXvW+))I:(Vnsrla'*?@/Tߙק%ǣ~}zUVVyOhSջWO{y}mGXP_{ 4 /ǟjdZu6M}͜5K[lS>l9ֻ[3fV_:}΄ ս[Wk8Oo&ͦc5h g_e_,Ԟun8pnt:sz텩p9le-W=O)Okzŗ_uPSSIiFru_ˌwgi;ⳓ媬SSu<-%5%ij+gL-7W9[Jϻ%O^׭7Ao/64J@p<.Gێк}=w.z'/_mm%*s/er8-[t~#Gus )%9rx$ fvӘ+VpsF)ժDuRSSwe:t萡dfUcL-Uۭ)S]"?zwњ?։k] p5uٵ{-XWߘ{ա}{]K4d \.X̚nIR #UB׹Ǘmѝц9CÍ:&sƁt߃<ղ8u}O3gҋ/~ Gx::n=;r\zyp9ԁBEFFk={δ7kڛ[\/]>Sנiߧv3NsݯSVff''68Ԧ\JJJLP\\;-\T=N~J,tϞ<]~rY11uw{nO#f=? IDATWVvk**\zS˽qjYb1Huo]?{8N3~D ϗ$u:Uc8LqIiW_ k_rՆҔ벋/TbBB}&At?)Zg/3Ǝs='68&<<\:iPevΐ$1v.Zw\$IJJJ';'>uw54A\ϿJ?Y~|n_meqyeygd-T|z+Ɨttݘ{Qŗ_iނgVRbnycN%%&Lf}$})/|EEt :sZh]x׺7oV:' k@딒]w{ک`Wb(C{k.N}*!SaaanF]g߾tmu 穦L -%0u>7<ϿcX?{#q<5\03~uޑ߰Q{^vUםNz쩥˾ nHݫoo~<3}f[瞭oy7t\l1PO߹hqCnnup64ؿީu5z2TgZxTt跰2<<\qq7{#q<5L3~TЃD?gw΋.7z[k֭Ԕgիgefd4G:~`稷4]'sXZ3Ǝe˴`WT}M7k%Io~iU\Rނe[u @(vxvrjv =~{%m߱S.KmٲUy<5SBݘ{5zړg;3S] Shqu٩/*/?_?}Wi[n}@6M.XX]4rG}4]?YC:~[|S? I+*t_bQl=tu.Pk@떒io>;u#=Dy<_]UU\UsOyE~X23u\LtعKmt ]Z%&$hgkK/GQvrj>n&M{-{U\\NQJrhp<_(=Xv}GUlK&! )t1C)HAE)(ŋ;"֫(6Y/C#=B )G`% KzE6gyvϜ9*nU`rPJDDDDDDDD^^6FlfY`%<fΜIHH{CFX,BB5j$??0|),Y˜1cڵ+cǎeQE?~xfϞM?Vv!Ci&Wŋb0zhN3f~z֬Yýǹ1̈́\ܚ◑?H.ߟz ѫWBu[h ۷Æ s87o櫯SN?_`2 g!ŭ_J\\+V_dUnnn-+ٳgеkW«զMk>S˜6mk׮ϯ`A瞻yYEDDDDDDD7T}='N ));///{-rXl6,W6o$LNA>-[6@ZZ;Om۶Ju ???nZ>5 %%~ooooooc5oѢElݺ??\XdIl6|}}*WyaT^ղe˘8qyyyHTT4`„ +ZԩSݻw3c Bǻ˸| <>}NppQ̘6m~,ozxغu apwӲeKK,aI4nܘ{]w[%KР%dggaÆSX\JAh", }=kǷ~Νx7̝;Јʟ~:jСCg_G!553^O>!))coaal߾7ޘE!C8z(:{lƎ˚5k5k 4/5*##_^x^{ oooy5-u_)))E!77uѶm[2TDDDx: *ŭEEDDDDDDDD*T""""""""QJPGz?wyyyXr8ixT""""""""QJPG)A%""""""""xT""""""""QJPG)A%""""""""xT""""""""QJPG)A%""""""""xT""""""""QJPG)A%""""""""etR12sٸi-f&OR"` t8"""""""Վ)))tr&RE7l~TI6,4铯!"pJ?KLDDyLDDDDDDzjb\q`HN%Gk%33(ËSy:jIkPU9Yxz: dR3øAT%cBrꔪHUx֠{ 5 gŎ:U`:{HY)Au;MXN{2?ia`f p: 'PI-peeis"""""""nN]=z\Qٱ$&&qF222JWR\YYYq=p( wcلՄ@ A>|y6>xLxYMz񱙱l6T%""""""" r w}޽~rٵkWQ]NУDMxvhmv 'n#Bm7%ndRu]?֐Vu|Y̮W""""""""eQm~z<ƅD=ńĐ!\2z1"BE(^!?Cd1VgfG.V QH4ODDDDDDD1*77(&O̐!CiD֭y饗 ?î;0sL DFF1r(W?^^6FlfY`A3]0vX{YF.{8_~?v0MڵkE| П}_лwݻ7qqqX~Bm6̛7YlͥaÆXaÆqHc[jqqq7G)XP}Ν,]T v҅ W)/Ʉ5| ~?a đo(KG3rxśE㎁OmQ5*IDDDDDDDIoԨ)))Eb8x`E4l#GP~}ζm3gQDFF/pW=//۹\a u8 Rpw> y͑l΂} fyz[/ ߻}FP!N*nDf///悤鬈CSNR(Npptq1`@Be 48(+NNI'w84R:9mA7Dh~r,$͢5jN&!{FPmݺt:wv۷LTo?IQ5nD:ut>'2p0H2UwnH'0lK 5 QyNr0|ju(Ht9˱NS"""""""ڸq#> QQ̟_҄ llْ?[oҥ [^={9n݂aE'!! &֡C{nJxV֧O[ƎKv8zwޮ8΅8 |m|0 2wy9=x''TfLKl&!\\ŮTAAAܹg!ueܹt_|ロKŭc֬7]:~~6m{t-ZThjUq,OΒ%?A4mf@Ӏ<'^~W K\3&/u;$xW=b dm^#/8mAu6"""""""r^+4KKݺh۶-|uE6-%hu p{1lrSI9tCdo1l.Xaϥ X;grv`JLDDyHDDDDDDz8/kPɅL8O<5 40ڤP"""""""RNJP]8rWfr]DDDDDDD.bJPh *JHPyyyXJ hxQT"""""""Uua!/' Cqރ4W dvר@ʢU5ѶelݸZM;pJY?_˨S;<еBLV%dy΅"""""""U)))He8Yy9YTӁL&OS @=5__k&''q0 rrrp:Dfooo|||JHixdǭTofO """"""""7%DDDDDDDDģRJDDDDDDDDBBBid:W pq޽-ZѰa aaa哖޽{غu3QjIDDD*>]EDDD.bM3 ?XG^^.}^M&Gnn.???.4+Enn7n0.{ƭ^v]p|2fx.#v{'Nt:ۃhݺ-74X"샮cT6M&+W±cG.;XV|||Q#JjGÆ1U"^(n_LJ/H^^paw`͚Ul߾&M.;/qW?>}v%N9y۟_Cv<HU5+>>xH<NX|yԭ['--={p%x: {ֶLٳ999O۶8~8:ܭz۷oɉ'JUWei0s UDDDNR8v(d2pJdѣ'}U"AeX ÞEDD%%'ՁF>c///UkrZu0KTdj #xrTޚ=Gs1 n(?.c))nٜ[F1Lq#`c'LHHgؐk:V5n%vFVmN-Zo"Tv:ѨQ ws2Qddd2wXn=V+wQ7^wc_IMM%<<[FD]:} àEfSf8bNS2220e#+WFlӦԬn')nBr!֮[ϔIQ{jZ׾Mbgn撔|Uϴg^3ʭ)""RhE+w= IDAT,>!:p8X,Mi2 M4 SEtz{EQ#~ˋNArrnOKK4_Ȉ `_9=?7Qv-ӻ&M=f}Е:.xr4n܄=7"//|(""""$>!mQQ$$$pDa`&ݛO=/ Wyvv6p;qSV_VFff&ǏP`;ԩǁHHH(\0 99={vSً˟dfekޢqL bbW+yY?p|vŦ͛ fi3wYm `ܘQ2;w\EDD.tnj׮5ksAvO<xg*3>Ukò8x0`b/LJĤd:}96jEG[֮w5/((5#ٴOZjb0 YkLL&'7o&""J355|+"''KSaԩS͛7b6Lg$L'GWHHH`˖?[>aaŶ퓧Ey_x;#Fㄅ2t4} ߏzfx  cyk^z~9"""SRRbf|3g{۷6‰ItŽKR ?cĈu' >cn|ᗴhK8v^CXh(O?ǟSvԩ]۵_V-qbˢ+obbmڴ+Nrr2n)""i&Hz^^7o0 4i_ g6CV lpҲeRBФn`f+;n^^>c6N'w*v֠gGhݲ|"""U^֠$**}lfԨlܸ45j$&M"77u1tشi9{L{n:?ǎ˚ӱcG=Vűv݋^{ͭc>| 6mg˖OdddгgO^~%|||p8ŶWUT5K˯{\w@l6汱zw- 6mҘD"1)2]qwl6g׮ԬY0}1 >#9t(6IN.~v{-[b׮[Ԩj;9j,4Ouh0䔈_M_f޼y_\vel6, !!5矟NXXO>K,qxWX,Fi0c ֯_={6͛7c[ٵ/ ʦM\O>Lǎۃ:_.ߏkD||<>k֬_~DGGpB>3ڻFq;ϧו=@-W[nsյZ-~NCNIe"""bhܸ ͛pc6V^իص`}歈iZ5c2 A&Ѻ۷n֭[Ν;p: ڵ@M t"""Ւ$ƌ<Ӯ_u3xVѣGڴig} 1eڴi]̲e?qW0{lvCxW5k]tab(m۶a޼%gٲe̛7 b ƍ#Klwr!#> @Sl6a?w~@Z<3m[e"""R4LPP0v Y, >:d2a#88T}.LDDbW#$'Lעy3sy{ߣ.WI"""RoV"pg z(/;{: %&&ЦM$''qEDDDDDDdZ)ZDDDDDDDD"""""""R=\ܔRJDDDDDDDDğ~ vmp8j,|R)ژ&Xlܷg1{9=>T汷G|V;}6μvOoƌ},*=taE\٣;5jy?O?={X빺G\7Z׶q)^y ~cu^yy!lۯJu*rl۾}訨ۺSHY(A%"r~#$8_WƝ%s`<=@Η o+{]>8ޞ=BۭjF4praxޚ=_wK/4 ˯ذ߿I<}Եp8رc'Ͻ"ԯO]t)sy9% - ˕s~odK/*kEueg/Ϙ)+f C^;{PTN}Fܥ)~""ݤ2ᬌ0B'G~?_쁁xyyUh~~voo쁁KaPVY*b |q~*O_9uӡtܺ }=?__7V-[;s˜St Tb:e}+3^:<}{"nv_ΝK#DDie\-[?:[s.ش']C B֭y,_+sțֵ yy{~mY4N"<,P,{d v n(?.c))nٜ[F1Lq#`c'LHHgi0iSɬwaX-ޝ[F݌ZGqiK7%Q={. ԩ]K` #xrTޚ=G(Zt<#~YiҸnڵ=;;fɚ)T򴑛Kڵ|>o/]w=?M7*/ʵn` y ':*{BK/%7/&aЀZ\gdS2~ֵPYIJϯ]'";5a2> PuHN>DF1DEF 6y{xnqcXϼ;t_|{.:EjZ깽Ք$!1?>W] 3go'&(Cl99%Qx{sIDFFK9x)rsror۩>D'%5ײͷٱsO=|y!>>>>g⫯|3}ʲWN9dff6aFn:j{)/te=Ecu$"jgYo^j۴iH9ɇqgt^Lu^n>1'uv6i aC[^IO);⹞s0H?~)'>ǟ`[ %K>#Ź8ǟĤ$vmо];~-\m6mJXh(=KR!XԭS?__.oiS̳ԫWqcFWN]mZef\ѽv={t:9OFFaТY3Y3ܕ̝G;p0V-Z0fTbɇXn=S&MHDDMŪkl˝UY({wB& {.bO0~ccRq,x,q)wNH:u2X-~^⬸eJG̗AnnnU_)/ItQL AAA\ѽfNgT_~EbRb.YR{JE|&:x5ӫ'qHN>TXQэئMY3;&NR!ܲŭ}g$A%"R+[EtT@233)g8x:k۶mLHl6Ӡ~b}g\8ȍÇJ\GZ(1) 0ahW}Yhwo׫[*kRqOhH(נX,ǥ@|tWSǰ!Kfff:'2Q& 4-D *r5.D_?qn'9<:ʸ1 a× 'L8\:%%ﻇW{Td21G[Ea퓘4a|'SyӋ|jeH,~IsU8*J;?ZqFEt[ LXh(cGF"ZJz)/UϽ\X ?=[agڷLu^9j3d@m"FOPwt:ݞާ>#%ѧHe6^9%_Oo~mUNoMԩ]Vttu#wp0>X&M=ӹSGAR`tAqWS#$&޵sg[G#,!o 2229sгw~v0>\ )CosߝS-[ix vd`ƍ'1xJYp۪մnI||~UmݚOWx{d޽丆ݴjѢ%Ε;qT4v~ xY<}тd2ѽkgpBywy{ bez>qj!\aoClެLǫN|)9ŝs A]\wVCо]w+=">t{Fi PwDXh(~ZNZص{wk}=bbYo8&3RM)_[EΝܪesY*K|ͷ7汱=S6n M†?6Ҫe x;#Fㄅ2t =&f}4Ə۵-ߔvJMI\_˻;sG#'7f5a>xϝg3rxBBBҩ#nwxQ>>>ԯW'{Ze:Vus{HIy YYl޼״ǔXx`Z mq=G~ոjń{=O0ۼGP%''q>Cqm0d5ݫҎڬ7>%.rșJ+Q|\Z:A]ϴкeKHYhU5c-9Yǹy%@O {cV233/0/NĉTOl"^A| mǟA|ڮ\8w]WG<{ytKYψ4ůX۴pp۟Ky}]L&#fҬ@Si// k;3+ j_êqWeϨt^2]R)~3R'SUSPb)J@W5FnJ*xFe^Z:/?Lg,4ODDDDDDDD>UTMr:9EBNWYAʧU^ݓYxGѶ?`nu}? @FޓkgB?K Z{@6gݦ bc|6nLsL #:r$#e[){33>̜ifEOLA{eDnn.]vTÇ^!;;͛7Uh Uߨ??NAtEQP8C)RT6RJDж?ocӯlK:_'lJ ]s rE+Aǁ,2U?/jujxqy}}, -Hy[}(xf<"`'?OXq,4׏ T<͢qX'xɶN4J*Ñ#GСcr yˊ "~Su?tR 9]e)RTIiyԴJWdbgmD'K; p0O+\qv!iP3}GU}LKOHH'w*b]`k/Xv}}\t-b*AjTSG`$@* 7kv3ɑ9Nt4;6kLpt /Ufg| =LA!Kur*O.2DTFNI)6"b cɫ2>6 2؟/R16AeVz ԆCjNgqqSi<ȉ4Dr:rR}&1~-`Yfɗ)'C;n=nE\n"gL[V7ga8Za'&gE1u7 a^ҏ:,k lO-0C(dg+y-iʗQ. =8-|:n>Z@3DDDDDDDDSw1?sX7`ZHlc/l-o@=E5p($g{,`;z$2xm^*zg'KvIC?k)lƳcmoelʝb `30)Bg{ty/c1gnDǨRQ"""""""R;*A pakB6 - q]H+d< ٛU.=]uFAcurabf.CEڕˀ!<6[S  `w)nL!<\Jؒ9rvek< c:tUw .J #+ߥjN^aTV7f`bqmU^Ydp{>}"$)t$gn_>cK6΋o`z5fWf}s=E8lݧd^Cۅvɳdˁr|TI!toDJ=EX@.>B'o.LcWF#,xrz fll^_0~aMpz9ZĈG $)p,[øv#3J&].r8=S:otjm08wgxuR G>_>+tzNۏxӴ* *8=6prln8 ,8m(N 8 14'J)*$m kϊ+tR#m<HvTT8eMi:aj]DDDDDDDaO}W>ܶ~z.27oNdd$ƍcW_}ݎѲer9s& >>n~r\.>cufcԩhhIeƑ?.z"""?~<4;,1IE'u>?l6|ItNw١H0C|ɜ9s5jVbDGG3vX\.\yv*{SvZ0az9Υ]]avU{?NPP)ӫ,uu?|׌3kX,W9hlҞ}.&C_B"B 5\?(CǍ:8*-;7%+~?>AAAo5sssٴiK.et֍iӦѾ}S۷FfJoժ?+*'" .keʔ)<t'+C?[o5; :E *1ł?d֬Y[Vf=NDD٧5m;}hڴΝ;ݻw]uۣc8 W]T48 /={vՅC~~>gfvwILL6;J /U:d'^wtϏڸظq#W]u١TY]x}m<LPwu^%"R])S0{l˭Nrr2;v<,**sǒ%Kxgk%v{*'"jbF/1j=UU8ى=| #G$&&PD}b9)##/?ϧ,cL4QFѱcG [oe޼y_xꩧXb~ 0P7U44ND|S@@ƍ~-[;ʻ8uDy_b~)]w١9JP9ge߾} {.P|'q 8vGPTT?o /W_[n8>3S^Ԟ'zJnn.F"88csCE㤢rqy1|pbbb1c| -Z0;41Ay(K,YBNNcƌ1;:ǒbHKK#660iׯ墋FFH':)u!~{H_yԅE]AD]]ԅ4JԅE]A㡴; 1h\ CM>͠S)A%""""""""RJDDDDDDDDLJ *1T""""""""b*%DDDDDDDDTJPpQTThvRˊ 4n79ƃHANGBNTAO *)lٲ\CZRPƍ>5n/9ƃHANGBNTAϒb9KNv;4lb1; vhժM񦥥{"ddIaa١H-p8!&f[Ӹ4Dr"9 9Qm%|IJecȐ 1;rxB, M67; .rrD˖-˭H@jFV!ƏJ^^p0tpf^$l6; 0;=|è frҬV[_:)""""""R_)ACCr.%DDDDDDDDTJPIѲ9*5q&O&Mٳ7|37nT\\L\\RHIM㑿=yJ'FBFeѽrU:A>gy7;k%$22dbow?0kWtŋټe >}zѤqcorDDDDDDD|${'=z?tޝN:swq!ƍO\\<[l?~%QnK^{u?ѦM[.o?%3nxZnC}x饗x:}l6""¹xũDEE0w\&M]wM7 s ן[>}:;w[ow2aelڴ[`ٸx ^z%֯___aԯGe}N JXXУ{W5mBm޺vjVLDDDDDDDS%~۶m#>Qc#F`̘1Z+Wr7׿lc,XÇ=z4> ,{aҥ8N.AA%K𞻸=駟0vX.>|7p}x7?7oޜ'r*o\%KpyU9nƍ,\4hO_ѣ;3g~@TTO>$k֬P __Yzq;"ٗ|{>>qB#{o*Ty]v-³>mjLΝ0`˗/''-jr%?۶]v9*CRqٳÏHJB^^>999pܶm%z.֭[Oۦm۶dggWw&Rjj ?mQ.G=y\yoNvv6z:/^ jp2cС .bҤI[\oYMqq?d0.hQtđ#Ggb>t09G3u:啉y{1co&^;sqM7ѫW/"99w?"""v+]fj2D6`/|W4lN>}HBBB *>S>`bbb1l(.^yهIHhDP`iqj}7hЀ{g~_|4Nܹ駟iѢ:0 ҵqƱp"C ^׶"GfϞ̞%M4awygM7HRvȑ#IJJ_vVXEѣi>}:=4ݻv5-_fIMMݬ9d\vfQ%)Wq:"% =z*NZZZ䫈TTO>W @ff71~lZlzJP2J#*!QQQr0 Q/guײyF> /?Urѭo Jns98x 7mcS^yq3OE*:oO\\,Alق=eɜ;ٻ|Ws)UN d_|*.`ƍᨰmhHi,O:%|YT"""R]y&Zo :F _o˖1"jm]f~~~U_DDDV bc1A*== G=qcCDDDNYӦ:t.:NtTw5.eӖJZK+gjꥉ3l۶<b{wev(v8|8pChެa< tО##kX/$7;vޠAma=AmSDDDN *ѳgo֬_݀4;rYVp8II9hv8Z6Yf""b IDAT""e˟_ְvӢyS nbxjSՋhcz)yj>،)@mB>9nl=$18RɯN L 6炈TfUH&"##Y~=A5)L.TȬY$ %K6  zF0k8w◤,b#O^F @X#,\ .pW)]H ůvq5ĉҾ}:w½GϞ-B׮֭;SN9㈏Ӊfkܹ M6_L6[ƌ 2&Mұc"O 332_cf!u 5{71-I_#:Ü&VYwYK^*3 ^=DDDvkUzɥvsWw^."7oƏ?eeeqPƍeΜox6l}-"??sNt ""믿ƍ3c<3nݚ|!5jOaa!k׮%""իWYs,TV mc8lV~ښA.vݹN=B+;RJ2Oag|p8cDDD&W bRsSIHh-[nKNMRDDDSՑ#G/ҥKٻw/Gb >+T.]0{hђGykו4RCCCygx ͛7g \VZ0v<ؾ}{eb`@À煶P..}A-YtǗ6\)&ҳy09G E6G7"""gՐxrl㹹yl۾k(lLDDۓR1sgٷ/U:-[p2Ջ &0i$^~eVXN^gf kΛ aȐ![oӿRTTRye0JQ9%I؈춒9l%ɫ2>e?ߏ_2c(%ç3CDDD]QPP߶:~FiۦIHeT's8J&hY?ZfLrӦԩ/puזk… MHm9/tܙu7:nN%?;|8c~!ns S_yCgT]&ڴi/Ӕxb~\y啧,lԨ*II[KٱcVx p RYCsX $6ಞLCrQ&eS,IP9]=aYp$1>=0CDDD&0п/׬s\+);y'w?vQg#d9I={һwofA˖-ٵyJx饗ٴi͟?sҢEK ذaQ.78>]<.݂-b}wnWXj L#.""籽jbrݙgo2͚6fӖts<%39exoJAA>:c~_W͛GXXzn-|ڵ#G@nn.˖-c֬x<4i҄_|Ne$\Y3W).b_Xr1/n#(0nŸE5 *%DDDfء#7nYƬ߰~}zyf#*28%DDDSɧ=>h RSSJ=>Y|9᧭r'zyˍϏ󟥎ګޟǍwvƍ+`s4~Rn8 ,8mbWE6.6x*͉R~JDDDfrׇ~QfznF?u|r"""rjuYd ڵ;ۧORn"AQNSR)YQIDDDջgOvˣS3"%5l)"""QKc2k׎m۶g3ܹ3Æ SK%'.6.EDDVSBChӪ~)ztrR߁ڽ[x?3 d;iެ)!!5T^Πr9Xg^xV\ŵNdϰZ-c̾+'""R7Q#ŀ8t*ډ>ln{X}!f3CDDDVgPlS.DDDS:W_INN GRTT]cGu\.g#"""SKDfhf@nn.-'??EDDڔE8ROUz1~׾YRDDDjBݿڥ٥#[]LBDN5Yk~QGzdUZvo|+b*""R9c(OkK toT A(_>sف$è=DDD~RGxpC0(**F7F VEDD'i(A%X,(#"""JPT""""b.G *sT""""b*͠%DDDD46ۉn av"""o\ Hh0 9#`v("""T""""bF:ɦMp:fsFhҤ EDDޱhѿH IKK#660DDDDDDDȹM *1T""""""""b*%DDDDDDDDTJPS)A%""""""""RJDDDDDDDDLe7;n˗1;rvi0bv8ѪUzH}XrObv8aⅸ\N6mnv8r]aݴlpDDDDDDD|T>"+_b%//pp8:t83g~R/T6dddOT>rafR!0\.C4VN4έT>>$OKKK#--^%MEDDDDHxxV)A%"tbለRP͛HOO'&&pj9-33:)00.]jv(J3|I]<€|8C) O#GMT!|2aY@-YYlڲCY\Nbbbݣ;!!!:۰Դ n7QQ tVk0UtvR2arTq&nݚ~ZT`k+W^yA4nܘ/[nqc y{J9r=bTճu:v`v"""""r%mZ({aZY~~^¨/jRXTďЪU zb%pvS9U ׷JכTz"&&رzd9Cd5[Nbǎ\>RHIM㑿=yJ'FBFeѽSmzֵKj) UߵsR{ɧ"''v:'&zVq_t95$L.TȬY*wf.9b8YYYx1l'qпO/4nm_ngWsW%$?@8ڶn-uEYtڶmwE|\هsյ7  t<Ӭ^Ngn<㧍ϏBUgŋTA,UngXX,8]%޳]:UvkMc}ѦM[Ǝʕ+;v,qq񤤔lk.≏oġCؼy qqv:_||t:qLx-;wifןiӦyϘ1!CҤIS:vLd dffVXVQu(+|ːAqs\}ev$R~|o1|#66Rer\.2eqߔ;{Q|<;apQk24'yǹЯE)86oDnnn.TPφ 뉋r۔Tv; #c|5[>LG8pF|Ejz,⿳`9r~jdխ…=zm۶>d„QZ +V,g„ ,] (s3+0j%垧xܹ.]xEDsѸqcf~֭[>DF),,dڵDDDz2#_#;p\\pP¼{tJMHںݻ`8+s Џm0l`^~RLⱽq;W^{=hPc1ĐΚ5(((~EDDDDDjѱDF1 yJy<maqݸnؑ%}E4h=@TT$AAjΖXgƎU^Wgڸq# .1}t xy'x'XbűRp:,]Xj~~~ >Ltc硡<ܳo͛3~V\EV-;RxR}l߾̲W◞@\llH%}yhЈ[| rgTHH0118pFTp|EDDDDDݺ ;0c:W]>Қs8ۏfY&NmZb_~WjoݱIޕ]wA|\Ot m۶pxߟ nJ&Mܹ3˗/0 -[СCce+:thW^4mڔ0⋈Ϟ=?-Ð!C ᭷~Oor'LPdq3")هsl}~>S!!W&bh8 <Ͱ ͛7NLL Fp5WfMNf*$8\"#ǂOYMr&8jᠸxvNjbFΝ駟9t#F gٹs'Dvv6G*S)U2rrrHȠEf8%K{3_S8̠cD%DDDDDN KV~VV6VeIL)O#UQ9NVXXH^~> [gPu8?…4i֭#77[6j%L:_~°aüvFY/^ e˖R5^套^dʔYjC )~r[GҩGacpM{P5kӶM\N'6ڴYEivlRm#yrs(,*,  9rv_T  )]CDDDDDjY@@-[?HEEx :v9]-y;ܵ :o@c^KBB<11;\ Jqu:NPv6mкuk֭[Gn݈&::͛~z BxxxeC9E\\</26mb޼?6|ΝK-)((`Æ DFF[V?fj2D6`/|W4lN>}HBBB *-SR{/ȧk<޲6.eكG6?||+K-KΑt9V^KMںv } """""+i*ߴi ylڲILݫ'mZ"$$!cM,[ 6ࠠ;Gdd6nhn.Mнk tȑ#|嗥mxL>{s`yTP_gĈ?6B6lWn-|ڵ#G@nn.˖-c֬x<4i҄_|NeGI:@ppLq%kX:Q\l,BCCOi[^=xqj̞Uyb|]:wzztzԱW_9&&Vb a%Ujc*PHSՃ޽z['6& /(&ugzV-[Ҫe*kIMMݬ9d\vY5)gvr=z['--زJ 7xo-3AUS6ok* Yl D:fM{ƛg11ql޼ɻ/H]RPφ ;7IDD*&&t֬YuʭUEDDDDDGtt,fR!>߳vbbbDDDDDD4%|2T"""""""R=fO14JDDDDDDD%|j%33xzJOOpFy"((}STT1;rYV 0;%}DDswFIDATDDDDDZ\HKKrH)GPjT"rNKOO,fk-l޼tbbbX@DLt온䔈IAtҕTCUA%"f_|5V`$4G\w9fW)}g9jrD )]CDDDDDβZhfӖ-drC )((`݆ evbȠZ+7s$mח/00 cǔۯT"R-n'ytOlќ_sCsz??3HyN9Gҡl]:eI[V~$4o^XV֭0 ZjՂ=z`X>]TerhղRJPH8o>NpP F֍Ǟz|R\nnwnP^>BCغvIQB$"""""_```wܩ޽zg!"";~'""Ή:Uתs8]NXQTg~5W]MNgٸ?#r)**ko?M'&&y y7yɧYv@xwՌ"֬[GZZ:m۶">.ÇQTT޼.j+ſ  ={ڥSnZ*A%"UVPP@Jj*;}۶߿rzyؿ?'a9z{Ltd}>=tbbؼyu(.[DDDDD.((_7W)vF}ٰqѭK''$T;t9LL_^ۏT"ReD6lxrJÆW*Cxl)wΕ^椤3d111f* j_Gtt,%[<<6Jnn7AtJHP`e"4#TsDEEDV-lٺ~fQuTTğ&oUc &6&h N{eq3}L)%@ Utյf]ź*bYeхu~VvY`D5)6DŽјLb_ 5^ueiWlXbb3Rڴ=ڹ{wRCҪ]ӵKgeءܼJLh~$`aaaoPCnG)-Ztdj$)//O۷g Tii6mڨ<ǫYh :ܱC4drH11c!!5V>~l6nG~+7z/׫9K &տ{ly>??_y+M֦$8_gՁp )$$T:uV^^NP:tXkJYc-/z;r42(*2AQ\2X׮ޯCWj3o_YsrtqKbcblJ$'L}jmEGE铕TTT@ MKRfTzZVMml?WVVN]-P~Aa~NCxKa8ΜNZp;I˵b*uh߾timZ,Q֞JJL;tu~c_~D5WEeVYj\Ն @XV=1Bcvڥu9jۊNvM{q,[V\e8߻gG6VuA~@/;[]%%ܱc/i.jߵOS|<֯V鬪N][nm7nVqI6nެM[6wUi[r_^F}jEEE +,4ֆ7H6MgKkɮ Nx?}[')*PS3Ipi_Q?͏] kCԥs4xI9cTAaq)DD4,3S]HHR[$}:nǵ?#e)ba__plO|AgǔkߩyL;{} bZ&fU^^&é /p“)"cvqINIR~.=bUqqéSlS~οuCqM6*=\.jJKK7_+O%T"9BÍF*ˋ*_aV>㕗uZf\11qF"aNpꨓi{_xj3=MAz&Wɿ1 =ayyFNcG)$Kת|J^IOI&d6JLUO?,RKZHQBBbן4B !?[JMrXM sX(2ĢE.YvBE6V6Bf9mfY͒l6 AϠ W~;s|@u)--ݻ{J1尙b3wZ.hhK=6L2«(] J=z:T+?NԔ)cw<>ONBATɚ5s,QFFB $=$ͤ+FwyPkR0鐨N=$WV$)"Ģ+D/-$=Z$[4h$,Mݻu Cծ]{uYǏWN3jJHH԰a?SJHH+xt Cձc'qƙѣf̘Qk?JOO Ik]z8|IRaauEgQcƌm%$$_Gرc8)MbRB]Ύu;5o-*KϽ^q6 h!"I~JsuCv6qxT/p|=j߾}5jN=_FvҠAԲZ? ]Ţ( >L-Zмy5ycjӦ_m5qDIl 7lpmذAFRaa̙|͛77Ɣ)S4`C~'7SU@e6mU6Y+ WVI;ʴ#@-.۟Uz􅄄`QΌsR<šE_Ҹ:k0VFGgVPkN+V,q|޽4z .і-U\\"IO?TXiii5j$oIfϞٳgW>++K$q|>?25vd>UUˡT>tĮhYhU# f7a6^qޖ-[ѣǨ[nzTTTIǣzX4eʓSTވ#4dȥIMM SO$ק9er{>\snMqjEkvVx49l:N}EKRI *ϧ>P^23e\K ޷.ҀӬYi歁QQޭ4r\'Iyy5zskjTKص{lݦb%%&{seۃTiiikha5GDDHm8`bʕ{G}͛玆[Μںu +p lٳ}?)*=>唘Wkش5LNzv)km9xU«2__CWn#ty} )u:Sn[>>]VZjw߫Kʴֺu7\ˆ\"ǫW4slMFה^;OY{4 8eh׻\.'>o/ 6~Qnݺjȑ޽~Y6Ի. \cԹsg}9r<.]8(I:imܸQKYJIIQffN;SZ:u$ 3<+I:ߨO>[nQnt!eeeW^OI>I^OnTi5PwOՠ:TT;m2$*2LxP0WVծjHN/ {_g%)-ZuhHkvp("<\uWAM^]+x 86mޢ;(>>N7΢tС'"4rHkIZd:g]wݥK)11Q#GЌ/InfmٲYX8pl'___UVСC3?~飗^)S]+>Qjjڷow.-'>+{hpXK7L&]{),*\\qg%I#4+婬PhlKymaAuzwn3iU\98<[tUꩿ>vm]+W)k^%%&hm6A?X3^yEgj~tZ.JKK5mKrz9CҹsGڡ7j?g~,YLof|QTQYW_{]}F%JOKӝ3W%I/R]}VVV_sWPjm"9Iy*77[nth%&&8W^^ܼUPP#G6k{+/LQQZduU!!!ծs:p7F瞮׫}z㭷uE?3 Ӭ^TiI"##t$=tifjيO90}vg>Xm޲E1͚GhϞ,=ZK/kwGTTT^;Ow>>9F}yyyP߾p8,p:(--ѦMjKJd6Vq+\%AQ{esTO>U_n*>=>Uz|y^^5ny4KH~$UO;p^U:oؘY,]ؿ***Wkiij]uC.נˮИ;9:C%IyZ>Cp5oA5kI뎱*RZuv|-]Bw3RR]s*((Tw3RR1nbъy8_gՁp !$$T:uV^^NseZ-5lVW/.'x5þcjD暈2L:pHלz999w[ݦ]omWI?qfYLf^wHO?׿յW])KU@#ϧ*)_+nϾ}V-{ٳofR[{l6b}te[=|ee $عS'ps:j*YsCnJ[N#~`mnW\\m+/** \{xHGԈYt.&"/>csnſ$rjw:oL5潦f`Tgo$m`֭u UqIBC n%4hi] :*IezwԯomZzFH%t1fnq&=]2hм|>MY++9)I>O;֦u6BwLG7Ԗ*..d2l2+*2J;wwX-x6s:wR.]4Wrg辉̝;U^^:Ytz?4 Ժ@{.WbcblJ$'L}ŏ4V{ŗ_;nҦ-[ֺ"""OVRQQ7**R g{'***Rs[&Ijg`U^^&?mPڗ,}zri UtttS$as8UY^b0f9sOV, ڵ ~nUO?WG\[Gӣ?}zr7ݺKҸ'(,4Lq5g#5Q#no$IFߦ;tФՕݠ)O?Y?xZ-6V y23w(cwݮ224[7֦M&yb47yAIR=d۞csXk{'=Gަ\=7Iَ1- ڴicehÆ %$$z>9)Qݻvїd2oM$0dfsXNMza> >4JuJ,". IDATx{|SOӜ&MN/i^Bi R((PA,JGPALtNι9s2&y)^PT.zҖ6M/'iӓ'4i{z׫/INKw`u-mVT*B!B mmmk֬YbŊN#dԩ_z||ûjB!BDDD@RAVĉ[,~PpԩM&lQ6%B!©SX,'"XTT%bF!B! Nt:#"")D!B9EDDUF\.{AB!2"""Du[[[ 󡬬55hmmV303f,!B!gu YWVV;F#"#'aTVVs.%%C琙i5B!B/""]F86[-M2Jo߷B!rikk:jf(p5qhmmE[[^qX'k7*u:L&h<\x`"L^zqk=w^RK/G X8qzvyjm67 =}M!r& ݠCe !gI5Qq$^xT>kX֣j1cA&egv}O>,iiXd <Դ.Ļ|]\*d F^zo['y6NAyp:㸐sL=!Q$D!6wV{Zѯ+^285g? Pq$viq̙n|o f_o'櫩ېssBuyB> uo.FԔ=r o[!bܸl)BHXLdbt;ւ.w .V[+;wbXz5`PV^xozn}窫O+ИLc_vS@ɯ_Rpq!}-2x꿟áKߏ;-z>ӟ?z|}Bd:RuLN6͵kzزu^jl3yUp\x.)8sFp4_iY,BT5^}9 <MReN6o|Be:PVQ\ "##Ngr͔GzΙ'!dfd: 9==7.+ i˖G!t#rPn$/=&S4?Nh!P՘8~<=_?;={###SV+4qv~FѣXY3m_VV}UKwX%%0{>B!772&/{ǎG5ak2B39?g2++ǎGjJ ^|akPܜI3cB!B+>. /-CJr2^yy:WX% #E/RSQ~]цs|+H4PgfLL?JA_ !B!oڀ6 * 7a')–s٦/pZ55W>V/ٛ aCl^aq.Wb"B!dw߃e@fFN:@}yb8v<hƴ v"ܸ:$ H4pp͢1}CB!BHè8qxʋ#3#'NĽ*s%zo{do.+ ˅~[Lu5/<)>n\V82BB!@?;qYYxzcÛ\ vI> ﵿ?=]=_@jJ /ju2'nn|Gbb"x`n񆰭-p|B!gPN[[A\a)+ 1q]+RzGuu2Fuu5z}6!tS/0qM7o@ ]A546bºF9a|0'rn KFk0ؼm;]HI6aq霂^ٕ#ߗ޴w-!m|>n߁”\O5cpºV+f3i|B!禰B* . .*O C^ZO t9rjjjè@>|\n7<&ggc p8*JKK >ݴ uuvT*̝3IIF4CB!熰4KL}mnB9Wšuv{Kp?mXzOT*Ցa |ۭBb#o !dhT*\|,|&UVV:%' >>hiMTGߕ#ok+c N׹)qݝ>cNKCUUQֆƦ&$&! ΀Ҹ"?`YڍF )00ql޲o/B EEAEG͛rޮq㲰yV|w.bVżM_FEa DD!p:!_}iii~RmV1ca[!B!$rLl6$$5k 2\i55i !B!@(##` قb o2,sl4ƌP D!BY8B!B9[qB!nB!B9j:+B!rQ{^!B! )u}}@!B!CJ5B!BȐRu<qh؏ʯ ^!B! mZBN ֽܻP^<#B!6Ng sr$M ljkQB!B!avBϼ5>G7)%B!BHxuҙ,~XQ !B!$zX=zm|UnB!BH)鋑9}DB!3J!a]`4}o@ma\"!B!׀@y3v']obp٭B!B*lLg h%LS Qw=J7J!B!dD { $"ø|oG7[Kc*B!BA d)S@cE1m| Ń9%!B!tk!z2v4ז,"B!BȰ@HbX 7,"B!BȐ@H&Ed)>HgB!B̰B2"y|d }ڄ6K@frFx<\v+5ý4B!B9ٰ"9N~XA>l4y.8s6)iTVQIH4VGw0ZB!B dJz8Q6's)pW? !ׯ5a)D`R{aݻMB!2Fd $qR6W% lRcVHn$Q}-N~>QB!rnсP K0BpQssX=6򡱦)h؏K&GŰH;!g^T6N|B!&gL $+& *?xkɠ/gmg]MB7w0d#}u0M)6jK9Bg@k0#&)h"uhqa?kHA!BHoqP !Ay 0v:ZE؏Q+[3Y`"1N .|6dek:S/GE`q%h؇gTj15OBsM)< nУbXĚOGo[K!B9yȅq&*yux\v+1a5rFĦ@0 Ɖ֡fT ZbXh0N Vkl@sMiǑ58fTzG!BgM ԑ0plĥOAt\4ï_ 0+~l~~t2 nF٦'!Btgm "R͂rhD2,DF,:~Ͷ z練B!@bX,} i8χL!B9ExlAF6_+j|S=}H:B!2("4:GLAǢ[t+!B9{Pi`%I0'zu~!B!g.n7' 0NV!B."bXdYoFJb8*Cp!x|CtYMgΜ FyYpȾ7Й⛿AWB!dXP D,>3qs4,gD$ÂAfh8u]Oyxw֔wh-nvRv%lc\vkLI`9#jK h)y˟ Ϣ|0"HŰ7I0c-3OP #;qb^;!BHP D`C=(F{T $yIDsm9l~=( r>]X|>@!$Q}1C}!+~pPbrI/w8Fտ: .3{Է۔? šw !BJȐs٭8oQ dYo{m>}wC%'T u4gA2Ͷlñ/ ZK݂Q}Y8)ې;%lcQ2C9䥐!| .  EMyd̹ZS͐VQ zNDe+z^B!psȰiin@[Pp*OdAO΂:Jf[N68kJf@mV4G?w=ZאSN!~;- gM)2cz5ᐿ(5N"hr Q.I`! f%n\Dha?'}\[(D7qe[6_kM!.mC?Oj৯ymyFõ͐v|3KC?C?C?g Чw|]ŰpXQL%Lc5  :/Z*Db?2,qcvL{}`+!_g42rca745CV>""4Tt \[L%0{BȠ@^<۽3v,>3ވasogbog|dDò32vB).a}8^*߶^Fuz-eh/Itߋ4uGvxV}o G#?kN)WZCezR6˼;P_M-^pr-h%}' 8KZp=uOt9Qya+k<0ZJB! B a7!2 WOe9#2 nƱ/.{;Y>>/;`t)&\&\gw:M@'PspSUG9KVaԅK> ęPz#D7A"&B2Dކ=/} =}*$+3 M؎858֯=_z[D[^8vCw1fk]AŰЧMtX&\ ~1lA`:týB!dPP Dr٭J04!+Ɖ.U I\H%r{lr4wn_Je IDAT*>#Gm6zÀKyD7ԩauԬon ˘BHC!Ceb,A.h c4\$lxK(>QEEdroxG>SȎU5:w};LuA펗>s),sodX& ^vH!T2 ކ {tdGݑnsQCy1۽4Vx=Y gM)T̈ )d.ޒ=t;3vq!B!g-p/sO"9w>_q?VC8m8%l' 9 )S[r_d ? KX3\A _kxaZv)"r@avzg-نXsz[6XʷEG=ҙeBmB*Oz=Vt|2v+|Oc5sP 9g98s6Y`HX5z.>FxBHDq>Q@Cy1Nx'vyAt>Ӂ?}ְuXS1,R[KmP,yPڄQugM3v`4, M, F{f,@ý B!Ä!BȈaݳߑnn~nʲT ˼;0 Py-֜ a8uLh f,NZ@j؅ΐ@jۏ@(g0X WDaX.C>{%^qp/B08BȈ"6pi9g9~bX/Fd^7uiU B0y*xRlɂ2)gFsm9)zGj<k7M86#x4}/3bԅK`ʙP W!5!ab%M{Zc&>Fҫ@H}*/V^&=Z7t& m1f >3_o9<jV;F*@B9sQ D*!]ڒm#oshlz$UsnKnERv۔f):c{\]Rh ׸*y\L9p>FԂrMg,g+BM !E{!#O`ݻf^ ѳo@%"9w> GTPU"uWh8VF#R1C6'!!BȈUs`fwЭbX&!Ƙ8\[=/LFCy16>0{_5=C4 683q d!+nV}LL8~@́Mzu;߽Bs By왿|ً ZQ́>_,gު;!sBF,gM)m0f ^7x|rph }:G3-N;ج(]"V̈yOO`8Y0t& Tj#؀!}2$G񚻡5]oECy16v&|r)1a8>XΨi.>tAX(ttɖNces{qIzoWߛƿG*TieA 7قKZJ(=Bȹ!BȈV#$ީ<.crN: nA>Qn%َefxb?L90uP W>wuc&~9@pC{^ & Y38.^3 7!uʜ3~ɹAk{ݎujVfۉNA fcK Ɂ]Wߛ|=Tg}!?'AyVZc ɜvA!("p.awrMk0#}u8A_mP1J _is:Z\Uwl7UGPwt'5uwZC}J ڻmk;jGC AJ#ԕK }84N(㵊BP96,ZQ)1HE;}7ќV&6{8xqi߯لql_x_5F?4lNyýuj4B!C!BȈwg: ?}2o-E7g3roZuD߬o:Z'5zxOwگ#HQx$fwH'"4j BŎ#ܠA>-)0SkR8 } gu9V_dQx)o`!@ϕ,Cyf!t!BAm˱O CL֢lꠒ1B?y eh4pi)Smm36AWD7U$ w}?0(&BCw%Bg yhU' A`eB0*Z(|-&50k@zMhq6tjN ݩLn5;\ڄFsF֒.s",|^.Pz匘d2_yxko)E`+]ЯFR B@!l(8kJqg QxwCVPS U^B.(pl8@my傚t' `)0b94Fm9Tjl+ފ:uA{hX. I9Oi :j6Qz)S%I~^Og<",$)?'Bu R=5ƍʿFiؖ\SVQ@өt/U6g.U5f F!'T'/6J v_C̥~?e!# B.(#{nTb{: 5 5EqRB- 8'WAK_>CCY}" jup٭pWBeٝ *b9#ZH]\v+D7)^S -.i) F){Z$*ߡԭO0Ox} /e:Fv*ףP Q@Ƀv%(ᭇ4{Gi |MŰxH._y8xzpfD뫔@g'Jw(22h!5g2v/! .-%e* 'D7_Xs6&\tOjΚҠig4z4ay!EF' A^{%*;`4f8s6g#}RR^9#;M^{d{f4zD=QYb~'ĐrJ λYZ뱻70h.z^Sw@se][BH?ЙڻL48݊c4Y}'$`Jpi#j!9>uP&qljDcqr;?7x9;qRp<]twHp)ŪQhMi!yK>QZÁrhqAtK N~t\z-(@p)a oC?u5hU@c0K߇=Mo zsm9t1%[iX^7MB"4p'P ;=Ooáw :ܵx&*Fz&+Y.0. ]Zvel!ڟ,ōEɃ!yKrP"wzq3t Ҧ & M| k[KM0CD3[Rp!?DоJB4s}?J:XmrFhD2hin.۩*5Ӿ'k^wZ^K>]oi>=dX%XtJWg6k9BP@BAt@)hx i`9_ ňI^ J@i^Onډf[2nҲh8XގM)wCoEBM`bP^|ڄQMhzR<.yBɠvrIexq)h(2JPE2pT A#+-%y*&:;KNca̾~GQDsID .QG jHfcuwOGO35Ylz,s@+rRʼ1t1F`tU|zyb$> B>Q@\Z6t& m5F)BnH`<ˮn>#8/tM:->AsPy5J7TYWE;O!63R4OiRn&/k6ZNʥxP{ Tl݀>yPspt,{\E4A#9['_^f[rnqr-F CV>X}"?@fRh-S: omB,Cr`!J 5覽4:r!Z(({NKV!' ?UjVʆ-U.dP)SRW#aTÉY8qp/OBH?I-͈ gMt-Tl j~hן/pGEw8s6DDuGqg`ݳ.赽/ߊ㟾}kn:g*Y]>+9qPkty/0V[ %P%~S%jq6(0w1Ich8D2,Zu.^ 9R"8U65:4ז#3"RYS cO"J&kҞYzO$d"Bh8dDYJKۦ%T+F( }R\x[R6,mUx]g&l5Rܟ3JKB<BH?5qS38)84V0vxFi1oO.ߖAu;a2-:4xf3:jޟig&0`]t;* \ QgqhV (K umm1ڕcZ[3O " ЧkD fĥOthn8qlg,*v?!dd@B^Sy;nԐ[KnB;殯BAUQ`4\f!>QWVL 2~9锡31j / ODwjYS VoCtPZ4זCKۆg-CelöI]uF۠dl;<%sԱ|NB志'9 |]**e{ޗF˵nc9#9N~DwF2(Q.s} } ?:5Q`/ 3. @{HǶ)3BNAr%-RtcKs9A _ʯ0t+|bwO#>޽6*躩&hotR!. D+0Њd).,HPDpJInJٟ!^ŰabR@F)2Ž2"5 s";d< JfphAR1,bh8,x(3eXYm26\;'j3BBW/ܠ*?hFz\YdF);EA'ZE pۥ= ֩]`K7ee*Mə,@|ڛ#Ha*;6<LnHY3Yp};90MdԔuQJV%*0pTtedrH] >fcK^ <Ҧ]ERi\=1Z)(U;r`x?sWĄ+n|S/`F]7Zh }hτ!8~- IDAT5nog,%5r@BȰ>˼g(G]P"TNOrnUH[( 8 }9\>5#5/ pTU7ݼ* JE#Ra,Yo`8 {^%kHu#WThK 0XΈVQފ} MJܣ#e3{ 9[Q D!d Wuq+84v*t詭d5AA&%!yxx|^*u4X^ߦ[QyDTA\% 'u- 8 R9QXfK:ljIA +\Nע;]K.v,@k0Cc0w{QyJ鸴 J?ċ4|? @ R^e' GV^g:v*Z4HvW3*Zi쬢ԷAע㒡I0`0 lG!ClC7t@I]ۤ@+4Kmm&>Silߚ8w(mXA9*Dmc줆 ܢ^>ǰ_&b(=9>9qo+myKBkyEVl~Z{ h80XTaZԩ :_F(V\[f֮藨wAMQ;6Gw)! %43&/Y%Rݜ$wkeMќ)y?3}i>V"q12`YE+zB@7NpH89 ("2bT=t/O.PJHҾIWhC%e=Hʷڀ]F , *B4"*hx=z:x޼,H*zXD2yxMQkAk]mTXΨʊ tAp8^~ Eg!3'T楳G`[kKVTj j.uY.B~lԊJxե5yZΞ~(sYqQyNlCt9[?0juq6Į^q7i'\66oN<[.l+hӱMlݾ@T>`ۆĮRt>]ާPvc>8NoݧP)/8"Wl ƘB BtY/j$R/Z?ʳY;{:9ݹ\7^YVDME1~H?Mjvl2֍SkV7ZIaYU7!*^]nVW(A rbg^F<)+{<"X^@L+FcS[ߖ']mfm8YTQLd&جO38c<BB iJ]=y:{ 4[=v|Wh}>ĮR_^fCR"-: ݸw-]UgO?vRVeEoZc!x2Nmg1~>j]PR7~˲?&'ZM`K@H^mpUP4Q,A $ӏp=mǖU;77vL͢r\>] 6c4ڧT>~󿰺AE. jjӱ;xX:iyX O_ӤA6ت2Ws6n'BB 15L|["fjF4 dΔM*$9Icju͊1.ZQg̖M)+DUA'x e}+ٚ)wAݑP+*԰ :j` QKviLKulZo~g /Z_cŞ&ImJ&CAC:\pB=nR  V/a?5ek}("Bl'Ɂ _-&q|520 -gT|VOlE-Fa:_6ʨB!6,)+t7n|ƨ,a;l߂@9@ y<5|1Y`,rjp16k'15R1kUJ= .Z'G^(qvC?#[&̿(#GŧXMVb1ن@HqK(m>H{s4Y^ٮ] 1y`ﱂ7]#^otok* ݶDN'|Q D!ؐ,;GQ6M_(rF#[~{aޙ δUˡUp5\.F5ylP]MҪe@Bqe'mQ$Ajt`#byѨ}q?o>s kahF'2븴i'B?Ü^iOal@xFsK0t6txfی9wZb7)5LnkbW)\ڴ5B~z,HD!bCYHޱ7H/MCK"7A?.dЦݰOCUѕLU+ ^!qZ`L#@0qj;|Xp}TF(I2QufJ}dJn@vNb^XFf Ӎ;^Z%v2Hn_gI6˹Lyx&ACy pFk&HBBT $}KۖZlKwmGl<5PF/I^#KQ{QUpU)˂-3O~ G ;O?XɊA 0@I^zKrPv2,{q54Y\<@)Gc/#hTvyc0Ȓ Kp`rYG'1Ç30.Wi+0`TL`Л񂘠!S ƛ15[BiϴzB!vļ٢ƛ9%6iXcplnc4*%4j༒xdEoZ G6asɗz{<3cDFGB0cTrHe k*)29U78%Ȅ<4l"zN[aYf5Gm:O{BTI9{ç0H;'=3Ub򼹡@B#ME7cmGH%AUݸvL9eҎM>ڨ}؂VDiF.N^WUn @W]f-ɎK0s=e-˦.7Ybjm*%k'q2v}>Qcoؚl9Û{xc 5ԕi %R3n b1/̹WŒ,ikwlmMUA1Qj 3hꧨ4&B/5E3Ҁ7qظx Yl$!bW`펣Xkx Xk?\7(x>M`zL-\cjF׈D!B!d-Jdڎ-/_ԣQ)184>k\]Y<̜߰`$=1e R*q-fחqGQ75*@P+ ֫.}q?]h {I= ]?8=q/Ӻ:P^ $kˮg ݚR D!"!#``H,+EVp<:L7!5z- 6XR//ɂZQ赸iΦ_c!VI nM|}9I~lT2Ȳo\*ՐXJ;egI-:Fڙ=LzlnK2J{>]#^o0j@ܾCǾ | Qyhε c 3vU٦BBiQl!{ΊBjt$\f$159qL YC(ѪȹP\WO؟oVCj@rvar= qPY7 0~$] HШ2#/læJ#f&Լǔe{¹ik\]G`뻬޾9B!LU/-%5!R?1ϰ[AӂӯQQ{ YqQ4fԈ1ͮ/g5J)Fэ&mYƎu7P+̖C81'l%9{@(zL]ΫJ?yܠCܶx6PXYUs|Ck3ʹk_&5{Ld`%j !@Ym}'%5Bh"(Jes鸊NjLi(~FpUUbgW4yI.6Jɾh Zew..ݵz8ο"̍_sqGs>ضC]*eE;.ǭbiVT;ogm$S5J1iwV_p8%p3t=4b~9݆ӫ 3S#55 ] Ƅ?7j'Zc6b6eF1x("BH'8a5yi6 n|AQ8LfBY]s, 7ؾ)kQn0ya-IGƩP #sٸjT2jnQ ̘.S/Ы%˿z|ƛ^]eq2stڶ;kY BiAlw%94u(҄E^VSGW5Z>I J^f|Z%9ٯ ֠iUJ@.}} Y!R"WL.tm2 .4;T>r.mjg9ƚAww{)oLޡꛨ}W+# f$@-7?Z.sMLǬP_ n' >?AFB!Ojt$NŰH\X;IPx4nM$>8ѣz&'WO5H´,({UЪI136E`R#QS_GWKRl= m:kԶ]2Si} cw 2͠lG'e9F_*\,:"0fӀ[UB!BkC*y$j% П*ӑfY[)pu.!rvYqQ] 6%_@B!ؕwb71z4# j%/O0B/!r$-bW/v&88$ 5*%\\SY6pȻȾ] ^Ul*5tqZZ @W >Db7)o\p2 2lUhY!#9*Dwx@6gji!B)Rp bJ˻AT Qv5,^ !BP֫{q7K?e:7 ~mFƩl廒 ' 'CY7jYf2 !B_~ː}Tw2քjR&/^]rbW)|W~'w59O/PZ7}et 4^ݷRpYsD.ȩRhCDf1}B!P7YV .iP1[YD%/g׳$xyk\X;ĥ8-z@f̎}ʠVT=Ew6i/k}:755IQ+,W~nW!B!;H}kUJLtkj FG$-Y)oȲ>ݹ?Vl)PUs8k$L<B!2wK(#_ eqrw`Ø'x}qEFG4jhgJ(+ZYʼt`^XTg'l08-LbkVT"5:^pnKm)J&NKsiT5(n5yi߇_M#c  >"B!FS&;hN,I49 [^FV\S/֨˸]G%/g4Kcp$eEfjn CQꢻcd[eEqTS D!B y꾕&T n.˭ӪkK^kДnĪтe^2:܍rLEY!BHv7vKZQ(תt3ϙ ~9]#^C/NwcηJ^ W~`0/+> ACBVI֘Q D!BH3VV7x]s5j )Ǚ@TVDܺZ؂Lz%ieܳyiP+*!r`k("B!k%m-r"'%ipav;E7c>`~6 oRs-xlndѣ@B!<0-DiFrSTxE˕f$BǷ 4k8 " P D!B B~$ũADfS[ѿf,/[ImB!LȲR,JX:SfOV[TZScrM*h!B!BAN[59w$rBQ7CC!Bi~5IjR#it~sV(^#YRҀB!4GͽNlIU-\I!B![dr jG!BJd_Ў7y"o yyv)!B!4S4B!P D!Biu("B!:NoXa#lێ]E=삧Ϝ߯ŏ?DFf& ggg=TTTg.|nzg2QOϙ]in֢_>۠kd['O_}7wh׶-ko[goz:F|{"7nM/* wC>y zF̒{?_ヌ{ ǎaɂO1 û[ h4v|w^ܸy }zu4c1l`D۷l>h4@Bb2"7mK/†ナJ՟Y~V`}ۧ7;GDy;D"ۄm=JJK籿1H$盻 iֲҡ oވӧ@$%6>{bbSdž-[EZ;s>Bcvn3t(o9ZK5* o =GrddfS~aC^]?O0ibE'Ӟ> Lyrvًysf]ޚw>x}lS;6@HV?a)puuELWWhw܅;w<(Ka:iMDGCIO]fKרyҿGZ sf΀7]ǟ~k kAA!}q1Z-u'3:!뇈 qvQQxGضi=b:*VC¢gy~2SNq-z 45|x}lS [~fz%B.`܅LSՈܸ ̂Z**]pr89x~d &EL0]I4i GFDXP 8wbb=\>zo?l\O(BG`M{^s \MI~m{/ sf>GwLuÆuȼ6⍷Wnzb {okǎXmAբ\*h'PQYW“fi3!L5lzF1GlZF=h tHs60yi>>())Mspp@pP{ ABb2=G,wwTTT] ~Qg)~R*=sg='''t /? uoyjnǖ1=}JMK . JѻgO_Ld) \z 0k^6U*{zu驓1rpw7oٓNchx'Ik5?݃E׏4w#7xam33b=1G,QVV¢"tbt{e1ƍ#cێTx?98:UA3|}| OkuLacst>Zf>=]Jtyܸr\^={ ,4Aڸ>LpObZ9ctt=tHs7)b.\qQpH4ngd1?ރ׮r9v%%_w3vZ|}$iGn؄ P((*.Ɨ߮C>yB|^X,Ξ[V5Ob1F ";'jŝ;w1l`#籉`/PPX=}3_}e1&>>C Ē/b-(,*A޵eeXD"=NaܣcjJ 1bX ʠkdϾjT*c8:8`x ݃ E׏<b˰5Ա#>xQ[[ _lزyݺvegi#5*ra0h@@׮aؾsrr憇E Y???<=u26n|_ٚv܍w@uu5BC;Um`i>)qlyy&%B!v !B!A!B!ա@B!P D!BiuDzB!BHK' 41`!B!D4B!P D!Biu("ҢPWB!@B!P D!Biu("B!:B!BZ !B!BB!VG f]Lft''W7jE(--CPP{\z{Qe2GRaҴ=}]E!5qth4c}nr뾷[90oL,?FB7|r@ oJ]:6z~ڏW]CXi bB;B\W_~ G6^.!4nnn4?oZ&* G[P Dxo/}9rfa<`>zqrϿ hN/**xyyampuue#.,_ F4V[ Pk4ؿ?t-:_:p99pssCwkp11 lJ!CmF }UO=? pMD" 4gƤi30nh#-6\]0)"̂FŇԴtTVU&>gO)$&8/ce2q8OTVVU+qu|v0oL(kjpMxJ=ԤP5H|h ao`죣1 ֥2iZ,[yyxh0kQPX[.l,ꅧc'NbǮ("k)r<$_p7+ ݻycСr/_LY~zxcێq8|O<4|^|n,?è#Cb ~؆7ޭ&\vm{+pj BNUUN>Û⢅HMm]٧W/Sm[ii!eп/~oۇזbr} 5,P ~ƙ9%Ci2\y!޼ 0n-j?]C0}8Vcnj#388w!WSc[>/п/{}!!2Y%di>'ngf@.W**7!4:vv1)uߕ]y`!촾{w̮ߐ4g9%Ci<=SzFk߾\]eC$v܍mI[8;;[?gƎ-[u .&&bѼD"P^Qt-.&&/FݱQ-cVB3sߕuEjk]Y[[ Udl ygAcq6}6?~h@U*t o޼8~~x{uxq^\K8::Mhvԭn68$Xצ)t\I.?ǍE^=y̗2BHsg]y.; P~WvNqrvdl]ksh3Լ]9%C5BUԱ#F ՟g(/!/~_LxkR[tm۶ډLysy((,ěރ:vX$B !8(1(W٣Aqiv0 IDAT=HKv;wc6C!͂P1uSʠxߕ"ݺt4B">!oJ'=B|<>kt #G䄹1[69p*N"ݱ9{3=owGx7Sb?Vc;oa;q!>ɗо];v Amm-r\ VEKV78ܸ1իHHL¡#`NNN>)\LLFjj4Z-|G1cTARܰ q/j;|}->O>ۙ= :33o "7lFxjDx{[!>JS'?tws7_o IԧįQRlNN< ||~3.#>!aX=vhl@sBE88RF3Zϸ{YY& ڟ ̷9%ᐗ[k~1BrY|xE4! @e:w!> 8D[B}if/!3 !b{%4&_Y쌎Cy'ǎD<"BlDB4!V XK8?__<BSB!D=o#D!E>BB,A!0!B!ա@B!P D!Biu("B!:B!BZ !B!BB!V!B!BHC!B!ա@B!P D!Biu("B!:B!BZ !B!e222n#7728:: s0HR{XSD׽йo[ΙYΙe<琗[kjZ-2nNC߾~~~P(//Cff_mۡppJ@שut7_ lv[ΙYΙe>v;~_'/h4:s~wM~N[939ؼG8:֯냝۶ n53K>GϜo /?//;{y^\zZ-W^z_)Γ^s=O&}2=1 Z555jtbV J""&YċFݺHJ[7c;o B;{}`Nytly#ىļٳЫgwD; +x 2k->P^^o}F̘>E0jl}%%ؽw͛^RZ?s@"HP`ر8z g,jl}}i3^z~6|-T* V1! }zŦ [d\ϓ@H&ΝL= ZFTjGrnnm_ÂѧW/_o4JK<=m &Oz>nS'?Kzid`"YBj ?%R}ǝ;Mwpp eg|xO1 wgfc8u ee}xkEeXYY7#!)"''<:z4{vj$ oo8[7f_۶" p a:m?X-GF= >{.>l޻};w@ִkTu[5 T*L= ̧ 0ǭ [{K/d+MO|~Z\ Dx8v$vAYZNNNpttBs4&㍷agu:t~tή\G\|oوn 3s#R;?L+׮7\]ѻWO~rKe~46spP~~>VYAAy:̙u6,̘66ZZFQq  X~~%/;nXy| WkT5ߣ_bNB #G )ݦ ~!5ݰ-yA+>_kƮCp@+נR^$u} >{d{󯿅\!_ ƢhYZIɗ H9 /cǟwAcт>tm(kjPUUeXԿt?+h49g7a6jϙϑ\.GFf&y?i9%lZ93uڵCaQoZFR%7xv}N9ewXs:O@..Ψ$ &>.aظ,zLΟ6mG?4ݺv<:|w$$%=ئ%#@6)SYY9b_@_&`/,=؟ǍyEC^~B;u ӫB4vF ȍP\R_'$`ǡT*!Hp1!# k7#8OƾGKJK ߯a2`Ͼ_ZE{_cZvSSSaƹ ϱqt ;wa]p!"[3oK8gGj'lQD-Y9__?D ~+?¶M!גϙ92\]] ϾZ]:ð6~'KÚy̌#R)dFZct~xnϑ|2vϽk/:ݶj5 7/`!;_նV:e57kqr`-k6 k-)OcC;!!) ?ŵ|*K1osbsog~~ iM=-?g=pvv39aC"& 9s?g4>Zȍ0,**]pr~r Ւϙ%zA_OjJь{-%B.7lR-Wj)q@srqQrqіOdwXsֲ~[˽hk| ņ^ /?û||QRRl]ፈ:?)m=}>g>Jr;M]aoڬcF9999VVB7Ex]-;A/ HHLƓODXO} 9Mל`"kݻ VZE4 s֢;88C hۜEZz$Mq:ܾ!X^/,.tO@Ppuu5ֆ⺛n# Ab%d'$fq9ְ~2w/3ζ^5NMK 1|8yeeKkbڳ/ynI-l}Ξ6:C{zd1A9:Z,A=gHRi W^C#?Ӝ!746s!aM}PqA 4ddFpa{jW~bp/+ #?nK9;~X\Vq+- W]z[N^^^xQXi QSS s{x'NL&CҥK=ƫ 2EjZ:ʱyۏ&[.] H1t.٣;KJp2 F 3AbsXO\^^^;޽ -6Zmq0M&EL{>5* <:ftg0b0ۧ23s 1 E5>t~hxPϙ9gϻ cMza&`?ރ׮r9v%%пP76y2k 04:tĵkm۶wt#AJUt6 mm-B;5ǔז?+WAVQ?__<=m-QS]oĒ7B쌾mı'94C ĽlZɓ& 'LU9 kuspp!P[$aЀ~HHLFΘ(7FC'ȍބZ`nێrs^5>bϾ}wtT̤2j轇"A)AbA+ *x  r{'t$!L~b-r>Os:D?֗`̜oeEԮUyϵ)dz{>ػoa^WZcs?JwG*кU+ޟN2R=Ǻ ILJÃ.7fT2R=jצ5'HMKmzMȲUHJN~TT'su @dU"Ǐ눊jpI>XjlJ/_DѾ}4F=!8NE۩6nLyrynd~o/.N\GʪrEv"f1u6z=wBRR^GՠP(EDD$E#LBT;YU[|*;I&/"?_*=BPur\Dl'bf;38YfkDVR&ꊻo\'T={V?{˧Y&WNv"f>눺e:N>ŵk4oޒzLnܸ΅  eVH$&Syyz=.]$>QQ U6~hZHHڵҨQ$Iy\eNv"f>눺eن^c]xxxһcd24 :DD"A&!JM׮ d^^7~˞ߟ&1vHBCl'zvF`@=3iբP3O>x}z~2SgΰH۵{XĶ7&pna8_}Q+2yĄY\#Vz=G͝HRZKؽo4 mڴ3zB㯝,Xogg'"#"xvH:u`slw+chO&HbbkV,%"<'̥yӦFǗq !{856~Wb˥Y&L!ʹ\500 kbPT|&sh߶ 2 >-:uȰ!9v<'NkRaك~֬kN~{Z]{yV߸ɧ_޳-?m'9%[1uD<==,b֮sT4nؐ93gT! c1~>=1 @ӡRt@AEtjT*5 řcǎ\ޗKrI^ecVkriŗhc+{}?y0NSh^ZtgҴIc̖ܮ߰?_M6ɤ,YT˨ҥ{еk7C]E.prrܹ3&ʖ6oXb9==G'9%1lyJ_|^60j4i6juVCЮ-}κU+e{jٓ߶o3+l{r;Ƽ͚UhFY;wvf7+ؾYG떭q.7 !R͛7֭'yyyt:zj޽@FFFz: /вEs䁁4iԈ)_@;׭e*yЮ-ܸy0xxxнkg9VdgҶu+|8VSʭ'kOQ]NN6II oߑ|zOhԩ+oT*N#LJ<=l(;1LyjF//ς{{Ld=*a9~}燏7S'M .>nys叝;y)DFDŔIٹk7ʬ,Y֥3 )2\>khF~-9fMȫӦrJ,cc%刘W<5___<ޭ5PqT*#G-[dm],o&eW\e+ڃ7o͛7/2\"F\BٓaOGаAb㲳sXr%GI&Gn^{e)Uj5k;K(^j]Q;O!DFDpijת'iݲm[-[3r nӦ1kHHL"2"_yujs9r8 M|8wNrPC.gaĬ]GLޙRլf{$++ 3eD"ÊanLrr |bݎ(ƍ4hp;ػo?]tfAGmt:7$11#R)MAY׊M^y}S_D^=2"-t嚵޳LjԨscFh.w/[۷iP>/j]VEه̱wdHRr~^7B 鳥zJU_c-fdqPΝGYj9lzJ3W c{f5uє3OJJ -[5F^'<{??_CCՕN!$$_,byjA8wC||309>I~w6mѣNղ\Ϗ62}[|EwFf&~/DƐ IDAThrr,u-== ;iφ$ C ̍׀FfϮ={HNI!}B`{2?ʒNJpl{2h ~~Kڵm;)kf1]VEهqDvI\]] \߸3{婓 ,4TJ|B"1,#88;wL#_"''xYaH=~۾?C|1战iu:/_#mT*-  %5-|=f)ٽkHZz:aa3cZꙣ}0u~+xR0K,ES:&Bٸ[Dww-^PzuXq^ތ=??_MI'FãaEN]:u~T==jx\P߻XBjFFЮM]9"O۴_[R^ϹxxӨaC?A9u,mZ,bGШaWڪ&.Lz~<~]"RTp'O8kc6;;^OMp"H܊Sk؃ϐA ktq}boo//&>?HCABj}LZ5y~ܳ䱢MI?ʗr: ~9٣6`yjԳ\xp,(T!si4Va 4 0PN>puqmۘ9=֬X ;d O<0ׯ~w\ Ya?y4ar qD~t<1qˣP*qw/~gÝ۷o2LRR Sgü,j5##ƴ23GJ,aaXS)}AG*YR*Fkr|Y8SN:ŷ~IYjլivIzFk3"o`@ᱞDR]eW$S&H$\|ZEDxdڴcѝg2bP4ߒkNlVY*2..!TJQa2F Pdڈp:uԗ> 4{iTzjqr5#^ӪE ^~i*VW_C&Ҭij&d/Kh4,^Ulޜ9?lakN兓;nAzH$w.<9"ONNNnՒ'ORi~Wڴam .>V-%=r0e*N?;̽caKK"0wL>O;~a)Lyq]ꉗ' E&a]tfO;Lh.tOwaSYddd2,j O<|EcE;6>4%6o3_qϠOb (\zEڇqdk'cٿdxyz `F<6۶趰ws'Y̜30LsBɧGo.7NTj<.1)QQf^E@Hp))E޳ΝtbZ#}%QJS}hJyQX.w N^V%%% *H 7M۟!b7[+,,FK|Bbq]vyrT:kˉS'9q$-ӽnڸmԩ]RPA9[6ҕN#50NǥWLޱ}{>=^?5뾱[7 .6  2 CL#--u2eʋս;fuHBcE96bzz"#y2NFiE^q8*Wbղk 5-ڵgϢhhѼY -=m__,q'-CstG 6nz:stPm|PE@tǎ=vȰBKӊV*ʹ#ysuєɆPdd-nDcnKJJ"ׯ_#"wssy{λqܾʎ_~e~O^FFkt:<ӫ'uxh˙s L?]:Ed ؉(R/<;OڶiKWq&͚4.:ukvkl7!-=n97zi9z0ϗKIHL"]b֬E"Эk"kZ?@NNʬ,w"Փ2W'{|V{o9fMX2V3Q򉌈`ڔzywjת{۷mӪ%#WĪy*r+±{m0p@|g6۷ȣFH$߹ /N%/?͛Y>Gxw7 ç8%*6l$1)Otfܘ'Yj5 yOoF>QIdz{>t괗գqԹȜy >g@1y} [9ЮMk&O|WF6֛%Z׃*rB3s QV-?>kFEg8YG)[479},ԦM@bYUdq"Ǐ눊jpH>8;j 99( ._N}h/By9}: ˹ ^ދZ,%.nݮXA*m>>,`%IW}"Ƕ1D̬#d:N>ŵk4oޒzLnܸ΅  eVH$&SyyDˏ}eNv"f1efBzݻwIޏ!h4t:$ LDT*5]>j4&Hbbɂ^г{7zа;{&ZaS.{2yxvH|惹gyjnGe;866i?{޲ʘ Gw:LvmYs֭Z/VktzBk3fR32_~6d \\}i3͛55;ݝ ǟ~\]]MfZorӳ'mfgTQ;fc'Xb%Əcٗ Qhö^:NfBJ7oЭ[Otzj {#!!boo\ɜ x{ui٢C7w~J~ƣ]FdDztgx pwwhy^]x.c!Goo|#>CG,_Fe;8>~~thߎ.;qEoσ*[.93rooN@\|<7n2:ϿzuS˓M7ʓ ֥3 1;] }@H%{nC8"f֛\<<=v爘Y71#GЬIyuT\rl7#NUd3ʕl(h9Zyܼy 3h|4lPZ_! *W5ryynܼ+`ꋓӫ;w÷6?p#֪ Gm?2md\\\.c嚵޳LjԨscFh.ddflXCPP k'˗͓qS<|#G<Ů{O ,4^FGLHk>ԱnnnFSլf{$++ 3eD"ÊܶdgtJ?LFnxVzRV^xʜ˿.㸹YWe;]U*FYd;+[.,r,ɐJ?g^>/ZJU_c-fdys/pQ֭ZΦ-[^Jl7yyxE3sJ%gΝyӴIcU&%%-nYCKVVg̗r+.F.sbϛ+ f!Oddf Kt&'.RwJ% ԏ2h ~~Kڵmcq>sy%F!-4 -^WKW ̖m'ٴe+cG2:WVpJ,; ???oou"eނ$fr2ᩡC,N#1)c{[]Ͽ\LCPY}JENNjc'OriF?3uܽ[P(.~kS[0U&Ϗ{Pf^OMӳXj읧LK}Td-mۛ&(_.^Brm|-Tlɡש] .:R?Aףۣ,Xr8;3|<֧wJ% bS&NCڽ~}X))9z[hxl_>@G+׬e嚵1`QVYPw~/pq׿o_6~b*K د߰6nP>*ʦu*vV\8fARPTyaaS;/z~Yri>bh#bN >]bVzӰA W7~ضsc͊8;;]U% ww==ܹ}3FPqǬBf?PJe6-PE1J ZcV^íxyjp:uԗ> 4R2gBH$Z[@rr2/a /öx2wss%dKmY`@UeڹUk2KH@*c&h԰q VogRr2zctZUFp쨑 |qϺ xzd/KeOL0 %%OÆ Fq'#?3gzl|LYr(<-_/O/F<=x\\\xsgխ~} ǘ;/*_9v|aW0=n=cby GJ1+Iy߉?&mJ1LJ\#3{cez3 !oooRRRiSRRMv)h-$&<,##OgWKx~ԐˑH$̝5ӎ_?i S^PўyrqqF 9._64|_7ߙ/g gp1'ksX[c LyUN>St6o|idKe6FcSqR)@Əþ9y4=wi]ʐ Gqdk'cٿ "9% sNyKb 4y?IVv635 aɧGomZ)U)fPz L'YY&j13'NTj:%1)Q_!(A\WcV!Ga\N\-t:-zΪZDCJ!Bh'$fʋս;fEulߞO>|ƏeͺoJUy:x ZmrΞ!2"KxXX; n~\,n<ޯ/KWBHxX:ث ô:._VMc^'T*eq$2vz *~ܡl:|߅/Z챝!_WVYRtǎ=vȰ2w^VZz:Ŀ&hS'-CstG5j JVo 5-ڵL_@WCƍ9|aX^^gϞStg|+1ɆPdd-nDRp6 त$r5""? htfɊϱ'Q*LSq=| Z2+Dͨ{q|}}x78|(iiܸyD7nJU23Jty` ;ލRɓ;p0\͡˸ѣHMMK$$&s.1k"Hֵsm'}zdѽNA4 cc9sUe+eiՊk*s?ڳd*nNERq s0"C+zFkt:=*~.9V(<:#Gz/c'N חG!Tj5?_]N3wm|j;vEf6WYr IDATW bVU-fꍱ-^GGZz: .cv&逪3KF<5o/`4i܈zuꘜszujӦUKٜ3Xͷ,Xڵj1V䃳sAI֐Rt:ڷwa*"=77+V$9BAױV> dȱDl'bf;38YlCHדq+$%%A@?NNzZ [DDDR^T>$S$^~D+6{4Dm'bf;3ۉYG:fBPȬ,233IJJ -->>,   Xl:N>ŵk4oޒ~ Q5(ܸq}vJ˖HM&AAA*6^ݻPT7v:K^^>:_ZjèQϒǞ=uF5B^Z^~$ ?hӜ8uʪi5}[$WbOYfU˱u[AAA(;fBOӋ~PTt ^NCVRo..;v貺v#h"ó9w]:w$7/vL\\66'-N'IYbUmAAL6J%7oޠ[&zGBBŖݡyy=wCNMpwgմl[ h:Zߟ׮s?%^EAA3Е+iٲ5PpZ͛Ef-73 ?p; ɀ>6Zf7ػ YYY4lP)&ft9,]O$ѣ[7{v4NNN̚>G!iՒ1r9##f::u쀛,mٹݴl܂   ؟;B)))GZ?NGxxɉF٥S42V9vvdt؉S|,Ŭ 443"//|F%f#ǎm>; S}FPCD*iVX[L>|!Ç>ɦ iѬUAAL6qssA݃ws.StRҸv'OUŦU*_IzFk ڹUk2J\p:uԗ> 4@[AAL6III%"M LIIѝعk#GDY39x0?0 <ֻ-  i&r9qqV?jIII$88 v&582+vmZ.<, NGkaZKPYaG!zbσt:;~[6ҕ鲶|ؾ=|/˚uTnAAAdC(2qq7ILLD"l'  $r5"""M0(ԫ˲1kdl~~(_.^JBb9wf-n];Fkt:<ӫ'/V\<˱9wΰL??߸IvviViQqqWHղwrrrPfe7UAAL>('2ΝF*HjH=&!11RfmfWڵs'֬cǘr:ޜ9|ywƎE̚u( &&O"fzfΙ2+ y` CL&=u~1OY&?óaW(33ʢKϧnڼ4xKA{dddPdJD"7777ط eAղg?ʻ8f9;;\^R3^(Cy%I&S(29~z僳sAI֐Rt:ڷ6ABpppy".&nnቻ;z* 233#,, __. T;{ŕ=U1+33PN.EZBulq>>hђ+?~qrrF[[DDDR^h BRnG(6ww  4z$ ]\\\ѣR4d2'|IMM5 3H$аacBBHJJҥD.mF  T0 ܽC歐,ۛ-pYt:-aePJA45nn8N3b5TV$fBP???j5ZmAi2 WWWݭ: BE3P+&2r {gҪE񏄗,JՍB2ƍr <=q`)z:gΞ%+;p:wꄋ_Z;5˫ BTVV  "((@D#HAv# eegstXN%+[nR#%:Od2֍"11_BI'$:oǐj_% ') Tk:s ?t(4oڴJV:i{___\\\̰cr8q4["4$OuLjZii% g8AAʼhѬEf"cZͺo6wAhؠ>S&M$";4<=z,TI??le% > ϝs'#V-ܳcؼG;D"ag1sXr%GI&Gn7⊓:zYP֔J%/Y3:13|7A.dgg<-˫79;&>>???4n̰'FRr o͞[lMHxXqm[*QYDCHAiܨn8t|7R) Gd4j؀! 8ߞ֨IJNF3bXxNGXh]mD"AWfB&Hl ZSlJ2z-olq;͛6o^ܹs]ws9>|w:]A5a/<4츒 !AA:Gwb]f G޻.)~A%A*u|C^^^899cfJ~~Zwu۷TPhdgiD.a,#~'n];3l@j4k҄VҦUF С][ü...$%'WR!$ @NѬ\}ʦ]ֆqaat:b^#z@Kݡa g;IiJ#$8^Oիԏ<BYꆐB Zjj9P̭87jח|vm<-˫ .]ZOEMֺU jՌ仗Jt- @PP We+chצU/=?ʗDݻĬYD"[@Pkt:<(J<ɾK\6//OɢKFrl,gΝ39%^g۷K TVZܾ}\ٳhg/ VOoi|Uw;5(aAԐ~~7+| ;a2JA{vĚ0~b^yi*+׬͙Whڸ_̟gxhQĬYB`xi{rعuЮMROIĬ]9sQfe! d蓃i֤}}}INNDP[u*jDCH~"ݑ}Cdd8{@ՒD`@ }s[3yKϯ.PZz:!!Eed*|8[IfAj)%%~qLiѢ{Hj++˗/OXXxRfKH*' #lq;~tlߖ'*+!$BtN:͛N#Dq *`ݹv-ww^'//,ϣfZxy;APj(ڡj yxn>0z'ܸ !A*%*| Z]Ũ|||hԨ ;ǡR#Hqvv__?1p;(x2 \n !AªʿDN*4q++!$  숆   TTvDCHAA* *+!$  ^h9h  B HII!44b_tZpvv.XM" W  B5ŋŦy%ǔ;K*U>7n\F ǬδZ "fiMg](651p| +SqMƌ|1#G0}[tБaC~L8.wȱՋ_f B5v:'OΝ; ߟ"\~gΒMDx8;9v  Xuv;vSWoI2qqq#))cT*ۗZ#쨑 |"ü<=_J /лgwL|$fxۻ;L2G@B rVC w kwmZj+mmjE,-֖v2$ȹ*TMI?"#dI{=>̛)hͺ=6&O477kڔ)ڲukR+))IEo+s=nt%a1DΔU u9X,vA(!>^Isz8IR|M-tCɖ8oiڔ2$K4om|EUUWkPFFtd߇]˵zs:^\6nʵkg~Y,nYqqmC777镫{~jKZVmXFݫnsWH;/ߠo^[PqId/E^(Ijim~]jjnc֊k3_іm?Gj7  n ]1zUV^ Zcǎ+努 @.ZZlX IjUt;54;[ #ߗԺU+Ԭ?x\Ik%IOi֏~8o&񓝎U]sR{2ϟ]gV3?$gWxqt222t!)oY^uf$iʛ3'uJ-\8Z{'A@546l6rq<)1IMMQ]ڰq6l;}{&'I<=k r9+-TB]ݵWAaO4jI-Ҧ_Vq]ʜY3tј1y=%I[jS?99ӦIf\6]?y|]M7NnGo|Gy޻WW[*zswx @V< Qot7뜭Og }/wA;+* t-TZֶĩHzZ~$LfY#G onkeӵmG&?vROR;vn\|{c~_Ϯ^ߋӵ[eO]QGr)..NRӝw\ߋ] T7ecsbZsQSFX\~%I^^q9 jhlO{$l6͜gVфc_<3r5i^M4Q{Wjnn7 i}SS.SߠQ=e/^P+Wke4q3ezzjQ#Gj*.)]˴TKO9ÆiKáysunފ*.)7 7 v?^]1^.-[u1Ie644{ig3lf"546*g0-bAh@d(?%<ĉ*|"ޘ7TUW֯-o6neKYk\Wxz*Zze|`ٷofϞ2zɓ'jkkc^Ν;4u_YY^0Dh@PS'O4X ^W޼ӧբ֯]u׿EjIDATؘ:g>:vL;Y]zBPPc5ߗЈܭ.Npʸ0!02L.0@KVU--X^fu _JOG)֥L&t4hp @@2:|>f"ժ effźDoegg+;;;e~GAAAAAAAN\ P(ZשY-->L&Y6%$$(%%U2L.@c6T) ƺNYq۝/ph1^@b(ź<8SSv]PH-->֪V^WJNNu;fׂ rb]NjekL9rTR W}[vCFuJeffbeP3Beer5jԅJMMkn;d;=TG+*U&I .S6[__/dUUUźd5BeejjjĉS: AɓqgΙ]ihCj罸r1uaD!ŢQƨ@WRZEʽl!?@B3ssꝃ=r8~y/'TnwDArrlx`ezoi)%áUU]sx?ri҄ YK&Nw(ܵK3ggSZ[[_o;x/w.ѰWn^iAW_׋ݬV$]tk[tVS&Mmޢ~޻W&IUIШkjϾX4?/Oz:QiiQߨTvk}B憏YV ԱcQD1[ @sFz3k~ZB}з yf=JIIц~n".ꄖ;Z7]s-ڿ[bZ͞9C))zOtjݪjnj<$]ݵ4('gxu}ZZZ>C۷'#FJ輆&Iv[X'&&nn]l<Ah\=z>#9BzK4ern[~99ܡ¢]ں}\𜊘yFh +S'OyEW\5WIi|>ۯ/lTRb\P; |>#hf+.΢YQn{&Ll+̰jUC'7'vޣW󷨤T)))7v/ȞJG۝s%}ֶKNi{*,ڥQ#GpכʽlT\Z*٬/>b\)(--]%%NS6Z*P( ,Ae#dR08}doimp7p6&EB'Oz m3K3lXCt@3g)Vx*.ƏH1lW\.鏛_ye;U(TAйG"٧RCC\.gVFƠG2@]#TsV//ʛ;[_ Z 0nV94mJ%X/ kT^Qq6b];k>^Er{4}plA9\8ZRی~~XfjÛ%D#+3SPHGEct}$ݮP}}5|;{g$A,8ӦE?hV_ \~{ԦNлP\D;k VM mjT]z=Ar{ѱb}?5JNyLzSxlfSiYY"Q^^S/*++Y,>㷐0)z}zC=zL:t@]#yjy<8~n^۲MYYyw%F"IRff*+CшiǣÇUJJ*O3 f} W)=-Uo?͸R]u"\p1LnPzzP($׫jjyu#~=gKЂiftmGNYu8kYf $IIIIqWmI',*өu>c $}lY,eddD@.Im/MIIa8=d'! C!I8*D@CoBB!D!lQee "oI *//ju) dXb]`ǥUccl6[DLS,GjРsUWW^a(Y8Gn[{V}}Z[[c]NfvSe'ĺ.f%&&kWYY^ 0P PHz .SEr:.8du) XAAAAAAAAAAAAAAAAAAAwýIENDB`easyeffects-7.1.7/images/convolver.png000066400000000000000000003135631463533416400200430ustar00rootroot00000000000000PNG  IHDR sBIT|dtEXtSoftwaregnome-screenshot>&tEXtCreation Timeter 06 jul 2021 17:21:28X IDATxw|OvnZҖ=e(CƏ AdPQA (K e`hNyIJu=k.}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDOI&Vl"NuÎQA,RX[` ]DsSEFEM̅i))&T G"P.DDDDDDDDO F"_T2{!$z"/ .I+IMʅӂQI]M%wA 9?K`B 7rd&O^\J """"""" @&$ @W@`!z"/ r%hc۶+MDDDDDDD$Fʕ_jn!srƜśc=) sM"nD_Y$\}Qi!)O{&+陕DII]I3q32@PqDDDDDDDDIV`px +g@WL_Hz5c!( I'$7 ѳH+wp1rH2[o$. .eS޶eKD\mxzUؓڌYǠ6ڹ{#L[',,Y{BH$Xk'%D&޲C1%O"*!Z;npvuv*DDD6*T K6t tSMf"E$ w,h5Å'%q#܋&; 2ȃyQspttӡ\ԙ/YLxxv:DDD6ٲz`R3F2GI=rd*232 hnTH;\\q5+XŶ}bLDTvBکP!*;(UvLOGzj QbJ\xR}RTDT33ػdHOxUDDTDHKarŝb*l,$%UοnlU}b9#Y]y/m3[$s"8[lbN|0H"6Elkl97"DDT-FeHՐfE}?O""<>QY6QDDDd;1cBHVV6^=Z6kot\Ӛp/[7nnf@"0i9wCj˔~. ⇟sf;wY+8SgeAP/B\ra!ݹ \o/.^FLfdYDR[vVY w77G`ogF.]Z%.Faǟ`&G~O0f830uT8^Hۈ=ZH$T ;o %2(Ǟxl&6o>_2WjeR]gÊ Jwq?ۼl* }zvG- >#9O*v7um™◟ MB>ػF~uk?#̟=^̓x1i<ܽ<{>߼ r>1t\]^VwSf( ԮQrFj |7eI$ADW:5(\~"P9nA%&XqrwڌLE'&-qv 0/@;i8w?LkI Xy$%\Dڶk E  ~hd^8t8/\㾁YT$ ._ u_Om;3gѤQ[/?j֜) Ešjjޢ1%eWB0#MNIspB+;۳iP8 @ŋU222}BCC nA.!߿I~vv6nݾL5_#++ W啧'ŨKHNIFzz:N:RU߿; 9'1bo^s;qثsx`l7e۷?.F]BHp%/gDdA;f̛xb N1A}$dx@o|0lRSʗõ7@(]l!Ju~9QWA* ,4q;1qw\`'ϏE\  8<|s/\o9dKǏ o/$׋.RP T*h4\*aVVL,*T2V2;X}%+ox2ƌF SY Dz6IRz|8%/ Xb)*`=?y 푚rޘ>e"ڈij5ך(_`|jx{xQCL- n@btݥZsgLCFF>3o//ܹ{oK }tUUCbJ@z$w1Rړ9Դ"9T)̄L*E +JBl]:v:1/wO83{;;L5dgP(pd޹3~@7b_[ O7T'xJh48H$,aـ˺^{žhbmky^x+x[WѸ?֮k7-n }jvl5dR xcg_Uk+ע \an?kE;, v*~YjwCGЦe$:/h%8XLJJ(g{a؉hټ)vR t =|M?/ ?A9]}VXq>Qb4xyWVHLJBLߌAP`Ea؉ڹ# iW<|$ /[W޶~Fc0f$H$ܸu>^ (":}l9w eggvL,V+|}!ˑ!|;sOC:jYxzjL~:&͚C<=< c_窕Bzz:&NcFaP$$c/yΘ;q(Jdgg~_s޽ye;ץ۩THȀnnxwyA کT$R z&< ,HeR߫vݏN _xz+ i?{tĤ$/ʣ]y?%HeRвyS߸ [)cv*\~zNd3R*J+עQfulyHeRcGذy+BC 9ͻ띧xhLDTzQmmYC1"/ MV6 dffbH$pvvoWt9uah/\Ta^%֫S2 >~Z~Auб};h땔Nv<ϯ]r=cF ǰ_շFHJhڤ1zf =TJ'zTϺܼoЬ"0k*/g#"BS> g'1o>#ԬY>%U(* \ldddҼ( rnТًXqK-55|WSQ[L&3.]E!vh*@Oz +Wź aU4ƻ=FfRI9w5W?^J.\ b,$bR t: N1qHLz T`9ghwkZ-4 $-DAh˪M^ߖ䙳ګ5mugqU{F\pi遄,r^a0vg xTJ]80  .]0m|܊s^D5UEzFErr B*y~nb eR4AD?iғυ1&!&.Mr+wg3F7QoR)֮kʵh'ھ ܈s?ޞJ23ع Z4m3/p%I(:>m;9?ݷoa*VD-L˫s?,̄:S e~~'' PjHNε?diZ*AJJ .FƒĠlgApP 8J'Ϝ@{t*+ʡHMKïVud7wblDTJԬQߴ 'Ϝ_GjUΛmB!ǘbn4WExh U\z +bO!D퐕nBdpwsߌCmm;wXNDUSAѢicWe.ujϳ=(p'K8tnرg\]Rа~]7 ov}p/b=ꂳ.Ծ-,WQi`cR)-~O(1m?77WLPz =a"R]իdrԫSR@qcy8p0N:r>>h"ertl'O'/m^ k/pQH$@ _OHxھ:uv݇ǎ!+++`ղ!l.eEwE26#xlPԿ?.!$~ϮHDT||080y|܊YMԮU$jW}"&. 7կJyb+T'cJ]*x!?s?q6\ #<"4o9w'.^7WWhGOƍ[1w7|i&'rgwWLv ٽ_[+{=Ѧedv5.'r>wuqFD@&zHeNk8r? zMԢ~D0mV^/9~mdҧ r ڃJѴq3l%K*޾Ͽ #Ksztc7Ѱ~]ܡ=d2~C`׾/Oؠ~uul.ݭ͚S9EFN SADm' k+bF KWn#s3Gw YΤ`!grڥ3r?Idgk! 2ŅrL+$I-S&$n\ Md,uV~)4sb ,F {VnwSf!",#v:JOME9k8 -8ÁGs,Nkygg''dV#T-[lx IDATF„WQ)r jY493U,C"Q!0$ю+؍X[!"s}kUg':SԴ4b5rmJb6L%j[VϺk2[΍J%g'3kQY9-~qnXۆ&"4[>rnTf{bvv E`S\t&UvLU" ԕȚlb`mK^,l5/"W͎u|^5իFy{`F ۞,V"u,"Mm("""""F"lDDDDDDDDdޝ dr9R'RPFDDDDDD,"gggTXQ4c…k׮kf"YV ܿBXD"""i׮6l w^h2 XD"""z`׮]1hР2"""""["(/_^4&>>qqq󃯯h;wkK +Wy/_MNN6%"""ҍE$"̘1ꫯ0m4L<C 7n&NC>?~4pј+W… &-,kԨf͚%~zlHDDDDe޽{%ӡCܼyB]={ĨQDc{|ʈXD""""*"""#R]vhMdT*ƨjZ(#* XD"""""̙31իWGRR777%K޽{L">,^/_PF,X^zI4fذaذaI˝9s&:w,3zhX¤J[ZL eDE:up!ј(TRBQY"dȑ پ}{,"hܸh̾}l`ggg[\9uuu5yd> Ǐ7oly7Ƣe˖ʈ,E$""""*1>>>O9߿, ed>/FEc>Cٳ2 YJBʕ P"ll4hǎPFիƸX(äR)$hV ʈJ&Ol0믿FFF&L`~-0vX(Jq!99٤|2vi/2? ed>sA DcFݻwXVBnDcEXDDTY4|p1&L@FF>sݟN4 6 3gdF/_ޥ*U,"yxxX(" 4sYt)}] eDeQJpQјne9SNhB4ؾ};$K!RL& XD""""RK.{lݺw޵PFDKdd$O.dl߾BQi":}jժ%ӢE ̈E$"""""2J*ShիW ;CDTʀN:aʔ)1?3HDTl,"988aÆ18x2g"]`` v%??? eDϊa$""""""""XD"""""""""XD"""""""""XD"""""""""86JƱc,,"UXRx'۷oCѠB d111F@@rM,bP(DcVR)L"""""""[닃$%%B=?"ٳg"[nɓ ŵkp1/_^4J*QBؚ5kٳطoEcի'N`Νmܸ1>,CDDDDDDDD"""""""""˞HDDDDDDDTa̙10`2*XD"""""""2zIKKcH b b b b b b b [;""""""""kS(hݺhV-a{nnnغuhLVVJ2= b b b b وL舕+WΝ;[(#` ;vvو       JA08) kjHDDDDDDDDdLːL Jvr&' 0ú(O -g@3 ϲD"""""""""^D@z9"1.ܸ_d}P (\XЬ9eR<$2D6 xx<D*ąSgXczΧ6Uu68 Ѭq%}{}ܑQZM*p9\ZhL僚B!ISQBTwT 34zpX/;C<\#P'$ <KO8#CY-H{g.R7 8u`/u i DGbZ"J7_A/B$2'T_^rh2cЕ<6NĉQGpN9=j#n/ &"nϷ% T &H|c)\!$<p3!Xx g_ԯTԸ8vqV"+NQfџ~AV]\V8˿Li7}{<6>ò6 t(ty &  |f 3[-FK]*$ SPk V%3bAF#A&/npDgGw#)IWM^Gț{AG;9W_n%;շCiܫD'鷟V-\"䉫op'=KVz _ARZ}{ɥh;y =9eƯ5i O2ZGxX}´ ![ I7jA9뽙^a&S<_'!:L&L@#S ҟ薣&L]F3 idўH/DևcJ46n?4%^z5UǷW3$T|ѽ֤ jt}wj-29lBr/l=z$$WD!yc%D?,BWG-=DW:[_c׵??SqǡPJ%u|B""=^wx^\vH9thv~G|s뛣 aŗCs~Fk&o<}pRѪArBMB=7P}\&uࡒA C'=LDuߐݻmdXa N QT~;0sp5&5F5` [p;=0=: R^j#~42mO%Th_e$UE0Nr}uCp߭8r\+G[5w8EE_.֩g7Ö] D/B!}alQ8y1oϬ\LLe:FS~c]إ43i탵!ei;n0 Ycg0g1ŢE뻁N<+rk-]Cgfc#C׽^c`yED %h3w!H1w\3p(;]Ty6 \Tθ: pUm w7|\ƞ2{Nrp4m[輬({Y{f*dgF*Ukvno{ a 4a4R ]J/| W[${bL!Ļ~K|'̾&%~10{ƩGUDㇴi]{y+3^;cq C͛<k3qTiSȫ+pu[-<03qg}0X L$#fGUhwсَ{T"s) ެ6B?;: 1R*x aǠQ{>'M֙Fk5 O2MlP*q>ĪKh21ؽ{7_<ЦyT)5t/Sa}@3O;$\^پJ` K3clO Eۊur 'o½۳ 1ʜJ:85j1mh{1]\^}a>sbJ稱NsiCzTĎxi_}-bXi}ZїNuþ ty.uOlR.cJ n)g.i650Rmsa a]]wܗ- $ɢ(Aѵa&.a..k-Kʵ tPk 㘙t>~qɂ ±/jNc/iYi1;6`J?ob&֯L *Ub|NUv[1r\Hc:ʗV]w?R 5(}¡rk`=ѩS'wx`ȧTPH%H\˚̤:thuc`x~vlY<")MD_'&n;φI p-0yKK~۶Li%$ X2=>O{r.<\c"ߋF:!UE=gGצ^W^*[^ߣEszQ7iЧEmQ5aF;ُ0qƅ"kVc@©1??'|Xg>{<դj:-.SZڨxzo{4L" hh;h[0v#7UϏŘ~o]1&-s*SQkK<} ~| o5imZX/Cm9jvCqېE;C^1 aǰ:r*Qk*VO$j Ժ]w?<]_p gã>wӳ@B.J!4DbW*k  WAޑ{ !dcIH6|?sԳ3;3g~{G5B!<Īh\ɯ3Bפ'<<\/^|-tE AGšHN0u2xbYrGB)8e>K:8&Y!DAuPPO3![t2ri}E L#:tN;=ҪrHe:wsB\]ՃVRu5ԙ%^7Bɣq/}&uX֪u"v6x^b4m_ntjiMBRiU%^էs!8˲L)w'^,!D;oB!t1&Z 5)|]wT5\7[Oe:>}XA.0U`ir04KgCEfy2rĄ yU5 TU"#8r/q-]-}S[V~=BsF ·&˝DLE*Y 5yUīu"b(wm%Nj"5zOj"Hh4=~2{4w0Pzx8]`QتY`:}H۷O۷O\SzȗBo4 Q'>Vn}IMψ޽{޽{٦±YcEN 빦žb[ 󦊈1{M7܃VlHUޘ'.8%B[xQ pV_SciکbůkER+FezCrie-C?XγX53\۷OuPhԋ-?ZᲖbg=[U/IFOQOhfQI2^6;Gf*3D߇!ȾUyvS^jP'kIɻB!] 6>l:Ft V/QLh*Ħb6/,3A->yYfM޹ؚl '~>wB 3bDcrwOQ)[.X{oZby WU2%~z7~~j wH]Eʒu*Y ּCVw,se6 ^ O${X}fg{-S:#|?d<܋5 a~v[J9!9[@G;;C3W:X/ڏm Ƚ/[84<`ɳ =-=42aJ`Q(p F+W+B|&=F ]ߐG"`$ar8akk+(Lω2_كw^+Cg+ݵ-{7\(\._ҭa7.b95Zv# ١=!OX74 `,ظ n4Nr|Z{=a X?q; Gh|0T^n~CO.Pog("ܤinB,yo(+,<r zU*nUv>X FMLUl9h<_<'S%Dz25\סtB{6x|4Ҵ LokwHKBLL}b:3;k^&],=g \Z%GG2Ei469WV~';M#$-:glWL2Nη9U'kzCƿ) )gU۷4hT}FqɷB!EIb~"UBץY(+K8-U?}&|tݽ$c*YOWDnf-;[%F0E~F).BbT`o01q{.Ot_BUiZgk&ҋk./l6 đ5LJ*ksm5MMQO{ FZ.r؃Dn#PL(L.Tyo(I%ϞmRg}D^o =/G;}),1fC{bo PZe[oɻ6D]֞;}oFц՜찜)[5xH(ҙ7UݬfɃŮT/* "/w~S~&ܾ7撗!)wL9;/Bvfi}->2z\F}Ϸgn@W;K'7ܡG-c4ŲW;[/K5JߦK*]NgXĸTy?z,5y߇k(=SaBB䦦&o7Vy+,diz44K5ٖW+=B߷HT"^)LM"Y 'kn|V۹[Q> ̽2%>GCmҏGS]ɒwCKӽ"s{ U]@5wދ R=FVs6aP"&&q*} hrޚ:5G~E֠JرlؼjD7$^6 k(J4o]_\lg; L/{ VUgAL U=W%UaSq3 ߗWfb.pw@VUl]5?$-fgmqx[ 0{.+XቌҴsξ,M++r>T75'S*O=:QP\P GoqZз0/ѷK+x;} 'mt=K\&kT5}&Fpw!+)5eM }ȲϰnAg5QX;MgGe#_2ƖOe'LDްСE|=aT q2ttQn5﨎%zjQ_W޷ɏ-lYwEsTV,:\< _Ԭ߅YP攛wWAh"^(̸`Д9G"ߵ}JJ ThѬޡ%a(B쑝Xϸҗ[l>Zzt=@Wxڏi񻊭=G-wZP5 TY{0ϓ3VLe5zj* ]qrkqr W/""""""""271JT@ @Pj+$呈 "QD""""""""jݻ5#"",Y]gqUT܁{mcM$""""""""HDDDDDDDDT-Z "QYtr': DDD6埚aH6LtdBY_١rso@|X#""y9ɂPYٱ) 7xzۇe""lnBe>C4u]gj(?/)IP)hԤ) uDDDB #-BӻdSJZmCX ""O$$@VF hֲ- P6ZE2YiODDTHBj̡.,D^N6DDd5DAFYiCTxήCDDT!PsgC/oF"""0dcB M@j8=qPGDDd"hZUwoPIh4B&ADDcs6Ī /Qy|>>S""HDDDDDDDDT-Zɦ 2oX!""+DDDDDDDDDbM$Vc/\NC-#%5YYhצMhu:p:tr ^^7[&'7@V|zNDDF_з!䌈&pqv5`|z85zm%BCB]gmcflYept>+y]@ ܼ<4 GEV-'N®-j+R1h(1Zݶ?.]}VKDDDwk ΁{j/ !p=!nAWBJϜ5[̹XVť+W*=XdCDDDuCހݺҕ+;{9JrVNNN.P*q\rF|^_GK/7?##p#&Dmt EDDTC>q xzx `3ez=g~x{{!//M4)-+J%:o_<W8Oi3uZIӧ|͚:~"aaHKO?.DPYo`֙> 97l;srпOo|*R?)/Xmѽpm;v!(0صv25jZtlZLԄXJ)={O>[@RZhXq;xCբ A(**YoKCjZ"ce(cɆYCԷ qcH<6v ~YޜUD˯p\,61\222ot_Oď˖/>GΝ.*w ~ӧ!D%yKIMEAAFDGWѿodZR/}W )9n GGGzddf1 ""EEHy8u N90 +;`4u|ч a`f˯0ڹ3x<$$[afG4?:֬V4q"d2r9Gh#GHF5o l۹y)ɩVCDDDw7֮kWu~EhNooobu:/\&N0O= @˨(sزm4WRkMQ&<69!RRӤfn~~R輼Q&AwU5le?C?p2 l~]t:4 k|vٿYxh*8O7mNrÃ={~V\CŅʎ+ZmY}g Lr;DDDdx^bȦxg`яxghpF>py(oa4 q>"W]u\XG,i tCޙ&^6Nx`O<9~<<==jYA31>ظe+M+b'#%5< s^ezFQHMMzw)t]gjryέ O%rp6ܼg{Nٽؓ1i`s>lFm;YYXw 4Ь?^?~Ej5zvVn; Z4mNX[ ..ƛ9|SRۚߥuEEѳ{7"'7Οi>bhѼ9 W;pRdJF*>{c~y C D!зwo|<_P`eh׶7VXn]cǪ?[Ε]6kԸ|6m''?6j)?~o.{z N+W=j$]  ɱŘ4q.]ƕϙ(w|:@ZZh͚YtL˦y?Ujm"y6l޶ [ׯcip6mQTT֭Zޡsy_{ri6{"ahZtBv= 7iv\'ƌ6F7779~wA`@VrDDT'd 3J@B@#n߹ST* ˫c'ѮsK\pa:DDtJ?.hDñ"ټ~Ck$I4kՎe"U61JT@ @PDeq */OϺ 5 @QmcHd]iD$`/+ٿ?/jDDDT+[tr9{%""ӐlcAaa!vދ|<<سG]g^wwwcZQS?...8WDDDu5Ȧu;vlQdoo_{"" Z3,6g#"""""""j1dPu6)pl[. j2?. lL&?2S:+T2Sϑ刈* O-LO7DDd5lL&L&/\q%"gyq\+c"""2dP{EO 9]P{B.ADDVa6H.t$ވlQ )/A.glv2 vvv,XU7Oo{Ύ$""H6^>~phh%6U;;;)@GDDT^򏻇\Bc,sѝ`FJevXj%垒`XNDDT "0䈈,Sᳳfx܈N00@DDD=KDDDDDDDDb UA$""""""""HDDDDDDDDT-Z "QD""""""""j1DDDDDDDDDb U˾3@DDDtST/(Xj4c#^~9)(s^xyyb 9 (*@#ZDEᡁŹ'"1DDDDTG~m Sje5k6\;vARr2&>6~~LA[I>鐗hnggg&a|WcM,}5صn z^9#""}" ea!Tj5 (a0gu+:xWWWD5oVxxkP(*T\.4ǖefиQ#\tBDD`N!*eU*RRL&==Bdg 33l~R̬,iCJj ̦'%'`0MKNIN`j*(5-ʠRY,Fh4W[uQRRӠ.**7/'7ifT*5RRSK";'}FgdB,tǎGpuu#.^>Q&%';B$%'h4?99˫fKZ-K -=]󑒒ʏ˝*8Ud;vGlFDDDT 8;cuxgOj^#fVl@FfhqcF37!.R ş1QRA~^^^llܲZ(,,DѹSG c#2 n 7cc+y=Zu]H( addB~C;.Mqq k Wr!}x2]V(4ˉSO>!p&:,Is^"!&BH oo0\t>}I;qh5 .ߡFM44kϜET5c狝{ϬϠ̬,lؼ/Sm=Zn 71 5:II8t(A;F p3vr9 -[0 Z{t:DE55q=!ߖKCDt?cd2<9q42 q.a}xm)u qcaootc#*CpQCrr t ݡjb*lپCN$;qG@FtJN6΅!(vjhQ^ꅝ{B!}BȦdPTرk5BC @́Xn=zJ%* <!0XqشCZ}ѢyC{{{b @;Xu|*w2u-9~Gjr\s`/hxT !̪8q.\QₑâIxgwb-).ΦѪ AJJv||fڦ G6#׳C>}Tvm0.*cPhѼhݲ%r9MM PXXI ry\޽zCǪ5h4B q1ަh=K"F#N>}y5r3x`\z:"@$%%U:prrr}yhѢVDDDD Kp)hZ(ػ/>"53f?n&&~1'8rn$$Q#eCa'GG)t'Դ4FPZM+-F2 U.s9xxcSOMŊ_WAV޽r!paUヂdNF;!}+kǤ'&rSο%Q|sC"22ػw4}޽HLLDdd$zOc޼yU.駟ҥK$?DDDT !ʍ~::ܼu f}*ht'|}ѹc$S??r2 wmo F\lQTFS~7Z N08::4[&8;94@,VX`@?nNg~_CNʭ \oX?oo/!#3 hѼ4chcXމ7kY0Zp|<#"'7OUϒowgaEa޽@||<⩧X./"??ԩSZN8iӦ^兰0DDjKNcǎJ… T[뉈̬,^M '''dҩ?!$(i_([}i4PӨc2 M#cnt7V*rrrB6m.txx x2!0 n p"b* <nöиQ#deg#=JV6q lٶMs[] eAXXz ZjVgJ󕅅(h,iue2qqj_oh}Vvv}N5Eӈ&Xt>(((@NN.ScYSm[cp 8;ƍPd8wA DpP 7nIxYޕB؉L`d""^ -#Fx{v0#{/-ʕ+?ɓ>gφ;ѻwo8::b8uU㾑v؁ӧO{HHHҭ[VKC=gb„  W{ܸqHLLիWg( 0{l<رc>8qcǚF1<F#F`ŘpwwCrJ "#"j!!!)0j nn $' 9%M#YcVQx[OhղY'99QQ`o`89:!%%*Q͚!88n |}} CӣqP5n\"IR|!̾ɩ EߒejzG}ItI@;R}߲mJF\nBja_f=^zh4")) !!!f󓓓 \C{5̙3+X[Pڵk6mژu}e˖aҴ3gDll,BCCT*ѥKt+V@FF0~x~!]paUwJDD֢%Kѿoѿ\n3*NE( *l9[]cz1n8"s=/lnC"JMaU0+6Dz70o<+V`f,_n!h4gϞ5kVL}PPP\-3$,o<""""[p&\ :8yڶs]gdA(<ŋ&MT;w.^@~~>,UQ(hݺY7""" ..~#.`/lQ?dDDDT5 "M:SN{E||<̙9s- Y-|[\i&L… T*\OٳADDD@^"ێ;ƍcqƈǎ;$oz‘#Gi&ի̙V|'CTT{x:7l>$ѱcG߿w{n߿;v4v5k^zULnжm[oCŋQXXXf &NEԩSggg\rӦMömO?C:88A%"""""""Wj ]qrkqrMU-ZL&Þ={|,"845\ PP"Z:$d?6'Re[Y """""""jpl9} "QD""""""""j1DDDDDDDDDb UA$""""""""}]gK.Eh׮Ο?_G""""ڢ*Tu&QDDDDDT{D""j`JG%$""""" QSDrttQC QSR56 "و:BF&u QlDDDDT!rQW<}SI "50DDDDDB #-BӻDr!6>v%5ԅhֲ-H7l ua!rmsCD""j`؜n'@nv&CB!HKNw Qbgg'=lXSh4B*7i%׮h4B&ջ@5 eG "Q<*V_HDD HIS6A$"""""] "5 eHjD""j@XV?Im`M$"A$"""""[\M@&a޽wmGFA߾}]O(NDU+8bs6""""5JJBNn.ڵisw3d!^sϣ!]|M;wSNq8s N> !nܸN:aΝ?N~a~zm^jڴ)ԓ.D""""ڰz:w:/N{ bEKu "F>}}\ <}ӧa4kmG'4i?FHHH'|Rky]g'A$""""hRtY]g㮰lCEdd$㑘(M/iC^uK 믿K.޸q1zZ˗5:/} "QլXt-[_Tޢ%Kxɲco>kfk"-Z&L/x8::>CRR駟x1a,ZhpiL>ƍCAAY >$iǏDž 8s bbbSn?8vjuyuΞ= NǛũS*u )?%AK.ŋRa IDATIDd['Ֆ\RRpEzi~~A.\mz]xEEEfh4>szΜe^ׯ#%嗛/$޺U{n~A.^׮AU2t^Z|x7g̙3/L&CFhwAAAO`icbΜ91c4mhٲ%֯_'OoFiΝL&Cvv6FGBP@T⥗^N8xxx@:cǎꫯF֭[`ܹ3`ʔ)륿{m۶`0 33ZŸ)}V" ek&Ֆ'OanAXn=9 {{{t:5bf`hlؼP՘xe Դ4/oW_~Wj*KDݻwGpp0J%cѢEo"ݻwGTTJ%rrrk.?~l ]\T* #G2_Çl`رV}6"{lFDDDDU²TY95}:nۊ];ТysLw[Vj ל7l/8{l塲5->b=lYluBYx?ukgftϽ*_Ǧ۰ذf5މ[Ln1*I~8dvn?B\t m۶l999HMM'&&">>˗/squ̘12e >#b v튀m 6 J3f ##iOOO̙3qUv0DDDDDw3?`gg:xh@d2d2LyIz7-8:r04 Ǽoq^ F#HIMIM/]/OO(\]pe\zEVv6h @rq=LɩƟls7x͓XBjVbL#fͪqm 6@.DL/l^8P;NV-0rx4^LGxlD5of)5ɉ~y RTTqxxx`xw6a[bΝ x_~mfgϞ%Kv.f))ZҼ 0TRӳeR۷/~l۶ 2 W^E˖-D"""""[ g<5GbܘGp\,89ŌW_ǡiot{5}㺮319ˡqFrߜ*N#%}U BX9䰍ialevn?%zz0aNɓzX$Լysrssgs駟{6cK1uirss4h5Д^'NEDDD"o3xPAo6mvWsAh4Ҷ L|dڴ˯!I9s={73ݺtfquqa믿`#ʠf"Zf ԩSFQͽGDFF͚5kӧϿŋFEթSggg͛ԩSyW6l&MI&lڴ(LFdz>KV;⡇{a۶m4nܘo 6رc:t(>(M6eݺu[͍}2rHbbb3gο~v\T&""""Ѩ'0a[_oF=W+W\hoU5`)t iO${^MAtڅԠO߱[. : #[~Ć [9oc<[#?=kבz&ڧ7;;O疞{|%VM[ǮWNnX, ͛6e޿8JM>xg.ժUFgdA禪\s/{p\ν܀2%Q~vBjxw2dHy/E9Oֿxw},v TW֢bpY hUB;?|n'rAæ-+\\~ҁsl Ͻ(U3.TXv8~8IIIٳ""DDDDDjrAn|tԉ ^{5z!|}}{i"R\- "U2wQZ5fϞ{Y"RA'T$vvvk*AAJA D͍\r ($"R'\*n&׌DDe"բ H ŕ3 382J Hr~Hl""""R`0ͩ S'`0R HL$`h4+1QT!&Nή{b4+d IEDDDDD8Ʉi:yؘ^⊛7nL @DDdH""""R0ᅋ;EUSRIDDG;;;Ξ=[+0Pa41L U %JA$*r6(*)$"""" 9Pq ' "T!*ՈHEURhw6*L$ H \- "T!i%"""""R($"R(IDDDDDDDDDDDDjQID )nw6:޿"{9%1vsO 6.sQu gϞ}c.9={*{x) "T!DtRȭw ¹Xn{Ͼby/N&b9Z3dHs{2~\AVVa1/z禿_]r=MB\\|,. )$""""bX5m_71GrIW!'7zQM7`0{^vd=ERr2F=qSsyy:}w݉=CsCuߊ%e"T!Dui@@:w7ߖK__>[Kp|6b0LԬᏝo2a]\}+RDBIDDDD.l ))1$=-̬,v}9oX9zظ8,Kk;6c 6k222b!a$}{PTͱ?GH9.u`4GJcx"#LC8yȹʦʕu@DDDMyM\\\h֬ez˱m6rrstԩ۷oٙ͛D򰷷WIDDDD.ɯZ5<==a?>fǟ.&6.|Y}__~ ^3YTckRVM^|uݺtaǿzu^9yy<4o/OO{0~h}w_"-=gbggǓ=,wy>4ݱX,ٳgI8~ڵjy6?zcݹ4jzldP{_>_?EItҙW_|l*}iڵb ٵkPDƍwqttyǭKz_ FVEEq}oyKC }l6sNBCCٳ')))гgOBCCٹs%JߟXbcccܹ]L7~J@ MDDDDJۋ_yoqc;6OMao]~'..8xCQvtRNh!7H]pttՕܼ<;C@8xj֨_`7ư!1 F^}~14_%_EUjOaCyFg1'ND^xkfV&*ݛ {.26fq]h*{MPPZѻw2hd̘1<ӬXCDrfff|-""""Rg d%<8fT}ϳ9޶MkL& ˷0|3Y}}}n~Z突׮m| 7Pb!::Dj֬Izl'''sahҤIZ˱}vZh#bФIbf3(vŞ+11 իGll,4o޼ĵݻ7n͹Xh֬_&ѦMN8ɓ'iѢETTH "ȕ>.^BzzFA9q$we`d Օ'6>~Dhצ5i:}II4nzo//~e#;왯8yyX,}<:IJeˬ]_|E&Ol=?eY`+gnn.6l~xb֭Knv{IKKLJիWӮ];íJZZ;v^{ͺޱcG'HOOرc6kprr"$sĈtЁ~|N:EӦM駟lJ8@`` ŎsEDDO_E^^vvv,_&Kkǎ 8xԩShn6N8,X!CXN-Xj&L}H9DDDDrfۆFo/OH>g3~Z͛g'|z9N>M5߂FDFEyErwsӓW~gt޷̂Fà%T>ygӆ_z#N<ɦMcz!HII!33N:qmYۗ>}D\\<@Av… "&&LH֭cС6~fƍٺu+'N ))d `3&'' 68RpqfΜə3gHKKnc@_ff&]ve̘1dggʎ;Y&oߞ?$%%qq>#>VGs$$$$""""+an{+Me}gK7xftvUѭkzq.Z[X+fKw׈?v{׬|-32Ҟ1d.Z}ɰдq0C_tN; ?ag k`b?tp{|*}EN'%ٌ+}*m&Ry^:֯;ӧgΜё}f033{̦-//SN;6Y,bbbW_tM?E4oޜ@<== ^s 7РA\\]] d2o[uѢE3Xiժt߾}9sݻcׯ=111l___/"׳ 3DK nؐw/7KZz:5kos'=ºq2?w77zČj6o?w_:=B5kڔ~Պܷ~@.Z_u$8sF~0%_,cxxx0t@eOOUܱCsmnh'=IMپN&sB;w"-=˅s4mgg"AI&1{lkˢE%a>S 5cǎ<Wt>ggg.]/hт_iӦRF kXjC ۛ.]p]w1a9r$={VZݛ &кu2[3@ݺu/c݅c.\qr*Q8ϢEQbؔ$D F "hټYцl{ m}{ᓋ=PfMPq0F0k;_@%i2 Ş{Eqk?EWR\O?E*m)88 :u*O ۢE6Fr̘1\h4ri ~`0I&MoFٽ{7WfԩZkb0X`oׯgѢExDFF^2#j*s`\(00̷~[Ѷޅl$"""""eƎرcX,DDDMxxxR ϟ:b6iܸ1O&77AY~^ZjEV馛6ZF߿?ެ^_<Ō5󸠓~F__/u\IDDDDDJD*fS5"""=zItt4k֬)7OX,?~9s0tPjԨANNnnnۗ#GÜ9sl s֬3fЭ[A۷kJ5صkq%|E6 ggb|~~~|6l>,͚5gٙ 60k,UٳyGIIIW^vZ>2yz"RHF6mڰb  v-;z( v%6l 7… UoC (ܱc3g/EDFFr}Yyꩧ@^ IDAT/qtt' j" a֭$%%ƍ]vkر#,^ȹL 9WZ5tbRcJ\իWs6sfPCxWXr%nnn4k;y|̛7nf, {-DDDDDj)/`:' hoX*{]R=0 _ZND*n彌>b3}tM[oO @mo>1Y# DDDDb*lv+M]lqõXuIH""| >.- nF޹Ǘ pv0`Soh;Δmkff3FQՋȕS&9[2pul.zlWܝ`ܝ˫puqfKT\jo dggDDDD©|Hm]Ê=^ЏED9z*{{;0[]ccohgooSp; Psm)SU.{ """thoۤIgϞ~o.O-,K^+ "T3֮]K۶mbk.v܉b!&&m۲v+;7СC6l]#FM%'"(מܳ GsJhu\vY}?PSRI;HYi/f;wJFHIIgϞDFF'>>LPIMMf 0c &Os$rЅp`ϩP "fswRFF6\q~cm@;H*l,EDݻ7AAAڔEDDKPP{.ȑ#ꫯ0Ldgg /Y+~ڃ kQ鳌0YdXȱl~rXJM"U&""""%U^CDÃhx饗XhSN%::qƑJ=;vUYϱcLj"44/BSؑ#G8~8ԪU D"##ԩyyylڴ ͛7IHHNNN9I&xx5//~Ν;ɾ}hժ%7;\әI)x{yp,ϬH*3t]3W_sqq_^esT&"""""WS ":te˖a9/2yd)S΂ 0 \=sssԭ[7<<<ӧsa̘1|駌?ǏF#11_I&?Lbb"iiig d2?@NNw}7q1z)^}URRR޽;'Ofƌf|8FlBHH399C9~1Xt)`00vX~ܹ3FLL E?eظq#s 77ؿ?m۶W^QQQ۷epttd5)%'''Mvv6tfxם kv&"""""WS "K5־ׯr F|ݻ={ؼy3nnM{իwYa|ٳz^z Y#"ٙVgGLd[t GOd}ą~Ӯs*H"""""R*miҤI̞=Zζh"k [O?(cǎ<̚5몮?z8;;m6}lJ71̘1æI5hݺX#"I! hWϙg= 찳+\XM=DDDDBmi&B "3x`<<}^|EҨQ#xxG9{,L2YfOׯ/AAAlٲnݺq]woooFرciڴ)Z6mƨQpppf̙6GI=T&"""""eF#mڴaŊu8z( f\ Һuk/^\\@@&x"""0 O?+VcڵlٲӠAWNΝmݾ};ӧOg޼y1`5kƁ;w.K,ݝvY?$Vzwa&RaO$e"HY(z(`:' hoX*{]R=0 _ZND*n彌ŵ`'9s裏co_0dҥKy""""oef<|"]&IjԬ&_qqu{ H2Ͻ\ ?>Bl""כz"MDDDD`çJj|lۈh𽏯KDD*ȥE:*M_vgIA$*D HQT<*,gSO$) "T*g&"RVRpd)Idge쌇ժóWhKA$D)ƑINfoi$H ><}߰E?v'_;S7efDDDDDjRIDمn)rWw5l=p`NhS\W|Ų/ 3fz矞RxX[=DDDDD,($"r#Qprvi˶۴e[#Q.w_.b+T1l%5V&T6YYYٳ9qFfsݺu+rСC9s֭[2 9ig8TlRIl ?zT= ={tgYÚDR9TV/EƄd9kurr2{f3TeڝMDS'Ye_Wv]NLkouQ%T&""""?H-x[1oڼ Y,kӉ'HKKc :]l)$"rNjJ~5/:?$]5ns}0r6L^xFABBڵ+vLiwÇY~=~~~8::2{lWΨQگ*g9';+˺ pu ;+99qlظ&><_8%5VIDDDD*͛7_rLi~P:}tqwgGdĉy嗯|1DDlY=GpY[GG2υD{-[/]vz׮]tڵȵ~;SL!''̿^($"r3is=<=x￳>}&q^z/TD)Miz"9;;ul* 77OlСCf{=F@vvv=\]]D$"r7'.^cSN~z^k֪H""qtt^&= ?Rv]kZmgx"q^&m7;xםE6.+%D:?ԡCbh׮] e˖2]Hiر(9BFFK.O>xzz2b:-B@@QQQ > PZ5L¸qعs'uߦ} 0ܞ*PIDz3ɧH삠3^kgRv f͚tEDDDD/ʕ+0 4mڔyp7ɇ~… رcjbٲeyn_}UZj9z(O>$'NT)RIDٳg vvvٕXV^. "]XVXVBիW^A$)W?8?EǸ2a&LpСCjyH""%2LL mt1*g+ \WvmDrAݻc0(y+\&M/W*//-[еkWƂgIRlA:u\WDR&\Lߝmڵmۖ, vbΝX,bbbh۶-k׮;|t_6l(')l6hЀ͛_uHRqtr Q$///UvM*"""""OD2ܹP5jDJJ ={$22Xfsߟێ,ׯҔ܈H3L ]XVD*) N:u-,"""""L"ݛ /,g w嵼kw-%H9 .'mvU*"""""S-g:t(ƍ#::fΜI||<̘17nC>&k?f-mڴz.++_~ 6dLY,>͛9v%}v@rr26l(ھ}5iThӦM={Abb "rM],@:((j/UDDDDD*Jt!-[f ~Lb"Ǝ_| "77pj׮Mڵ '77 ϟ_|رcBBB6m, ##fhP4Һukk ηrJ/_ΦMe.x N:֭[K`"Rf"ߴ w]+  GTT`oo߾Ehܸeɩ'NJR~2KDDD*X,6Kb6/Vi3 YhԩCFGDFF͚5kӧ+33?P5j'|B`` m۶ 557|fl:uSNL8ϟo3f̘1>>[G2`2Ikذ![fEШQ#8ps~ 88kbC7иqc~G}QO'O3ׯݝ#GһwoW3}K,!)):о}{HBBBHII+VpBVZ/B:u8pulhh(nnnWȵqH"p 3w+vMiiӆR>s4i҄7|&rܸq0x`,XP~aFAhh(ZbݥKDDDzT Rhӹ=8.^n@{Vz``vtQիٳg-?[jo[F֭ٹs'vM6sw-Yɓ'ω'Q_/r IDAT5g?~M6믿ҡC{=Ə޽{iٲuޟ~0-[VdCFis}}ݬX(n֭[ԩuOdёk{yy衇lڵ+6m*8;;u󈈈FfFzcX8{,Qвmȥ/kfҰiK;_Wǁ߀t +s+fD*IDDD \+k](**Ǐ6HD[shтzPn]BCC;QNNNY#Fج瞳G{f=vرHwyǚ5Uѣǻvj@{z͍/·6mФI"ǽ{_}Ez U څ}l6hnDXRSS%,,ur1+ҰaìFe?Nyw֭[smAjj*aaa֬qY#G3gh0=z a6`ذaqO?4jb6Y~ +|fG}D˖-/kܸ1K,/6sٓ+Whs|\覛nnݺE2~ZjX(00۷Ӷm[|'6/>|8_56 {.F^yzUd.oooZn]h[n)6XUZbk6K2L%*)b].hj1 ԪUCDDD**(#QPVXV^֕PNN۷ogĈiH98xOo^UʫR~}l=7f3g[.+Wdf1 45kCƍYnwuF%K0osΎ+WOӦM߉n㡇$$$РAvͱccԩуϟO Xx1vvvq!q9v;vod޼yL&N~G;SO=c=M6l`=P(Yf ڵn/$??ݻdL&mڴ!--ͺkf~Xj#F`֭֒#F'P~}ڵkDzeߟ~-Zp=oq\\\XbW^8p}p-tR5kF.]Xb999xb^{5ZnONN,Z3l0زe PPJfqrssٺu+5kb MFHH֭###Qٶmu.]?0eN<ɮ]]NJ_HMM`0pwIII[n\ɓ'ݻX,xyyO3w\RSSٻwLꫯh֬;w$==xGl /ݻՋ9s޽{ ~>,{&66SNлwo f̘A:uرciii#d߭͛7g޼yߟ#GpqԩS:u*߿ߺ.]0qD8|GYpp0=!!!$&&Zw;_~:uf٦M2h IHHb`2ٳ'=]t!--xznjýދ dggSZ5n #qqqcggG^xg馛%)) ;z}GDPA-3_YiY[YKiie.k*""00̼?ƹ9( y{ι s9\zm۶EV.Daii{AVz»ヒ6m@V###C82 333 *4 Ӆ)xРAdff={Ĵi0|p!%%ܹ3Bap=<<0l08;;###CCEǎ)]o~ˌ hZH$kCE!ˑT ___ :۷Bs?T*E֭/N:ɁR>ڵkWWWd2h׮:tDLFo߾AVVp///slٲD^^ԩЮ\( H$xyyk׮pwwJrwwG=ЩS'B&AV ͛7Gv J#O֭v O;4hzsss@RnݺG=Z<[F:uR3ڴiƍC$A.C-Z,,,Z SSSxzzm۶pvvFQQ!JۣiӦjM4AV`bb\FDUVZ7F!HRh`oowwwC* 閖F֭"VZ Jw͚59J%j5lll֭[ R...h֬0ZP`mm A,CTBCƍajj*^n]D"( D"M4~Q*S6lXZZBT ˕qrrӹ .777XZZ󟘧Z-23PϵAɞ^FZ*փX,.Wo9 M_S(n ilb%,tA#3?rP7A1Vb"_^7ԧO"":y`Z8::ڱc}'DD*?H+BNNNTTTDԽ{w"" SSS'"ӆ CDD FCJM4!FC_ђ%KH$Qll, 8fϞMDDDDHt""裏hڴiDDt1zĉdffFw%"Ν;޽{2H*5ݾ}[>JbBBB֭[DDt]?~|Z-/LcƌB!J/Knn.ܹԩCDDBJ%?Ο?ODDr\Hի eѕ+Wk׮t5PNĉBYvl۶-[&[ĉ4zh0H{.3FG=RI .+Wua:u*d2?Wz֭[I K IŋkѣG i~zԱc/0*+..fϞm.LF+WݻwSQQsљ3gϧ[ ҳhܹeuqڲek(99V\)7iӦMkaQQQdp矋-tnݺEqqqFEEEhWt! ڳg"iÆ j_VӵkHP%Ɍ͛tIN;v젨(tVKmzR*Ful۶ ҋ(,,ʊcǎ+77Ο?o>!ҽ;wRxxk%77"##=&))Z-%&&RLLkEVSjjQQLL eeeՑNqqqFeT*JKK3ODft}tFZ}#::hV$4=ÊksajIJDD ¨tŽ5 edd{L~~>Tb?>8JQuQu[Z.uJDž_TTTbJ[u),,,?8V^mѭ7HMW.Bj]pd9ٔ/+=1gkucDׯ=z GPPݿ_H[|9\ }µS(diiIܹsDDӏ?H`իWIѐJ"ooo1<(k4"4|"":u/LaaaDDcj$)??_!"9r$%K "___H_ٙV^mDjڴPVvvp#@F7QQQK/ OΝ;KBhnpÇ(@s=;v,_KznVwI-[={ĉi˖-e) Z`۔lpѣG飏>2 8dffٳi׮]ed27oM>СCUhѢEt1tJE~z똙I1=zuTT? Rմ}v6m]~۷oӚ5kʕ+26l@6m28GJEǏ{Ѯ]^ll,-ZVXa {.o駟ҩS|:y${^/**.\H XRR`&''S@@Z&"͕+WhٲeqFJHH0&3 Ni4 PNN۷Ξ=kp#C}}RTTDg`DVVݻΟ?op#I{{?}BBѣG Vڼy3m߾ PTTDׯ_cǎZ-޽{)88e2Shhraa!EDDСC(!!AV*J']|ht1םZ8 2h\.`  Drr29r 1##;F;wH~RItI`fNN]x]f޿~WtyϿ}v XRQbb"RDDA{߿O/_@JII^r^JǏhZM7oޤ3gЕ+WsjBOǏSJJPJx 7o VKwܡ+WPttAP+++]F*Wd2SXXݾ}[. bccN#"Ν;tet Lz*;wsϧ8 k׮ {VKiiiFf\N AwPtzA{_v_+HєEZ233)..._LIIIt(]nn.Rdd$ [XXHwܡׯSRR̃H*jqHjy " 8t'On>m GK}}ƍ݁y\N:SAhٲe1| 9rDHoذ/zw&ԩS' oBzVVjܸ1#4rH"0VN:^k˗/. H׭[GD/}%dii)7$#F Ծ}{&<**lmm D"ھ};tO2Ec„ RH| wM8))6l(O(""\]] bڹspM;Fի'޽lllsٶmCB͛7F]:x T*5kD"g͚EJvI1z8 '???C999;GA7oޤEOΝ}‚͛G燐] ִxbͥQ֮]k^Zb9sz%KR?~<]p>Cі-[/YYYرcidgggpn:Shh(mذ5j$ќ9sh)D"zi4h p˖-iѢE[oW*ҋ/HC^ԔL_~%Ӡ,?~޽;FruuR "MRΝ ?nݺԹsg7HH$ԬY3_AT*f͚Qv`yzz\+ϯzzzR֭ϧ5ѿ5jd:ob.JE|zҶm[ׄT*%ooo|x]\z:u:Dltm~nذ{N*m+.͋mX,Vw.%Wcף׫ 틽^&&&Ŧ?n+{bsMjo_oD8 Ґ!C1¡6 >YFףG!}ҤIBz6mX:lBD~9ڹsA96lÇnÁ'}M6BzG;Cэ7/sb`֦MqD%U^=:u999[XXPdd$͜9 }РABY>JLLF`=\ٳg[6J0`ݺu4ib^3mnnNgΜ0Z<2{",, ۷oGZZh{aȐ!A'{n3f̀tSʢk8N1cz!C?cq1jH-¢E H$"BBB8`TǁD}ƍ[X|QRĠAuVhw!<.a&L0J'"|FA'DdddiORSS -c1Xqn$ceA$LLLOg+FAZZOoKHH?ctɓ'XbeUҨGYQc۶mejWppp)[c1VϴbfW{=z*_HJnDbZ@"(}0ѝ;w !44JUb1c͛7nݺUG"1X-tH2h͞78JEc1XiZDFF[nǟQ5{]HRyVST RlD$!Mi1jgtTLg[\ѩl@c1X刈 ceWAcaK6~<0c=IL,QKU7JFt IDAT.mIsqA$c1lڬ Rl!RƎA$fI.EXr>g?#ʺ&~$ң!1cgODz֋k3VVUDH y9>>7ҥH{HeΦ#c1ƪ^dd$4 Zh333TJdQOgӯԘHr~Zj UD)lܹFA$cj"<<ĪjDb1tDh4HOOl1c/j"1X-P #c1ƪ"H1V 't dffVVc1XH~~~xV=UcU D c9c1ƪTdddnnnuVYyH$ƞSV6hԸ)7mYȫm*WoXcG"եJŋ+91c^ F3W$'BhX8oAVz}呕аnՇD*Eb7D'gJ?((?J~..tw3$]&JPc1XruT*xyy^H$D"}"3#)I7*dVs$I 58]816Vu+&&&hTo+ޏĭ[)l"ѵs'aQՈ6h`עק-rd2$%%ãt_JHthNrDE]GKUϣC.YB=jqog0ol\\A"1puuc >SJP*K^Vux$c1XWTThu8fV6 "~Z3&oDD7pa>sTa_|v HRhrkXUe+`ei ]]5hѼ 77#GEc\'iN3]lm=v,(wWyǟGͱz o+!6iݳ~\&ysP*x<hܴ%2-][aܸ1h'+c1X___TJ /$!H8TE .=mu^1ʣO6rUPPF['?+z\>А 6!RХs'\ Eh| 'dee ;ǒe}CX2ys?FOzR {?wٓGq]ěIBr~;l 11oY9*Db1 DT[l@^M 58, +P*wާ 1䕗ѹ??Y JkQ#;PHRJ XSĢrM|ڶ)s=z}Z]ět7WB0+Va`p/3עx&F s Yj|}ʃV8c1V;< ~ oU456w0¨og_Э3efffؽgA ,--aooȫ{m/ưDȥ+WccjjΝH١3@vl :ooPH\c_6xL\ d4txDb1A6m.j0O 86Vرs7V֭57G G<K$cc̜>Pq Rn6JW u._n]S8qS׳2t8Z-nfLPgiaoo/[Cl1cCVVRRRoooUj}RիI#jl7^Ǜo"u+K+ 򹻻/=u|t z&_~^+ܰ= o1B5Bەw'/n@tt Vz{1!C < BKK21Vxamc#""nnn AY}(R{2K+k9ԁc& ^`9ܺWWx4j ]:wBRr2nJA`9qr_LC1!pssL&CxD$^m~_Đ1bkú_~['/0;[[4tkg|3 oo/ڥ3֜:s7k K ̏gGA$st ;;(χk9TxtreHKEauկ?R$Ul[[ `c ZlbNgn>w{wpiܾ~}_@κq!t 'O݌ {a;C֎ mpuqWM`ضc'bc_/ L3338r3gs^N:xtA$cڣ2֏@*χw@bvnegU5xamcƍhذ!*\"VE"6^+6HJVH$j]1d<ڌ1cVիWѥK VݧK={5cH1cMeXyq1j"1c.DbOgcZH1ca)DӦX#c c1XrUhZhѢ˜ZD"sqXuǿ k3cHHH@ӦMQPT*rYYK Kԯ s+U+UDr3AL, 5UX %6HBX5<"1V*]IaS bDb1}"""Wu3ED9v[ff&Oacm-ܟHKO-;z3yU ks~* c\L0\)U`jj H1cIDDDU7DZzlȫtkw#;;ļyyF~~~yn$Dtl,'@"4<#B@"&.99 "%ҨJѱH*#"LJ2H{^T?m=Q1Z-ZmU71cU۷o7oTuSurO&(ԏf7mamelt˿ZM_VOҕP8^f&F| S&Mʉ"^&LML*,߻v f Z+VoHG>ĪBRᝑoaqtܷu: 8s63x{ /ll}zgnXb̐ _XbnmW-H1O$c1jw+g}}:H$Ɵfr|b%u׆ &=EL\ޛ2߯s> 33E8y_ )9o:vD{?_(JL<Ǽ1FB$Fb"8ցs]g,?͙7_XrZh"khX,Ɖ`nn|0md2voۊ:HK7F6'=!8cm}!OGxT"j\-NMB|N<~Գ,sb^4jO&6fbR\cuL$PFB <*DRo 8HkQ(,˶Asy׃H$BZpb x*TE?:Y#P=\C٭˾S{L1oΞ%(7mߝmfPƅ,kHL=~8x(0Jo͚4 >2q7e||mڠ#եڶng RcbM\ԜTÕk7p/^r,WYmA,\UjϋgOۏǩS~VT+UT?I W'4o>/CД, ~S.-K8s +EUSXH2$q" ;dhB7AZĦqh>OS-'aA\4:z6m/w#9 ?|4Њ!~z#vc ' چb6XyJ Xezg[|9lSPPbA$aڔѶubD"( m~apV6<1jk?Xoٱ5B-m,+SY= Ed5G~$&uRԪݝ|@ SZnܹ {ʋ.>e5lUQ_g`{-(,tA$S_/Zu:nȇ}y(YrIq_'J. &+d硟+|?_-Y >ǘQ#aiߴ6⛥Ͽoq*~XؿjܾsO艓X|F_ G=o G&5l"o8v$TG-b}[؆{b҇Ӌ 1cDbZ{Tӂñy{YHpFǹLeh( :4E[w+;{`fBi9{OÙsr6TNuW03Xa2TZ"#6Z%*k"ձlڜTytp_A Ǩi+-T9 IV:~b'ʻ5O?[Æ ! jR?]'b9LMMqi8::b-TW;nAfMqq8u.A*JMkV g#E8;D-_ n |¨_-ƎAXUcwW--[aiѪE˧OgDbNl;7_`PF =%c5V̓.Ī|y6:#^SP)K@l+=(4J33l 4Zۿ̻pt7]4.S9ZU1}ɋZ>\~*{?wd wactmt+LlZk2T~Oa%TXTyz>_2lصԺ6ٍ&e '+"1XẼ99 'yb l䷓1_`Tk"RTfG˾-:{ #cxss0i՘6\gT~* esE@Z(SyO' _ D_'d^ ~}f"~U~~Zx `yϖxehһ)NMcj2|ccDR[[F cbԈNF7& sD[:Mxp_&ͱZUE?齸z~|OQ̙3[xF0*L2H;B13SS KhSM [3ιgazU VA8co.ނ/; )E2|v1> VcƍXm}q-]ϓ7u> .wc2ENi8{o&&e*:~;־Pphr$l`hcFVn4GлwomT@xq24(*HgU~Bh#wD"@}1`۱L~~3C7wͺo /J+S~b2Z6_`ՈXpP7AH޽O>^nBB=6OQQ>} Tv`` 'jj|\eP*tRh4t5:AЭg I#"ܔQYiAߑ)GOOg(fO|>^J뗎↲L^1J멣Pʐ>Jػw/֮]Ç* ֭øqXw3f 6lKKKr̝;_O>3g,YVX4ivĉamm<4lGƺG/1cT*$CP A -[իF'bprrBFF 0fصk^l1c1JK$A"N]LUݬ疅`mcDRH@ "-_:v VѣG=z4Ν XϣSNO]o&M `J2OF’%K*d:ۀqF 8dnnCW_ ɓ?* #FMӱi&GÑ H'N`8t|̙3O.MwޅX,?GA>}#F{F2ݽ{޽;зq[l޽{ǤI0j(a%RFAP6m1x`tn4QBB cԨQ8z(z VS[nHKKRɓ{n;w0k,$&&B&jw{ڴi8|0nݺ  66ݺ([boߎhcL3cOD[{XZـ9*H$CU RVP*HHH@JJ &LP%m5k8p OիW (,P(0}tܻwϠ +++adD"e ˅a'Oȑ#ѷo_!ãejj V[ǻヒ#GO>{{{ݻ 5hcR֭Vśo)Ν Zm4lڴiB0jرhѢf̘a~Cf`jj H/NNN+WaÆ!== Z LLLШQ#QHv-Pk֬݋sLu|饗ꫯvv<_1c1 fff=MMLLjD AٳgK. |@@Q-[Z-tٳgWHڵ3V\QFaΜ9^{0`\]] /O>ybY_tnCzO[\֨S.]TqFG]`f L&ٳB޽!JaeeիWcpppСC nذZ7ڶm -LB4oܠ:#Ub1c10HR*$I_a5v:[ӦM1b_… @?0qDiӦV͛1h hu=)Qrrr4ٳ'~g:t"F'H$eZvvv?~<Ο?ؼRJ%<<ƍܹsqttd6KCa{3l04i`^M61⺉xf͚e8@LLae}///2dO>$6jŊѾ}{z)Eůgر0w\֭[ǨQҥKl߾7CL0 ͛ǫM$ݺucԭ[///zӶm[FEHHs̡ug}FNNCe޽{Y`SNb+ׯooo31bcƌ?~E} g!B!ؑHEJ%ڵm۶;۶mc׮]WH]@tRj\HHͪd?sa:t7xúl|0F#=jbÆ DFF?@N ׫W/KFF֭yDGG[W4k֌5k֠뉎{6VbN: #--'Oҿ}|9~8C lٲtBCCkQ6nH||>ݗMTt4fٺ?##3g0:|Ck/;;N[]iZZZii;qXTd$f}&xbRgb|x9!Ĥ$`4X,\tc'NZqS(3uIHL@sQ8ȡG:##hӉ9{֚2Sٴs1&gϝ#_lmg09y:? IIDFES`0q!D1B!`Ͼ?޵_yVKn^..|4o֔QQz- BA+o?pw#9%Gǎ)4Wڸ1qtOs3:st:MYŷ~-5c(PI =>X1ii/QC⯖Qǻ'O`@V7ѭu})>_%-=z=4}s,3gJnn.<6nl%=G:u#\$ϘŞ߬1YL{~;7up?|Rgߟ(J~ߺ_-k-61?[^gmF ʘ/O/jdegSۛ&@_~b1 s\'II! \~=/Ls|n:գ`൹o1+U6[MNx#efoٴ F#6ZmGl\OB{:Ҿ]*۝RyҭKgFaQ)hެ)nn$%'|}k[N/Sۛtzq^~ >Y-5`)Ә9;z^RR2/L]`6'ʜ7zZm>fOc؇;o.ݺtё^ [΄ΚB@.ϣP(:8tMDq/"Zۻ7  ~a᧟1b0|  瞥Wmc|h !ۑܷ<9~vRjZo2m0ͼ2M"lDP\}!N2M!ef~ٴ_SY6w܉YB!Fn|Ĝѧ&r9!?__k̉XͷD'*v0|{juZ4 x{y1Ѓ,^o&pV]OjZk")9{/UG5pw؉ ]xQݝ/ߪe XoڶiMHߛ-ڝƀ+S hZ\9y:V-[xFS3f"Bq+$$BQߏٯO}^ ?Bŋy`oBiSiԪ;zlXJt Xi٢9.Ү_`(Az%[Nᴷ{n-5c+9s}߰gߟ|*Ϸ;v@unuSm֬h4F#= vT*5wիsK}BۅLgB!by+:efea0Z )-jdޞull6c0_?T*pwqj $((|z222 ճ> cwKm;01}{ ewظ8>X13nueol6e+k#eFft @T:-eK;cΝ#//?bJ!DB!bмYS^&wwwZ-/OHklihde4gn۳y;l(j;;9|gNɩtY&N}n]:燫3bǍё={%GiĩH"~EZ҇<czSV-|عi''Gi|):;v$//>s^`Ӧu6`ﭵv|=6m.^ϩӑlޡCq^^xzx0<dgX2]UʫL$z=6n.VMP/YVd21_b}F=0OLˆaCXxt.W !DMUhR^iOEarJ}e |p-!)ɉyT!/c6['fNp1fݛ9y4n.3 :p:=-7c9K{:jpwg$%'s?\ח@B<=ء\tbquu9|..lޜOw~zY.^D޽8Otllm;!!^o}D~ϞCyi23u0&OoMVx׳g>|Q7Z4'm["pCӱC{6 DPNs?yK֕ft0)=v;O>G^>&<.fL\ʥ"֎To(i8^ٜNea\K!nJ#4B!߶6!8:9: ʖϿI%ӕ\; !B!BQ$$B!B!J%I$!B!mZUw7B[vUlӧ Ji?!!Xǩzr RRRn˞N IDATӽ{ +™Ltt4ݺuB!jܮ!BܲDںu+]___> b!..ѣG3o<X$$$0fvڅ;:O?TRϟOXXDppp;urONrrr'B!BSHfCѫW/4iBFF':: .`6u Bv{HHHN:@aָ|LRUok/^̘1cGB!B!)j|iРAÅ 0hРr]#>>DVXa3JEh~KFFmDB!B!U5_~?̔)SAp%.]ļyh40e~a[VH8p t:;q©Sb;7==(Ν;gs<==U- ǎĉuuobccst<ȑ#GB!B!*]M"EEE?tR~m^~eׯO={6o6K.&**ꖮU~}j׮M׮]Yt)yyyb}]x"ӧO7ް[j 0;ٳgǟx ϟOӦMi޼9}@3|p4h>HZxWm{n6lH.]ŅjquueȐ!4n???9r1ך>~wyb5k/رcйsgDzeHIIa4hР !fm!;seѿ5m~ۆɨ{…o*d2qqdOVc"<=6xh:h &l6Z4oFcobN޽ *oo/ZhN܅ ָ}GwT*ZF`\\w>Ǎy͛[s4nLu9u/_l240oJ!j?i pp0 BuW Y]v-t^x^xfB`?sς {\V++ڷkm޼ի|KQ(̛7f/|sB!^:4)GQtj.L(X, 4j(lFԭR 4 ,s\jZ>|ӱC{?A^^M햛UTZ WME ;˗D9GP`#YH6dNTZhasZ͍$.+YrvIjyϷիz2P*xx0V!nW5>tlB!呜H&ZF YnаAvuPNa꼼<,͹ 89..<ŦFc˿n)''Kggg[m4ٹ_9ɲu:#M=poԕQbwԉ{b6 nۖǎeLϣi[|4L Ӛ<ϥvIbϟNQ-ޗ|23oĽ=?b8ugg'rs r?=yb !DuHB!U4ea0JwPmHm(upF vv*tƮRR /?(/^"!)~`UhxᇬRRRajF^켻o#Heo4 īv߮m?ZqcɄع̦ ˚<ϥefeYl`NN%OMKHxtWjfeeIIQ#II!;wƫvmcXN~~>#%-=ê?r?f *Ac_GpYT*̖#ZqTiѬi_/tn!w31gIHL+;KKϡ:r}`ggY{O֟ \\ɄRQ˛ޒ >ߊ<~>Z&2 |*֩CߐŎ{{{1zԈb.[vDc?TIɘMfRSӨU[{.l << G\x ^Ovy5JYZ-nne~m>z}#/Kvv6=v)Sj5hǒe_wBDB$$Bq Bz\\,AZHrr2'OGL}Կ߬?ZCHMKHq(;tko`0p.6\?dXXQ՜=k=ۨ5dVOM(ZmRQ˫6^^^j5[ÃlGҲEshܘuմkGؾ]ZYˆMitS2.\ٹ0q nCመF>>Q- V-[%33dT*ѱ}͹-7CR=ӮMJy5IY_mxzj!ms0Z-F 55 ?kS  n_MP')) (JBzaf%0\ٌ 0+[T$w&FdXVD8B#BqG1|WNIB; `?rlT2]ʕHs?NB!Bܵt:*ggB1$$B!fBzVB$B!wZ򔺈BQd$B!B!($B!B!D$$B!B!J%I$!B!BQ*I" !B!BRII!B!BJHB!B!TDB!B!$B!B!($B!B!D$$B!B!J%I$!B!BQ;.ԧO[İgϞƘL&~w+VEI!B!wDںu+۷'66Ç9tXڷo֭[}>={rƬZ܌?GGGN>}[#B!B]uwf3W^4i҄ Ott4.\l6Wȵ, O>$%{g*:E|||8p k׾-B!B!ݫ' D@@111\p?"" T!ruue۶masl(;LJۦ!B!B.==̬L|}u f͚Vaʧ&K"""puu%&&F;ã> +3g111L2,ɓokצiӦL>+W{'/=zt8w4oܺX,:wlݧ?ҥ J{ҳgOJ%G\\VHOO'::-[lm`0شgFc~v5oWWWd.^Hpp0$%%B*B!'p ,ݙ*yb"]ARa`w߼`0G;s^/1.[cge/+O&矱X {zy嗭gϞ @hh(K.EPS~lْ%KX5D1rHLBBB8|0dddЮ];vލ޽{s7ngϞ!%%t:NNNDDDJڵ&??Fڵk CVYx1Ǐ ##æ_|Ngŋ"==zODD^^^K/XĦMPT$B!:V.ABL&&Sf CoXe&r)^^\5$/4GG Geio>{XL>Rɾ}?~ۤIy7y͛Wl: #994Ο?υ 6mݻwgLxx8aaaر㺣zYp!t: dff2sLLBAAAm۷cǎq1/f3ouѣdddѣGYp!;wGݹ|5$B!N'$$  Ji{0fϚf6ϵ6m #++*&ʕ+Yh9s .0a„bqJAQvm, ݛ{Zc rrrxWyX~=׽=zΎŋc6yQ(( BCC1 z/Fߟ^{ (Ns=DZc8x h"yj"44:uLB!w GKR!nGFCR(|3a\vv6} %ajt_| XX:ˁܺv̙3+d4Rf…__~#q;>3W/^DZjvIPPƍc7GGG,988+mUe˖{n#t:fyhu֥]%B!DRIq'0Lv_ͣcew|MQcHM6塇ՕK2g)l+V`ܹL4,6}Cl6Lڑ#G77JBq#{%xQZUp\ !jJU?s W.kԈ3DE )9lٙ{:/WBO")JYv-xzz=ztUnE`` ]t)5.$$Z( 7w߱qF:wѣGVXA֭y?ϧgϞjBBB?tzؼV*`ooP3gн{w 6m-[|駬\:t`TR?BbXHK%';*vj5ZN.{֒dhD  !(;7֭UӰADw[ @ueSp9, VB`Uq9!m.Vw7bNrbL|CFa[C9oZx(|#3{. $Q,xSTNmlHZY,tYM&>vv*t99%g2pqq)_mW82t]!HI!*mP*>/:F}{{{ G3FU9۵md}y\x]V \osO !j&Ʉ>?}~oXXF{|!/4G/p;HBQE }A {OZ#.`yֱnïiKj1L ׷oE P(P*8Ln@9:ss@Vf5Ɛz ~^͚(o5f݆_ع\9|uxиJ~"ՇUzM!ES+cDa̞5~!ؓ׍۴%l:Kޏ$#&4h@ idc}p;v\]6yGLY69Z+JV\ANRtGt UQk.e;j%Oĝ?^ݺ֘[[ ߏ\/'о][FQp̄ ;KPբq|'|OHBqo7uvtng/(vԿuvrrdsm-p?s+]VDrtq@3Tcc::*I$Q88ӳ{o$M˼*H lBUg1x{yU{=[!#BqP*ةTyzag\irst\iԅTU$UoæͤտέHB!mFRV[-/9ğ?7Qk4@aMٙUG'j5J&DUR $!cXfldee3OữtII!DJ$(ٻʴߩ WAD HްkwkY_;vWW]{ U - di#a$&t}(ss9Lf--2O?IIJ",ɄaX,M"đG"g\?'2L]oPDDfcٚ.W~=gTRIDDDZ %<iN϶\eMI"ҢX,O ($"""E"-߸~Ns6w""ͮ_$'%p]:45%DDDDDDDD=wQ>W^&a;iD)$""""""""5RIDDDDDDDDj$HI$H""""""""R#%DDDDDDDDFJ"HD)$""""""""5RIDDDDDDDDj$HI$H""""""""R#%DDDDDDDDFJ"HD)$""""""""5RIDDDDDDDDj$HI$H"""""""" ,77m۷WY_PPHڵ5CTcmDDDDDa_&h`ZHsX,Xmv6[;1jx?jJ"H=}SW; j`{Qa_| /*m7 &3p\,XWxQbjhJHZQIDZ׋k-r3k2?^/zҔD0 rP\XSQjtqGDdH34NJFYs!"R+VmK}˯EwKSRIDDDZ$0(%kwN6$wn-= ]{"cLi9ِ` s""r@6QffN>!]f`)$"""-N0h]gkݎ=68 I۹RO IJ$4Gӳ/WyYaF(yH_| <'زu[hۘQ#q\[m)$"R!e6?;v7q $GO9;}2RHV''GZGK|67~Ns6EDZ~}zz1xa*;|Q"Lbv*pH0ns5+إ <+L |>f`0ȈJDxxE+"{ %jӺb5MZ+WdX^;v` X,O W_lb1s 'н[&\DD~ (J*R @RwBD0 ns#S?k|5k /nB3v>h} H#1#q$&w$+#>tRXw"W]~=tf|;}x 9ݎdb7xJyfzzo~#E4^H98]n\ Z\.7y95i!f7ݺѭK1iDm߾ߛYpp:X,?\N's}ߔወ!BI$9= 9aU⋘pQG;YJ*e P^bæMAX+C\φͫrk֒]iuCEԾHkgŅDFֻX DVQT\GUi}f3iϿOEb6FWDD]*-"@ ?sʫ&.w>V3wC2}%3mSxgx0Lۙ|ټǸ.rs>( VkwϹgj)йSG{X^ij 5 H Љz&m6230ͪ$d2yBpw[mkU&)1.;d,A/""g$"2 U{!vm]aG/xy+}yݱs_OOW_+y:گ/%yĄz(j # '4+0(*,q? PmjPT\\qڿa6kyϤ@E""" EI$9d+f '(Ϩ)T_\094tW\yj,*r%|vեDޛ7 {fKo٬""ҰEDY06X}d2(11xJK[,R7oŪ ҌrˬR\7>YxyV[EMB^vUF*KJ0 vDDD.77m۷WY_Pב{w3DU"",D޽y93s!9}6\߆6~ppNlCawP\THTL\+.*NvX,Dtb6شe+ /++;W{\nXraT_˯DRS×0ٞ3.b`ٱi2ywx5xnf̚[]DDSXXDrR=@uZ*É!$?^~ʶ_yB۷'?Rϡz&,^GnGK|ԾHkrSK}r79f,J? aaaDEf1S۠YYC=ܕ1GtOs2R\@R޲Fi0 >k&q&@Dx!.kg`W_0i$&nhU5IDi }m<XK `UJ ?.;oݺ?}ɼ~=wpvJe*TꐜW_{wWxݻ߷/-_)fz˹)!I3I1a쉼λ|23zI=[N?5g_~EznvDt82x0/$++pV^MBv5YkQ<(.) m{'ۙ7qq|[ms(ww_~eЀ6 ML| i*Ld($"C}?y}lj <Ȕ:r˘=w<$/=zTDi"O?hs j&LD5Wx Mk20X,f?@izI(k0DDjj^y")-:+;kl* """-db`Zl6*-v ͆H"c\?'g iilv;Vϻy˖*>7l`n*zǑi "%DZGӳ/WyYaF(yH|5t YDGGs񅓛%$ J|9ODDMrRR͜X~KZҋ.I`LTDDDDDDD;*=S'5S4 G5DDDDDDDDFJ"HD)$""""""""5RIDDDDDDDDj$HI$H""""""""R#%DDDDDDDDFJ"HD)$""""""""5RIDDDDDDDDj$HI$H""""""""R#%DDDDDDDDFJ"HHC0 ChqL&Spa IDATs ""!J"Hf9i1\pb∊U2IDDH""""jA4<ŴML"2*Cj1 sLO-%]{%DDTIDDDDZ=u7USj+VVT_@fVvhP|J֮[j}NVY˞_`]KVvvY;lr6oի 7Vj#۾=|>?WdؽUSHKO1敫W|J<֯XJJJXw2v﮴o0dܵ =lظq?2ʼn@K~XʱÏ=|_#&:l.|>^y6onAV\rdM\6+e}m8JJJxx1<*`+ȓO73iONn.gl6oygπIeOйSG^x?DWsxͷyp]s1Yx K9`7q?ovf7aY8[6nĽNʓW&:u=/ `2q1LZߘd 7piyvPB]۶;<0~\3W^w^|ɹsa2x<|[tqrЯ/{rrC ) )Um{UVNap5WUhf~10^iCxGiHii)W&ETT$?.3vxH""""Ҫ5ԍٲ2fΚ@qI -ˍ_:ǿϼ`ض};r:!qíq̰[0LcZ1;˗\q\0&>l 0$^yy"H˲yV9iGbBaqDϊUyIh׎bλRn^^~lo><C_|V=XkCz}r8vm6رW_q9/1\ˉ''];JK˯h1o_zؓÍN0d HnߞM[p}`b3f(VY˯˗síb w^6cnjd21sl-O:}r|:3^(topWǰ#ҳGwf͙ի?fGWSoٳCI._{>ƑG aqlڼw?ˮb=J"PZZ_[|zcOx)l޲%t\}9Crl۾" ̺C>Zedнk&|"ʼQbB&|YƎ!t8hyLo&4܂E#&:bcsH^|5\.'&o񐖞NRR{<Ξ^Bii[WݺcO=M 3Oqq /nޟϽg_|J23"f7}r%ǟ ;wMx~m9y$'%/f),ڵr]zt"77B"""xtf34? s&Fx>cT$- &;$k:J"H+]u x٧شy3/t:w`0oXzvQXX 5ޭM>'~VCr2V|{Ǚ+#"-򕫪(v-y5z#܇ Q>7ު4Sz#*{쩧IMKgqdž"مEEs)-d2ѣ{wL&+4;\DDg~Z]^={'3ٝY^X;{|>?ml'Slٺ/*|9g5Hhזt^{mʓd{}'H5:v@^=b2xGWp7r'am Jnq 6?+^1[PXX7^w-OY 8ȡx<~Z3@yȈzqNt ]:u %"Ns8炋9eI$'g|7\DFFE~6X6lDq ?sszy\|?8 ǟm۷eEVdCxjg#k墠8H>|MǓ)gCTT$y\ iOtTyy, <‹YVSv"ٿoΝ:1ch1x3f`0lwhXs{]vqFxuW]?H=r҄J \p1+Wf)qoݶ|[uzMjfG= )[b p.:ٓCDDA0$';vungRS UGɊUп?QQDGG3~_cWj]:ub`X,Vؼe )k~'55cm7݈Nu>}<0o/.'''#N=(X GdXb1tҥ/kw0͵"'"goM(6l-[焑#Bf Xn=RRlrtÖO=8~_qPd8&K~A>RfګK/>?+{w$11XbbbB˘Q sj'2a쉡0q8JʰՋ:S&Nr9߷/uY$&&pˆxlV+gv*v A۶ vGu11ݛ!DTd$+.㼳腴y6+Î<䤤痕Mn^Bۇ-۶EϫtFIRb"&6m>lwvK #F_Pfm|<@rRR֐Ti#,N?Ӊft0h&M<]\LyY@*|A^C1Gho*pH0ns5+إ EDu0 ϦW!Nvt3ժ$!fƛ?kFs" X%K)$KI$""""""⫯1C"TIDDDDDD/k㘣Ѷm[V\Eʚ|GE'_ę;3w11|DEF6wXH"""""""ǞZc+%DDDDU;4. g)$""""妨 hъ q($""""d"2:EL'2:ܡH+$:& ٌ;" ͶM#O ٶiwDfY$Vd2aXNvf;mnZ MxT QX,%DDޔDVio "2;04[fٻ($""$Z{%fŢ>ۛP/%DDDDUۛ$Q*]iHJ"_&"""KHD)$""""""""5RIDDDDDDDDj$HI$H""""""""R#%DDDDDDDDFJ"HD)$""""""""56ՉvlT qdNo0DDDDDDZ=D5YO$0T""""""""Ҡ,d($"""""""ji8Ԩ 2ԥQLADDDPIDD3 oY)>_sbp8]J&璗OIqDwpDܡH Di  HԕH}nPdXmL$deNxDdF-+%+3GDDD@@aPVZ ҽw/)2*Ȩ6K樾GoY1m!ʿ>{{2OqNCl"""-P0hPV!St#qMlϮ[0& ١jS\Tå$HKl"""-a#"2F7bYDd ~߆uso$oYz4łXDDDZ2ss """Ui6k."""r`J"@Jh4=]sSamG3}@DDj$>Ԏ>7Tl3i4MDDDDDDDDjd=tSayӮm| DFF`nq}`Zv{aaeķiSyЮmj*`=9>^8P'_e}|6X,-3]XTSr5깊xG>`ix4bpprI@yn`wq: bf[۹ Dnb_LD"v?s#=(g%noog vGAK+$ObXf-`A̛Ϡؿ/nc?ҹc2mbm/3+~CYs;cGOg[M#=c7~]NqI Ɠ])6ܡ. 0h`U֖||9[zθ1lyl߱Qc׍9g7 e$'%>g:r=j'.6O^|GxЫg #@kT'2">rP(䳯yétԑN*j֯V[sol9"""RDT8#8rF%%LYÈcWV߷wh].q9JKo /Cr;v &:'$-#2BafvygFU9i} hXbcz`vzv֬qL&zvFXXwjX!u\jsLMT>[o&&:xj-Kxg䚛C˾]Sչm%ED7?Bޯ;g֣Hܖ RXX Fy-bO}+=`@~~yyն_}[%+k^` +kO|53gGqx>mS\\>>.LZZ?k)L<Һ}V7 33*K0l #΀>}0U^=n4'''rs0FMQQq_Z0Gqg0ȡMr>WRO$%$4K sC:>EE۰6 ћ*eZmPeUSɭnwf&7m{'7/6˦[Bu{ `TV!==㠞_C6nV6o[׻'yyݾi6ruR.9yyؕF CfV>t̆}>?v"'lݾ:=7_wZhѢEKk\HhtJNfv8I[зC[P-EK$MiAiiQ?q4:Qv p8ңkWR9s*e-v]_e#,1;v$ q/ķ#M\ma`T7c2 cgj*]:u1 7/S' dάSVESsάT<9-6&JKK#`_z8aL3Bݹyy~!>ŊaȠЯO]&)*.f-bqZ+A"22ķ0 uy6.7Y'R_U %?夤CdD Ŭ91s^+}_wfoG//L.]Yt)fsgmnvJJJp:deګ%Ln LKB +orьu|ho@vʿϓϿBjzNNIt$m:^f~R.'E~Xr9xxi!"""ME$R֭c1IjH XjCIDAT:38Dn>} ,⤱cO]]229I.JJ<̞7MYf V$7[Ϙ3k_&11(Pݗ_BI?[vges椉>e^/PeO<п~?O R\쵩5 p\xJK7]q'M\,`gb 8ԓ=o3@yK3&bv+EEҧWO:-c2HM`@0Ǒжaf\s몦ǒ?0{8adffuv6ǎhvgllW_q9Ƕ}}qˍ7>1]M/>o]GNcϞ\b+ ?+ķ'rWqh̝?{Ær0ZvOĿoN 1Înd2QT\j=k흍SO:6 ǟ[N{m6nOPc%|0Rg=t>?uW\_@Tf'h$QC tb+Uy]tTn ʀ~}X*ԥ]0ز};ǜrЩS26mօa̜3#f/??~ʼe5V2~̨WL"4Ct^ͺb\ɖ9sD,VKh_ {gWQQ1SJs,"<}hB=kSkUpѩc2il6q!̚}SVfa(ׯvgfUJ$ZPϮ<3ޖmYd)mҵsg(O]Oj0 /9/sάlai_ ʧ>c3>Ysj C]wǺl\ue[9k6/FjCy/=|3[:uaG]VZygu7@LL mdt2\xyl۾" ̺HJLjA] /t^?@^~E]g}樫_Ollo%܌jaaˋvmu\ڈ''trGSNÇf똜DX~W:0 b&5iDDDD2pSb?~fDćZz ee8 L2 |6(Ilٺ ? ,f3գ;_|3sq f?ưc.v7[؝Ź$^\?s]Uzn9Jƌ<O.>ݫFf<[ <͘WoΝXwVNi$ZʓF#gm2'6oFii)N^baq)(($&:^HKpp_o\p9n.M>0xWjѮAYY3gd2sI'W8wNY;&7m"..vۯk\u)++cq$ b^|R$!xG9aD 3No!uaZ3HPn'|>~X+&r1nF3^ýS3v ^ 0oE0 >_`WҷW9 P󈈈HbHc7qc}/%;'6q(& Cj o؈bcrjp!|js80ͤgT(-+vƲnƷa_hs0J<.o `M}h˙Ln^Yj5R;zd2alw:5R48`iiY䩵jC?7%nDŽFZƏcws)@͚D:(^|Z+o>&vq;f4<y\BRPĄvA#uN݋>M7e,Y#:P/վV#p;o1r8B đ1fıߴVkoswB7 DDDui$ҁoxVbeWj:zrHc?me]Նf租cqDŽvz} ^}̈rr1;Wŀhv*}MMMfbpIotJNrZl6?uÎB~~_};sNGLCY `Ƭ!MZY~qAa">r}OMLT4mb3o~]ǃTݗ@ @Vbb%:*2qiX{gՆfe? %%ATDdnRG wϽY/Zy |52Z.Tt8ֵ _| 3fkHtHNjڛos5WT(ݻu{nݛnA<}/Z ;nguL3}'e*>,~?L&{twnܕƼKDHբ{">h ,VAfV6DE68nQ]>!֭lI :iL+zv`On.6ocكE/>O?M]gӖ=Vw(O5ϾW洉ߖSRSؕZ6{%~3N=pwk(3̥m|"+^׬m3Y:u@D2/6ov1_1#gW0s\:uHSu9#lqGż+lܴJy?-[C=R֮_Oq:[vҴfΚEDŽ ;`Nf3}5g{m8;;u7ͽM/^$@JSתB4M0]*^` w6@\qQR6k([v 9NNGzd9~α'Џn6nLmgwwm_PO8sV<۶߬G]]jX}zuj:-?_O3WDʍҫojxX4M78PUJmrcz5L?iֱcUQ^.)]xǴC]}Mu"ʯcקߥ3jP]]:pm0u0~" RIqab9ۄ*4 5d*fVr}~|`L񫬴d\یfs+|E-GP5K|eugt>mjv} kKU\T4m4Qqq>W\?lѶVm\6op4iZ56}j 橴8ehvyW*+-2\O 'n@`Jy4& Yr&ɶ `juh2-- vyUe%jXu}#mٶVj钪D0՛6&imU0ڋ/Мe̛R+7;73y**5",*L0f۶"xabeC3})zaIIGzysjE]9酿?ңO>W^{]B!~ yo<ϊ:frrUZZ**,ԪT,,,+V[7kӦ [\J,i$&Ͼ`!RYi, oت=oUWIU*P,[{/N|Z,d0p- U.Pc:q+sIyU/^9C Ux̶,}tcչԏܐd%O_ I/i' y/}(HT?[[ܤΔŗ'_ [^e`zbDlWʱ~gw+SٶmnFWǬ_۠?w-]2)}Ȥ ȶZ(0~^}kC֜CݖV˟2^;v;[QCևpw+ܝ;jY%-KD'锤hۚ D)%9ag;|Re*lO76+ J9rӍ F}bZjƍ:_ 9;:}j'?o)卉OS}}z{4Bmfj=h֬!ó}<j…OŸ';GWՏk&wdQH}}ˋ/o7Zޤ&#OOueie҂Tl4*(ЬkE"Aݶ}K]JU03>ܧ`~]skX5牉OWev2զf+`"?ض9<뺫6Mv71=NGT"a/1dG'$:iٶ:ڕ?첩]$tFeYvlF\3a$CLcmHYvXLv@ O]4S~kF<È7˶dYhRI$uu6YO1E{5KN ްza~?I.FkF 0dYNEN)F'[SeY2,KqF߯`A"@^F!4aɰbmW,Se4C$)^D3B$<*$ūbbH.HƐe3D9nH1ң <S3{څcB)/OIf35@H_$"U)ygR3T&9ٹdvŗ@Bќ}y&ec8[`Pq[J'&@^2[I8+͹J"9MJ&[e@ XJsV$%2Hq{Nmᑳ `xK09 oDAQjd aRj$$8ԡj!9Cy)93I~K]q-SxuEcSQj0}WLTCX=FH:D1kIENDB`easyeffects-7.1.7/images/easyeffects-dark-screenshot-1.png000066400000000000000000004164501463533416400235560ustar00rootroot00000000000000PNG  IHDR sBIT|dtEXtSoftwaregnome-screenshot> IDATx{\e/෫/N'b ' !d%2*s (GEQ "r "!DfA q$#D f$@ȵө:t[wUu?Zj_׿zwͭj-U@#ԣ - A`hn C[!pPVL$k J"Au^}hD0g @3hG&?WFaFq`4f0klN~nA&#<`p¬M@(@Ypd 6 !g'@%Esh‚7Z~<h xlHB3>y@TH; pX#s=pN .79#jϻ%I7fwH>Y'Fd;P!aLfqK4~YRAF_S\Z@=rI#iDb  5hiz(iK8#p9SQ1"ջ#LCZmF>Q HP֫QK?N>6{U$pWec#Z‚Z׵j  TXz|~C\ž\S#S- }6BUB†n짥4#Wt5FB:p~nC\tŶs-9pKX$tXzW=n%5@>B; ֪Bl5eˆϫVjCQmPh=B%P,]3Wݮ%}8 @sE}TzL!%tX;Zj-oc4z&=f%af Bpp^-7:\]O7!jCdbm ƒ gxu(ïPM˭ZMU gëV[UeVȒĬj9mkf6MKr-֦ꬕ50:Uj-PYSkM51Zj5BۺFB| ҦAV!::h8«Zi`,Yie5V!a"xë֢Ҫk `t(k`sWBXa<* #ZIrK_K_)F uF5#)ZκZV<0`Xp`J۾}U\u5CZTM-gun[5CB}zhëł Vq" ZN H ֻ ëVj-|h>BTfeU aW[J\_ly)JTs`d(6-Ԯu]I b:ex^Jk `pY9*: չ'jЇZWGϣshRJ2YTRW9UcTXGkpλꫵ Su`F0. ` ~d-PX k9}1Fkp(λQ«C\ʩ<[KWqJU H CuΥ8k^-Vuj)V:Ez6,/HZhYK pX VjTXGchp(ιꣅBՄWK \l9 SJhh)AR"ZNt(B#P`_iv'_p*֕Ru]gn0j{)r .+k_k`^QbmzV_Ux5_R¬ŎS3L,T}P kPh9󅂩CbU )h8ë[Fӵ04,̚ )tXs-'YJ UX-vbWK Ȓ"k)ȳbA֡"歖HW /Ex5_PpXR02Z,ZjȴjXKZmU aT_-5Z8lX^꾋U`-TuJ,bT U`-5hڿX5KwۗB aW3KZix+tV {/VyuijՄX kX+_)j|9B#w}+7Q84Zj kpl)!Cb`-H6JRèQIx57L k|wb` ~ &sދSsÛS蘅 L-VŵBe`-V_r`URKo|UWs-[O# AsVY Y UnӥXUwUMU m@6YnxXZW_Ws۶moNhWcftdDnlX7 8vtKF(dnSmKQH6z2],o]A鶌W~2 @*hjAWɜ֕R=PBV%-`W /7Z,߮#^ DD̘1cN;cN{{D"ѝH$z_^d$d2a֭{zz~K/O~{TbXV,Zi5sXD/5ZjR 6f-'oujn FD˴iӦO:䮮c ٸiӦW^? _nX57Ě/iuVO Ī:XKPU_&r`Ֆ"1^m1cSݽ{STDoooƶm"LF*5 hiiD"mmm--E6lի>G_'"DvH5UN57ZMUa&Zg%WPMO)^MLgkUWΝ{qx˖-2f̘/_Z5"XsCXbHBr `$XGjZWsGDWDĞ{yĉyشiS9 ȯ-3""zzz6?K7[xjB6zw`3Zj|9Ws,w?Z, ~gN<ꫯƦM"̼7`pd2zzz7ڢ}qw|g'M#g^ە2R/R] S嫾ٶ5Usb{xu6mW^y%mۖDT۶m͛7G"5qę_n[Lu룷7:::Ν;ȸEjd> Uphw`L)o-.|܊7m-"f̘׸qFDlذ̮PO1f̘hooH$|/Z2غuklٲ%mV.6lv!ƍ7wƌ{=D_m&9DD$36OeKe,Ϸybr~}{QeVJ8KxZ_J`ktfHL:̈͛7GOO=Z[[c;Fwwwttt0I$ݱ;㣵zzzb=ۖ[%)Ԯj׮TsTSfPBX[#}ڴio="bӦMa;ctvvֻ+@'j?ݽi}BÑ$ʕr1 X;_rP<Ӯ#"ZN-[Dooo^ƎǏw7<Əcǎw7^ooolٲ%""gҙx-u,%KWj|m ʒC5\h/}t3?η-"Z@zw([%Vϴmϸ3oW뗙UNNVB^`R+psoB7i[D$O>cl*`hp*B?~|`0[lT*cO>+!b3o>w_1FBN),`./Tv鰈 pXrh.Yg۶gٷ<~ B׾T5FBQ. q/s}nʼ-"b̘1#"z{{tzkmmHrh2T?֟u*#MK2)&Q]n;h2w]K{{VF7f̘zw{:ٶYBUW+X>PT` J©6](99D"m۶z hoow wӟm۞uk򍅲qí٫Pj݁*5ÃpyK&'d2Yf7Nmm:N]^DtttD[[[Fkkk$hi鋑RH&m۶ضm[FOOOe=Ya5Ud:SeծktB9KUJeR W9TD?F4߀S"1cĘ1c}BTKKK:ؚi֭e˖زeKCYm㭙ٸRmO"" ܎ )pueR+Ş)Wj5<IŸq㢽}ȏ~ "YbR-+e]""+?;Qn,pW2-'?Y*@ & Kx_{{{L0!:;;Es29I5sQj-9{6g@]]]1~Ufy DR@2W/گA5sKu&ʼͺbܸqF7!~juvry5V4b`iBBUU ko`D5kVz1~+[nw*uttć>>KDDw[o zɌ׶GFX>h2T*^~q#"5.\7|s= p~qg-5kVwy«[on5|䶇vX\wuCٺg_rez*2[oDb써;6oH%Z""UN4T`m,0 \xᅱm۶|U%Vs1ħ>:ujYf… +?__Mf̘Qr]ve{ï*L}CF4kT  Iomڴ){챸馛n[FD;^{?^xaM7T~@3:c⤓N\xFr|`prN;k׮mj0j?@I$Yߍ+6nHwֺhהUQh 6{«7tSoݺ5VZO?tw:{W^qG'/b[./^{nYK$qyED0*}yë7c̘1T*w?pu/""{x׻gώw1:;;cݺu3o۸[W_>C#s<믏 ֹG0zT3/{Y&N:x'ykVC5km{9?s㷿m޶p@,^8=Gǚ5k\w3fLlڴT _#fh cƌ1cƌ8h|ߌKֻkP=#-Zǣ7~G>s=W*5[qa FĀe]6՝w9N9唘={u'N'ƾw\\uUq7[Vj)Ϗw=""&MϺ뮬v}[xF IDATne@D"{bܸqe+`}ߞ^zu:=_d}ٱdɒZw a_e_ë?φg}fΜ^zij>7dqpXpa,8#Aެ6[n^ t]weY«z׻ wpF<K$^~&M7C)oo .HWDeD3V`mƋ}n(-Z;Cmom~wq搘1cFtA1g?dߗ_~y\qCz+4"B;va7;CzٽK,z(D̜93>଀ɂ 駟y%7Q+K,ѬT4+WFD}*;|-!s΍{,~{s=K/N;ovslڴi79y晬坝1k֬|yWc=b֭_:݁g}vVXvU#6o\>j%"jZk4]6ȰnݺX|yp cϚ5+^ձg#_?d#5Z̚5k /Z. 駟. 5uR*^:V^=ՈO|1q^gyf׿5k?ϏK/4'?ɬ+PRƓ{zzSNsq=\J?,f wh;{{{{Noh@qmmՠ5gyfN/;蠃_J?O:v}↫iWU֭[c:s:fd[xqMC5^Țt2«и&LO?C(R_^馛?yz3?!'4+W_O5O]ҌəD"sZ?nܸk""矏_u_z}lذ]`dAĒ%KbYc!C9$w׾aӫ:~ӟVuj^g `4Fk}A ?`ɓ'}zk|+_>8N8ᄘ9sfKqW=蠃v-M>l󙊶7ë_]tQq ~m+rm~ġcǎ8 yYgn?d2m.KS~:""ϟvZֱ̙rKD^8qb\s5p¸뮻c}7vex8'4x8#CW]uU<ߞu"">FUxrD?XlYVjLCX"d$}uEw߸;e˖]w# fc9o<p qI'%xm1*RDDF`mf#: ;a„_|q@ӧ ''|rozӛqG.K̟??/^^H$vpw9vy9sf7+9N*O% VU@ꪫj+ĕW^{oǜ={vz:J?6֭?GD_58ꨣc]w5l1}7o^?SvmuGqDo E8AP>?c=vuu]C . ,Y2dfUx`**~W;"xe˖Ŋ+b֭?f̘5kVVJ x;@1fgZ!|3Lk^]klDgF1o {zzfv/~s=qiz{{cŊ+Ğ{7D">o}a'x"y71uԸ뮻X{>.]kG}?4* SSN}csvJO?%PWZ&x^/r 7ӧ W=+Է=3=nݺ7n\z3?#ĪU_f㈈m۶E"H "ӟt򗿌'x"a1~}{nwpTŋW0vت?~|zzݺu%os G֕+Wʕ+|w'|2>A뮻/^x!:::⨣O<1ZZZ->O9SUjOFM6EWWWD7n7|nذ!=M..mmm<>FDX)v[\tEsEGGG|/| H$-/Ǘq*h4'SW8tD?GDD{{{̚5+~śxӛ<@tҬk̊˗/Tr{饗"J Rx+ȯ!k2 C*'кnc=6H*җK,??3dVn-='w==YU⠃:*L^m۶JSrS /5kPod2暪yɓK}+RU?uW%{zz㗿ez~רybz饗'NLOPOfsڵU2?ؼys\q裏׿-o)t'ʸ馛Ν>eԪvcŮ}UXWZ2LƊ+:Z{ْdVC9$dWX[ZZ _Blݺ5n檏L&[}m_yH&===%-[^{m|cs9'|`6nܘL[sp)SQG\pAJSrSKB«s4iR\tE=z^ՆW#"?egVG+-szc&LP0-_<=O<Ƞ?ӟ4>2]oV^5N;U?hVC5\L̊s̉#"bݺu?1}fw1gΜhoo?Y_5b{8W%\5N]JR)5TKXT?FqUWŢEj'x"O}.O>msxx7~={vo;w;vlDD,X 瞸:NO-^8lْ>/mذ!'O~T*^~q#"5.\QoswI'?cҥ[p~YDϬnaU g?nҗmmmqAٳ8cѢE1s̼>q'֭[#jA#)'DDL}? _BvaYojr~mmg(G?=YgyfL<` /0?!VX;=?uyϞ=;_kf nܸ13`WG[.֭[W?=V^}sN:Hqַ7ƍo}[qqǥ4:nܸ8=P O͛^vmVnVݧϝwِrjLJ_yx'xbz:_ kFD81S}j+P|3Wo漕X?OWuj$h 6څPj iɒ%Jq%;<]npw;:;;oڴ)6mڔW:NDij>m| ŋŋbʕ^Їo馬͋o9v+W|;ښMkkk\xᅱ`a9'?~7vrKr-dɒtpW͛Ϗ=;GWWW̚5+>OƷtT*^ziVEgy&kߟ oxCDDoc=v<3fPYg3gΌhiiG^_"}?^y啈x[_|q:]w]|ww#?ҕWǍ_|q:`nݺs25o}+EKKK$8pz}Sx|ɬO?=No~Ġ,e/N"vڸKjУ)f|]wݕμ/_>m2 n_}լ l<(MOiөT*} pk涕h5k63|㩧ŋe4s̸UVEwww̘1#cG?=PDDyq 'DOOOڲ0/5\dtyϏop@\}qyeg~u*??]M6-~+Օ^/ìWz(v}kaRRƩ֬Y{lzw3 /;/8^|!(f|ߝw粖=裱f͚}\ti֗O"ƇdE\Z'I&uhooj?/b\q_`o9zzzӟtխ[歷(W]uUtvv 'ޞ2{ڻ̙3c̙_{qwTu=p 9-ZTu5"A2|;JC-&{L/׿qꩧ<^yõUY/袬iGΘ6mZO%KaqDD_oҥyҒg . i'/˸ 3ό1cFG?e˖ŭw_g}b1w>d,\J΍>}^|ժU|eST,\0⊬]}?)!|Jbd[fMqy׭\2k~}.E_Dzx饗PX9˗/"O +͡LnٲkqBn+:V-[T`eDI&q>x[ӧO׿/Ƴ>˗/n-)͋sƔ)Sbĉ=\N:餸;bݺu/?8cnرc_2>;,Y2D=ƕJ/87gqFw׿>lXx8s̙3c„ Jk<裱bŊկ~~y>?ptIq'[8d1h۶mqYg7\Ǟ&MT.UKKK?C:БyeX#"z{{G8qb\s5O}SOױGqM4)>ł 4K,.i]>y1}CױGm$W`uԏ ō7.i;lӦM~!wInփ""FDrt2畊mGƺWx/.ML/Wnbm* O?]x HR}/""*YDwT*կfUb=쳅XɭY&=}{>8o㗿eW76Mӽ\lʔ)iU?zXtH$qgD"׾sNs=]֬Y]w]\wu*rr)u4+2̙STȹD`j-LƆ ])jÆ L+8 K %N=TU#Jիկ~۶mK/kooN;-ZZZ{nKYD@#'U K"T(DC=刧z$[H='"F%V @ڂfdvw IDATfz9fgvy3P5 >ԮΝ;P[[W))+;x7n$Ib1f̘䨼FRfnL}^-t|׿m=z㶞?ضm[?wta2ʄ ͈Wwڕʵ_'IDDDޯ;{U{=zֻbu[}>w n/Sc᫶/U`׮]}J7#j%&)/_nk׮hii[ZZ=*7UC{hooOmmm}hooOz\&"J7b0 #T{{{477ǎ;~;vDss*X&ܹ3v'N &ܻv튝;wFgggI " U3o;wqŸq㢾~Xjkkhmm\"X`l6[fCdrHSgggڵ+vl6Ǝuuu1f̘3fLdd2$ItvvFGGGtttD{{{ٳǼ&' #H{{{;MjTggg޽̀! mmmn0 . + n0 . kd*FUfQf0<|" #Ν;+`Y:Va:::0 0޽;vQfcǎؽ{wUIF;wZFعsgU {hkk'+yw;wFGGGUMFjƍl@uvvF{{{Ekk*+TY`R% @XH+` UJT *VR% @XHU]@:f͚'NpKiӦU 5⡇W^y-`0$)۹3L 0\n)+` UJT *VR% @XH+` UJTUP$IvL&Ss@+` UJT *VR% @XH+` U j$IYΛdr^ @XHU]@y##|5P+*VR% @*`h$)y3LY YTY()+UO@k0@5`' @ڲnET *VR% @XHU]@$IrL&S +VFxFl@m` Uun@I,d2e9/@ 71> J7bVjVV݉0xV P4!LyPn jV Pʵ\:+*+P6ZʿPXT`dp$@ IZY 6J7bV\ʰ++9ZJ@OBTVFoФ'+U#-@ @1=Y?@ PZJ7" @*͒$)۹3LMwPM @ D(+gl@m+`XB Zt- Fr}lQDߏ.J#|W#XHX4?+-V`&`*j4e+j+` Uun F$e9o&)yG?;FV$mnET *VRUW@1$)y3LY #IGe+ /Z-[P[XHU]@z$)y3LY NV` UV`NZ:]+^R%l@m+0> JT J7NI弙L,`+` U "I7ɔŰ+` UJT *VR% @*2$)۹3L @`tiVVR% @XH+` UunK,d2e9/`*\ [P[XH+tQ$e9o&)y )}F.VF[d+jXi-wyw&+*VRUWJ$e9o&)yjXH+` UJT *VR% @*6IܙL&kU:i^+֨jy-E(l@m` UJT J7!I;ɔP @XH+` UJTUP$)y3LY fVR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VRUW$IYΛdr^XH+` UJTUTF&UIZSu\k]'kOqv4>UǵFuҼ4ܧhNrZ:i^}ky-:5ڮܧhNrZ:i^}IZSu\k]'kOqv4>eVR% @XHk9Ϗ{'^xصkWgy⪫~:ZZZ9{cǎMu=D$Zf>׿a{rK٬Pի͛7Ǜo{m۶#<_җb_8hѢAꫯ'1>~_k/dž /iӦ9qT~@_^9O}^^8ӭyCJ5o6yr=?J8Zg F .]{}뮻ijjJL *[쭺~Wqj|أ&59"[){kޚ#5#"[D̈#)"#"Ȉ"⨈8!"466&w\2O=T2k֬$"C=4y<KoWJWzj>f͚׿lٲu~}Nx\Yrʀ2Id<ꫯݚ=.Y~>}GI&UgTSO=Un۶-9=qbѢE#y)U͵lٲwg?;SW81sAB~JR/ W)Iˋ(~PZψϫqx)5ګž~fP.\t箻ۧk666&ID,Qѕ]ٸ#++]ٹYѕ;$͈wswӣ+םus||_wޯgg6wnplA'1"+Y,SC2^{D]]]۲l{̙3gϟwqǰ Ƹq7|G}t~|I__Cs~ /:+{y .[o5fA9{3gV?0xgyf]6&O\4Nb(R/(l4b 3^eq85h֭qWӦM?<.hmms1ҥKdɒ?~n},[,V\oF|yO\rI7|\pA믿>=ؘ?~|}ҤIqy9^?.?soذ!VXo]p}7n\̝;7~_n?{W^n-*N?83⭷~8Pljg}vqaŊq-C 1eʔ"rM$)N:餘3gN,X .غu(v(f^L,b|JO3BN,żz)Ԛ<ύZz{pe{.ܽpÓݥ"^{iѵ|qR3%egE2Mѵ,ѵLZ6ZFyAccc2o޼3Lf]~+,|ߟχ?mgqFmw*RZzhcǎ$I䭷GJzs?iml6ټys{R#(Y|yr衇&,]4OGN?kX"y_s5y)UuG$LN:餼~vw٧qb_~sxy)Uu /ƌ3NL:y?Up)g1AU~R/vP\bK8<*qόj… ~{<뮻ijj*ꚍIccc +vTteFW65EWvnVtewu3uszݹx7ם }erJV+֐X~}tvv{iӦm'޼yss}Hrz'y/.xCSJ yj,b|Pp yy8S̼R\gՇ:RZCy-'T-… ~~'Vʫ'x"o}sɒ%Igggn^{-ﵧ9ѕ};*ps+wDte嚢+;7+tĻnnztesy9^wor 2B9Rd%XkT&;3>w7ƗiӦED͛^^R5؇??~8cűx'?oSSS,^8,X #cŊ*֬Yz+}-on袋VSϡv=SaÆvSSSL0!o^z)ϟo5ZZZG%KܾI0۱iӦ8S}oo]m=ܼ;׃~sgw{衇{uμR/(d0ˋQ!ԲB_}(~n=3f͚z}q֭˭NgϞ83_,W<;Q^{m2̷zk\p:Ǝ~s}E]SLٳg~W^۞ Jk _Bn{ݺurHdmݺ5vܙ>n3fL|m ^؆*ݙ=Sϡy䑹$7|sN0!N;>ZҶ]:::Ǐ_ky V_577Ag>8o{(';pgV~RB7ZYyu0rύ0xǏy= @ƬZ*˿,xl[[[lܸ1/>?O=}Khoz 3Ygs&M3f??O<1OD{{{>pCկ~5Űb=G}t̝;wg̘؞$IR:ss_wtt??ZPKz~GuTgqFO?D1~@y?_Jq}R0V^]1RUgѢEq7涷m6m+V/>`֮]'rwuW\q1a„k,^x%}7ǪUO;_DD\ve$Iu]Q__˗/~lg"Z?k…qG{#;"#H*ko'?IDt}3<>`e B-Y~}}ٹ.(^z8󞋿SO嶋'N;8\Yb|Š'x^^8SyCJ?W/v|)P 7+3vW潩׿u}قTL *[쭺~Wqj|أ&59"[){kޚ#5#"[D̈#)"#"Ȉ"⨈8!"466&^{m2w_yf{?L5445kȯ+bЏ˖-s~ȭna;InعsM6%}|޽;9+Rt?LN9>(fYַ;3+Qj4#<2>|'!)bK?;*\Rп7d0NφzSp}8FC~dַZz衇hѢ*t֭]vU9{ng˖-5O?sIf%7+Mnv4Y׵We,^4Es{_*}Ѽ_|0>xdn0I5eģ#+yB;"ZضSj֭駟j֬YWFh^=u8 9pj[l&M`0xٳG'O֊+2Q~_?o4>J}o[ 8UM6Mׯx@>qԟZ|iޟ:pk صkN={q#塙y]N<_'Kս{wٶ͛7륗^#<@ 2@f۶fΜ?Ok4rHo^㨰P?N+Wu端Ҍ34f9Ryyyɑ8ڵkV\^xί}뭷twhĉٳ~mڴIxj_g^|Eh=zԾ}{ڸq}]=S*((h:."k.?IMv?TTTT!CէOnZ{鷿yj׵ -~hzj7NFՁ_C|N;aZŪqj=e]j7~۪a}5cmG{Fؒ}(I;wXyyy;w%ɑtXYpd=cΣymm6oMv>c&g`@" fE͊+V4+hVDѩS'IKp%T׾}{IΝ;\ XЬY`@" fE͊+V4+hVXЬY`@" fE͊+V4+hVXЬY`@" fE͊+V4+hVXЬY`@" fE͊+V4+hVXЬ߿~i\Rk׮՟g3&e8x].\3gkĉ2'uw護j*w\^W;vP ȑ#xfɍ+5.V:|p߿_ԭ[7S6k5%%Es^z-[LC5[N~Xƞ!9Ҵfkђ}.F/ּyukZdIWVU>}7«sfɏ+:+I2=ZlX83g&={$%NV cuO;Db+ d?`v+p+Nx޶J(oNoyt++7%ѥ#7*d]RЁ7)PF\_0 ]sy[v$q6}Rf?ED'$_ncIrɩqHƓ,O\yZʗ;H:]%Eʷ`&%xK,WGq=uȺU8-[~骫һ[e~~z޽{[n8?׿uyF}{8p:vM6飏>?yw?Ķ9Ķ|M?mꫯV߾}ջwojzWbŊy&LOI&׬Y8u94ℒcL.*S9*Wi+t>WQwlӊ>nU#R\թnz2%69ϧԪU{֍1O~G,K{Qqq8 -[ꫯb]w~ӟ*))IpXP~~5yd=sZ`lo?Ϛ1c~hڴim;6פI4i$iܹWSV: SkNzGvc="Hr5zĸkH垡36R|߬jœ?&C^ْm܀:z=F=]f~UהƎ[9{~g,ϧƎϘ1Cg֦M4g[vw߭/X.RٶUVK.e]O|fΜY&L߮R͟?_~rssu 7h֬Y5knݪ^t]wiԨQ:tZ=䓒V8֍7X% G-^Ys6`F˨j\U't$iD4 <-YstZWm=JKreG{Kڱ?MEQm+? AAʺUU~Ja;5e*Ѡɚvo$Ty{4nfj2224o<A].~|8p #FhʕgZZNIM7ݤ˗ǎ;ԡCt7[nђ%KtAꦛnҢEt-͛_Zmڴ_<W9=ѥԓSj|U>4q`+V,iIFi^ujtϔw,Ӳ5džRI r._  xMi裆-CS1V%+m܉jtdkgezgEikh_~Yk^:Km۶տ*ը@ wyGW_}[#ԱcG[Jx5c=j۶_駟GM7ݤ7zWu9hŊo[ B-Rr׳92ޔpGW& LT\_2oMӦ6zÃzcMd{+#rz+{:(XѠ{5/ )-ͣEտhm KU` #;:N313`Gu%IYYYZpa 0@ԩScw͚5zj?^$=;vZjT%%%4ʼpX@@~_6<X?OtTt"hpW$*]TC\~>%GJibYjs}:*N޷KE%If͚hFæ]tvImV_[/X222b\ӕ={zo]mq'jxՖ[֏ǷmjՏǷ+됔yy݁m_ *2RV;VI ~Y;$IFuS#sEFlݖqö`k8vub-r^}P_{F?`f7;j(%''7ڼ[l$ :T^o?`р$I7nr .ЬYyf-_\;wwhZ6m4{x5^vԦMptt`Ez|oJ˨j;y^̳Z+g%ɖ͛7OtN; hQ|>_WUXXC5ZxU:BW;ޮ];|FЁ iHt-"AQDZ5uhk9Ě:`*OIf6m.aIqC+W["R(M*Ou@ۨg[ $]+M.##cyvql[Y4_ȗRvauav^5&nHrL,Ⱥ2nd;+Y睝wWuAݺu޽{5bѐo=<ڵf̘oY7|#ǣ2͟?_+V]s-hСZz{~[.2=Ú>}p>旕UmΝ;pl^^^v:"҇^)s js\[W{_e'VQ~kzݮHVTnaI{RRVvMJdɣ_微Q<Ɗ "ۖGˣ굛_~yp3kv.;bM 7V-c;ï:7(~$8ey˨'v 9',9i3%V[5d۝лw|ۻz[[z K^rxR#$,2n:ϹC^W^EB,*o(GlIHְV(R(Tojr\UVܺ, :Fߝ?Y8ZAF}~8iFٱr&;v쨔<Ǿ}tڷo/IZjYr[嶯s"h'ůGZv,:j䵵Sۼ59tM7G+*mDpLnqUI3Ev;F>S_Y669uՊ׍5lbXtH{jK^^lGNKVtX,ˣMKYSy5ȈTgKJ6!џN%UKJJTI{Y "a|pF˨'?}Ֆ[W&ʳHՑ/w|7cqv|h5\ Yk0. UW^Be)dY [Fa˒c,#ydd NZrmj\5?gf KہQkj& JJJTI{Y["5J?O4˖-SAA;R?`E¤A$b']s[on;7Ic%h?? kYR# YϝvLXףǣQk)((lY {,-l˒JYz}ol5ew}tT *:*qq#9nohSe; &>cѵkW@[nUVVVC;,\0ŏk7ԓO>s=WƘD1+WOt9@#I6&%ԃۙr8.߬Ӕ)S$ͱ^&LNL~_;wΝ;UTTdG\p}Y+JNNNtͪ[n:󕗗S&`EBx˓!eԛ}UR}FJtYG5o+{s3m5VmH$ JRҀ,{x"!P k#ySi?>SrąX-BKa]z,my\wO-%Xn@5މ5$mm$(#+ ⋒I&%6d=sZ`ABd5JF҈#ԻwouYz'8FezU\\%K4hD Hlj*Ȟ-?5g+ . L6GHpWtF>~Ed;RG:=[AΈtc+Ba]0}f4$f YjY [F67%nն,Eª F}!7V,:??0x`uM|qIҨQʎ]NN9 2$ѥHr}7{SOI&Nચ89se˖5hA ͉ש%%J޶ sJNV㻯F[2₫r9! $ ,"umv.:<5ց FB76jKȲm8^5ٶBq$q_xbرC<.WvrYt$M6Kp5 V$MDPWHN,jwnrbK;s%ǎtumӥsH FF({\=bNcjd;-YJK<ɶk[nUG'}wX&d޼Hx5\9C@\5ڍձed[RN'k դI b/Ndi'Kr;|{」X={٣/«uY`f͚%Iڻw ԺukuMzou Xƛʼn׉8JK:qt%7|yƓ"qd>Xpt*!V)v?Jv$-Xɺ?$%d|ˑe92#q,Y68qH7XZֱ5GkEoU*Iiތ ea)dq)hvvԓqƩ\oVcK.ՠA4iҤSLќ9sTVV ^Siirrr~Wϯ H`P\r?|ז-[t%z tT믿.߯\p 5kf͚[矯w&LРA3OeYlC=zx~u]Zh>,Iرƌm۶y/\uWh\MƎYfi޽rر 2D|c}8qXOΜU;6p&ɎXa߾3 8ATElTn**tBlwps)AG*"#` K 9Rq0rDW8]tEJNNUZZZҥK%IVǎKMMռy$I7t^~z5wZ*--Mwyg~$Hwy~aI-ܢp6mb]do߾,+6?&j…[oUbUI*,,/\'O{Geee9s6lPﺏfԨQ_kUI*//ׇ~F(XN<%ߑyOG* 8!ֲS14s_/S b ClG-x :NrG Ķ0U(hTHA'PdBv庿$I - J* K0rFs;"42L"IZdIc_֬Y#c.*F:hݺu:Fz߆^P#FPǎn:-_s{1ݻW=zhԹ+.?"qr$[kevg$TMeH.aOmT(h 8UD¬r_4Pd :A7jC a#ˌ6{kjEep zx’mG2O|,p*رF)I/~+WVz$M4ʵ={$Y*??f~zvmNSLQnݚr\Ygwx<<Ѽkڵk:uꤷ~[-ҏc۷$I-$]t? Ҵ  *kukK;*?QjMБX=AztެP,ZᎰ;vvەթtipv2r]8R(n^+{rv]-r#’pu)()H!9WFN SԩSeh׮TIҠAԵkصeqqqݻ7Tu۷Krssޏ>~,u ٳԩewXڵK'OC=" >\zx }˚@s#(Ht iWyK#k w=\}JpTwhzuڢ(db`\A]  kw?`- xd{7AtRyڵ$m۶]QQ-[Thފ IRW_}U<$nĉy(**҃>>[3f?͛7k׮4gΜ&/М"!Bś]qr拂Qnn˓ u뼸ށJ(I![/  *j#*w=7^ ATr~Kξ49}‘*A#0rF_u81 8PzҾ}s~mIҤIb̡Cz}C 0@qF[n[ot}ƺx@K,1F=|sԗm裏_BǏ׃>(I꫏v%!It Gp7r=nrt|Z+kk𜯤lUIqvjKOe\)qd+,'9 ف  U( n"~ !]pb7 kxwk2R@nh5ZsAww5<89L:Uo*y%!=zH>#UTTNӕW^Yu$IuSNٳmۦ/jIǎճgOIڵk)z~grGݻw@/qt-?VJJ~iviu^X_~YQB}^_!ݬpɮDQ?G[o]XY_"=piB4x^ 8FջՉ5lI^akd-2 wB`B+[#!אr %B*T27j< XxUA)T__Xx<&O,IZlQ߰avpdaa|II~3͝;WYYYM0A=Ps6l~cr׮]5~)**ң>9sbȔ]~$I~qjر$=Sob+I>|xջa-ZH_RSL4==@ 뮻N_}ڶmg}VΫڌ3F7pz]eRRc(++ 4'RƨhsjkM-/kW9Vvt݊;;?2$aÆ}(Iw%FYs6`F˨ȑ#9dr;$'ctn,抮Ns_,{X^W/JR[-2Թr$˖<vdۑ#32^=d4Bm۶U:z9=s:tP(t{u]ꪫyXh0%%E<.yEEEj۶^VZaÆi;vl9z}]~M>]?Ӈ~;vӽޫ3*s=EEEɑQYYn=.\3gTWTeggr,5{*UW]Kkƍ[\o۶mOjذam޼Yڵ|>&L/Rjׯ*yu릿֊+tWS5#ڹs~:wt~M>]kT-]%IV:K#$;n1I2z\qףu-k;G5?Ωmޚ4Fx@y]185Ok,tI*-m9%@R{ T":뼁9j2FvtߒdGJ?= 6xiA%%$ɉ%ǠDJS~M6^N:Ǒl[&m-R8$2 pXqd }A] JA5'1cU1m>*4U1227YuֲFV%%%m+UpXsO>zՁU.RmV˖-޽{ ]x>3=#;|GIIIzg{塚\ի,ҦMαm[˗/ڵkzܹs瞫3yl#m KmcKs>Q㪱 )5vZycENTU,]%K?7򔚚...֡CRK֭ڹsgBjPt`8!ONE.(才dOv-e,Fn)OvaHe4=T(xͶ<9%ّ>ōIE:gMSS9m{U;>+Y!)Lm’ #3KmKNѧ;2JO}p2UTI{Y ZwDZt`,tI*--%NhWJ4L.&n8vglm,,ՌQ`n~nd,Qhzz"v1:J{IEG#VRJHrܨs3]BVRUPANH}{7RYRJX)qW=W,YKg-'kV^x o߾DС.B7NիW/>|XOtih'램ϭk׮={ ?8 ץihDy:233c^WpXZGWjz-OV$IOGvTKjMRu} uBt4=x]PʺDQ+#AJ B#ljiKa>D*I;D㕉Z ^$&@(n䴠v.ǩ>l Z]ƶu_5)o呈&rǖBq{%yMEFT.K^FюFKej% .ë///סC~^Z[lӧ+//Oo6mNugOWvvRRRTRRkZ~}ӧ \%%%ڰaV\Yu{ִidY8p8.]TpK|G#GݻOxNիtZ0a &߯^xAwnԽ{wW]tQFF,RII amذASe]\-[L7oni2:d׮]zꩧSKKy?M~~ ,iFtad~u/??MPZ`0*Osrr jjjrrr+))Q0l+.*Ht)E:npձ$1d<%ҫ+v贶)5&h36g?(֫+vx$ \$3rVꢊe9w[u^,cdLX2ՂGl&uT F_- F^Sf YCFVrJd%Ewj1Fj߾ڷoO?]K/) fggO$ 8Y!x=xS&MP(6mڨM6޽vŋWֲ,]r%ׯ_:۶ծ];kNK/Tc-׫'ʲ,-ZH6leyyy=ӣG1QaÆ)W^IHx5##C&MR=bB<HK,ƣG;|IgfC O-C0y,|-9 j|xˈ#«YCFaۧyd#6uVyvj3335l05J]t\P}gᆪfW5ԅE@$`rl ơNܟ89/&r{nrm%766.m]5uW;?]KKdDG{fv>#}ϥKӧOj}FƍeZuy9rDEEE"##N_zdٴsNWwXy ͛3tdTTT\\ 1J躃֮]+4<oVsso߮|7U{{}G:wjjjdX3gj3fi֭밬kLLLʔC9vix8ƏKڵk]ؖo)::ZOv9SNUYYW;9.їeԤ={h3g>Nb yyy)++K;}|ݺuJIIѡCgWfDP``jjjT__ﶎS``FazII W`"aTغdxucbvt64 E)0%E3UkLx';ηW-"aSnWY5(49TcW.CεA֮«}Սt]'VYUs9ZVΫ mzv_Jee#0tM7i饗<^WWzSэ5jYV}OMollT~~~h͙3GC۷oץK\rrrK/;´`߿OKvlkҥ^Nbb222p8Ij;Tpp}vZu8*))ў={tE}T``6lؠ~Zuuuqiizݱi'tY?땓!z{\m8r)*66VVt7NIIIzJeZQFu2,׮]SuuP8.r;ethduv:嫯8߾ޱ`yj0 ˿ 5 FUײн0-8d5U?Zd:0rVU*"5[${l^͗ǭ_nHސ,R!{*NhF/V-9vPAړgJj5z!7FZrnwg͛@ueΟ?.tU>|X4gΜ-?]L3g_/r&O0 zRZZƎ+ͦ[v{˕2MSZxqt\Gq'`?^'/wP\\:L_j Pff***B``***TRR2d/))῭0GJcΧ`XөaŪtNźO.ߝy-6_YMmݝYޒVere:Za֖2«=ZmmBm6h- Qٱ4zhQ%5x)!Jru!4MSC\MFZrnwgf͚%Ia(!!At.w)IRPPƎۏ*r-*))޽{cꮻj|cǎʾY`$?'Vu IRjj 0t$ɣRRR/BRKX UUUO?tJZyyybMM #P\!{w2כ$S$d2di-]X[$S҅+zOGt^zEMz+z +%9lI5lqu0~Ŕ!O3\a3t9ǢF442 "h0%lٗm6+|52 -./$CCoҤI|AEGGk֭xbΞ=[ RYY._?#ZVg?$Wmmmy׬YyBBB`EGG+**J6M:{N8KOOג%KTYY{m ~eXO+>>^JKKL9v|˖-ӲeT\\~X,z秧zOA($$D6Mϟl t}թX Qhh 5uTm޼8pm۶?&MҜ9s4fիVfff|XW^6[V_^E;vnט-[WW]""""I:xO4k,h„ :_]MwwIz_|Q_u oLWohhfϞ+$$DTqq>SzKwבޚ8qRSSѣGT999ڿ:w8w7jSO=D͜9SQQQѕ+Wt:tHﯛnIƍӘ1cT__B}*++MѾ}͙3G_|VV\)IڳgO㻧ƙpV,XDEDDA:s挫ywzl6\󓏏V[ܬ&׫fBRcΧ}1mQK VS2 W`ҐEZj}ءfkl֛̓yZ1{;F+UuH{JFkW ˿Tgڥ!KF}2Zֶt-/Ԯc) "p4,2d[[F۠B4UYڲ`YeaZ]][MEK?5fXW'N+Wpa0|r-\Pa4M)&&F1111c~+3gԚ5k+qΐۄ t .Ԓ%KTSSu[xu0;**J=ƌ#Iƍqiz:W2ǵtREEE)""B2etʕno-SiKѣUUU"=z`IR}}v{R!!![766@ UCCCI۟i&KjPɓ'kɊ;pW^^QF),,L-_\|m+((J?t>~-]NaW***T__/???7N=Zd̤Itw6Ma(""BJLLԮ]\f=Szz/^,0TSS㺞7Nz;-[%Kb_ъU`ZViʕCEiZ|p8РHEFF*))I{m/<}\{^hԨQ WSSSkOccczgΜѼy_N<٧@ܭ>nwO灻EFFGQDDWqqqSttrrrj*nI UBB^~Nب={hݺuZlN:ٳg+$$D:}t{z k׮۸CU:yz.ufeF.et18LNCm4 I͒ih{P~>V-LJׄ0zߧ&Se5v]k+u:e>;Sf0dXm-XTOTjg Q geߐҲ êBլpZtm fmd.ZY.A)UVYZëiia7j#S:}A7 CQQQ2 C}QIٳh"555ӧԤ%''kʕn?:dҤIZvl6}]8q֔)Stڵn+W^/\_oΝ;3fnSLL.\mc{;_ee._ɓ'+99Yqe%''KR ` ׷-WX)))IΝ;;tYuQ{s{sgٳu@/RO|uēǥ?Ess}Y%$$hƍ*++ӳ>BرCwq[nEٺpႲz|j:}{cye|}}sNeeeQEiiiZffϞٳg+++KJJJdBBBtw(66V7?YnN<4M0Ak֬ԩSe}nqf(:k|?-Zk߾}u >s+p5ŴdX[I!Vi20$C2[l+*RWo]\ CW di KϪKkŸnCf5d"*oڛ0,*/RYYdmVDh[X&.<!Ԛ_0d5--!dZthT6$Wt3FoFoj咾zשV~aQoO,֬Y#I7۪ѣG]Frrn6555i֭*..W-~m]pi:y򤂃N4}رcvjݻ5y[}9_p8t!EEE)--M999ڶm[y***k?BBBB|ݻwЌ3$IVQQQqzvZ}ᇪњ5kpB;vLUUUVM IDATtFMY)w ahi-J- -Ӗ3j42Lgp{KtWVFKpTc'-stTX toJGꯕd,CY,ݡk*)S25jC~y{#dVmvC^jEϴ",E2L "Ӵ B dU4UI:zzvYVEDDhΜ9JKKSbbl6vbccﯫW{aSoO&NHL||֮]fm۶m@R=mul/ϗk̘1UyK丸8eggW^iVNN|AEFFonOwvNۼGW!K.)??_ǏWlll3?_Fnvj׮]JII߯7jƌԇ~幃[^ԧ5q7ޡ+; 4i$+77`]ss.\+**`O_ơXzO81^gǡ+'Nѣ(--M7n\ҝC9xo>|XSXXbccuI4w\7#!{{ E*ڄX:ʐ,WUE2[CTk5]xUJՔP9^Uu+5W懿_֤$Yai8dCh Lj7USo^mDkZ-CZBFk02̖2ԻD,".477HojkktRO>Qyyy9 ~sĹ=:i$͝;WE۷oח_~:2X[-{Ygv:uJsUrrrױcz\nכoiYӆ 4nܸNw|NNZRPPwT>}Z ,PppyŋxbЮiӦ)++KǏ0ŋ*##C/VEEE:^/**J]N?x`:$:_c}!<<\}1q;!!! Q``]ǭ@'~suرc%I}qy{z3tl6(!!A,r=O{ ]pAwVJJV\QF;PQQJKK]p|] whZ{|W󈻮r劤=}؃CKP>77WaaaB#+F$[)يN+<^>cR XY2*DרANE-Q֖ЪiJitc5 ɴv`u|\5JeQθfsUrԖ@lJΪ}8o8v]!鷁eMnoi 2 dZB-}b vuXl'>z< 5iվOuM7['N6xx؟[wK_38ӟ.AXXXk-wnwo]wq͝;WIIIڻw.qqq˗{\3Ljٺ ^zUR5 Us~___5ێAAAq'2%{uu׿*55Uf҄ 4a-_\O{ kժUqv m7}۶m] Vhhn&eddRٽN0u3\^F:2\/ @/Vrrr؞ҟ։dW8{zCoy8.М{nѣGzH^^^:uj́/OnD]mHnp"^vA C]KWozfszO!ԮWLY,ɡ'ooNSç5Hkv:VGZuC :} d!eઓnWiiƎcϭݥzZ풾 +UVV%KhŊ*//wpvBi̘1ѕ+W4}tyyyĉ 8Y-JͲZJHHЉ':?((4얯 8\vôj۷O|&LS*>>^5zh۷eƺtloov]j'I{QHHO 6^Sgؼ<=䓽~~W U__/???-YDoF馛$I}{2δ_xΞ=BթI+VܹsQr:TQQ!֭[HJNNֺuT]]~-7ܵCZzu%''Z]zUJIIч~Cv]_~N.2 CeeeTQw6MS޽{l2-[L6z9rO3UUU0 m޼]'녆jQaa>J3H-@Xoɝ&ݡHgU]]|A~_<]@f)88MNNVDDTXX(וnݣFm.ݿA]2??@v ?G2θc}]uQ]֭z/^(IzyYfuXfqq mݦv}}}; 9ܬW^yE׮]S@@}CNϟWPPV^-NGUqqt}ipSHH6lؠI&D0ŋuui̙1-22R[lQPP ]׆ 4zhI-c8JҾ}T__n)ShѢENV-**fw]P[[[Acƌц <ihhkF=Zwxv???Ptt***ꫯQqF… ]=Iŋ=$I&Lsi|n z$IתU:Π;TUU)33SR_w~I-ۻl2W K%Iwnw^x22z m1NwyyXB'OVHHV p G.\ХK>Ol@``3X_FF,X I-ۗKw^544g]7Q2[\:-UaMrr&O1ٳggϞ^->Sxxf̘KjҥV@@,*++]Oֻo>+""B6mRSS(%a}{QXX&Lu[oUii|}}*ժo^/>EFFꮻK/ԧ[!{zʱcǔ$555ٳ}ph֭{Ki (..kep_ז-[4a]VlPBqq^~>ʺZM6M i9v5kb vUUUf)$$Dl"{(W_͛5evmz7=ZC~~^x_^Z|/_F9vŋk.zF'w31ctNi* @iXcƌt .hʔ)ZpbccURR]vO=ԩS ђ%K`͙3G׮]S]]Zp˭߯0%%%uz6z*33Saaa5k-[e˖ަ&/@@΋*?~\fƍUXX(Ţ˗/>_wX,WDD"""h"I-㛦z7qq_w#el6VZUV>4駟vvFD"So>>>iXmm UZZ/Oxz7tE%%%iرZɓ'UQQ{Gvݣl6/ҥKP544(''G^PZZ(UUUҥK:yd&n\۶mw߭ɓ'9*٪VPPΞ=>/J<ϟDn@/_:3gTxxtU>}Z_|E_NoHUWWի:~x{=]|Y uutϞ${җ_~wyG~fϞ W'6O)**O?dM>]cǎuJJJӧO+77ףu]Luuhɒ%4i\>sСC ̙3*Lǧެw:s,X(EDDhѪɓ'u)zv^{5]pAWNNN:Ǐ趋'fڵKΝSJJB]zU*//0+9.9/$ֵk4c EEE#ws=P%''kܸq VppUVV#G(//mv丸@ϯ2 d}%%%K*66V!!!*--UQQQίtF4te}n^ǜ,<{guKߝ?[LX$cܹvޒo~SΝۇ C?M999C][=֭[]#CTT$СC$%9Zv\eJjn6]Ms.G<~]=vFDKO$ᒤ!QLL- +|XV4M;wn0*I:uWV.\ &0 cڴitqa$+P???XBaYUUUV``$)++K|W(99Y***RqqPVa/j֬YVppjjjt9eeeɓC]"ٳgK*S w2w7cNnktXgϱtkimI2Ν{@RTT$СC$%9Zv\eJjn6]Ms.G<~]=ve :KO܇+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+twQNNVX1ԥ +5o}W=s222"`꼲WNN{=mݺUv}*.<<\ׯ7߬S*""Buuu*,,TNNvޭ_C]*q֭[ӟt-ܢ 6(66V'N$]zUڻw{=]zu@0"544甗{_&MҤIt7=ܣ!ժ QhhLmڴi =31c뱚*>>^Z|^K!X#oA^HKKӣ>˗/WPa*""B7裏*66Vӟtwi6j(=SJOO$m߾]۶mU__////EEEiJOO`O(99YG}窫$jڴiZb.]n~r>ndXPzzN81ԥ`*--3< .WJJ/^?pJOOW~~~O?m7nʕ+r;DU7xƍM///Wff233;;دW2`裏%IJIIj-_\6ln>^+W̙3z;;(>>^ JHHЏc͛7OiOX᏶%s hJIIQLLΟ?ؗ IDATjkkݹᢣ*IzꩧܲL0}{JHHPhhΟ?{OO?v{pzwdZzjr-ڼyMnZpkfX /ӧOk>?aĉzD*''Gmۦ_?Ν;5kt ///:tHZjΟ?߫}q tMO+//yzV 㡇O~YW||֮]^p8[?zgIJJJt+%%E/KQ8q&NUV-wѢEze$^a(..NqqqO<۷1MSGUppL:%=;7iӦ)%%Ev]qO> Џ~#?bQIIJKK5k,jڵ{ ƳpBIREEJKKݲ'|R111R(55UZf6l hkڴiڽ{{7Xׯk{rZ999=z&MSjXG><뮻7_II4o<͛7O~mۦ{LӧOW|||ҥKcǎ^vܩ{Wڹs~W_6ٗp?,C]n:effvzު_ldizd^s='ԙ3g@ŋm۶ Џ~#%''kܹ6m~_phƍ:tHz%K(33S>>>[#GRSS5}t%$$hٲeڵk,~_+""5fOO/jG0`ZgyF^^^zUPPƍxn6͝;W˖-SZZ|MebZ^[_5k̙iӦS}}fϞ缸^hhx 77߬{WeeeڴiҴf-\Pڲe8ax _χ w,?1cΝ$-\P?OW;u[N:{wI=cSXX~zgi&t/בp>0X秱cv_WG}T۶mS}}$Hկ?QXַk.mٲEo۷Fdk֭L=C:{%Iyyy~z?^ӦMk̆=ڽ{]z<''G=y h7w^׾}^zWOg_AAAO*ͦGy]r=qI G?yUTTH$Ir8/~W^qun}oίnI[o)33ݴ8p@^0|o~IO}Z~ӟ2+55^{M6ǺLqgNn/zv>,I:uj:m\\&N(oooI?'xBssѢE ѣG;%nSS#ID)tQ߿_:|+=/7X3r~0 /üy󔐐K.i׮]=ַ{nUUUiʔ)JJJj7mʕ p=GQQ~_hΜ9+B^^^￯k׺u|wQZgo-P{A" qGqQ$j'N鬓6gNsr:Nt&$N\q5 .lB TQ;sV~>ν-O}]QM mI<:tg6lؐG}4guVƏ{ְjժ$I=v:S`Ϟ=w;,~x ޽{gԨQItq5|=zw]O>9կv}~v\ v{ldĈ_=ɖpZUU^u_uuu;s =ߞ;X/\y1bD~Gɽޛ;O?^͡PzSO66mڔo9W\qE.m]xI믿~|rwΗ\tEҗ?Cz,^x(]PIt{cƌIμKICvhg]’dԧ> . .cUv?/n7`!w7vfݺut}$[:N6mH;{>XŮ{;`]_˗/ϬYrK.ԩS3u|͒%K//k]1;­{W\Yf[V-O?,]?]ƍs5wܑ~{`=T$VqI^x״7F[o5=ܓo=OÆ wOʫoڴ)IԴsx<9ꨣ2q5kVƎ^x!?x+ܵO<1IspBׯ߁/w;3 ,H_Ywχz(իW>Uݼ'?SO=$Wjb8(q}kI1zڧ}5t{,R)cƌ o9mmm93dȐtI;wn,YreoscƎ3f$Iy{rvEnoŊ_%I/窫qϞ=swvҗպ#/Bh&Nع|ԧ>K.ds;>jԨuYPo}[I)Ss\~ϵk_z-򕯤O>یill @M6?W^y%555g>n!}{ӷoq Ȼ|_{.iիW'INݺ3gD&L=z+L<3iii9 Aetgy&/$\|ۄ`ksss~_)_R]]j//o/| 9sᇧ6>|xkR__;{o=9_RPaW_}uFK.$g|&+VS]]mxJ袋Ԕ[n%)o|e>e<@r);7o.y7gȑ?ʇ? innNSSSFիWgڴi)pxW3k֬|{L81W_}udƍNmmmn-wy~wrΩ泟ldٙ5kV>gӦMYlY6lؐ#GO>ٰaC>Uم~>x̚5+Iy~?)7͌3&SLw|ȢEАQF6/O?ͼk6w^e 80cǎ?|OJTWWwOziOx=@9֖~կ~93dȐOgƌ6lX^{̙3']o/__:*k֬2o}+rJ8\verW#3bĈ,[,7xcn喔Jyя~4w\.œtIijjJ߾}jժ,_d8 O~C@F˗*b1_?!guVF$[sW_KVPٍ[?;^:g·>y晙0aBweٲe{s7fѢE˗)v[֯_@ؼys.5*fʤI2bĈvaimm/^x!?O3ncwkwVZw۾jna':Tb,ј^w|_mcYC”)SL+W}u]w#̟ٟeΜ9.YC I̟?$$o%)kln;^ul';X;ȁt! Ǫ`G&N#<2K.ܹs+]!C`]zI{I`;fJ|" ?駟3svޭޚ|j5{ 6,wyg{Jt+mmm mذ!Ir'3LϞ=;mܸ1ȑ#3eʔ\{yW;nj3&}{3hР$ITJTʠA2hРyyswT6GuGdڴi{4v̙9SS(ޞ444o߾=ztM'ٸqWUU墋.G$ټysbؘ;.?%CwP J{{{֭[quuu͊+YޣG$[~G)mmmW(죁#LwqP&t+ .Ήb1---;wn{477-5jTN; 6,?---) ӫW̙3'>lV\͛71y{2nܸL<9K,SO=Uֻw̚5+R)Bac'L3g5wqG|TWW裏g!Cd֬YvC>贵[o3}z݁ ѣG1---;=( |3U/ǏOX:׎$IM j9S*ռ$YnNc\tE-ܒ͛7Qŗ_~9{lN;<۝w&MJmmm~lܸqu}IϞ=dO;\2k֬I3`,[K/ۿMU? o| NBW5yTUU駟Λo$IkkߕW^\}9ꨣrgȐ!ѣG.]EeI޽{~wFCfÆ YlY~uwdљ~%exͻڵkӿ۷/^{m!C6+V(sUӸOLut`6mZL[.Yti.\RWmll> <8ɖ`w]]]ƎcǦ)K,g޽{gimm̀2`L0!^{m^|}9dԩIٳgfΜSN9%UUU)JiiiISSSR,{y{r'P(dݺuiii3bĈs1~5XV=،;vcm)Sdƌٳgl ]{RĉqjO4f̘L>=J|{ҁu͚5|ill_˗wihhȓO>7Ynvs; ;ZvcVzؓ&Ig'cƌ_tM{U썃}}uǦW^Yre,Y1ѣGw.:th{I';sw.zk}lڴ)UUU4iR9L81'N̳>wyS*ҿ\p5jT{^;yGdԩiii 7ܰMM5559ꫯUڎ;̜93'|213uΞ_uu/W^r5r>V^/~Ԕ$J${8򖖖z= ӻw\x) o IDAT뮻jժp/L$7oN<ٰaC֮]5k֤P(d7n\O̞=;?f͚=ߞEu.?~ I&eɒ%뷙f͚xԧ>gȐ!YlYSO=]vy饗>}93$7|s{uׯC=\tEqioo/~mnذ!rK ;,~^`[yGsm?ҷo 2$SN͘1crE_~yv;,'tRJR8ѷk;ӧOܫN޽{K.aKf޼yY~}&M#<2g}v&OniNlܸsѝxn'9s3y=YҧO ,nٲe˲lٲ,X W^yez;/?x;K/I&޲~>|x7v|Xby衇ܼ5* Y|6խ[ѣGwy嗷 vhooϢE2mڴ 2DnGR,f͚Y&=\N;z꩙9sfzꩼ;А~ʃ>;{#d0S(v9P(.˰a#; ijjʹ瞛#Fp~ny7$cLǜ0ROqeڵ+]ݘ ]YG{,mmm7|3sOPǤ_>ɮw$O>dO~cX^{,^8/Ί+.= J>t <8ɖs 6,I{Zt rqǥ9#o7.^zi>sO*P4hР}ٝ_vc:0`_}֭[>:Æ ڵk_jӟ43|}ٹk;wAҳgΎ;а͜0 38#b17t.kBWАw])J;hoII_@OzG?ʉ'N8!#Gȑ#s7<{bQ^LμZG(1zPjJ`Xtio&gСCbŊx5wQF6ɟ:pLmmmFadK}s2o޼\xᅝ;iooOuuu&L|hhh VlJ/=z/Nuuu޼nɩʢEvڡ~OmN[o/3rȌ7.ǏOccc?7w_ˤ :>8֬Y$Yxq暃X`7$Yj6˫~0GoٴiS%J#G1cϳr|n}G~ZZ]]7oޜ_|1ƍq1BիWos-Tz~{8p`,YxbuнUWWgҤIIy:q@_WP*/_o̜933gԩSX!:~1bDR,Gl޼nJ_=:ÇOm:-VUUƍk߳nݺV+Lyyoӡ&L$y׶8$[>zӓ$=v+=\;wqٰaCnf09(_8s1ݻw /rlUUU NWWW3Hn}$IϞ=;;ӽ-Y$7oN3eʔsj?ɽiiiImmmN?Ec͞=;'sieȑ۷o B3hРvi={vv>3ޑGkߺT0Y}٬^:555K3cƌӧs}CCC8L6-b1ŋhѢ \x9;FАe˖uwr8p`=$ɭޚz"uнp:uj=z1?3gfذaٳg.cǎG>455eկ~uPGqDN:466n+VH[[[%ʣ|̙3'IrgNK^$555y׻ޕ /phiiI9ru7n]wݕ$6mZ>m3O>=z tI5.*#7`z9S$b1Bs}X̣>{sͲ.W\qNzvO8s1;jժG?nc6mڔzc>6mڔk&]vY3<3gyfZ[[$=zH宻iwn)]vYFYfsM[[[z$Yreڝ>:/8=zH[[[N:餜tI;wfɒ%e@_`1bD <ؘ}f̙9sfl痿e֯_Sqټys|ʹK[[[nJI8p`>ox뭷R__+; vXhQ8̘1#F믿_.\SN3y477% 8p`֯_nGwRo;.Æ Kӯ_9zΝy;ٳgg'ٸqWUUmx/{mmnS}}c=6sL繼aÆ,_< H}}}VZիWc=V(]wݕ^z)&LȀА$Yvm,Y9sdڵrڼysn,Z(GuT ,Y$ .̂ WWuN0444O~oP(lFSOe2dH}歷O<  -*]^8n}Nuv ;Y1U[j[_Dz$)S[׻u}l;r >xH|jC`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`X(+VJ`j*]J]/ eGʬT*uW4Z(Y6X J@j~RUUueȐ!I+WO>)y7S*R, r(`#`իW3v،7. ʰaR]]={&I6nܘ,[,WŋgٰaC?uddP$ IGpX,&'pBƏ3<3:thvB=R,bŊ΢E`l޼9UUUItc# AX 8qb;֦~Q(R]]Ç'IfϞ~ywva¡@&[B|NR_RS*rg9#sקT*%Ig:V8@^ꪫ2q455% vlcԩ9rdF|;)]XXXx{x_j&O=z}6553H~]CFU Cݎ«3f8=zȌ3կ~5IR,;끮JCGX#0zUWeecɹꪫvXt5:¢gĉyz葉'f«tytzOSSSijjCV2VR)5558qbNZr2uL81555«tY}R;OV4VKR޽{g񩭭MPpeIPHmmmƏ޽{oS+t::笳J}}}KuM:Tx3IUա.ټysڲqƴW$+ ;vl+]v3vجZҥvd RuuuA>=z8dëIRUU=z> J~M ;LKR BƍCV :4ƍKPئf t`KիW*]AUWW[ٰaC٭#NHL$)TR)IiKTL9[PӚ{5ӯ_Y6XWihhHUUU֯__RvFpvT*&RRІ`ԦP(dt`}>;B^QիWةU???va-nS{pԦ:֭K0+]+S]]JQ1 zmÓ$MS*]tmT>թ ֞={fȐ!.#Jӧ%T؉'TDuuu*]Fu.W:vScUogc[ nذ!+VtV*gϞ.?Q|:ePH}]!.)ihhtV*%t]gڂu'" ;%ZJ- YRKX,VNM Ʃס,Z^[e@RcRT*T*eu?OqelqoS,ܜkצPQYX*^? 8l]xqVXQjvlŊYxqk!V9B!R)/N{{{N{{{/^R$J# ao~WN]&ؚ+졷w2- iiis=J U'R)mmmyҲÚX` 0 rmuphPmݖ t uX`?TUU==X͛Wr2o޼O#>'>1cd;w6>\!VU VO|^M_uͺN:){ޟn`XWNX9͛7o=$w߽O?=}ͣ>+Vt.ɓA }.}??syuuuM$;w6sN8wqRg4k7(( (jpdq!j FƸu#D'w&3I37FM&1{22A"r%*,]얆foIOUyNPmKsXW CرcnmIg}x~Vmj*+VvxCM<䓍$ywѣ(u۶- =`eWQuڴi;u$7o^;0`kyߚ!Yf5W^e{"ovJ̟?xΝo۶mq  b5kVW^mKuCk񸾹eWM5Oj럗jVklРAO'|[+nݺ5:=&?x-[,~xڶm'xa|ҥ9#Ӳe< +VȈ#>-z :_եP(45\m\ٔ)S')$Yuk~X=m[y=k[:ib|͹g]6eC7FsoI;6;wn;.]8ەP뻬#WT(3f$IwFݻ79u^ 7kNSO=$1bD7x#I^{5_ZҚ!7ϟ?]vͱh[}uС;l;n(/uPJTWW/OVWX)S,zh9?|Seee nh;lt`e6x.wy4裏nOuuu N:5/\0SN݂&ʎFV;_}n͞_]]_WIs=Ѷ?O٢`G'v闿e~lk&~=pqQXnu]Is~_箻Jeeeo7seY"*J]lM7tSr饗ww IDAT7zo|#[B[FvsnҜ?{7SNmβ`%o^z++NJ+rWfť..>6[+a:PT+E% @Q PT+E% @QUvLuuu)/NV}C9#rGO?Q*++3dȐ 0 ;SVX{/SL믿C)R555iժUT)u hӦM!Cbby=zȸqRYY$Nv^{es=?[m>+%rJ֏\%E4hP;찴m6YtiڵkQ;t/~i׮]|w}Y`AZn?ϥe˖2eJ~ӟf̙QGvwmݖ $I/_I&eʔ)I#8js·R`$jkk|RQr˗/Ommm6т tL2%?f…=2odҤIMyҤIY|yZj߿YC R2/.u %3mׯM0`@3;MSSSW^y%Iҿf&JfѢE.d-Z*l fܹs__~3fHtرYC RRYdI(%Ke%N;%.X IRYY-Z4|(5VJnɒ%;T'E퐡]:tH f/^$)++Km>+ ՙ;wn/_^R˗gܹ: a e.]m۶6J@,X -ZH6mҲeTTT|Yե&+W̲eR[[[Oo~֭[7<Xԩ`[km… ӭ[TUUw$rUPt>ڶa .Ltao>IhѢ f& E6$I~RVVs$ɼyu>+ٌ3$UUU !Ӧ 80I2}f& E6wܼ[I>:mڴYkaÆCYtiM֬Xz衬\2ݺu駟;&I3dȐuQII&e>JluCk񸾹eWM5Oj럗jVklРAO'|[`S~0`@w9mڴŋx?0'N\k礓NJV$K.MVRQQB:k&ݺuKL2exBEI>~^O!IǏ۳ڶ՟׿^㺶կ&ל}ֵnS6}c4[]E mQҽ{&UUUummm͘1#7pC }*y^o [:JE֦ EFmD G`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VP{NTUUX[Ν$SL)q%;3g&I>Wk[xqKt`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`XQC̙3㏗-d̙9ꨣJ]JIo>wyg?z7cmݖ֭[`;$ lW_3g駟9/3s|[j3g檫ڢz:ws=77tS~̘1#/RxI'-:ƶ,7pC&Oc=C1h|s~oޯm۶͸qru{ʹioe]ovG~ >}z&M/|,++ˉ''|23fب9UUU9s뭷kz*rK/cƌɐ!CrYgmvRQO &NK=zȑ#$'Nl:Zh.(\pA`ڲe˲;cǎw}3zL<9_ۚ>}4O9 .ܤ:Gؠʇ~]f̘1 s1iݺu^}ռRC6mr7nvmTWW"ݺu{#Gginz`yof瞜tI93ӟt7`66sO9県=:?ֻqdU//9rdy|[SO=h{MMMf͚YfOSw[U(rg 6BEEEN9$7,kn=_zkWWWOS{s=c=rQGngrg&_Wc5l}ry[zs$I?G?QOg:ꫯN˖-0?S(/Z(?|&r-9餓ri ͪۆ.}imuSo^(rw7˱?SOMMMM= `[2rt5JO^rk{ԬwEr'IZsIYYYyFzӦMM7ݔ$򗿜7eʔ9묳2vL4Qu]>t5=\~mԜ=yw{dРA4`}t`eWѹ_Z_*OνS^K윲6.m jnG[<;5L͜Y1{jjV^z̜93{qW^yo>eʔ;rK/4I_SM>Ir} ۑ۷O̟?7;cM0!_ҽ{ 80SN]=PzM:7n\nɪn?5*SL٬u$6.Ӧ1i爴^r6Rɧk*k:-*wI]rIʒų'IY9^mS&NK.$cƌW_> Ըw:(Ir7˚kzRQQc=6Gi2/Ry䑆N;w矟:(g2L:5߼=ΡO?=_vm̘1#7n\9ԩS}L>=]w:C;N}`oذa93>cǎyOnHmm&?>_3}***2eʔt12cƌmzx/Oo|#NP7ߜ];$/¦~4뵮_e˖93f̘/}Q^~s= nׁ v֭!TzӧOo^zw n={gϞ?78* @mK=N_HJaHv+鲏wnQK}洴iY9;G0aB.7k5 [𚚚f&9lذ$G}9s4˚M߿y7I*#Gȑ#~駟wt)˗/ϒ%Kgw>}y'Z,_~y.”?̜9sr䠃 '/k`2~\|iѢE2w}7x >:k/-ܒysnXb=k*/u1ZN'<;m$ZXCRX SS&VSx^:1h7ȴiӒ$G^k{mß|M*KϞ=$z>|& ʀ|'uuu7n\L2%F>쓃:(vX&OVZ媫JVZwܸqg̘14hP8|{nꫯNyyK'g+2p|9C}o /+\pA:߿8s=)//wte1bD~dРA93p|ҥK3dȐ\yEwSO=$;vlxIV]my_ /0C Ɉ#ߔw=7o^.\I͖* K}~򓟤.'|r59o{yy3mڴK:;ή>np>ќԵk$ٳ{5\?>rH;|̤I2ru簾&m۶MnݚN`$ʧ^oUWW R i۲#EGw̏KGwN<>y޹vEGw̑ڥmªì Aq̏~ &$IƌֶmxI6ɲ9|ߞŋ'Ijjj6$gΜ߿ѶÇsy+#$IgaÆ{6mZz&;{ MSSS>I^{mu{<)//СCխ|0 .̞{}ݷѶ>: $Vwwfʕڷo$ n K.mrw]z뭴ifk{\wuݻw?uytv:.c#}^-|XխU.\ ۼ!O1WHRBʒ|'|Y &dС3fLCpmk6?SNܹsdɒ\yWҬL> B[EwԩyW>K/ѣGUV;}6qM׽{?Io6{nUsk~Y/^dx5I:tDMӾ}KUUU[r.UtVëuI.Bm.:VwEtNPIIv:껩Nkyǒ$GnmTWW_IV_rƆ֭[o_=Ir!SOM.]>guVnּ+dɒuvRLX[Zﭷޚ$;vlNHvmϟ$رcZjUn~$ <&;uS>$Y|y?3Ir)sN8!y77;wn$IN:uW>}z;uꔖ-[&; ;=]n]B(V>5:U)uajqhB.W3w(zEg+tMZRKZN#nw\m'LUuM751ǏoPf޼yi۶m⊍3dٳ:;mv9蠃$3fhr{YY&Y3hp1bD><-w„ Yre?t-Ç3<3g6osӖzhѢTTTdE;nɭ4bĈ <8sO?5@.]6ó'I:[IV}n9$ou~'I?ӧ}կ&:?w$:.\p`о}tie˖eΜ9yo6o9sdٲekSN;b V>]ɪjѢEn;k~&LH^r%sg7|3KӧO̝;7C i'?{?>^zi.̞=;;wNEEELAmR-7pCN:t='N̼yRWW.].jgzs?{ҡC.կy뮻U|Տ`9%lևW2>~÷.o%~:k!Uy`MVN>$w߽***{[6m49>o޼\por'f޽{:t9sϴi6le]w]ޜwy0`@=z˝wޙ'P(4lٲ\xᅙ4iR;~iٲe&O'[o}ݷVysK.ɰaò뮻wɓ_"SO=Y+L=r'={vNo==:tMe]rꩧGy{QOs}eɒ%wsӖ뮻rcIvt&ߛk7n\ƏCW^y72mڴr-y6zm:PWWSN9%{gN>ٳgz%K䭷ʫo#p?Ϲ;3bĈ`,YqK_RN=^iݺuM'7M/_VMZwS͚5+G9眓?>{Nuuu^x裒lnݺ%IL2<[}nBڏgm?um_'M9w]kݦ4Gwжoxz BK$_ O]x5ImQwX)kpϜZ겠$< 0 f3m۶mz%dcY'Jɴe`Zv?elYyuUպPعŭWF>쟖>S겠N?$ĉWuP8qbN}'G.u9$9ҫWСC3s<%y2suQdHiR >b=r7kKwUCI!]겠ڵkN8!I2a„WnB!O$9J[ |Kmmm-Zhzʕ%dcYۦݻwfΜ3g7Hǎo_~9_2gw;nɓsǖ(:VJu#J]FX} us`Uء iREuǧ2JO^rkʔ)93s%H}9묳>;|IV5'ȨQJ\Ѷ:^{̞=;[{o~?iݺu,>}cͮSN9@ REUR w_M!m[}*K]Oeڶ,K}-vIEJ]$IWq{֖ H/RxR%ٻ{3!! !, aP@ЊCP+ZjQzZť.xo-V@a 5ddG}I|9~f9C,|`?Iĉ]YNW/… ]ʕ+5h 4H PLL zK6MtYmr }JOOʕ+4_>̮.'=]]Bu_UY7ӁQNFCaȰroC%G]]!Ǐwu UGHܹSo4h$88X ڻwKTPze24k,?^o\]l62Ws{~ڠ+\jfvyU^Nj7vuI-cWXSNiϞ=rssӭʮ-W$nZڵsq5+\:%ΫI6Gժ\[ZĴm%٬:dn%4{fY'NTII#`i:aWvʒT֑… .]]O&߶.lW|9B]YTtrwW d uuIވ#ZO?նm[V9~{ԫW/+%%E|vU:CɎ۽zRJJi7T3f(66V111:s挒k֭u&$m߾]vI3gT}ZwqΝ;W׬YnݺƍzG{キN,\PӧO$edd(%%ET.]vZ8p^/\`KfOWP+6+l0\VS]y{eKwpfaL~~~5j nݺrV^^ziĉXL9s(??_ .ԪU`~z駫]fX4ydr-zwtQM<Ǎ+//OO?>sm۶z5}tM>]ǎӇ~X:ƍ^zgv*ɤW_}eRk@=/_IRxx ǏWޫ~Z.\}ݧ'NԹ >\ӧOWFF~a%&&:yzzo߾ڹs?@sbru@K`UY[dPnMZ땗Wի%Iqqq /wK͓$=Zdc|zz}]=U  8_l $IZ`?Ix [n"kbcce2hzfyIܹs;«t-Yڵ'MV~~~:tudРA^kWW%P۶mSQQQ V%yO_rBŶrE=.0eIʕ++;y'04a„r08pBV*m0`u_s׿*##CK,QDDD-::ZǏG}$I?~^~&7>>^111:vVZUFEDfͪWdff:ܹs 4'XlWPKrW/-uAMSVڭ\Y@J^z%%&&Vغt"I8qbQQQ}k톎o/((p6WqqSO9:N2EMZkRRRk2dMg֖-[>Vc[=V:۷oVZ0Zmܹs4i^u*>>^sڵkyf}M.lX%).A+tu vu?oʔ){G_޽[4aO%رcnA;uTy!!!Ǐ7EEE:zhkRz$Iaaausٲez7$IO=Ə_9j#55U-СC5uTJNNVDD^y͙3I+\$K߮ٛ:jred$fgϞҥ233V{W_}%I8qc=ٯ_?: U P=$Ink;vV׷^nukiʕ2 C|}yxxN>8!Ioz:˗K^~eM2\7S__Ś5k~iF|*W]U6l~aĔᡙ3g:C~~Xm_iI=֚渺fuc*ٙ*UvMWwؕ}$$52G=l&٬*T6kl%YK4{WWY/Ed0eUpprEh! ]TI֓ŋŋSIIIkœ _M6Pm۶U.]d2tm޼qj~f+00PIIIꫯw1b# tmݺU{W5o>yxx(""BիeToAA/_ L&cǎӮ]ꫯss})$$D+W?';;[;wɓu 7]vZ~}lN'Na2 C ЩSW;V緹$9sKU1dZYT5kmiZRXZ A&ޮ. eAU kYRRV[E ՅVߟ.dVIAe}$׮];yyy9nŋ._:{KjP{t`h[SͧM'rWPybCd7V=*/{S:z&\yq0jF_[.WRLLKgX[n_ppV͕bqZ ! +>C?ʂ2ɸyU[YSI˶]Y$ZdwuSҜ.((H]vzr.deeU׮];tbWvjUY,]]Fʺ^*C2L2L&[frӢϒt~Y=K>KarsUuLq}Աcǔr:t蠟;vKQY,Upݽsww+t^4@3evuo^To0{+alFYVd3leNea+vK*(FӇU)}9]Va2g2f(g8KRht999rssSPPPt^.$33S999N[P7t`EQ quU;ty[~IUOOj#j0 7l~IY/߃*pJ;:KZZ]>fXѬlՅ[ոU]tjm2ikh~Uh~>-r,zŖedk$''G'OTnnɓ' -W+& 5̣Qj8|X>Ͽ=UuW͒բ߼u\mӧ:t֭[[.\uVV榧zJh"U8gر׶m۴q ;u>}]v Pff?ӧOW[̙3%Kѣkj۶uE?^w?PۇE~)$$D*--uPsN;wc!Iڵ?#?~k̙3_~Y!!!JHHPǎ%I6mTqSXXmٲEjiMobccիW/CgΜQrrv!I֠AԾ}{mV:{edd1<EϟWVV|||%5*..VAAdXe^@#f(e2W>(O=QY Vd+Z$tiUBFf+ߞOjdvؿFuWhՎTm}V2.u~5֒?$XW###1ba Vppbccj*ݻQֳ6ln&L&l6+,,LaaaZw1bfV uM;vкudj|eeeSAAA Ç>}ZjӦ}\BQQQԷo_5JCW4tP\+<<\۷WG 6 C=`Ie֪U+EEE)**JaaaJIIј1c+00P\0eX,VvvK4Xld$+_oyrt!QvyG!Tڸ6>+/7 >7(&[<,o a~M%:Y#g OyJ!vEkϕ[eU6R`jNuaϗTsĈ֭ƎcǎUe>zaÆXׯׁT\\,u]F׼7xƌbZJIIIX,Ӑ!CxkΝչsg+??_|RRRf:tSNI*_111:u222XuI}w:yTPP8ާOtMJKKʕ+u9IƏnݺiĉZx#gVg***dR߾}5vXG}Ç7(--M6M[ĉnMTZZZcB^ζUE~.ޮ-,Z0IV ʺ C*dJbsY%TUORWÐ+I2dn*I?KCh0kIIV\YaVVVXm۪M6ر:5rHIҊ+tDZ<}ɓ<-R999/UXXoY :p /22RT.*=f'NS}IJJʕ++ zjJ#GTii/_^jAAV\vکCԩx> %'';n[VرC۷RRRlٲrcKgV֭gqr\]Pŧw(҅Vb\jj}L +Ln2L}sd.cM1nyJӏ(gGѣJMMm+czyyiرӮ];IR@@@4󙗗'Irss!HWζen-=euLmel-ل\bM6ä(kYhf !RgTIY/m6Gl*{H֢楫id%J~(_A%AզhС޽|||t-{7S{Sgϛ%I{S޽ձcGuQ#FPVVnݪݻw7N񕰇RCBBjfZ\\\3OVx%*HvuU}zU>^SM^ Ќ3㣣G:{U\\#GQ %umLΟ5ktfdd8gNN6oެرthh„ ͛^|%%IGՒ%Kj=1O/@#4^ެ,Z]S^]viWеZZ2LRnnnKOO$o^&IVcC&IJKK6M?~GmܸQÆ ӰadVlVIII`ru0jeM!<<\RՁΪjl.^/%%E%%%jݺu@k=ݏ?(Ţ*޽gy ]vI<==ZZZP?#Fz\}Oh X&ASgW233%Iv%[CU޽{QI奛nұ/^Tbb$i̘1>|$IfY7xn:ߏmٲ1aAR٬8M0AvZGش*;w֐!CRn(IJMMbqF=QXXuI 1cƨUVn evuim?tLLLT=3f(??_6M>>>l:ڶm[͛7+::ZU\\bJ* SUe[nu7+''G>>>2L:y:vX޽{kذa6lXy_~q޽{{9rJJJtEY,nZZbիˍx٣޽{kԩ:{L&N8gjݺn& 8PSff秠 uא+"%Z[999zwuM7)22R~~~pRRRG={vc-}]|͊R`` *ǖ_vM)))ڿ٣:֤TVҡCԳgOGgϞչs甘Z͵n:8qB111 $9D]p¸/BѣBCCUPPРĖ-[*44TWNNۧ M7jI ƨ9V7֨by*UvMWwؕ}$$5\+44Tcǎ!lr$Y/}ojI*~\W{Vu>*تΩj~&g`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`S`YF)))9rKiVx\4 >y:7))IǏo⊀멤DNRJJ֭[%KצMM\/t}ta@iz_XX֭[+00Pݺu㕘ۅJxxyñ/77WZRtt5bM>8V@b :B߾}裏ĉZ`A3U)SGUDD׿;Pqqqu驷zK ˗kٲeڳg d6oQ ھ}k ټ]ݻw?o/I T׮]5rH;vئ~r=@Bppw^W&==]󎒓xbSCզM<7K4_|Q :uꔞ|Imݺ9sFgΜƍ]T%p}6uTu]Gѽޫrdz cdruhk>|XԳgOWTmĈ;URR«G߾}%I_~e*p=ǏKڴiJ=裒{Orq5W $P 5c *&&FgΜQRR>JYFъQLLx f?83ͺ[4~xu]ڵ|||{nmذA~Yݻ+++KkcǎUZwddN~SN ӧu!:x`=<<ݫW/8nO6M|MO\!+_C^=ܣ={*<<\G?IyyyyWB)..N[o5ʜa(!!Abbb#GhݺuzURRR^vk֬n=Zsv6mT^}5u5x`.Ţkǎuz͋棹7zԩfΜݻ+66VyyyJIIњ5kl2͘1C=:cV:l֎;1cȑ#zL4ݫA[oo'O8z=`\wf͚'|R*--UvvI&iZpVkq~zJ>>>΋ц %IJKK={j۶mzg"SNԩƌx@[l)7!CG0 IRAA PTT4~x͝;W˗/wlڵkԹsg;>^.^8*y]vUϞ=URR/ұK0_Z/e2t[qqq4i*߸~ >^6mҲe4gx㍊.Bݻw^m>3M>]ϴh"}'>zm͝~ݼ7NϗbO<ݻo߾0`>ӧt^xAIII/hСZlY|||_ZݻwWյkW=쳲Z:uҗw IDAT^uرCƍSlltM7)11Q/rs~O*..N7xbbb4l0ZJ&I .TppcbɓK/I=ɓ';]v5Ӏk;l6k:}3^SN#sԩSɩpO?˗+77WTRRŋkɒ%D͚5KTii$ɓ/uA]v-7gaa{1]V)))3g?.___71nƍ͛ua-^XZt^xrcuyb衇*׹1++K=RRRAt\A;c7įk-^XْR}_"I=zƸ~i-]с;AIV^r m6z>4O-}.׃l?/I;wr?۝9s$-]TRVOOOr-***g}VƷzj%$$uyyy[n+;w7TΝ5wKhZ%K(""-??_4`Z~}UFFW/Y,lw xzzfcbbj\ǮD;w$uҥ+9>6**J:u$Ν+Zu9diFvqaIr|\4__J^}UeIUP5WqMu][Fw -[sy߯;vLVkŋܹuVبQ8Gjjϟ~iƌZte65~x_^&Mj5@sfvu8KttJAAvڥѣG+::Z_u֐.I{@OOjС:uPy{{+""BRYY>,Yy9n{xxoQxx/9uin֣GIRiiii&NժU*i6v\S]WV̙3վ}{}W_kÆ :x`Fђj5GQQVXiӦiĉ~풤e˖թ.8bц a=3Spp6mڤ/BSFFFӦMsu|'z衇'|R_UxS.O<)IڴiOސuygĉ ZtS^WZh?*>>^#GԨQW^yEڵ믿ިk¹"IRXXX۷OTllݻwk'|4\rrhذanu]8,nJ\tÇ;ڸ;>}.]˫ww>:zW$Iz[xS.%I GcZoK*Hϩ뷔ig\WVU۷oK/ѣGkѢE3f0&Yq;vL[ҥK%I'N$M4IlٲFP\\,r`g# nl߾]j߾}&M(?~\{urՋ$9rՅ.(ᚷvZٳGܱ~]~̔͛Wq}$IZ`̙S/-4\U]%KH*u//zZ{߽{l6nG6VX!Ţ &(44TC ە҄բ<==k<'**J$}y^kFpHMM՟gI3<9s8S{eX\Vke?.IzէO ͞=[SNr#""4z-פkرMp.\(s>+__r焄8'@QQf͚'Ol6'|qq^`` zJƍkr=8SC IR|||cÆ ?r=<<4sLIҡC(q:tH˗/$˚2eJСoL_^aaazٻ 9NHF]#eeeĹT;e;8q\\nmoec;f׎0 'b @9%a[:@ :GD{Qy_-{Kv>O䢋.YgJq_zillߟ~k:܎AoΌ37֭[3qĔJ瓟d|Zz/| ښ+mmm)˙8qbry晼ox _|q>OOWWWUޗ73}|#?/r~򓟤-9+dҥ)0 k,\07|sd߾})J~ʕ{NyOx=\r%,[,'IVXk6gٻwoO1cd޽?Zd=yQnذ!^{my˿9眓ŋ3L>Oeijjʌ3R__ 6䩧n;̞={rwt- d̙ovR\.T*n?G:&VN+?ͻ̛7/'OΏ~<0h/e˖\s5G> /0SN͋/UVv?inᆼoso??T}77tM;wnfϞiӦe͹;r]wRʗ֖sueimmرcm۶lٲ%OJVX|+3gΜ o͛~7wqG֯_ȺٲeKZ[[rٳg@a`tuunȌ3r .ȴirg#=\~+_J֬Ys}:TQQ8hk GQ<~ G;6/0_:`$ŋ?$/a^_{oΝ}YjU!oI5k,ORI+I~*I_sy|#'?x푶9~g 8$X<&h…;wn6mڔ~ 9?I\ ѣs&IoָI466橧O?]r$V~$wyg+j]Pr 7Ժ!OVJ`X*VJ`X*VJ`X*VJ`X*VP2cƌ/r~n)[aÆT+,Y丶ݲeK>IR__;/sNZZZҒg?YVZR . sɤI2rر#۶m#<7{,+W<%o߾}ܮ,[,/R>ϟozӛַ5cƌoۿ o\)SdĈپ}{~#;@=,Z#j=2yH+VԩSs=dݺu.N+ K Cݻ7I79W^yeF;o߾4661ӧOŋsm^sg„ IJJ &d„ ;wn}jAs=7K.3g+Ȕ)S$]]]GݾX,ϼyz/˙4iR&Mk_ZNz{Bsy%sM̟?_La?Nr9yᇳnݺ31cF.L:5y{>) 2jԨZ*ѣGkMRIP8e<\q9묳$mmmiii9~.Kgggo駟NRɌ3w;ƍ| _Hgg瀯DC~.93gMkkkxZb Z~~[':;;aÆ|+_I[[[ƌٳg'yޛ}ݗ>Owwwlْ[o5=\ /kckؘ|𔭿+kk9묳yvm׾v}fѢE) O׺8p+G߿z$ԩS{ǟ|ɼG\jժ$ĉOs&,Z(sիӟ/[oŬ_7`t4K.MPȺu2e˖<製 zNN8j<G# ǡ!Iw^+$I3bĈSRĉ󶷽-/ro֭?'6l8 ̙3'k]O455 znN8j<RW`?~|͛Jgy_dٿ*aT*OX]wݕ~u=c̘19rd^^z)۷oϸq2~l޼y@W'?>*TP'r*7tSJRnô 2y1"6mf͚$ѣ󖷼%ӦM˔)Swl޼9zlt8g}v-ZI&9ٽ{w<ٲe1dh馛ښ[o_"8묳pL:5ikkO~guV75cǎͶm۲q<J`ԨQ9rEeyV6mZׂ_~yZ[[|2'x477'y+qWWQݱcGƍcjy`tvv[xq.Œ92 I^ U~ +J,\0/{}l:slٲ}{YdIOOٸqc\]]]<̼ iKёO<466˕W^yR_pa.˹뮻z>jԨ\}ՙ7o^wK_R*@$tXS__u#G֣9_~y~.455e۶my']DZ+JZFu]u]+3fLdܶZ$~~T__+"Io~3֭۳gOy䑴?744+HwwwOս{殻ԩSsg欳:Å+c=+W{<x b1cǎɓdɒs9ܜ|83|T*s=ryуcpk2f̘?so^o߾$9]Nv8ꫯ΢E{^{mƌ'|2=XjJNs#j .8sٳ'/r8L4O'L;{<#ikkWM 3fHSSSl'z]v>=:=\j_>K.ɓXX0roߞ۷gݺur%K/͓O>W_}뚚'b1=.] . s3z6 yߟ1cgwTP4a„\uUmzӍ?ߞZߎw2rN{g@S+H\ΝwyԚ\ڽ{<'uռ[79~Oӧ/ϫ|0?k]&XKKK;zB&MʤImGG)V8N6mʸq2nܸCbŊL2%[nwqf̘$ّH3mڴǥRן;w;R)sɏ~n8'Fn!R)w /ԬSm >Wy@v?3k̞֬=;&M5\c~ \aI 6[o=%C+c&ImgT*=yO>׿עDus9'K^z)tO̚5+?b0KP+9vW%7ñ>X:a >Wyp*J{;gqFX,w;fʎ;կ~.do IDATCњ5kv|̛7,[,I# j?~ϟ{ic=$9rdoZ7+ƍŋC)K{{{s嗟T0 p[bE>.3v JL0!]vYVXbz=WΝ;vz/ 6d) ` $ɤIr7)7o jhiiW_$ַ]vդh(vf4iRRݺuk:;;kQUsάZ*IrUW.˨Q$uuuyސ뮻hooOL>}{M,]4W]uUl3f̘}'R`PuPK=!K.%\$)) r9=Xk2gΜ$ICCC~W~+_!~;#۶m[nC7e̙G}m7|mdy睹3}\{ٙѣG'I^zvmGɮ?nᆌ1"Y|y/_~fƍU`+HWWWvܙΌ7. ʕ+k]&U%{®]ؘbׯϹ瞛 /03f/3nܸ\|YlY-Z)---ٳgO_0l pZT*%ԩS3nܸ477#mmmyv^1q#Gȑ#<;xẌ#u?eK0:::/9\pA,X &.[lO<իW딭?զLch!l5{,sԔ$ٱcG6nܘUVeǎ5jwܑo|cNR7ڵk~Ω=֬Y,X ٹsg B0<'|2˖-ɓ3qČ;6vʏ<« kZQQ8hk GQ<~ G;6/0_:`$ŋ?mvl&O$Yf$$__>角۞0wG=\~ri#pیCcoG`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJ`X*VJup:T*G/ UGRW7Z(Y6X  V*@jsssbvޝɓ''I^z饌3&r9;wLRI\bfe(`S'`5jT3s̚5+&LԩSS*2r$ɾ}ݝ͛7W^Ɇ fϞ=ٻwo*P$ HOp\..~fϞ+2R)SLIXǵBR38#IbŊtvvG?f@Ё]WB ,Ȓ%KRTN[jccc*J~1gܹssR$Io;V W?e…immM cɒ%>}zM|3)˽]XXX`^?,Z(#F8eښ+"?s!Vb p /W{1"^xaO4IR.{JNBOX'0},-z->++pªt^=؈#p¬XBxAONЁN,X f֡ ++J,\0K,u9YdI.\:U-V8w_};1(J%x;taeP`~ V*=:gN}}} B+K B3{=O0X lؘmilluIIVZ+J9rdSWWbqhrٙ}%P(d̙)J.R)3g̶mj] bh&JR3a„466fĈC6$b1#FHccc&LA!OO7JBYfeʔ)5PSLɬYR(  FJSSS8А]ve޽.FO;?MKҺ8I@mU*I*@+T]joKS]GX4:knW,Ғl߾@\ccck]F455X,fϞ=.FO;?MlW*rRJ4SQB38OV,FuZW{466fԨQ.㈚^_ZdqԦT*eIbfe0`fJRj]F455T|mÓ$k] =>BR)gRouȑ{//͙3'K.a'*`%ʰ8kvBk?sڵk_nb^e`eЇ>t$oo$I/[|yF}2ԩ 22^__?uW_}u3gرyDzu񆆆,Zh`_0l*Í+??Ș1cWW/JYtiϯj2!VU#VNkcƌɻ>s˗/O<#}gϞ]iB« W$Ix>g}v^3>mڴ m'b^e8`Q'3Ғ$ikk3>~ y nڴ7ڳ*É+$ɫg|„ 5jTu X7m{EiUZAG[[8Xa=)~s5%),^$y饗ҪoիWk%Kn߾}K2jԨ|oooe]xn4׳fGH=c)+;v$IƏgW^Irh +G tY=t ruPk֭K̛7xOU(t^ V*>X=x0 r{$]tQg}6I2k֬>=\u C=cm- ^}}ݙ4iR~~\O-oyK񞎭'Ϋb Zd޽1w#k֬IPȲeyG]&0L S5C iK,9d77sM7kݕW^wߝ{ /LKKKΝ;$*8*Xvn| _8{$?>suRNa|'e˖,[,~&ʰ/})7ӯ5rK466擟dիW駟TWT򗿜r~Gnɒ%}~8ǕJ%NIpсa+_J>k5\˿?@-VN _Wz6oޜO\X(:::O|"wu)0lպN[+pl:PUT+U% @U PUT+U% @UպNOr9ŢtƎK/4~䡇:uYtiΝtttdYfM6lpC-R]]]1bDj]pF˗gҥ_,oڴiy{ߛ$޽{3z̚5+fիl=Ԋ+5)ZRŋ/ΨQݝ=֏;6{2z'?ʕ+cǎ444K.[,Y$;vȪU|=ԒkSu  =Ї>*YfMo67n<}\q=zt^x~ٱcGdf͚$ɥ^au C- Rٿ˨ecǎg͚5g?{';w<7o^;앜߿?#FȂ t=Ԛ+5{ZPs~0tr-;wnb^}ռ ݦ+O=TdΜ9jMή]j]FڵKU* klOYDϲ):Tp6s{!1Ѩef.[t{emHDM2l1v1Ω蜊UqrR鍂B ^ ^]F$ɛoyڒ$cǎTԎ;m۶JQܶm۲cǎJTѣ䠛nڴ)IRWW*MJm۶ډu˖-d $9hKu$IUUU~4+CŽ;ޞJ2h:::nU7&=X3}ǣFj+=ՕM6&#G̰aR[[#ݻٙ;w#CĎ;pШtĈ:C Xr5liiiI}}KQWwzC[[lI^А$ٲeKzzz~4+&ILOSNI|z?T kkkKFsg$IV\9C X^:Irgȑ\3cƌ466fyW~4+T%Kٙ\wu;vl:3{$ҥK1C%UUz~YF'~?нUrl5{}q^k:=TM>$Yn~>5k̙:uǎ3&#G֭[uׯϓO>vZ ><_,_Sg8$s=wQ$[tOI9xY'9{?O[wv/bAW[HؘN8aS__qWW~kkk/̘1#'ON}}}vؑw}7>l}pC؁u فO؁P%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`jl IDAT(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVq''I+< 쫩)IsUxJ+Eف;$I֭[WI`_[ndVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(J @QVP%`(+E X(Pرc$w$fܸqWz8j86؁%`(+E X(J @QVP%`(+E X(J @QVPj+=F[n%fѣi7/K,XÇ;ܹs$ .Y@r-k1c1 ;#7xc7tSzzzTp*PX.$W\qX,Y$^zڼy9vUW XT]X6f̘[kر EMMM}: }VPTm$9sf瞴+Vڵk ˗/dVᄏꁌ?>w} +C|N8a%`J$K,PX(0uvvfѢEYlYV^$8qbfϞsfذa9wqد+V>ްaC.\秳 6{[o+Wʕ+xw}innЄ06lؐ|0UUU;ltM<0`S]ٹxuoVw]GrLxꩧeݫjPF CȢEzzy裏[nImGojժPDMM͠5(}#`p 뮻2iҤJpDkmm]wݕoңOSo1\sM?455k͍7{~ٲe;whѢAYF---YbE3<󈜧555ZZpryeÆ yxmsssOqe̘1ٹsg>ì\2jy)S䬳ʸq2lذl޼9oFttt1{s9y?_~9|hڴiSWWx<^?Ǣ>ԟ?G~]3<3'Oرc3rl۶-7nL[[[V\]v|lٲ%7n/~@e}~{%O!8qb=>];cƌ\xᅩJwwwoߞ444d„ 9;ΗL:5I{tww)MMM9O?4iR/dܸqI>zdg?s8ĉsWXWWWؘ &uȿhgggvܙ$ʨQܜzy^+p480VX1(maimmMkkk;zwLkɜ9s2mڴ$믿>?+<ۨQrW?$[n͈#ԔiӦ7Oᰭ\rs9Okkkf͚uV i„ yד$K.͵^K.}|' #￟5k֤ws#F$Ijjj?W+RI+㓍Hggay5K/M?5hQ]8\q9=o|k;tuuW_… $rJ ZZZrYg;ֻ#ɞvڕ1cKrק5k׮o׿>}<{uPw_#F+LMMM~wqjҤI袋rE3)oϝwYτ+rggy; /<ǏOYf{l߾=w\?]Os{ʪUz}ί[./R>>XfMN<<3y| S֡>?CwQWW5kg1+-~Flٲ#@sŋjժ޽; ,Ȃ nə;wn&ʙ?~zޏ|TUUA -[{̙33z$&Cv]wU1ߞn-G O+}vK/M{{{/_ާ޳رc{wM6izIW_}S{ג$!-jժ<製^_ Sޡv9?OhѢ,[N4)fܹsG>nذa%k &ϔ)Srꩧ#of^|AN:)]w]L)S66lȊ+SOr7v?я#,^o}[y?vMUUU.|_ϤI2~>{w{.&hxTZZwySwQeeJJJt뭷jʕڻwƎSZzCRGePAzEq.2]qjlls=$9rӧuر?Y}ӻwovm*))$566vR*--ՁtW+//Ommmjmme_|Q5\K/TԤӧO+''G*))Ν;m3D'744ri\ƍӲe˴gϞeњ8qZ[[j*m߾]ȑ#5e[ 6_L:GCk֬I{eW_ݥ]NҪU%[݃>1 9rD>`L ,\P .4xI'І xLEAWkk^}Uy8qBk׮Ռ3vUZZ*IL?w\XJybh0#Fдiڪ_|QuuuAggg+;;;s믿^CV "^sw?+Vݻ=6oެ>}h̘1:p,YiӧtR}PϞ=էO=z_^^.IO;W1XI7ڪs窹YK,ÇxTVVɓ'T3gO<?r骫$+ڵkI7nTSSnᆐk+UZZW^ySH'ΝGLV{wtuׅ= IDAT5 rNS>y;U=]f~N;|ET\\E?;ߴi/^hۭqi˖-{pzUTT$.ZH---#/K/'?I,[N֭}ݧKv% vë%BH< l2>}:yyy={ #GhӦMjjjرc5tPM:Ucƌ+)LssP| D2dzy<@,[j!M6Mcǎ뮻NOuVRYn3fMtqO{=8!ChӦM:ydX{JEIG:*۷OK,ܷo<[oU{֤IlL נATXXN@ 2;VcƌѰa4}tkQ2޽{sNlUVV .͟?_SO=e{Yf:uJw?oب_W Œ9k,̙3;eZZZT]]tF%#rw㶯&MҜ9sT]]#GHrwf"`1chСڵkm֥WۊܹsUVV-[hʕ`߾}TZZiӦ'|V(^goo];via͏k:sL\h*^sw?V|e9WO>ճgOvmў={g;v,& G>}:7ڸqvIx.{MiEv]V7x)))$ \:vVX&UUUiԨQ/_nI@^{~tJ`6lxڵ–,Yo߾>9uօ]K_nFھ}{Xkرl2.T?я$uT{ҥK~JUBH40իW/M:`.crrr$uبÇLgΜћo٥*emm{9}_T~4uTK!v}nGaqqqXscLW]u<^y[{.>wc%F zꩧt /5p@]uU:u֭[?0&vk|IkOu>[[[V89=3u<[NǏWvvH`Ŋz4o?O|^>}GG=wΝK$IUUU*))wW_}:{]tEI.첰J_=?K_R\hڼyP?T^^jຒ[9/_N|%9% xÿB#Ff=4n8IҦM"e˖СCr\={zZ=zFgW_{IdlݺUR*"}ǫt̄ $ӿVM={Q=z^mmmLt6j(}+_?_v[[[;U[Yz@o4h I/}Isy;:/ nܸQ?y^__r##JM2EϞ=)XQ6S )(ե^/«nT+ɑM]vĉ*))M7ݤ_}B m׫wPNN={h2d:eee?U޽/|A:z?v-YD ,P^tM7gѹs"^3^z$uhvd O,]p*++Ӯ]:U%IǎZH?[nرcէO-X@+V޽{ڪ"M 5^veZp}Q[ٳumE{Ց#G֦.Hqc_5#tR{w) HTKLkU6eΝK/nIzɓ5yd`jmmիT ,))QNN$r8*+;w 뮻N^{Z[['㣳_z饨?ںY/,X7 qnAn[mmm0aѻᆱe$9YX袋4b]uUjkkSCC?vڪ˗'zG/͛^z _^Z[[?WtRm֭S^4bUUUJ ϗTMM r#F .r'㏿O?Tov\2ɀ]ݻ2z)qb͞=[ŋ+;;[W_}N޽;o0cG?ŋt:UYYJiӦ {}YHojƍzm]G0SL$n >\Ç2駟Tv֭zhn&O,I"_ rL 4`\KөS׿UF҈#TTT={YƍeѣGGBׯ>=3fFeeeV۷o͛Xd͛ ]{zcQ߾}%uh9X<]E>' o8!CX3gZ~="'ƍÇXmmm:|߯75*ImmmZtvޭÇLNS۵m6z뭝eLSS='NhӦM:zh}ZG[o!СCz衇xbIA؇zH_uĉ̢E4uTM8QS>}#Gh׮]zgaÆ.|Am޼Y7|*++x{neee:/Z38 1ah7{ ;3-+/CcJ1?ob˗ORG0^~ׯ>,H]fo`C WjL [`䮻믿gy&[}ݧM6iŊzz[ +R̙3~S[KK:;v駟֡C; 1͛￿S[KKۧ?X?ߟ}_^<ݛ- @n3fL- v5l0͚5K/O-ijii֭["P d:*~:C&L_,-ZH~N8-{jkkUTT+RsQVV~iӦMKޞ~i=jiiI|+۷Ff?~\_W/XWNuV\N#t :N͙3GgVyyrssw^ٳGwh_6 #`b*o[yyy***ѣ5`=SZrF\]|ڸq$ri„ :*\wSee$hРA4h.2qxSNռy󔓓#Ijjj$~;wn>\Æ ӣ>L׻woΝ;cvϞ=Ov ^|ֻ^XX*..ONnNsGQF@&ʴW#ћ`w?ɶoaÆ;$k۶mAP~~vء 0@ .Ԑ!Ct뭷^ЪUtwr/Xnjy^曒nM:{ܹS\r|Ak֬Yz///W}}N555r:$IVҟ'k۷N>ivkԨQOIӧy昞zE+WTEE-ZҰӋ/+V(//OsٳgwN>-өoYl27ӧUQQ2S}1*$XJ3*! jƍzǵw^[sƍɓ'kȑ***RqqgϞ+WjҤI4h#Ghĉ># %IfҬY˷^~ë_]7p."=jiiڵksO>b絴ZsΘ]\\"I҆ :y<>ZZZ/kܹ7nqhժU?0&@ T @Rxt1|NgctYiҤI9#n:[NC_|~߫H7x#V-g/{ tIRQQ?fݻz衫t+WJ.M2Sϫ*I=zoGlM0VEKI3g&Lb9655ٽl (_PX{Jys=K5|M0^WW$UUU{ȑ#uWF\?|]y*))deeIznti$VtN'GIM?h޽Ԅ OKy<.a?PGUYYgϪӘ'|R\r.B͚5KfRCC p8t>\-\P~aޮW^y%& eI׿d-^X>͛'˥ hfu?hĉ***-ܢ[n%{w--2ݨi;D4Q5uD$(_ f=:qℚ+׫ZzN:}{wY7账O[[-Zt eggZbNS?m6?~\Suu^o{LuuujjjR^^ ~nݪ&ڵK>ny]=ZSSk:v옎?e˖鷿ټh8NO͛u1VW… aÆ m!G`} }611~1΀Nã<攔+){ҤIOlll@X-d*?$AW$Ʊc|+_=ܣVUUUuG *((Pccw}Z%5K|y% luXv#q1 2ƪ/ؼHTx7+ ^wI <\^>_!ؙpUGx$}UVV6;w. @bL:UիW'x7@p:[UPPХ+@ ɑPKKKӾ})  7{n%B$vžWccq$Ϟ=+@1c$^7oNnrOhڴi4h۵k.zw "''Gt7~/z­jXMd_ &}8,IDAT1a86;-1G߱8KR+F$'MëE<3pj`g'jlJ 5&xs*+u|3{$>\v],y<y<EF0rTPPB'7,޺uSUY0գ΁QVbBx5bMhjUժͪy*fS:R5{8&0%)|=z·s@۷o$cǎ%z @R׿W]]}:Zy{=Ҫ'جU5Vq6WqfVs6Z۩ 2&T5igl T!Uc+WaVgEEŨWPP0wr׫Mx8mԬKZ+1#Ǎmc\jk8l/ֈ$j'jhl 1jjbuIrt &HfvB cBXqЪYo,I:_d?Vl6Z1gV}VI5/Tx(vV_;Ƅ^oGXStfjlS58Xפ-TP{v~H㇉4s=RU0ӗ/kWG`UU\mUUU\>v6v։VOcŕ D)0@*9pN};k͑> ZkXusVoq:Um RU ,\**PV;AVPsOf.LX; zpmfTcp4yuêc1>6=vU(jXaVY1vYǚi%+X%c 8c`}ve5۫Y0,4+e3j̚ydJ5Ze20lPUa!꫈tiXjXq5ݸxM^uj@S48T5W9¯Vo`cB'"tHªfAc_@lUu:5xH}f`OUL jWc7D(C$+X%c ,'N5 */,j;WG2lyT`Y ,jw/c Ԯ*kaj*ڂX}VUOB}f!9TS Ȭl4B Qլj8 PXC J 8ʩfU\C}RY,TVReff 'j<#T5꫄Wmr%z 5$ X&}V!\cH | hJrbfI`PYk=LhkkŻ c$Щ1j ͷblvTb,e Vf Z`6o7WFUȌ+4i3k`5>cb58lչC= 1Th ZYCc\+~Bi̪[7TpM6*J`j3VE5 JCU^u]Tb`'eU4XԸ0.hëv "FV4UX팍EjVkYG #l1Cf5ck 3 F^ UA5\[thd*INcX5[Nժ-t DVmV}fcֲ lOf{ jiM RrUaj3lj57jZ1V`oM0*VXBGéjf մ!DXڃ6j|jk8s# &^J‘dhp# ٛ8;{ /\iM`*Ta$faXXXYHOT!<$j7\jlxsJմ JRV7'Rkmլ-VAX<97=& Vi <&j&X_W2"K5k&2* 5+dPJX,jApD&XĄX# |F펵`Ul1jb3-tpCɴ 2* j«F"cVUJL`cb~ k8d]@ 'TN2Vh눥 J0LT`c"  Y$^j3H`bmH_L " LFZi5ܶ`cL b 5& ٸh!ddQUp5ؘDWvRJ(UX4xj~ =E> g^8s#K8s)29*o5u=WkRG8V g2jB^3tm55u~V#m{;6DLkkD{H-^E쌤j,^`,b58>q49bXD'ޯCwPcN,_5H W]+X+X$l!V93ޡhp@G2Qa`"Yj7 8YX#]+h=/L0dU4\«I,+H2eX7V&Xuh5.FJX9k2KBX;«dP\w659ZcXBW $ZK kxsY=vx!jbpb5[[G ^^u 3U] &XV73s%C`+d^ƫk2\[#XZ"*kdyeWh5^k&R AB{!v全OHV*{%dڗת;s`s$"HJxI\X݉M×׬kv>@0fu&*DJx5 #-Yr/@f̴꧄WÔ D6-D8MS$Ch3L}$R%k,0J}Kpf+YNɲRm.R-,M}4ƒLg2%tT&%^R!K4d &RH5Y!dW"_&#áɼF1R5N=G*CSa)bI: H~M,+U_T7 1R5N9#^t@!אR!&N:xMϤc3)8LLy2: eJ3S3)*Lx >lvuH Gp5L^7Dj"$x$F82u^@(25B) djd2)ddBicz}Bic="Bipc=$#0#@`5^ ">*"hq@f">D IDATx{\e/෫/N'b ' !d%2*s (GEQ "r "!DfA q$#D f$@ȵө:t[wUu?Zj_׿zwͭj-U@#ԣ - A`hn C[!pPVL$k J"Au^}hD0g @3hG&?WFaFq`4f0klN~nA&#<`p¬M@(@Ypd 6 !g'@%Esh‚7Z~<h xlHB3>y@TH; pX#s=pN .79#jϻ%I7fwH>Y'Fd;P!aLfqK4~YRAF_S\Z@=rI#iDb  5hiz(iK8#p9SQ1"ջ#LCZmF>Q HP֫QK?N>6{U$pWec#Z‚Z׵j  TXz|~C\ž\S#S- }6BUB†n짥4#Wt5FB:p~nC\tŶs-9pKX$tXzW=n%5@>B; ֪Bl5eˆϫVjCQmPh=B%P,]3Wݮ%}8 @sE}TzL!%tX;Zj-oc4z&=f%af Bpp^-7:\]O7!jCdbm ƒ gxu(ïPM˭ZMU gëV[UeVȒĬj9mkf6MKr-֦ꬕ50:Uj-PYSkM51Zj5BۺFB| ҦAV!::h8«Zi`,Yie5V!a"xë֢Ҫk `t(k`sWBXa<* #ZIrK_K_)F uF5#)ZκZV<0`Xp`J۾}U\u5CZTM-gun[5CB}zhëł Vq" ZN H ֻ ëVj-|h>BTfeU aW[J\_ly)JTs`d(6-Ԯu]I b:ex^Jk `pY9*: չ'jЇZWGϣshRJ2YTRW9UcTXGkpλꫵ Su`F0. ` ~d-PX k9}1Fkp(λQ«C\ʩ<[KWqJU H CuΥ8k^-Vuj)V:Ez6,/HZhYK pX VjTXGchp(ιꣅBՄWK \l9 SJhh)AR"ZNt(B#P`_iv'_p*֕Ru]gn0j{)r .+k_k`^QbmzV_Ux5_R¬ŎS3L,T}P kPh9󅂩CbU )h8ë[Fӵ04,̚ )tXs-'YJ UX-vbWK Ȓ"k)ȳbA֡"歖HW /Ex5_PpXR02Z,ZjȴjXKZmU aT_-5Z8lX^꾋U`-TuJ,bT U`-5hڿX5KwۗB aW3KZix+tV {/VyuijՄX kX+_)j|9B#w}+7Q84Zj kpl)!Cb`-H6JRèQIx57L k|wb` ~ &sދSsÛS蘅 L-VŵBe`-V_r`URKo|UWs-[O# AsVY Y UnӥXUwUMU m@6YnxXZW_Ws۶moNhWcftdDnlX7 8vtKF(dnSmKQH6z2],o]A鶌W~2 @*hjAWɜ֕R=PBV%-`W /7Z,߮#^ DD̘1cN;cN{{D"ѝH$z_^d$d2a֭{zz~K/O~{TbXV,Zi5sXD/5ZjR 6f-'oujn FD˴iӦO:䮮c ٸiӦW^? _nX57Ě/iuVO Ī:XKPU_&r`Ֆ"1^m1cSݽ{STDoooƶm"LF*5 hiiD"mmm--E6lի>G_'"DvH5UN57ZMUa&Zg%WPMO)^MLgkUWΝ{qx˖-2f̘/_Z5"XsCXbHBr `$XGjZWsGDWDĞ{yĉyشiS9 ȯ-3""zzz6?K7[xjB6zw`3Zj|9Ws,w?Z, ~gN<ꫯƦM"̼7`pd2zzz7ڢ}qw|g'M#g^ە2R/R] S嫾ٶ5Usb{xu6mW^y%mۖDT۶m͛7G"5qę_n[Lu룷7:::Ν;ȸEjd> Uphw`L)o-.|܊7m-"f̘׸qFDlذ̮PO1f̘hooH$|/Z2غuklٲ%mV.6lv!ƍ7wƌ{=D_m&9DD$36OeKe,Ϸybr~}{QeVJ8KxZ_J`ktfHL:̈͛7GOO=Z[[c;Fwwwttt0I$ݱ;㣵zzzb=ۖ[%)Ԯj׮TsTSfPBX[#}ڴio="bӦMa;ctvvֻ+@'j?ݽi}BÑ$ʕr1 X;_rP<Ӯ#"ZN-[Dooo^ƎǏw7<Əcǎw7^ooolٲ%""gҙx-u,%KWj|m ʒC5\h/}t3?η-"Z@zw([%Vϴmϸ3oW뗙UNNVB^`R+psoB7i[D$O>cl*`hp*B?~|`0[lT*cO>+!b3o>w_1FBN),`./Tv鰈 pXrh.Yg۶gٷ<~ B׾T5FBQ. q/s}nʼ-"b̘1#"z{{tzkmmHrh2T?֟u*#MK2)&Q]n;h2w]K{{VF7f̘zw{:ٶYBUW+X>PT` J©6](99D"m۶z hoow wӟm۞uk򍅲qí٫Pj݁*5ÃpyK&'d2Yf7Nmm:N]^DtttD[[[Fkkk$hi鋑RH&m۶ضm[FOOOe=Ya5Ud:SeծktB9KUJeR W9TD?F4߀S"1cĘ1c}BTKKK:ؚi֭e˖زeKCYm㭙ٸRmO"" ܎ )pueR+Ş)Wj5<IŸq㢽}ȏ~ "YbR-+e]""+?;Qn,pW2-'?Y*@ & Kx_{{{L0!:;;Es29I5sQj-9{6g@]]]1~Ufy DR@2W/گA5sKu&ʼͺbܸqF7!~juvry5V4b`iBBUU ko`D5kVz1~+[nw*uttć>>KDDw[o zɌ׶GFX>h2T*^~q#"5.\7|s= p~qg-5kVwy«[on5|䶇vX\wuCٺg_rez*2[oDb써;6oH%Z""UN4T`m,0 \xᅱm۶|U%Vs1ħ>:ujYf… +?__Mf̘Qr]ve{ï*L}CF4kT  Iomڴ){챸馛n[FD;^{?^xaM7T~@3:c⤓N\xFr|`prN;k׮mj0j?@I$Yߍ+6nHwֺhהUQh 6{«7tSoݺ5VZO?tw:{W^qG'/b[./^{nYK$qyED0*}yë7c̘1T*w?pu/""{x׻gώw1:;;cݺu3o۸[W_>C#s<믏 ֹG0zT3/{Y&N:x'ykVC5km{9?s㷿m޶p@,^8=Gǚ5k\w3fLlڴT _#fh cƌ1cƌ8h|ߌKֻkP=#-Zǣ7~G>s=W*5[qa FĀe]6՝w9N9唘={u'N'ƾw\\uUq7[Vj)Ϗw=""&MϺ뮬v}[xF IDATne@D"{bܸqe+`}ߞ^zu:=_d}ٱdɒZw a_e_ë?φg}fΜ^zij>7dqpXpa,8#Aެ6[n^ t]weY«z׻ wpF<K$^~&M7C)oo .HWDeD3V`mƋ}n(-Z;Cmom~wq搘1cFtA1g?dߗ_~y\qCz+4"B;va7;CzٽK,z(D̜93>଀ɂ 駟y%7Q+K,ѬT4+WFD}*;|-!s΍{,~{s=K/N;ovslڴi79y晬坝1k֬|yWc=b֭_:݁g}vVXvU#6o\>j%"jZk4]6ȰnݺX|yp cϚ5+^ձg#_?d#5Z̚5k /Z. 駟. 5uR*^:V^=ՈO|1q^gyf׿5k?ϏK/4'?ɬ+PRƓ{zzSNsq=\J?,f wh;{{{{Noh@qmmՠ5gyfN/;蠃_J?O:v}↫iWU֭[c:s:fd[xqMC5^Țt2«и&LO?C(R_^馛?yz3?!'4+W_O5O]ҌəD"sZ?nܸk""矏_u_z}lذ]`dAĒ%KbYc!C9$w׾aӫ:~ӟVuj^g `4Fk}A ?`ɓ'}zk|+_>8N8ᄘ9sfKqW=蠃v-M>l󙊶7ë_]tQq ~m+rm~ġcǎ8 yYgn?d2m.KS~:""ϟvZֱ̙rKD^8qb\s5p¸뮻c}7vex8'4x8#CW]uU<ߞu"">FUxrD?XlYVjLCX"d$}uEw߸;e˖]w# fc9o<p qI'%xm1*RDDF`mf#: ;a„_|q@ӧ ''|rozӛqG.K̟??/^^H$vpw9vy9sf7+9N*O% VU@ꪫj+ĕW^{oǜ={vz:J?6֭?GD_58ꨣc]w5l1}7o^?SvmuGqDo E8AP>?c=vuu]C . ,Y2dfUx`**~W;"xe˖Ŋ+b֭?f̘5kVVJ x;@1fgZ!|3Lk^]klDgF1o {zzfv/~s=qiz{{cŊ+Ğ{7D">o}a'x"y71uԸ뮻X{>.]kG}?4* SSN}csvJO?%PWZ&x^/r 7ӧ W=+Է=3=nݺ7n\z3?#ĪU_f㈈m۶E"H "ӟt򗿌'x"a1~}{nwpTŋW0vت?~|zzݺu%os G֕+Wʕ+|w'|2>A뮻/^x!:::⨣O<1ZZZ->O9SUjOFM6EWWWD7n7|nذ!=M..mmm<>FDX)v[\tEsEGGG|/| H$-/Ǘq*h4'SW8tD?GDD{{{̚5+~śxӛ<@tҬk̊˗/Tr{饗"J Rx+ȯ!k2 C*'кnc=6H*җK,??3dVn-='w==YU⠃:*L^m۶JSrS /5kPod2暪yɓK}+RU?uW%{zz㗿ez~רybz饗'NLOPOfsڵU2?ؼys\q裏׿-o)t'ʸ馛Ν>eԪvcŮ}UXWZ2LƊ+:Z{ْdVC9$dWX[ZZ _Blݺ5n檏L&[}m_yH&===%-[^{m|cs9'|`6nܘL[sp)SQG\pAJSrSKB«s4iR\tE=z^ՆW#"?egVG+-szc&LP0-_<=O<Ƞ?ӟ4>2]oV^5N;U?hVC5\L̊s̉#"bݺu?1}fw1gΜhoo?Y_5b{8W%\5N]JR)5TKXT?FqUWŢEj'x"O}.O>msxx7~={vo;w;vlDD,X 瞸:NO-^8lْ>/mذ!'O~T*^~q#"5.\QoswI'?cҥ[p~YDϬnaU g?nҗmmmqAٳ8cѢE1s̼>q'֭[#jA#)'DDL}? _BvaYojr~mmg(G?=YgyfL<` /0?!VX;=?uyϞ=;_kf nܸ13`WG[.֭[W?=V^}sN:Hqַ7ƍo}[qqǥ4:nܸ8=P O͛^vmVnVݧϝwِrjLJ_yx'xbz:_ kFD81S}j+P|3Wo漕X?OWuj$h 6څPj iɒ%Jq%;<]npw;:;;oڴ)6mڔW:NDij>m| ŋŋbʕ^Їo馬͋o9v+W|;ښMkkk\xᅱ`a9'?~7vrKr-dɒtpW͛Ϗ=;GWWW̚5+>OƷtT*^ziVEgy&kߟ oxCDDoc=v<3fPYg3gΌhiiG^_"}?^y啈x[_|q:]w]|ww#?ҕWǍ_|q:`nݺs25o}+EKKK$8pz}Sx|ɬO?=No~Ġ,e/N"vڸKjУ)f|]wݕμ/_>m2 n_}լ l<(MOiөT*} pk涕h5k63|㩧ŋe4s̸UVEwww̘1#cG?=PDDyq 'DOOOڲ0/5\dtyϏop@\}qyeg~u*??]M6-~+Օ^/ìWz(v}kaRRƩ֬Y{lzw3 /;/8^|!(f|ߝw粖=裱f͚}\ti֗O"ƇdE\Z'I&uhooj?/b\q_`o9zzzӟtխ[歷(W]uUtvv 'ޞ2{ڻ̙3c̙_{qwTu=p 9-ZTu5"A2|;JC-&{L/׿qꩧ<^yõUY/袬iGΘ6mZO%KaqDD_oҥyҒg . i'/˸ 3ό1cFG?e˖ŭw_g}b1w>d,\J΍>}^|ժU|eST,\0⊬]}?)!|Jbd[fMqy׭\2k~}.E_Dzx饗PX9˗/"O +͡LnٲkqBn+:V-[T`eDI&q>x[ӧO׿/Ƴ>˗/n-)͋sƔ)Sbĉ=\N:餸;bݺu/?8cnرc_2>;,Y2D=ƕJ/87gqFw׿>lXx8s̙3c„ Jk<裱bŊկ~~y>?ptIq'[8d1h۶mqYg7\Ǟ&MT.UKKK?C:БyeX#"z{{G8qb\s5O}SOױGqM4)>ł 4K,.i]>y1}CױGm$W`uԏ ō7.i;lӦM~!wInփ""FDrt2畊mGƺWx/.ML/Wnbm* O?]x HR}/""*YDwT*կfUb=쳅XɭY&=}{>8o㗿eW76Mӽ\lʔ)iU?zXtH$qgD"׾sNs=]֬Y]w]\wu*rr)u4+2̙STȹD`j-LƆ ])jÆ L+8 K %N=TU#Jիկ~۶mK/kooN;-ZZZ{nKYD@#'U K"T(DC=刧z$[H='"F%V @ڂfdvw IDATfz9fgvy3P5 >ԮΝ;P[[W))+;x7n$Ib1f̘䨼FRfnL}^-t|׿m=z㶞?ضm[?wta2ʄ ͈Wwڕʵ_'IDDDޯ;{U{=zֻbu[}>w n/Sc᫶/U`׮]}J7#j%&)/_nk׮hii[ZZ=*7UC{hooOmmm}hooOz\&"J7b0 #T{{{477ǎ;~;vDss*X&ܹ3v'N &ܻv튝;wFgggI " U3o;wqŸq㢾~Xjkkhmm\"X`l6[fCdrHSgggڵ+vl6Ǝuuu1f̘3fLdd2$ItvvFGGGtttD{{{ٳǼ&' #H{{{;MjTggg޽̀! mmmn0 . + n0 . kd*FUfQf0<|" #Ν;+`Y:Va:::0 0޽;vQfcǎؽ{wUIF;wZFعsgU {hkk'+yw;wFGGGUMFjƍl@uvvF{{{Ekk*+TY`R% @XH+` UJT *VR% @XHU]@:f͚'NpKiӦU 5⡇W^y-`0$)۹3L 0\n)+` UJT *VR% @XH+` UJTUP$IvL&Ss@+` UJT *VR% @XH+` U j$IYΛdr^ @XHU]@y##|5P+*VR% @*`h$)y3LY YTY()+UO@k0@5`' @ڲnET *VR% @XHU]@$IrL&S +VFxFl@m` Uun@I,d2e9/@ 71> J7bVjVV݉0xV P4!LyPn jV Pʵ\:+*+P6ZʿPXT`dp$@ IZY 6J7bV\ʰ++9ZJ@OBTVFoФ'+U#-@ @1=Y?@ PZJ7" @*͒$)۹3LMwPM @ D(+gl@m+`XB Zt- Fr}lQDߏ.J#|W#XHX4?+-V`&`*j4e+j+` Uun F$e9o&)yG?;FV$mnET *VRUW@1$)y3LY #IGe+ /Z-[P[XHU]@z$)y3LY NV` UV`NZ:]+^R%l@m+0> JT J7NI弙L,`+` U "I7ɔŰ+` UJT *VR% @*2$)۹3L @`tiVVR% @XH+` UunK,d2e9/`*\ [P[XH+tQ$e9o&)y )}F.VF[d+jXi-wyw&+*VRUWJ$e9o&)yjXH+` UJT *VR% @*6IܙL&kU:i^+֨jy-E(l@m` UJT J7!I;ɔP @XH+` UJTUP$)y3LY fVR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VRUW$IYΛdr^XH+` UJTUTF&UIZSu\k]'kOqv4>UǵFuҼ4ܧhNrZ:i^}ky-:5ڮܧhNrZ:i^}IZSu\k]'kOqv4>eVR% @XHk9Ϗ{'^xصkWgy⪫~:ZZZ9{cǎMu=D$Zf>׿a{rK٬Pի͛7Ǜo{m۶#<_җb_8hѢAꫯ'1>~_k/dž /iӦ9qT~@_^9O}^^8ӭyCJ5o6yr=?J8Zg F .]{}뮻ijjJL *[쭺~Wqj|أ&59"[){kޚ#5#"[D̈#)"#"Ȉ"⨈8!"466&w\2O=T2k֬$"C=4y<KoWJWzj>f͚׿lٲu~}Nx\Yrʀ2Id<ꫯݚ=.Y~>}GI&UgTSO=Un۶-9=qbѢE#y)U͵lٲwg?;SW81sAB~JR/ W)Iˋ(~PZψϫqx)5ګž~fP.\t箻ۧk666&ID,Qѕ]ٸ#++]ٹYѕ;$͈wswӣ+םus||_wޯgg6wnplA'1"+Y,SC2^{D]]]۲l{̙3gϟwqǰ Ƹq7|G}t~|I__Cs~ /:+{y .[o5fA9{3gV?0xgyf]6&O\4Nb(R/(l4b 3^eq85h֭qWӦM?<.hmms1ҥKdɒ?~n},[,V\oF|yO\rI7|\pA믿>=ؘ?~|}ҤIqy9^?.?soذ!VXo]p}7n\̝;7~_n?{W^n-*N?83⭷~8Pljg}vqaŊq-C 1eʔ"rM$)N:餘3gN,X .غu(v(f^L,b|JO3BN,żz)Ԛ<ύZz{pe{.ܽpÓݥ"^{iѵ|qR3%egE2Mѵ,ѵLZ6ZFyAccc2o޼3Lf]~+,|ߟχ?mgqFmw*RZzhcǎ$I䭷GJzs?iml6ټys{R#(Y|yr衇&,]4OGN?kX"y_s5y)UuG$LN:餼~vw٧qb_~sxy)Uu /ƌ3NL:y?Up)g1AU~R/vP\bK8<*qόj… ~{<뮻ijj*ꚍIccc +vTteFW65EWvnVtewu3uszݹx7ם }erJV+֐X~}tvv{iӦm'޼yss}Hrz'y/.xCSJ yj,b|Pp yy8S̼R\gՇ:RZCy-'T-… ~~'Vʫ'x"o}sɒ%Igggn^{-ﵧ9ѕ};*ps+wDte嚢+;7+tĻnnztesy9^wor 2B9Rd%XkT&;3>w7ƗiӦED͛^^R5؇??~8cűx'?oSSS,^8,X #cŊ*֬Yz+}-on袋VSϡv=SaÆvSSSL0!o^z)ϟo5ZZZG%KܾI0۱iӦ8S}oo]m=ܼ;׃~sgw{衇{uμR/(d0ˋQ!ԲB_}(~n=3f͚z}q֭˭NgϞ83_,W<;Q^{m2̷zk\p:Ǝ~s}E]SLٳg~W^۞ Jk _Bn{ݺurHdmݺ5vܙ>n3fL|m ^؆*ݙ=Sϡy䑹$7|sN0!N;>ZҶ]:::Ǐ_ky V_577Ag>8o{(';pgV~RB7ZYyu0rύ0xǏy= @ƬZ*˿,xl[[[lܸ1/>?O=}Khoz 3Ygs&M3f??O<1OD{{{>pCկ~5Űb=G}t̝;wg̘؞$IR:ss_wtt??ZPKz~GuTgqFO?D1~@y?_Jq}R0V^]1RUgѢEq7涷m6m+V/>`֮]'rwuW\q1a„k,^x%}7ǪUO;_DD\ve$Iu]Q__˗/~lg"Z?k…qG{#;"#H*ko'?IDt}3<>`e B-Y~}}ٹ.(^z8󞋿SO嶋'N;8\Yb|Š'x^^8SyCJ?W/v|)P 7+3vW潩׿u}قTL *[쭺~Wqj|أ&59"[){kޚ#5#"[D̈#)"#"Ȉ"⨈8!"466&^{m2w_yf{?L5445kȯ+bЏ˖-s~ȭna;InعsM6%}|޽;9+Rt?LN9>(fYַ;3+Qj4#<2>|'!)bK?;*\R~a '9[*Ǐ7ߜK/4 .,vjpCVUU#<2rK= 2$:uŋ'_W.`=^z뭳fywrw+XqI&e7Ν;SNiժUf̘~;>hL45jT:vXX[`z;>9餓rAwY3u<쳹#,ӯԿ5wy]qChi\~OfجZn%_Mri-Yۺڔ.\~i˖iKdjΝ;?$~i-չs$ɧ~sIf%U_y-NR??gmK^^mOjYվk붯5zWM``A РXhP4(V+ 0t$i֬Y+W^I &_:uJ|E`V+ J% @`A РXhP4(V+ JU^,-ZHfR^^Ry=UUUYhQ***2TVV$XkeK͍/q f츋qX ,mڴzWRJKKӼy4o<[΂ 2{leeeiݺuZhQRhĖwiӦMϟ9s3.Vƺ~x k\˖-Ӷmbz뭗[/fʼy]4:ƗX]-ZH-։q k]Oh4q '=X57nC<هҔt.4.-Az.j뭷YXgE.&EMb}B}j* kV š^`]Էp5sqsX:k֬YK&y.&)\cMh\c44Vˋ]4 %U&5k)k & Yi_%&XWp4n1DhP4(V+ J% @`A РXhP4(V9]XXx9]Xuֵ^1cd̘19cرccƌI~丫})-m9XiU^Ή'cߏ9昼Enty裏W^ɭޚ ׺u\qիW&OO>9&L(vY:$W]uU+o,\0'OΔ)SK/gLR Z?kn:ӳgL2%?я2qz(6_c#G.v*_͚5˖[n]w5?я=C-vYdիW%r!Eh ͛K.nr1oϞ{Y`gϞI:䠃*rE@C`>}k׮ˬ6lXJJJPQdMr[n.e-ZrEEE*YyB|g;vlƎ{/ ,(l+++Yg>}BXUVVX^~_׿uy' 4jK`qw)+FIk_g6lX~7,loѢE?+p=Cy3馛]Jb)SN9%GqDgw}e]X!y<䓙?~ƍ֭[viN۷Xʋ]򔖖fĈ+"o}6d$ɷ*o9sf{K['If9sf+z .gQ2V '$ꪫ\ И͞=;կ;]vIݻ*X-\0guVXFkСCd裏6,%%%ETTT뮫GEfb&V`eTTT?.,Ϙ1 @5r?C=4IҩSkga5jTvu;믿~&M)/__u:{;v\~s r>}r 79䐼kхnժUƏ{7=Xz衔ku{eygk~UW+ѣ3|3?~|䩧Zs^N8ᄔ+,ƯYfj nݺcǎ)//'dر[2j˳u$vZmVz}sg;`Ӽ{o/k6\sMk 6,=z(svm`͛g=(,WXǎ/2lAd m6{nvm훾}~m u_naSsͮZc3puQ)++qFv!~w̎;+"W_}u:?4o`>r/Ν;s|xJJJjǩ̀iӲx╪;N… ޏYN[&ywus΅jee2q-rkuy9Sv|q8ꨣO^OTVVg-`>$K³w2_įֹsBxqΣ>:ݺuGMXFiȑճV{Dz{'I:u~-3 k>}2zSO= . SNM֭s!OLii9_ڵk:y歱Hkg>_?GqD<5vcK/͛o~9$eee6lXfaM @WZZwK.\[`A~~IX/BM6٤LC=c<o?<͛7AN:))//)R#:f̘\xy饗g֯9 NK6h, *__5(++Kf ˫bU_|1/bN;pI?~QF%YrߞtIJKKsggȑ)))ɑG^z^y\~y뭷R^^qWmw7 + @ӪU :?_#9|e{ff6mZ>`9srfܸq˭WQG1cd̘1ygs뭷栃*lsW8+kĈ=3g}x5v뮻.z-Zꫯλ[^X\uUE;>8L4)=XOffvI{~ IDAT6[lQX^7׿2sdɓzn<C %몪s=5«ɒK.ƌ[ou}EEE}=::u*W=E}]oKO«ɒ{kagϞ 7ܐ߅q뮻.^aXvf`v-뭷^a+XaaÆ՘"9 gܹ꣜VuUUU{7^ziGշ;~{wݻ'I6`z={Z v}wy[o}ܸq8qbai]vɤI {ォ\C=TxyfͲ馛棏>ѦM6y睳6dM7Fm-[$mQ#$СCs7}߿%/?*zFj۷/XKJJrQGO-Vz>hZjN8FSN=ztF?~/^.zk۶J7oJWs@hT6p㎫o53f(P7dU_]n!]vY|UL.]$nWU1nܸB5Y[:䤓NJYYYveСY[zNk,W$p@;$ɂ r7^ٳg{]nνޛ~e϶n>-[Lcǎw߽Z.z0aB6|$k38cm``Ç,I2w7C I 6,\rIaqĉׯ_dvl/rkb3gNݻgܸq+ĉn풬]&j 2yۧN{.KJKK;g]w-l͛7_f7/23f(,W?f=I׿ꫯBxUUUyk%Y󫮺vءF@pUC]V=U&L(ܓlMڶmO?,m=,g2s̛7דO>YhI޷n:_|q:w$i֬Y8kuԵ}YhQYbM0駟^k׮9#VgyorMxXUz!RX~rqs={g$yq;;%%%)--^{߿a6۬G5{}Mfj=o]veYΝygϞZ.Vz[:[W{ O*++E]T]Zǎ| 4;wζn[X~ꩧVHÇ_O}zfΜ_?Irie{K/>o]?wyg.\Xl_裏W^ow}+ȑ#6ӡC_,6mZ.Z?/dРAK[Wd65\YfYf5|SN͟yBF޼ki߾}zꕒZ3zvaȤIgѢE۷o /ZY7}wno[ok:[,ɒ/Ϙ1cҲe?ٳk$Khu-䥗^'|VZ[nիW9昼;1aV9rd}UUU~O{ V_xq~؞$:tHf2wvmw]ק/lA{5*ɒƬ>j7ĉW;o=s5p*u:w^ ^8qb}zao;,'|rfj*ovźXcگN_=W\qE.7ɒ^VٳO>?G}4UUU+sC),?+5$gyfv}lvرc_5\9s,~ĉ9#r1ǤСC>?>^{mڴikf~?O3txӾ}>˄ =cǎ]P{]|yײf-HUUU&LB\}չr[nb-Ү]L:5}Y< yNYAӚQ+[uJkY֦tKm/[jүum 4$/j95N:<'I:묕-1(--?ߨë~Oz$0aB+X/mF;RZd?izZv1wqGa4amO_߿]7%z]&XiUi5jT!:{+/v@3o޼,\0mڴzWrY`AfϞ\K[N-]kgΜ9ĸյ.'4n@̌3RVV-ZYf)//OiYTUUeѢE J̙33gΜzi޼%Q=p,X`wq2KWjܹs=V}|% @`A РXhP4(V+ J% @`A РXhP4(V+ J% @`A РXhP4(V+ J% @`A РXhP4(V+ J% @`A РXhP4(V+ J% @`A РXhP4(V+ J% }ݗI&e=(v)Poʋ];y+vܸqkRRR+2Ϲ瞛|E¤IԿ[nYxfYϬYVfZF$XXpw3\'N?~*gvȏ~L81?WT(bŋ#s}R:dv;PO;3ǏnVRVʎ;.v)ԁ+=܌?~/;nإUtT;oڳ|%%%SOe.h$ʋ]Pwˌ3$` ҫW+3f̘}Y`A+e][s$f`2iҤ+վy4iR$ɶnI&^k ?q;Yg֭[/w}7ݻwyWrg ⮻СC3t.ׯ_vm\}Yxqs9e4iR|L2%wuW 3Z`;vlڵk*so]>sKJJ$'|rJKK3yL2%m] }'~x{eլYva]NZ'q/_W)))ɱ=3g}vKcx{.hdXa w}; jw=[WTTdˈ#rUWw~|p~wɏI 70~F_8TUU-Ϙ1crg̘1i֬Yc˱veM6g}VX вe˴lrmJJJm3LEEEN:N>=zjv!;c{eq]wSOMEEE ԯ/2ɒ0}Y@ր/93]FdwFm^xFx… #cI>}j ~«ЄNI1cƬ>8KΝ^e]9s,;LYYYF=#|pzwC=k&-x gM7ͤISOW^Y״-"x`valfi߾}>䓼z~wygw~G9S3hР,^8rK~ڕgԨQ9rd8#mڴɫ{,$۷ϱ.}͗_~߹K}r_f]vG}wޙ;wn&Mx ~{fΜYhN;O=ҹsTTTdy饗rM7eܸq+֠dϞ=s]wwI)SynveĈ9CjKJJ SVVL>=}I>}RYYo|#ӟ Oޚ7o^JJJV[eȑ#sYgofr衇3LV NZ]=rgJL<9mڴɷ|[6l{.?ϲf;wnv횮]fذa9k &1'i޼y*++3cƌt=ݻwϨQr7 .HUUU~"=ܴnݺp[ΠA2hР<9眓#8"I2mڴ|Yӭ[ly衇X`-! MLu(G0̞=!Jȑ#ӿJJJҳgϔꫯ~<|slA~_;N.z%_?묳f̙)++ѣ_2nm;,w} 矟;sM2z:? kηm׮]n;vl桇ʘ1c2}$oN;-F9眓'|2SLu//ő/f͚՘eZ֭sgٳS^^g<0x`~SYY6,]tQ  /0#F… kwĈ9묳2wܜs92o޼t)'xb8qysM7-Sת.N;_W7o^~_Gf͚$tMo~3&LH :4GqDMy iѢE _~k 4|I{,GuTqLvV瞜qX᱾-Z(7xczC=4?|G?q}t%={̿-[Ns~G ۾̬Yr'SOwߝ3f.OYYY=$Yg{O>$zkayȐ!I{wkmygWx<q)-v5~$Kzz뭅'3Uf>_d,JsvJꫯV[pa!ثWZxZ?I<ڐ!Cgܸq5«KW9[Vk;vld뭷^n;kë?fk>eʔxWֵ;s7n\ҮL:5ڵou<N=/^ML{r˯m4nf`F[zV͢ /dڴii߾}<̜wyR#-\0of9L:5'|rw\ve4i޽{d 6(̔UlM%{_SLIնj$1[ڠK.|ӱcǴj*oyUVv̩S&I7o6ӦMKe&;w]C\f;3$b-2|Zg 1cF~_䷿m9$o~̞=Цcǎ޽):/1-[f+`v޽6\9s IDATnݺ%߱ƬC|;СCy3L;Zq+:\z:yz92hР 4(vZ>mV/k+k-آ%4Gy$C '!CgQ'nA:j5kgyct5?snL6-lIu떩SfwLUUU1Nh` ,{w~t >J<9볼$ɗ_~$ڵk.t钿oСCy72u̙3';e.Wu`>`ĉ륎 $I6x_w]~g}ݳ{ &K/z5n_/"]tIvRZZ6=묳rwM>}ҡC,K/4#FȟdMҿ,Z(~{N;>t/b„ +wM 2dׇ{/I2`V~:k?[oɓ'gܹ~‥?kJJJ6$ߧia޽k^3&_|qkwKy䑫/8 ups]~{W+++sE墋.Znߊ\ve˾8&L~:6t#xed|3}l9sk/B,X.]ϟeڴjժ^kXo}dno^x!K.]ra95*[mU&L_^xWxt-Fw߽[0m۶M-2o޼5X)P MXYYY+2͛7u]?}ڴiI.wƌ9,g?Yڴy\5þlBH.(.(dhn[JM3YYާNG+o[;mhIvRL-O&.@DfX^c|{}is3e愇k׮NJNN$͘1C&LPÆ %I>>>իϟs][ѣG+>>>zHCuWiUrQ-^Xҹy ts9r͛'IzꩧTTTT-uٳG~$iܹ8p`o@@kߣG3Feҽkߓ*Xk̘k+3'55U^{~]s5ڻwOn?j*EGGkرuk:q"##մiSeggGX,}/Vft-hܸq7n=Pfm۶a֕տEDDɓ'URR0Y,/jӦ[kKiӦ2dy=#e>|=ڼys]M6UN4|=SJOOW@@4i"OOO֐!Cԯ_?Ml٢UVWJJJNAiرڵ"##u!}ZdNLzڶmpڵKwVrr~jĉumnPVԪU+9rD4I3<-[())IM4QDD$ڲeuСj8q)53jyϕ5*1UQ9RmMK+J27Ko[P4jHyr%Yxm9aTdzJ+犎V4}qo ;7S! " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " pw5:wVZ)((H:r䈶mۦtwPk`p **JC$@~~~QLLmۦuֹJډ+y4haÆWך5k#oooC;wVN-[\Zj/աC(''GtY_^$GwgVRuUWI֯_rsRSSUXX(OOOŹDZ+@)Za:u]鼜IfsP`(%00P҅jb V:///ǧZkkRPP It,JK,Μ9Su%XJ͕$V:p͕j7oRRR{n}ZpJ[nZ`֯_ݻwkժU6m/tYf:uy}ڳgRSSh"m۶YFJJJ*7gIn&-]T_}vޭ=Z5/ ,IJIIeffjΝW߾}lٲ>jiϞ=999֌=ZSNJJJt)*66V 믿ٳgbטL&M:Ucƌdbɓ'վ}{o^ RFo;_o0 IR~~ P-ԢE GSL{wQ޺uk]=~Ր!CT\\|Q\e ԍ7ި{P[;\EEE[5oC3F jӦZj믿^}L&fϞ]akʔ)j׮:u֭[kĉW4f̘zXQ#ڵK֭[5hРKƍeddANo߾ֺut̙2lքEEE9UYfI&Lw}W,͚5K .$M:ԥKIҼyOӰaCIRk9U+\7ۊk馛 6؃jҤ5j$???5mTҹr1IUk0caj02(+jٳgke§ah޼ytkEUժzJ)u<~2<<ҹjڴ222r i޼$;p$)""Bj/2aaa7nﯰKާhj d2ǎS@@,rrrdZeXkG5ҦM4zhkejB_k{W^yax': $I9r \R:tP~/;^7.m&MT:vu߾},IY/Vƍj*/'|]v);;[gΜuw^PlU[#___+&&F-ZPHH L&J:mWE։'}̙3ϗ$L&`Ea=CsqgϞ?~W+ ^vکe˖:qℾJ~СoX ѱcǜV$I:u$c$I{$_p]e 0XBӧO/wnj;f}त$L&EDD؃kNEYYYX,JMMUZZvڥ:brw@e6lؠ|Pem!ր2/?$ #/55UGٳgˌ!e :X©5f 0@f͚ 矕)I߿}<55U4i$x`?^Cu-ڴiStMdee饗^$=8q=o]=$i̙***$=zT/4iz^}$IcƌQ!!!7n^ZpUժ!ChȐ!1b4h ??KO 4Ј#>S۰axk:V^uvUImڴJk֭[{Gׂ ${7e˖ZlΜ9>^R=:uƍ+**J/=j2*P/с-z~'VG3*It.Z\\\5֭$ƪu֒|O-\R^o?z甖m*,,M΢"M2EwV^+ @;wo޽{뭷*ٳg#GѺutyzzj֭:u&Olw#G_~z~;?:sL^ٳfΜ)ItbZm^gz=+[kT0fcr0^ј9RmMK+J27KٳgX; iZp֮]1cƸE"\ 5\zK馛]-jZeZ5sLuť5lٲEsΕa2 N'FI6o]UR$-=JxWc_W\1>r0~ڊT#MZ۲.XNBW]y撤47WU뫾}kUfԬY3ol2溻LЪ1~x%$$?^/.IXp#///9R7xbcc*--MlX n6YV}..h6m4h`UXX”;CGX)n-:dxyy)>>^C /*0wﮧzֱyj޼nfXBO>+;LL6l}ݧ_Uǎĉ :у>DLk"**JɊԿ/ܹӍ@ՔɓZ` xuQ=z~'_VHHFi׮ڵkHibL&ϟh%''nSǎծ]; 8P_~$nS߾}\-@AVj_}:wQk2 C:t|}}.IO5w\7W Ux~~6lؠm۶>PfԳgO}nT7[U"o^:urwYԩG%%%tau,y(sl=z~m%&&իT)@BV5jRRRpO?ĉ(''e@Tz<77Wk׮$k%+j]vݻwxjZջwok׮\uV^].jcZtRIRlllo+r,6nܨ7p@IҩS\ NE~~~jٲ<==kDS0驖-[jϞ=ϗlvwY<$_n# &MO>Z[jZl8GUbbVVXe'&&jj׮J?+/ 8`h秤$SEb IDAT?j//Z#µOM4$;v\xuժU2۷4|pjJ!!!JKKӺu딜b{s?WX@԰aCO=BBBh"Oyzzjȑ6mZKvva?~~afY,Hmڴ$?~\^^^j߾ڷo^ziĈeBOVPoqIҡC4vX}g={nݪ7xC[nrrr+??_s<_~6mZ_00ԢE EDDr"""ԢE mݺݥxyyiذa g}fOO?uW^~z#00P7.3{L>>>ZjuW֔)STTTT&O,I4i>sǏk?'^IF˯]4(nzjd=ujR (Td'?LfwWXdR&MԦM>}Ze:҉PԩS:{Kرct}{'_ߗhʕjܸ}Q%%%5~+Լ&-Rllڶm$=ڼybbb롇r.%%axUt颈޽6kQ@FDxPYjIVETa(<["s h2tYV«aÆn;wFK/l6kɒ%o.iǏK|||c5~`ނ )OOO]wuYfjXutw -j ZYs qw(~~~n9o@@zM*X$رC}QN:%I+^p?:t_xbiF?&N X$IQQQZ.IJHHlvz]t{w9~хxn jn8ٳ:q v\z>OOOKڵ~W{uyjW! 괰 ֭%I۷o[={V7֨QqjS9Q0$Ð!K XRRnu*u-X@={uwرcr|?U:mѢEZ~&NDEFFl6K͛7ĉxbf-YD>dIҌ34a5lP^ziN?SM6doRVIY9%0VUǎ&СC:{Kgz7СC5jl٢UVWJJxub!ժteee)**%tIVp-Z_*00¹999N9'@}W8 a\Z1S%9c*T긹ԱX$#11q$=zu֒tY!j[V/X,jܹvceeffj̙Ζd3h5$m޼$\I?^[{X%l;RJ칢c}`ͩh_G.t*G3]x @f )55UyyynOD`X@t~d2)//O{UaaabZUXX{*//LU0+zeΝZvmkjΝ.:0 !ɤbںu֭[?X&^'@]G]k.9rm9r^- P_xbVk{ァ(˥ujǎzt~uX@` vpB}.… uL25uX@(j29sh˖-.g˖-3gN:J# :ްCm]OmXgϞ-[4{r/]@}PfS3\Ţb@%%%. ӧO$+p! 8aZe^Bҹ/>{l͚5K]t^% T~$QefYAAA PML&Pl6,!QWtbu^uT @}AUPy{{%oooݥPk9 lZY=uV\](w@U: j{m{6N^}>5@]G%$@ O'V.BW*F2t^ xb% P9P@@Kg5B^!,ooow*MV!֋ fV8@3SQRBW+tw sFtxd2^p%*g6Qda3gNC4g{xd29ܣsGX \(Z::g}:|6mT8Uզ$ΨB{=W֨``1GsL^J7:Va d$&&nG:5jTyݦu֒WG9zVVUEV>nj*U.-yr%Yxm9aTdzJ+犎V4}pՎ]T<5 CfZ=lcU il]VK7ͲX5_1LU`aЪt.ZYp1CXmcZ`ҝW2# PE0+UG\t&w+\#55UIIIucEB " " " {뭷wߩG..ͦLÇ?}9LhͲZnй*^GrssTj#(''GdԲeKlR={5n8R8{N>]3gθ@mCpkg7 C6lFM2̜l͚5uZgrw@]dZua-\Po$)))UP3`%I 4PF\ Gfs]Ysss\ SN۷+??̱+R P||Ç+--M˖-޽{+711QÆ SLL"##UTTǏkǎzgϞ˚_z-f9R]wnVhBڷoK*..v0 u]Æ S-TK|/ƍoW֭}n&=䓺eX7m4zwcyxx 5VH t f͚Kګk׮zeKJJrjЯAjРA|AjJO< %IgϞլYO«j%:F:z$SLCUf<77WgΜqj_~ѳ>lӧoW(::ZUƍ%\O?T~ ڹs6oެ7j޽-Iv~z>[m~Æ [צMIRDDE5VH? a`zkEUժ^EW4j(}kHHK!!!Uرc뮻4h _:tP+33S˗/ʕ+/y~]r)j֬?írWH:d $]VmP`Ewiɚ?{=kuVaxիvG ~mVaaa/_mڴIׯ?'O*//OǏСCw1kZtڷo=zS5sL5jHK,u|P^$mڴI'NtZP]PZ'Om ԩSuV.*^( $W!!!JIIĉGi޽:~%bhz5|pk#G0˞_9VZUܷo$SN~+jZӦM0_f|Μ9ë>[ëjڴ$iϞ=ZpͥJSRR$Iqڤ:>㏲Z+u7_p?SNGƍsj-P`Eq ;Le6e:ڂf6խ[7 oÇK~WIҝwi[JRÆ u=hڵnĔ7IRZZ/i~]qJKKի%I?ӧLH߿L5''G?sp'MT.D 5 믿ɓ5*ݺ-ΫzR.]ʌaÆ/ڏݻõ|r:uJE!!!X,JOOWllls_zرcUXX,(**J*((ܹs/y~U[ݻwtΙ3g4|g*¾Q@PY V:.UZEѶRAkutܪVi:ZkqkuZ* ∖](IƘBn+<|oyn{?9Gvk|M7ݔM6$m]FCfiٲe:wƍ>Ȅ $=X:v옓O>9sL?|ᇙ3gN:tΝ;gΜ99lٲZXYgJ.ëIҢEhѢҲٳgw|?yw+1cF?r)ӧO6p|'ys]wO?C=Te_{ӹslIO>$Z~_jf͚Yf+l3Ufm[ݟ3gNN;va{ӭ[t=ӧOϋ/G}4'O;̓O>;.ݺuo6(ӧOϣ>VUyȱ>}Wb*ZMb-J < /쑤,$|%)u_]~Eߗ|;fW.[ژn1ʛ@R>ŋ^OuRu!VUX7zsdԩ5kV & F./A `:% @`N PXS)V+uJ:% @`Z˖-+t @ XҥK ]P~g"VdɒBԀHj}g.u+*--^2SZZZ2V+˵`BJ*-- ]P}Xg B%%%Ypad…))))tMZpX?Ku^B$/Nqqq6mZr?ς RZZZR֘+5VZZsaÆi֬Y7nFA@m[lY.]%K>\VXYe.] 6SgPXSԩF.u_-Ҿ}i&iҤIKb ,^8 ,Ȝ9s2cƌ,Z%5# jkѢE6ltСХP4imۦm۶֭[Mɓ' PkXX-;v̖[nY2:tH2~|Dž..uO׮]Wrtڵe5 ﱥ IDAT *رcuV2(nݺcǎ.u+5֢E 3-2-Z(tX6۬%PO8XH-ҡCBA=ѡCXKiӦMKqLXB@=`u P#M4)t 3 V+uJ:% @`N PXS)V+uJ:ը7n\[o{μy X2f`No֭[ꫯUWeYXXt%O?t4[>W|ٰarˏ㕶1bD9gr뭷W^>|xzBu_~9CӥKl&IiӦ壏>ʳ>'|2ӦM+ppWf 6q+?Z)V)LaÆ9蠃?U]v$4h+_{;v̭ޚm٦bق Ҵit=ݻwO߾}s砃*`W 1bD\K޽rE(#GL޽3lذ<uoXsO=|5;䬳|/kɔ)Sse뭷#CJ>;6zC=Tiݎ;s=7|A~ӟBXu J<#:uj;nm: T7o$y'WA ֎ <8;SF]i]vҷoV]FҿV[, (:$I_W3Nw}ӺuIҶmۜ|n[O?[on! ޽{*ݻw'|c^xJm4i~;Ig̙U7lذsVz< 6Lӯ_uQٳgڶm''wܑKVW;&LI' Z׮]sGdwLΝӶm|?[o5Ǐ?ݻW^ѣG?'eee{ruUouxr*zjƎ[elINUƪdq r!T-2[oo;SZZ:wyuQիW6xL81Jn,\p76p/:uJNdɒL:5'NSO=ŋz֭[ꫯNk9rdntAܹs͛g}6O>Zy N4hP/ NqƥwѣG{lI3f8Ogl6y饗8mڴEeM6&l?zj4i$;wnwݻ~gYlY,zGy$[ned̙iҤInlv9Yti#믿~6lgŶϟ_+5ڲ緿m$%%%)**o7<tP.䒌57GCE˃Ī82lذlٲql2}I>}V.Ҝp Iٳg?z뭗M74ݺu˓O>)JA/ 'veԨQ8й*!Yq[WUT\\=#{G3<3gϮRcQQQ;<~iРAf̘Yfwnҿx+ (x` ƍWZ׺ul6s=ĉk6(tP=Њڷo_kc@!B|[ߞ|[|P7ߜdرu]t)m&[mU.\)SdXѣ[O3<&MTaem͔)S*p ygԲ뮻裏N޽ӱcǼ{ysM7UFѣӣG3={̐!C;,w}w5 ԪU~Ϫ.4z;_n5IZlC'Ȃ ҨQs1O~#8"GqDzx㍙0aBJKKӹs\uUu]sW23ҁK.$-ʥ^ѣG$naN '?w}wLڴiK.$Ov+oz(O>d^}̙3']p߿.=_~yn$矿ުKsW?_ZZz"֯_Z͛g6ZW͗>,^xax≊j|ɓ'8;rQ>K㣏>ӧgԩ>\__'jc7l0Æ K\r%뮻* >Ǚ|qR{E_6zp̝;7͛7+2/Rnlfxq|gȑ1cF/f5jT>$ɡZUV2dH,Y:Ҍǟ~i.|a;Xgz\tE2dH;<늋sGjw\}o>hM"+Ԃ楗^Z6lSe]?0;SN9唊na⊔sΩ}iРA.+}[ow=C]e,YA?ydĉ4hPoQQG>;'N>}d}Ɏ;?رc*rW\qEy睜ye]{*|CGyʺ>(oVr/w_>A^|$I۶m]?s̊+ѣҺ]v%oqyJ>ߞYfeoV?$UB0Pw_zү{g_ZZZNN|0K,YDmw9=z￟/+m_o>}z~ӟfwi?sMFrAe9C*گxq}ټiРAEpn햶m7߬ŋg̘1I-bXu{4iq_bf>,w_z뭊nmѣG[n/?/rNuAB7n\[o$Ɍ3,{オ8{СYdIN?L4bݜ9srwq.T#*m+IҲe˴n:~ifBz}ӪUu]Էo߾9rd7k۽ޛCr_=7|s=\wu}矯Pw9={̤Im` +T [xq~tIj 5Jx56p%}ݻwt?ۯɌEk馛&I+Tgʔ)IV^?Pv3vL6-vX>~ӧO . ~an6W[^+_?Mo߾4i*=?$_U<ڽ{0,\p o\q{y|d֫i`^O*f`M1"K,oʬ[z ᦛnʾ>{̙3s9dٲeڕ_zwީצM_lN:IM|3 80IrW{e?Ovmsn?l_S+ԩSk.cǎc=~;f… sE+tU?OtС}On)7|svi~oҽ{\yh_b eĉy嗳^{e뭷Nam 70`}GIcSO]mccm۶նgeee6mZ;VÇ7MiQQQ~'JC .-K梋.OzjC'pr7v[aÆOZyM{O;WiShꤦI3&]v] 7P'53hР$O<}駓|FlzmI+$:uZ oɓ'gܸqIgvm:
  • jcwqiԨ2nmc̝;7_+9sy2dJVW(-ܛoYqYf~PѦA۷ok6=\;VꭱcN6:bĈjC}ȑ#ӴiJëwuZyutA &'&l+J3j:ySvۭBÆ +B%?JԩSdY55}LG?g]m֬Y>+\veYdIE߱c&I=~[n9kt~am*{zvm+i&gqF8BV#k:QH\q8p`+v^_LM4I'T͒R/č7ޘ<^xacl&iܸq6l;h"cƌxqܷotMx㍓|w{#G&In̝;RsV|^0x?2Fd:?~-ZTqӳg$[o^{bo/<\sMns1i'O\qR]5_wUOzdر9sWQ<\U`.++%\{Nj^;v5\K'|2zhƌz?񏔕e6ˀ~k2+ٳgm۶:thFձ^{]v7o^^|ys 'r_]9眓s9'ӧOl $^zi^xJn~֭[FEe…i߾}dʔ)ڵk'dԨQ9rmeܸqiԨQ^z饊 GwqG :OS̙Ҵk.˖-{w-ܲeNԶ:]vN;k6]vY&Mt%7ΤI2~~9C2dȐ|׿t9)))ɏ~Z/HÆ ӦMl9ri%3e˖aÆm .Ȳe*xH|Ϝ93o8 3fHVҼy$o~}{ӹsyc=6'OٳFk׮5kVkJ~: HE}=H{I;5vmWg֫q}.k?| R=39S̬ZTTTe&«Æ Fo믟k6oVdС;rW^G}$?~|y䑹ꪫҰa<g#<}ݵkpyꩧ;wnobF뮻. ,hӾ}t޽"8p`/>P^tiXw={V6-Y$_|qx 4([mUڷoqwwܑ?Jz93k׮?~^~y睙={vƌS'?ɓ3pl;wn:L6bnhW^ɯ~̙3Jm[׉6{{9c~gϞٳg˃>'&I~_N~ҥKt!I2uԼ˹;ayJKKsQGK.9C;cǎԩS,Y?0'O=Sir25?OҩSr!ѣGOz+<@}>[o5>hN:#=zHǎ+>`y7X>h/^=3mڴ3 .̭ޚv!}IǎӮ]̘1#}Q|j_gj?|KNF+FWork-gYum|~_ZKUU>}|quU߾}XW;sN4iŋ߯8{M7ͬY.T:{Eb$wN֎~8[mUN=Ԍ;@ׯ_K P[6p$ /G$,˾Uϗ}v}_޺_6nuj,uLG3;vlN;X"e͛7̛7>O?=%%% *Wds=N; 7ܐ$5kV<|={f-'|cfԨQ0aBjK2yzj駟V;/~)-"=zHN*.;C9Ubכ[Lu^uXX:2+1+P[Z5NH`M~)?Nx?VIՅXW` :kر9fƌ9W`Ш_޻eT|%@eV+uJ:% @`N PXŋKY`AKqLX9sK1cFKqLXEeڴi.zbڴiYhQ`% @M<%PO8XآE2~BA?VVI& dҤI ]8VVٔ)S 4~L2e5Шn駟f6K ]kѴi2y,ZХ5! j[hQ~L<9۷O6mR\\&M4ŋ`̙3'3f\ -Z)S<P# ],)V+uJ:% @`N PXS)VTBaÆiڴi4iFAGr˖-ҥKx|)---tIa=guԔ++հaôl2͚5+t)4h&MI&)..g}  {a&uϚ0m?kXX͛UV.f͚Yf?~JJJ ]+`SیuOm3?`y\jѢYkZj-Z gm27㟵ߌ&`Z͛7Oqqqk8͛7/t|O]0'㟺`O?uXaÆf^δj* 6,t/㟺d/?u_@9VhٲeK1Wx.ksA]s cDhذa5kV2i֬YB0B0B0HXM{9P{9P{9P{PI&M ]PP(P(P(=XQF.o(^y(^y(^y(TҠ( ^y(^y(^y("N PXS)V+uQ 51nܸz{y"`e @`N PX=ztL~a ]Fרyһw\Qeȑݻw 'x%PO B-2Yuݦn<0Ira W{e7kNj>C2v+=P`jEYYY\2X4(t|P mrGW^رc&Oo/~?)..ξ[O&M2a„$N;픙3gV#2xz뭹+o9ꨣN;K.i۶mNE}zG[oO<1Z{JQQQ$EEE֭[uo۹ saÆծr-Ӽy*٢?̙g dƌ9sfnw~4iRm6n8w\.䒴lٲbYjX 8 _u'߮쨣~,Z(Ç#< ]v8p`~zzx|xƎ[v^{w)))YgUiQG>;^;*[6mrWCɵ^?<˖-+"j~W_Mƍ3w5~,VqeK̘1#?ֶg\ydM*;ͫZyi޼ 4iҤ\tEIs=7OVꭱcN6ĺK7^{mWz-I&%Ivi4j(K.]Yti5jmfƌ5wᇧ]v{rWY_VVJuW\M74/Rn嶛0aBdvKӦM矯z(.Vdر9ӳxJCŕ_ՆW/z^M^z)%%%ܹrg,y{Yuӧ痿eK/\6m$I5ko}[Vgy&IrdXަM}9#y$W,o۶m:uQ߬Y$;sMbd6W\$2dHMsÓ$'tR V%ܾ}5eզQ;vlN;9 S^W}wm,X8Ҳn-ݺussʹiӲQF:ujZnm^ӽ{yYpa-Z'I>lٲR_W4hP6hke%9g}~OgggL:5:t(|cǎ~s9'{wN/x{ذaiԨQ.\~_~嶻3~$C=mۦ9묳r)w'|m6;CΝnݺv5W6Ll4&Z$iذa6l6_eۢEҿ<9#ӹsԯ_?3jԨ{+s9#ӿx~3⋹뮻2wܼ e1ccglv裏2~vmOV9Ӳewqiݺuf̘ՆH;vUeWrk곥n<9S\\n:ӧOϨQgŊ X Q([PRlצߗ~]u۶LR{|}]Ϟ=WbԽ{w}6mWx*..N{\ jѢEmQB{QKlܾ ژ2׍_=ez^&Y$Xd~.ݟoץ߯sEJI9ۿ}lEm*<ձF2`᚛t%E^諸]7Wb^j`eæMUgV6ZƍYg?g΀W`#`V6j=\o.X V`FY6`Ǐo_e@+5J% @`F PXQ(Vj+5J% @`F PXQ(Vj+5J% @[ai޼ym&l֬Y]&6666+P @s̩ZbæM+PXQ(Vj+5J% @`F PXQ(Vj+5J% @`F PXQ(V؀t%/B.֛]TU-({gnԭ[7~L?O5k:ݴiӜp of:ujFGQ9?rqǭ/̙3G2~X냍QsI'evJ6m2|y'2z,[lkРAƎvoF:u-61Wu>Gɯ5ӧOJMAuͷ7V6Zu>; 4H,]4uMqqqsaeȐ!yg׺;k[o$?~4iݻ{9rdZ.\'I ӤIo>۷_~9ŋk>Xy93RXXKO?MӢE9ry/t 6LX"gϮݼy\?|U<_|CMYu̷7.V6Z;v̅^YfoΫiӦaÆڵk.\rI^{̝;}h"_}4i^z)3s4j(gyf~?afΜQ',BSAAAZl;.'xbgkk6X~9묳p7SO=e˖^z~.(;c. <jϟc9f}y1Wu>Я`SVWX@UL4)%%%+?7n\%5hҤI~O<1>`y,[,_|E /… [#\;4i$Z.̜93I_榛nʨQ|zcMiŊ1cFn{I={nQ;c$v[,[,Idɒ3&/$ʐLelI+MKuU7ؔTu5 Q1bD.\X3fdرIWϭ:zJ|M7/LÆ saCO?$iܸqZhQk]vI+8qb>]vWOU|Ue5` w|$iڴiSXX>(&M*ŋ3$6'zUүUUڶm[•ᘏ?ֺ`*V|Ue5`P UVIJSWˑG֭[u]{:t!-[̇~ &__뾾k׮I_~U뀯!>;&L_|Qf>}ҠA<3+ݯ+ԜUkz:oK:uخG5P Ԝ̷7lXfرc8㌕.ֱc$;Scv$ٳWn̙Iizdɒ5]PP3<3~z ||g)**JQQQ-[V:˳ .Ȳer뭷V/;>]v믿>&LHaaa9\tE3lذ4PkIͳbŊ|ce֬Y!&gu|Uy=P^ n۷O ohMP2a`jԬY'p@vi4o<_}UO3&O>d.6 [vi,Yd\٢E$ܹsWۮtAAA7oӧC=4gyf.\o1O=T,X:|p?Jxd]v) ;c swfɕ 6UӧOO~rW{^nᆼ[iҤI7oz*7||o%Od]wMz꩹rwd`y(ug^cƍW+w^{n! .W\Q`cQ +T:u /̹瞛FܾplViڴi:v?<Ǐ 'PN:8p`g}Vc7o$k|꧟~ƍ?4h~%I;;sf̘?orEO>+oT)Sdʔ)e}2nܸ <8{Ιgq :<_|}]|Syyy.ӧR}.KfOGY`cQ Cam_Wٳg>ÜtIgIK?O?/<=X-W }p@N9,[,W]uZ8s$[ov͚5K?5ۮ]$ԩSתZdIz7$ɡ6mڬƬ0oөS<9s祗^ʥ^:+'ON۶ms7m۶vCf޼ySNv}j6:NH3cƌ\{]Ԛͷ7lX <wqYti:물 ]lvu\q)((ȍ7ޘW_}u(-[]GgϞ˗ܼyֺ5|,\0m`csAe]vɌ32tUo.('ONÆ ӿj;ŋ3y$;\m¦`mz`}*..N~lٲ\y/jMoo0B?MX[;뮻.mYFQFS?}Qd}MaaB{s|}ʘ?~d[ŋSRR_+GR~嗳dɒr,\0<@s)((iѢE'|׭<_|}]/ 6̐!CR^ϤIjT4a`uۦK.IoZ,**5\z('OSO=aÆG=ztx$I^r]wɓCOݺuW0`@JJJWXCݺu/$EEEU"UcСCSO|\rI5jTn_Go.뮻+__Vj۶m &Mϰaֹһ4k,ݺu+MAAA>$ɳ>[~M$ԩSԩUV9~.ؔlM.]nݺ`-..NoJZyX_ 6mdĉ\ +}'I駟fΜ9Uo߾tImݲp裏_\uU8cƌ||S~t%<#F˳.Txk/M6ĉ[oUk4hP{j2gΜׯ_zꩴo߾ի'5jT>lViڴiΝ[ذj*Æ Kf旿eVXQcb^eZRRI??[l*ǝxiѢE><䓕:ĉxlv9mӠAJ&-[o$:uj %+u%;v~$yWupy?~=w>}Ҷm,^x?|Uu=>va9g+[CM|k|AQ6m$ov:_"K,ɠA뮻k׮֭[O'\M6_Ν;g=Hqqq  ~=$>IrQGGiumZ.(ov8ӵk+ǥ^cǮ~ٲeyӦM 4(z-ܒ$稣o24h rH.\Gy+ֱ[fYdIwygeyeܹ`W9#<fɒ%ko[n%͛7OGYa￿LmvXRǎSXXrE~;W\qEt9#Fȧ~F^zY|y뮌=zj>|xڵk:(gqF8̙3'M6M:uꫯfv[c?zʞ{Yf[Æ ӤI9gr뭷U}/2hРM۶ms… bŊ4l0Ip 6,&L(s|E?ڵk6,x`<$ɒ%KRPPrŋsFU6>U瓪z:]yiذa-ZO>&L8:[j+m&C͖[nÇձ={wܑ6۬Z`AYUnҪU~[o]D.]2nܸ2+U?Ax(s;YQJ-**iV{$P``e /o߾YhQ!SO=c{n_xZj|2k֬$e]uNvڭ6l$yw<4eʔiݺut$9S^1Lu}ַ6u|Igy&oj?nJ@`e5nܸs9X RngϞ;f^^>|xշ|qIu'NI=#u-MAAA:u$:u:JW?ݻw裏3ru[Iݻq`e6nܸ//.4ĺ[>trë\rIWK ><'ON\q0`@!ϊL0! ,H֭+\Ywi߾}}ݼU;I~,\0lg}?V3l/R>4l0^G B O?}kaaٗ𷃒+s=륶Eo߾Rn 80<@;4nxeM{Krac̙曓$]vY &M$I4hN:)o$/dɒj?ѣӲe 2$1b*Rܹs${WrUW%I<\~f>kcRPKƍs9'wqGo_^]+~Ӈ~޽{kaۓ$ .L:uR^{챌3L~{~8p`3gySN\zy{7sL=|gym;6_9ޙ:uj.u㡇J۶mӿuY9SO>ɶnv!sMnݲ|X/XhM«>䓜{ܹs>vmӸq̙3'3f믿1cV9~ɒ%cMǎӢEyrw0aBJJJŋm ><-[q֭[gƌ),,\%\Z:䦛nʣ>>;)**J֭3}5*?pVXQ UAm5Qϫ;m m+M7/|c7?Jm`=|1If͚UC۸s!֚Ʀ8I{r%E]߯6f?]?]?_7Ɋ$'Y_/NJ$s|c7.~u+WOc+jSQ婎6 6,+.Zh}«`eT^Ux6lƍ:+~fϞFnmUse2`Vj+5J% @`F PXQuk6,͛7؄͚5Kؤ&v&v&`fVjX(cΜ9]PKt2bVj+5J% @`F PXQ(Vj+5J% @`F PXQ(Vj+5J% @`F PXQ(Vj+5J% @`F PXQuk _=?`1aeæ (Vj+5nm=zv @-1aeæ (+Q4iR7nΝ;gX&V`F PXQ2z蔔䠃(iݻwOIII}.`" U0dȐdWZ[\\iӦ$ݻw_Oy?~|9.gЬYuY>|x^|ży3zvmӧO5jTel0v]vN?뱪u; {y'j W:urs-P]paj4m4;vNj6PM.{YtN9#jv횟6mZrL6-ƍKNp oOϞ=$#GߟW^y% ,HݺuӢE.ٳg&LPl@Xj*?smSXX+V*͛7OϞ=ꫯVfŊ9jկ~3~a-/BK.?8O?t-U a*໠4znwqyy;DyT<0w\.]:k*' g/mcYm /0uɰaòlٲӟ4I?!oF-WYR@x㍹sfԨQS~'^}\p_~z${9sfȐ!9r뭷k]cm3IvmSOͳ>ѣGcǎ93O_zҷoq)**ʧ~^{-on)SL)ѣGN:9CҫW?Nqqq5k7|3O8gqFre]?1tPdܹb-ңG#?ү_̝;ի'KҨQۿپ ?s0gΜ9sK.ݻwN>UW]uUN?qaN;e̘1ek۾*Ke7v].Iҿ^mڴɱ??pֵdɒ'\sMN>}V~J+VHөSt5{Gn,_<sL;U?|0{nt]v%;s<#),,UW]͛WxަM/NΝ{8 Ȃ ?{nsL Eee2dZ=RmڴIϰ;Ȓ%K2hРڵku떻;9s'{|Fd 0 nb^K/͈#Vlٲ<[$zZٶaÆ}͔)SV .Ȃ ҦMWXA={v䫯߿2p?#9裏f̙'Ir <8K,I~ʬ:o޼ 80%%%+w$y2~2[pa^|2mx^V fm2tМzk}lϞ=s]wm۶롲xI^ IҪUG?G}xjY_rδiҠAXti$Ivi ۭX?| S>vm'(3gVRa ֭[Zj_=O>dmn̝;7M4I.]V_^Hl3gN|$;\ao7n\pQdɒri֬Y&Nwyg/رc$:tX4 ;c^q_[@yO^fԂ 2$K,=S>:~"}SO=^{-:uG{,~ի[ne_}uu.]^z);CV۶M6i׮]Zh7׫Vs0˗/_~J>o8qbzꕢ7R}ϙ3'IVyS 4deM81{jǫS6mroԩSu+=#9Ӻu=ɺD[J-**Zc3fw9餓rg^{핋/8%%%[r}s~^`S!^H߾}swYU4Z^ >c{n_x`֞$O^ˬYҢE\ve9ꨣ)]l׮jm6Iw}w]J~+>H<39ؙ3gfС~+tP~(ovo\.*2nܸs9YhQ2dHaǞ={zM^(>:tYfYqu-[K&IzVҹs$[oUfq͛{駟#Fdʔ)5kV*movd=Hݺ՗_|y$_O^oSNISy֗ҺJ*}}t}ZY˗/τ r5פW^:th3,7]e}߹*W<9x>kV6hƍK~x2KC[lEC-7z%hx5z)S$I?s nE-[{/Iӹ+ ޕ4iN=z^{핹s_,K.I7|c{ &dѢEiӦM+6lp>|x&O$+2`N0! ,H֭+wi߾}}ݼTkUr)>w==zȧ~g}v~饗'aÆky-^{s@m@ O?}kaaٗv+s=o[bE:t!w}ZO'I~ޝGUf&{HĐh@d*KZ TkVJETJڋReX.\ H V N@d8ӄLɜLy:|31yXrky_Jv%In;ˣJMMLU=31ck@M853>KϜ9S}u-ꪫ_RSLitwN>OV$IAAA3fL_2͘1C'O̙{OcƌQxxk:hz4f̘jchɒ%|gvtw矗$͟?_)))XIbш#kI4paaa>z)If@]`ABzTT Rm_BՖh钤oF%%%.7\AR[g<0 FϞ(箫 4 Z|y/7,z{ժ***Up[hn]wuZr.^EEEIN8o߯A;wkӧj*M֭[k_QQs&M={*::Zw޽{b eee5mhy)..NǏWbbrrrg222}K-xfSii6T6m?2p-?IjxkxZT2'U-sscs*ޜ$ )In^o9rd%V_/F[~z{G6m2:f$I:~I@KfXԱcGc -?q6PhIRffPIIŒ=_vsH}w\*>v>뾶uqfֶMmS\&@✉%%(6MF@Q\\/[xooY8Mp JyϲZp1]pAV ?e7pLTE>+##Cwٳ={6U>^]t$eggoզMaeggyw4x+͐ X&Պ+ԫW/ײ .(00P JHHШQ4m4ftPgϞ<<<\ZpBEEEވh&XF ֫믿^;w/?\%%%:())I))):zh}Yfĉ~gDa̙nK8q|M=^NhnXF2ez:tHwqVkΝӶm۴m۶FFFjȑڽ{bP`5ʫ`ɤqVTTzU>ڵӔ)S]*""BgϞUVV֯_u… ^H+H111|Ep\?')!W-ٚ+sE~EG XeeeFi#FGQ%Aه?r-+//W\\4tP 8P?pFChݻwk~˗ɓÇ[YYYwu> 4H?Ot 7(66V۵xb]xׯWBBGyDr8^xI;%$${U=ӧOkzwe˖zOil?d}JLLTll***/Roؗ ]5q9G!athG|.]*mڴIo߯\)!!Aƍ/m V֮]iӦ)22Rk׮բE{Yt8ꫯnݺDt/**dүk=2:{ԧOOiii;uOS=c u-3fo~fP JHHPZZ^u=SW^hO=M&puU]w># @qb#{-\yHك#n2aaaSvvQzG5}tIҞ={dvY\\;wjΝmڳgfϞ]uU;vhŊ:uڷo_c M0A .$9rD&LpݾjO2Eկt?Ѐ4|p_֭Sll^|EOgyF׃>jذaZjU3fϟ =#տ 8P_e24m4yM}͑Ĉ6m5uT_5d]ەjW`z$ncp#88XFpkǎڵkf̘I&iӦM ﮻RTTK-YZyhnX"ٳGYYYҗ_~'6zÇ>s>C9RoΟ?`=Z?vءK[n;,,L>***Tܹs3g\Kw>~ZnrrrߪI㇄w$i֬YZjV$)''GxbI#ccV~~"""ԯ__h#56Gs/(($r-.-h}>aFGP0#xD\\dZ]=!s̙jL&=Ӫ[oՠ1RRRl2T[^TT .x4$UTT(==]z'4a͟?_aaaz~9r%$$H:t蠧~6ztɕjSVU_}RSSpşhh|O8mܸQ;wTFFu+{qZ STqE4FeFGP #x#ݮ@;VFRLLrrrt:wiQ`ESOkd… %kmUá'|Rv(--o;vh ԨQ,&$$JiL!_s5:9q$ꫯl ͕?;;[iii;4e%''+99YsUVV^y;  @ai#Eg6:Z#$IktW;vn=OV+Z-[hƌZ|]˝%Vn9r.]궼`{͚Çk֭>| uII͛5m4gkg.] رc L93NN-Z_~YJII-ܢ=ԩ^z40IVrJ;wN3vm:rڵkYf V(\m IDAThz\%P'g]vՖ/Zmyxy5((mZ 2DsNr뉈u?\ ֣>ĴZs["4]{:vv_koK+q8l[ee*++-r8FMset(s^9NRRzZoGnْ.{FGKT]x$o߾M:p9 h6mڤ3flGbsշz^ymڴIӰaԥKb(66Vw}~m*==]}:$IWjjϟ?zJҥ;,XP*^Ǝ%KHx ͞=U wܡ^4fIcs4%~~$)99FÇ-%I|JJJ<hsժEU96[b+eVa=Q9[^9Nv4`ZoM̙3$ժgֺ>`׭[7Y,&ʗe퉬a쾮}M,s2Y^2wۘ6WYo͹,Li뻗9r/_;˫yUT]j_v_׿\.\/ɓ'ph׮]WffyjWC=رc*((PLLv| 8PvݵճgOs=ڴiS1Ӕ)S\rrr)Ţ=37^zI'Nֺ]cs4v{GO>$i׮]:xΝ+Iӟ4IRYYΜ9#ժΝ;]vZU :nLIŋݼ4p ٳG?꽄{sW%nw￯|\*))ѡCuV͟?_7oެR]}պd6u!_uOWLLŋ+++>wyf͚zIn?޽{'uAƍO?m+3F=zЎ;9ߞ={xEDD@~ 8qB&I&Iъз~u顇ѣG'EFFJ N,l69hĉ3g&L}K.k?EDDK.۷FѣG+<<\*..va?e=B_wnB1aZ}jpM6M6MkZ[bmݺ8_o̡'OEY2uW6U=˚' Ɨ~CkVf`m&U|39UVVJڷoɓ'Tk׮ժU\f 0+̫@K3:7$?ՓO>2?1ѝ$^{hm;B9KUgb u6MvqϘ1ãժBBB4g]{ZbYz+YO}et $]w3f7P׮]dvYVJ:Yfhm>+##Cwٳ={6UϪZ^7o^WJKKӼy$IvX :s?QjjՖ-[ /h„ :r1 p<1L׵eNf7˫޻[ns*-UU9I2 0 Srssݼ4Ж$%%I?npT<:o< 6̫߲e?H4 g-I*!XnIUe]u׶9,|ڶm\w[U-Θ1UI6lf̘!Lͅ+A,4ò)%%EҥR>+־}{͜9H9sڷo_-@s `쫓'OVHHiMPvvkVdp*hBBBDEDD\ڱc=m[oU7xceee***RaakC8X ,Toᠼ $66VvkR[n֭vء?Ō Z.}8"88XQQQRBBNʕ+ej3 @$ 2Dyyy5Y`~iٲez#I7p>z~O?14e)9MV!ɡ-8111y QHHN>"J;v$=z>޽{C[UΝէOuI:w;ӧO_X$@ݻw$) @}Q>}4zhM:F5))I+Vȑ#%Ij׮C*%%E> p믿VDDYV}.]Zc!C^￯g*88XcǎՓO>7͛|gϞ#Gff4_k&F޽{ NR;g6 Y 5\SvH7//O'k۶mjSǭKeeW=#Ţ,߿_w=ܣ:WDDDe%%%:sc9stfam!\#h%***1O>:td=z'\*++3ϨH~ Lȗ~+퉬a쾮}M,s2Y^2wۘ6WYo͹,LiҥO-))ItqkתG1c222h&Βnf}ZbBBB͘1CX,+3xWz\Fǀ 91k$%%'uk溢;qqqPYYzUv&I'NTrr:]xQӻᆱ,͜9S<>M>)/^ђ̡%ٿ{ld޹^UU}|^}mmu 13xrYN tR=ÆZt e6)!CDEbtDqqWӮ]; 0~Gp8zj^IҾ}"&Iz4sL?YYF˖-sV3 `s [ı2E=j#JfkW@1:VQQR8g6pBedd?WAAk |5kVHKK3:2juٲe:zxx%%%Zt6nX4/멯d=1РA4i$M4IT^^.bݮ7|S>1ъQ`𲪳+vvmܸQ_~NX׬YwyG2L22ͮ,U/ h=mۦ[vzX+''G[l{ァ/Yt}]jYdc\S-mc\eʺ70IdJRnnڒ$I N@,^yop8d%I111=zRSSyEƍaeggKti(gU}U o$effT,ce7$wck[Gn_om6;oO영Ugaul6fflo_]={T^.](22R!!!>{jՊE&j,́+AX=vHz8pmV//V-($WyjU4s$j6l6X~6h.X vy叫R=vej^ IDAT9P`hj+:K1#sYmշ*0 V]UR"kmj VjeU_iᴶ)#P`hY.w1t@s ЂVd1+W% c(_g6: * * * * * * * * @<ҶmE&%%ĉ)aL&VXm۶iѭ@Cdee5i]px(MM:uԩS]vuH'M ?{wUy}E $@ B0"P\@@E@" (h[?Z[bEm >PHaI#e Cy&d9I}?ssk\su-X/2e ֭Fȉ7hӦM***Rzzz.`VK4n8-[ޱӦMl4lVө'^54 x}$ISNw.]hԨQW_}x4)X/OgsԩS秴4v% xɂ $I\\^9rDWuN:gG҆ ogϞ5u]թS's.\PZtL&$i͚5հaê]f֯_/ɤ#Gjɒ%ںuݫKvm߾̙˗kڼyx uڵ_}rss}x2`PFFrJ= 9992ѣ~mݻW{O?]knw}s qFݻW{֘1c*uՁdjd2ԵkWuU#FO?s֮]>@&L5n89ѣGk*((Ќ3t:}?ݻwWffz hȐ!2dzꥭ[WXXt9*66V~&MO?ASkGX,:p@&I3gԔ)Sd6u wJNN֘1cX_}U9FѵAyX/z$IӦM\^;vرc*==9vڥ?PO<񄒓գGu]G}$٬^xAΛ;w[xz###/nkڴiT ̙3u+%%E zp84a-X@;v]wݥ={*99Yrmۦ@wS```u{xWԪU+l6M:9&LГO>9R)))7:dddhJJJȑ#g?׹';vTll"##8IRPPiiiԧOKEEE6m7"IR```c%I[k<2d;9s8Za]vq$IRttee4 @#x״xbM6Mv<Ǐ>h:uFKveey[N&IpKzٳUYY'|RgΜ1UJwYks> @#Xn%K(00PoFnWUV)<<\7n/PqqΝ;9ss?Xٔ8pBW^Ν;=;z$iƍzG|pFZ HzB-_A ￯GyD|8B;wޕMN=#_|ߏԩmۦ_qْnIZU<P`ɺutIқo,I:|&s/R?3ϨHwK|7vX;V'OԴip8jgDEgaJ 4өѣGgϞkIO<>}iԩ0apBiF ,URR.wΛ7O;v7:w^)v֬Y*((sӧ /H}Q= 6&""B7|s\6 gtRQQK:gź{աCDCr8:tzYYfoݻogddhzn_{󶴴4x`Kp+//Wtt5p@_3fhܸP`wFaH["U5DyHjjHuJNNO?~IrssWy֢E 6WVV x5Jׯo췀 VF~T7MLy9, Q#44T7:Gg?.I/pB:tH6mkF/k_߯]ZVڵKvjJВ }*jU.I,ÍΝ;w^jرڰaC{;vh…ʫ@ccVFbN3c+-?ct jUYYQPFF%7n8IһH@XX0:k@+-ͦL* [| Q.uFG$IRAAZj#FhСС t-[L'O48-Z" tL8,FG@FGIRaa:wEK.ƌ1B'Nٳ'-BCC%I6MΝ;ɓ'릛nR~4i$eee}Z` x VFb.-0: ^q9I_Tffu)}7nrrrӧ-piNQu$L&>~c8O0:YFG@ϟu4wZ/YD֭%]x?>kPZZԧO˾ VfUXu8Պ]d2l6SfkԚ+ `4juBBBR??~$fĉʺ.]Ov P`h\UףG%%%[nQxx$I***ѣGP42+h|ce]''%V!0o@XVZ;wT|||͟'I S׮]ʬΝ ]\\Сnv 6LᵞXjРA"mذAׯW~~EV|d<A&~e/5:l***2:ٳƌ{*}*** N+@P:g 4ѯ9fo^/%VJ?~\cƌĉ5rHfiϞ=ںu,YBydtKah[׹ZT>OcU^rõ/T)%%e$zxkj I:rInjU[lK/$Bl6s)Iںu@INIVI;.z8%ٿߺʱ]v5<6'oo4@U˫>/JҠA*J+AN,:l03ư,cƌѰa$](: `~mVO<ёOm۶ղ4 q:~xF %7՜9sė1|jĈ߿"##秢"ݻW֭ӿo:i4f#3F}+L&S@~{jӦ˕;wꫯjr^o]7xceee:sN:={ ơ -22R5h r+&&F1115j<~Z40-j*>$5 >\N'Uh$QQQ7n{+((H]tQ.]sN_ l.|9b(""BѣG|rUVVE-Vll׿***JVU׿o8qB~~~ڵ>M4I=zвekǎ^ːSoo~-M=DkF?{=9fe\sƏ/Ţ#Gh͚5:sZj[nEӍ7ި3gh-_~֬YSm_6mԷo_ 0@111k@d6:k)**J}ݧ{O'N$v>|X4qD8qBJKKSXXro^VrrZ*W5!!A)<<\ =v,b 9sFTVVLڵKt-(88yӧqF}g-VH=dc)77ֱ۷oף>*á?aRUumS'W3Lpp%I1fÆ *//W@@@hy}֭[+444aҤI?*,,wrJ;V<ϟ/1q,Q7(D9"JvqJN*KK()qh-[۷olV``L 溶\ԩS*++3:${2L:uꔎ;qLee<nAھ}aJ՟Ο?o` +֭:v(B$IE)))Vvvvy~畝YfU;7ߔ$=GvvnjZJW$tMZp222c-]Txm_k*,Q7y(h^BSQm_tA+hVZEԾ}{IW_}UlIRv 5J9s}Q 2D[.'I:zc+Z}JJJJTRR;ӧOM6yt:giF;wfӡCǭVksxb 2ĝ?$$D5l0M2ޓ75A}&Aq@sSr8r:jtMk׮]droi۶ kFt:ǝ9sF,???vCu[4h Tdd!&&FCƍh.4XDFFJK>ȑ#ӧ®(CEEƏÇ7TNNƏ_y7|^~e}:q,Fs*%%E<̙sEٮ$}oՅX-F[(h I TѴP:uʐy%)))Ir***\JLLСCDBBjL&"""$I7oV^^^L&5J3fPDD\=zP\\N:oF}VX/+Z6mHR>w}>}9szjkͦ+VXo>:|!^Zd\m\E:ǕWR p%bժUv;w>sjպu:y뭷*22RVjYe>Br]ktTad Lq4:Vʌ`vf͚=zHRٟ|IM:UfY*))ѵ^뮻N7|y=C;B-َ;^. PT IDAT'h׮]۷ pXͅ䈼pٜUKNV& Yy@Ri+$$DqZr?oUƜ766V!!!*((V^j;$ݻWk֬OJNNV>}#FTb_K699pǎ&aT%RQCIAK` PhhVTd=ׯ$)77Wqqqu3|pM6M6Mկzjvֳ>ݻ&O싷KA륖n:w,Iz+w^IR.] Nb=KǼ*|LfIN6_NX@* 9N99eSG16X-ݫcǎl6l6~Z[n2LH]:%Imڴi+QYY"uСޕdKt2+6cQCXEgr jm2_uPFF%gԦMuYYYY5r+ T hqvKF=z{NDD&M$IZdG\065|s@opڹQXry>88X;wu6tޢ"IRttHuFX0:P(.I>}bhڵ:}㡅 we6xbݻֱzeX~ovnȑ#nrKjjE?я_F 7pӧOk͆xzw1))**rFN}WCu5 0@lW>iݺ:uTPy=9zvڴi}zРs5ר}"jyCeD#hb<\:}:wtz뭒.X/tQ͛7h(E:}OgϪCz5yd]{1mڴу>+W*11Q}|IUTTԘoӦM.|pСm۶~3sdggKP6lX 4]wu.`x뭷O$)--7}=&I&IFG!33ӝ}TDDƏモlV~߰aC?|AM0k̙3ھ}$i[eX$IJHHѣ/tOyZtmФ9,FGx˜Mc*;;[111zwj*mڴIկvZ=:~Q\ h!vޭzW3gj̙:w*++:i&=쳵Ck׮ӟR;wN\8ZbƎE/mۦ1H~'N(44:ʙL&9NvݺuzUͺu$wU]JOOט1c'xB6M$m޼Y_|EsժU+IRTT+.[nUXXzAiРA:{e2t1EGG;Obb:uTm_``gI:t6nxI9rK/)88X={taѠٳ'DKE-ځ4zh9Rwuzn+''G}>#رyl6>M2EvdZ}v*))C_:r%$$ӵ~_*::ZFR|| ~}O ,á|{1:$)==]2LnM l0`t颐l6}wwy|}Y=C1c%)OsTYtѶsMs1{_ui1*]UU9V*ɔU |puKHHt[th:VZ={*55U6m2:JFnW۶mxbOJMMթS.+/lsrat \M ^jt MjΎޔsz|ɒ%;jyM6LIII5fT^l2͝;Wv}<11Qջwo{7|s%o^[d㢇S븪mm\ϭmLmzRe4|j!l6ԩSZhEԩS2͔V5FG ,btMjuBBBRU\#GT^t17V^,'?Ѿ}_Wt=bFZL&wA433S]v=cHteffnYrױ k3Igr Z*++ɵvܩFo߾?\l6/dL&]ƀ+ >j2'Iz뭷駟:>S[$??ZsSqEKr@bTTTdt $9.//=lrMpB]iO?ռyj䨚\d]gt 4P`&{ժ|cxݻ%IW޽k7|pIҞ={d} W >T[)ԵĚYӫW]+^"+QqίJu21 /WwWH***dZעV^uY~9@;JMMUDDxddf͚GyDv]oi5O9Lm:T>Uyc\_cU}L)))[%[WIґ#G Ntxv9N9N >\'OVPPW_ZZE)##FyX֦MTVV$cbcc;SN}6MNw6MӲe=sdd$i֭%9%Y%9d~:*Ǫ>wk[1}Z_~vڥ%Kh' X*U_CNSDž/uwAwqKVQQ222n:Kf*y.zz @caoV`gUWal6Wf_-]TJJJR||bccSii*;;[WVVV"L&SժYVT-zz*W[:p󻶮V/.V-($wyjUr$9jcj׵55_<ӹ+..^\^yB\^4 M@m%VsI5VdumQ^F Dx*JQdm_ms^>B Zu_Z8m8 qw)it\6%RHG Q`&e/5:O( @Z***2:Rf^ymV222tA)>>^3fmݦzH۷o>nɓZd2337fbh믿^F)Z @3t:cAڏJ#cʣa WȾWSW~~QGylF9Ţpc?Q^uq:z%I2[ukZvZIR^ ,rat 4!1|.44TZ2:e9r$u sCCC%INz.\[\\ƍ}cǎ S^^:7xCxުUԭ[7%%%)>>^O=RRRt:kquwW||BBBw^mܸQ$),,L=zD:uJׂ _>u릉'gϞ֭?n1n 6L&LP_^*++k׳gOjӦM5捉ѤI=zT+V̙37t~+>>^]w***t ܹSߔU{}|kL1|.44TeeeFǸd'Nj^y#FTFFFcU+ s7kҥ2L$&ɤ.]K.;jŊЃ>ٳg+((Ƚڸx]V]tt -9gΜ4j(=zH=O΀$ϴiӲ6ۤm۶i߾}}M jvjDiiiMIc$ĉ7hn~eiڴi [DdX$~x<+++[q{ͣ>>~;sraeyꩧ2wܵӟ4cǎ͟;6u֭etF /̈#pԩS'${l=5N;e/<Ȁ2uY3fLat=/zϹ6U [lq|T5ءKu֭6Zzrq%Iu;餓}/eeeiܸqdƌ932bĈʗ+AiРfͱdɒkl6mZ=.i׮]k<#k矟e˖}#G֗/_?ԩSoe̘18p`cy 4(O}`-))ɥ^$T?cƌ/)I|Zx5Yo~ϗ38#-Zɓ3|ukҤI˫mir禴4w./5]O_ұc~q4eeeƍ$i߾:s= &ɊkfӦM׺ܹ4iRcǎ3-[̄ WWwM7e޼y)++˞{u=3IN:ucǎy뭷ͪN{Nv;~c^3Ӻu4o< 6L֭$ 6j7o^X'Iׯ_m{ZWO/>}Cy'7s&IJKK;vU=|˿KCeܸqyꩧ2rȼ4ǺrҦfC't 5bɒ%E9OΝsesޚ#F|;C䦛n :3}L>=?x~G?Q<<6mƼX+VjTf2pzi֬YϿ2m۶I/.SNM4o|@;s ϬYҿ|[1=zG9s2mڴx_ITPJXzK ,(y7n=zsظq :4͛7SO=Z~樣JVrn`VjLyyk IDATy4k,F?7o^-Z . 'pBMN_W>uܪ`oUXtiE|ٳs^{޽{wСC㎹6wǥY!Voƨ͚.,XP? ر&[~p ҥK^ 4(U/VZUV5R 먣JfrwN˰agΜ9YxqjO5y$IS?VVI7xc1eʔ$I.]RV:*?|r!k$'|FϵWt,}u5 '( ~*bM[n>6mZN9-5vvJF'lԘ=3I2iҤe}Һuh"If̘1:thf̘k4i&MsG}$v#LnҪUNYhQNI&} Zό-Qvlul[[k6j뫖kd}$I=zNV>rܹsxsg;$=zIV$Y>"I~_?[}y}_׾Ud-?yƬk޵Y %jl9+E% @Q PT+E% @Q PT+E% @Q PT+E% @Q PT+E% @Q PT+E% @Q PT+E% @Q PTuj$OzRNԮAUUU/_?8K.MeeeM| [DIII5jҚ.vکW^իƍgɒ%Yh +IX֠A4iҤˠJKKSZZ >g<, 6^kҤI6lXe3&kРA7n\eP7n t+IJJJt^I&)))2 V`4jԨK35l(V`3TV`~5]Q `C^z5]Q `CN:5]Q `CvmX;!J`X(*VJ`X(*VJ`X(*Vϱ-ZdҤI=cc4hs=7wuW^~g}6˖-ۚ/ehܸqn.={vN>5R6lC=4Ove4m4 4Ȝ9s2s̼[yG3d5R#l.V ,eeeڵk'x"]vY*++k4ڴi:(IrQG}Ϲ瞛|;_~})++KΝӧOwy{キ.Zxuƌiذav<3zlzrekt'mٲeZl=3ַr7ꫯ*ak:C.$Y<0`@.ҢPNG?'ƍ}$'NL\?ɴ]d6mn){3jԨWlemV֪U+͛7a~0'|Pnmf}I5:8+},~jӧooɓ''Yrرc8 6lթSj &Yox#^9rd?3&MJEEE~h"={;^{m9ڷo<0g̃>I&eСE;wΚ5+7|s^Ypa5k͛g=LϞ=s}FX/+Vdٹ[SVZjSNyjBSOM ӟ_*K,6>ȤIj~xayԩ8p`^{シK_h Zti~ȹX-zE***[hQNc[n)vEծ'޺ujܸqǏW\Fx&ԪUkmժUa?^e󕕕SN)?>?\m}{o߾СCZj{/'Oߞ'1VZ׾#8"m۶MSN1cFƍ;czC9$?O۽{<3ֻw@>9ӱcǴl2˖-˜9s /n˄  ct5vZFUm{III;'7өS4m4of} :4˗/_g w\vu㎙I#̽޻A߿~_V۶{οtt-Ira?? tR-,ۭ[}݅C=XG:(k[o;L:̵h"O?taSNul۶msI'K.ܹs,Y'^ȭ޺Q޽{Ag[,$|#H.]ҦM;8qbnXc\z衜uY9蠃rik׮3gNn :t&8X/={V[_MΆ s!Rm{vҮ]'C¾ڵk/O^֘e˖iٲe:t?uJIII/<{N=x㍅{l梨"?3|,^8͚5K~rdޝvکooth{!@`B@EΡm۶W\֠ڼ;9rdZn]袺`j)S|rKocǎmݻwOs饗7}ݗaÆeܹՎ9sfFN:K{$Ƀ>Fmɒ%O>/8sIF2hР|MZ袋rwƍŒj!O*++~;.Y$|qIII~_#LZ2pᖼx<>}zvyL8q}?jtogРAkz'|*My睅N:W{_~a *++dɒ>|>ٻwkn̹bŊngT;zNӦM3a„j͚5kԕ z;o񕕕6lX` ?ϫutܹ fϞ3<3Gyd~߯Qc2ӟ4GqDQk[#(tA;wn TY.\0C )>Z&+[o.T۷%o1?r}eܸq6lX*:_(/… |$6lS_:Z[Q}]㑓kҤIի?8?x!ڼy\|IV}99]>|x_%y衇2nܸk;lذ{IJ={λz4-["2eJIr5#\|]v-,~9yԯ_?K.-l[>XʰarG裏 '¾GdӤI >GEEE!TO䪫Z;~ 77<PLn_~T %+yu]YfG9sr/<|kiժUlRtS WUV8<3o~W^֭[ڵkYaaĉkr!deeeiӦMi۶maykwС'}͛7_? |P)++ో/.~ޮ?>t`ϟn-zjr;k2eJZn$?~|?uɎ=Çσ>nݺe==ܳho|7n\YbYpafΜw1m۶o۵k$k49{\{^{wݻw:t+2;c:V|eI#G ;33|{tI'A%I,YC駟ԩS`|A!8N;mֹf޼ylyyZ4k֬\UUzkO-[u&IN9yպnI&~'ǎwQ駟ƍ1nʔ)]w5M4… DVUUeӟ;/sL_WyV)))ٸlUC9dc{$3f:TUUW_C9$^{mOjWw^} >ޠAtMԩ߷oޚرc3gΜ,Y>֠AԫWS|20믯sl:kﻸpj;w W֭[gKiii/vrMM=Oj]ڷo֛yI~e_#8"={{wo<_$I&M{zKyRQQxkӰa-zΫ:s-w5sO.+-[LIII7o={.$[=t{3Dlٲjϳ%tI;vl~fz6mڤYfҥK:?.7VcuyyV^& N۶mDLWiܸq R8nݺ]Yo'xܨQp %%%9rqϨSN3hР~iڴi4hSO;ι,]P 7ܰ֎-ZlG@xG(?w_G9N6-C$:twܑ^x!3fHÆ Ӷmt9rJL, IDATN~r 'dٲe:ujf͚˗g]vvC۬$ ˍ5ʰaϧA袋VcĈ1bD[n%X6mvN:$%\ߤvu<4iRa{zr)$I&NA]*7Ŝ9srM7eРAKc>̕W^E9k֬~[&Yʌ32a„Bt=̨Qtԯ_u>0`@w$ѣGF9sdmMݺu7eaԨQy衇 ]w{,s6lSƗ_~96x> ~z~K֯_?gqz}wO2%^{m?$I.]裏gӨQo>ݺuQG &$&_t`𪪪2dȐzIII Ƹo=zkCjݺu>7.]VZիWۯ0Co^_~zΓx}֭}7ݻw/<K.${oJJJri塇+W_}5?pN>̛7/ 7*sL;<4~J{am&zn향K楗^Z m]9}ћ Oƍ| ;k֬}yWK/&+C̽zJϞ= VXh^ }W}VX?O[n-Zڠײ.^zi{5_=:jԨ?LUUF稣ȑ#7h̙3s׿믿Љnݺ9s '䨣nZj.9l X/ѣG_W$+oݻڍr-y衇o~3m۶M6mRVVye̙3fL|1]tQ83-ZHӦMSN̜93SLɰa2nܸjlyV3~yiӦM2eʔjv-?y睗{'~x:uꔝw9ϤIꫯ[o͂ zW\1cƤO>iݺuロ1cdС1cV} K.9眓#GKnR^;6{oyO*wy' H=r!gϞqӨQ̞=;^&M~%uׯ_<|_;iӦ^u]m&z!C"w\Zl)Sd:.\>:[Ρw=iR^L>=ӧOѣsw>6΋/?>۷Oeee|jgƏ? 80}͡N:UV6mZ&N{,=&͝$gn9C>e˖)++ˢE2o޼Ky'#rTVV淿m|СCڷom6s;3~:Oψ#6qֳ7=z$+,HRUZڟjӾkߪy|1nݺe˖;wnF#F{X/=:GRXM./VJ`X(*VJhUUU5]Q `Cm5]Q `C?rmBhK.rmBhYdIMg̒%KRYYYe&YhQMgkP&̂ j >#,X*XMVQQ t԰ >GXͲxbX,XŋtL.Fˡ,YEK>X-2}Q-Z^zSNj@/,_<q.]* lV`ŋ=VugJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*V?{w%U}qShhY4E6E4$b8F=N9&93x91<:nhƍ( KEb 4 U]TQ]}k뮥ySw[]*QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQeuInq% $I1.\ X(+++++++++++++++++YRR~a-YD999ZQ۶mӓO>0W 뮻pBIҎ;snǸ2" ?u h\[NNS?x*K~w9N=31 @`b\4mڴs`ŐiX8du,777lkm-`023 z  ,.IC)???mf^O>XB«롇 z‡+`Pgxե k8***K 8p %5t`@Tсk˖-/%Icǎ˵zjYW_yy{;77W-]w%e`޶m{Q;vs='>uV`~;v UTT護҆ TXX kllԟ'L&s=a[777Wwt:3τm]1ǺWtuuW==zT?ʀؾ}{D]xqD 믻ëz衇}vm۶M?('oIJT *pDd]! xX~y=:֥@\9ry?cK͛<.章@w}xùPhѢcǎ 8XuM7i骯 /wn~~fΜeggC.\Б#Gtu;7nTPPD577OuCo~S]w***… 5uԠE&Lмy󔖖 6y0\?WPo|ēP/VUSLј1cdŋ:v옎92ho'٩]xQ:uT bɓo}[}ƿoĉQ <-ZHºnCCv1#藒M6-sٳe2p8ޮteddXӧO׫rXl6kٲe*--$v9)//O&M믿 .9GUPP }'R3Ol '^RRR%K(--ͽ[TqqF91l6uttHL&RRR|;VgϞoѯk Ng}mr۶m[D-//Ⱥ+B%Kt$cƌќ9sdٴc=zTC *--Ս7ި|-]T7n oYlںu?.ө#GjŊԪU /|nA#G$]xQ]}{)))ʕ+'N>S]]Z[[TWWg}Vo˗/E@l6=SZn֭[~SXSj̘1:p*++6l$pٳjoodRnnnuL6M&I'OӧfVuuΟ?7|S/N<qz~￷P|.T]]{F:v$)99Y1իWTROXoÆ *//Wyy6l &I*--mR{jllTcc?矏uY+ A~aPv qT&Icǎ$>|/B"6N8?:uTD}32ydIҧ~K.IN:::b\ =VU6lpXjÆ ! ٷ}T`,.!!!A˗/l֖-[-Wuu&L9s5^VVD;v,pRZZ$ɰ{K}},/_f+u?,9p'Hϑ~֯_=?~&M|YV}W:y<(IJII̙3}MPMM>#566<ǨQtu)//Or8jkkSuu6`?CQff233etĉX#I***Ҕ)S4l0eddŋQ$o?>w),,ԋ/_]7ov3رcl2vmUL F8="(Waa>Cw@.~JJJ/N>-ɤSjjjjt-H_t)`EYYY z}#3g_6k JW_}wDEEH_?yyy뮻ⱭMVU%%%*))QaatM7)%%Ev]63f|M9s7|M&IjooWSS\}AO3tbh=z222ڪZUTTFҜ9s4{lL&9N]tI*,,EEEp8{0U N[nwgbb֭[uֻҀW~~~X׼# bM>]Νmnn֫+V(//OWVmmRRRGW[[[kueeeѡ_]/^9w„ *)) frrϱW^ypqqn6l6mڴ)9]h\?VUKuuul6L7|&Oɓ'ĉ裏T__/ө,kԨQ*//׳>n%%%6m۵i&UUU,@4I=fNNV\٧K5}tmݺUNX-&MҜ9sdٴk.9rD6M0a,zw IDATnƠ7n;b2/ɤ={ k%Kjll֭[aÆpDݓO>~8l!ֺ:=aY C3\¯d-[L6M[lgQeZUXX(I[wvv^zz$u+/0Oii.\(ͦ7|S~'&&޾oRRRl2L&ڵ몸-Zh\?;vɓ'<|J7nuLSS6mڤ{GWMM{|ȑcǎ Jno(PcZ%I6MWVGG6nܨphذaTXX[nE>lH@,ϟ/Ine*|n߯v-_\~^z饠By---J1*..ԩSe2;̙3!N3fѣ `9׏/jBB9KGjƌ]wݥsԩS:uR_(pB@b%ҿ׵h۵m6Î㏵b >uK`ÃPuwwN;vP{{fϞ'j޽xbD " C999Z`{;3'))Ik4~x 6Lztko]_״`[ksuZJJJ{+xC fdd!NÆ p8yn{?TD}㋯άhmm/)S_TTTŋڷo> ժ"GH^+עfᴶVRd2 3^t#i߾}1cUTTD` CFRbb+|X,KB\gϞ5(}$~ [nUuu,V\~I&iҤIt钶l`shz]K1t3f(;;pάY$IOH gϞnWff:9322ܝxkkkò&b/Wg/8qBJHHЪU4k֬^X5|M>]NS|IOOZfVZkԩS:yL&.]I&d2IsssaÇd2Dyf^Z#FҥKh"l6Hu[o5[[wtt7wܡ<}[o[f/_\VUv]frwRG*"5 &}.'OViiϟ/ݮVl6eeejfi.Qp8oj͚5ѷ-9Nl6j}}6mڤձo>䨴TgٳڪTf;wN#FNii^,RRRcǎiy` W3nkm4.^{N'NTiiܹsڿ[SSÇX|I$uuuW_UYY&M\%$$VGe:6nܨ5k֨X-Ҷm²I="\σ {OUUUktIRss'%U"ZZZZ/j?~euy9sFhxUv6mڤ'Oj6lft:tHׯwj}Z}洷F:pjjj"Rk?[s:cױǛ=q/cǵ/CiI=@_=۷UO0E)k\c?o{7jtg9tl&P"++!?Otر#֥ƃ>m۶W^y,X_~Y/0fu@XfM[WW*++_gљ3gbTrz^T]]ǏcT+WT~~,X^gϞuIUXV7Nohű. 9ժѣG\O?nX>@6MGZjGV~VYYY7onV%$$uǺD ~_^5k-[=#z-m޼Y]]]1X~p߂|Ν}ݧ4͘1C[nq@9rDΝ$ٳG ;)Sߏi}W+;v}'I9r߹3gԊ+]ÇWWWΜ9??2]tI7tS/K-YDǏwI=l{4o<=ZڻwG---'Znz)޽[SN駟ӧ#P{ny睒#FOhG}Խt 7ƽKJJnM6M /O\sNH|A\R.]ʕ+koذAuתY|^xl6|ɤe˖\#FPRRt`;a/~ѣG)''GSNUqqz);*++SJJO{J,͛'Iڲe$)55U?Ǝ+Ir8*))QIIfϞk {$IGZ~}Z'M'WU~/溷NOO N0A/޽ޫ4]V}iս?~ƍw:7p5NIX!z[jjĉ,IjjjN:|ZZZ4j(=?~^жmXuXg̘t9Nwرc֦{WG̙3F%%%Zv^|E555OjjjtYfvm[׿T\\aƅ aJLLԸqHZZZtСc1bN^y}***}燼^rrl٢ݻw+%%Ew tR=jiil%Iv{Hjjj k@9$2Oz:1BsL&FÇ+!!AKϟ5|p555ɓ:yd^pJPj( UK{o~}A3{l-\PSLQNNrrrcْz7tJJJTTTj-X@W )IZv֮]\\l6[5ի5}t=3Ү]/?lڿy>}:kgee>XwwwXqavjj״m6-_\'O֯~+uuu?kGS F0(<裪QCC+9}֮]sNeddh޽[---мytA >\v]۷o$uvvWTT}wĉzǴuVYF_233U^^r=ڱcGЯW{Luuupjkkts\݂%;O>]viŊ>}ӵ`-X@=vz U6pȑ>]L;S_Z/$iʔ)}]]]ھ}V^y)++KR-ӛ$IͪW~~G[Ǿ}o>L&M2E6lPVVVXA8qBΝױ]]]ѣGl6 744Cɚ9s^{~<d2iĉzǔŋ`duN^ꎚBIRNN?͝;WҒ%K شi$/^,IڲeK9o$iԩOZV͝;}@֭[y)77W&I6 - fee)??߽̙34|XR^лᆱ 6֊+dXt뭷[ot%5sLeddhժUZjUkONNֽޫDI}?'7ox Co~y!F$96I;wꩧR}}ە"өڶmܬO>D{g +{謹ͦ{G?'AVUڴiZ[[j6^T]]vjkk{է~:_ iϞ=z饗بv%''KDGѥKTYY_|Q>ξ߯>@ pvڥz=':f?СCjhhPwww^=:Bʶn`f_裻%$uHrx8%u_~v=<{>:;k|#?s|;?*{5v` hh\>$I\,K@8-ZHܬ1f̘!I& G\6WM}çw<rH3LM>Ƃ}Uv4C=X쒬殱ZN$--M .$ܹSv=ǝwީ3gѣX,Ztf͚%Izc\Bʶ׿+7FQ(lhUkd o-@gh1!YYYyj&%%3XxRRR$I۷oq5a6f đ$L&uuuWVVGM}7z9N$=c) z &K^tVf$Iq5aX+h1buܹS6mɿ[IIIK..[QCOPι0c0Ah݁7u9M^fc&9&G׶vmԢI&*I.\vsĺ`Ъu X,H>vXuǶk<]^=zo{!?sB:jX,ow0ZuWWWWdx[-ɕekkk;R]]]+U)\;ﱁi]p_(Ѽxy%9%IɲZ,ZJNN$]ζn?Rp@cX ^PsaOr;)W{MPKK_%)--- W寕yզвqu 4,{URCA@/p>ƻê {ܻw#]]]E( KOObQWWW޽{Gs<!)^CwJn6~YSS$(555TH.gٜoUu[U1|ų| .`L>c߱1y_Tm_yzS{$''XVIf`|# ë/^駟\=yN] ªta#1}cǂLta>(jZuH;wngl6F+𔞞TI=տofz:BWVe0k>y:szX 5| V`q~rܹRSS'%&&*))IC/ V7@V233$IjhhxO?NIv4i0N `(hN羺J\d9^z&%%JHH`fXtםϝ;󊊊U`CFWYۉ«ah, @ 竻@]XjROHIIy?IDATgϞfdd\*X Zuuu.@RRǥ{}T=n꼼߳Ӫcۨnϸ3u? mkhta5(m6X JC]? '9IKK+utKv]v]r8r:+V6$٬Y,Y,YVLW"ommmGϞ=3g|]RO=Fϻ//k\9kL5@6wXџk0T_B݉;uW"z4zkƍwNN $҅ ?~;uTzvI]u(ݍջ۪QPz=m`ǂE5F-<W Z zY]WN5jҔ'''&&&Z,_`nl.]:TUUѣG?<D\^5jt\W=}<_syXHFX~ z4{Z5lյ~D]jPl4_s\!O$tR ^~qu}59FhN(`ƃxodz#綿}N}Ļ5sW0ӕ/VO`զ+W=ꫫ0竫j0 TO3@/sk;}PsJVϗ`Bd`jJx>ꯛx cn`Q 59Fcett%]sXzwnuzlwwXW!Z@|5  `_@k0AV_z f}2s!"#؀i 5(|9sϰ<_ ( T1(k`«ލ} j09let`?@Q5ycvsnOݺұ3XyF _5Q(s(yL(TCfev P Ƣ>_Ǜ=nm3|>&Y9wPӻ۩Q_ps<U@Q}us &qMua4C <_S{g4OFy@XJ>_aP«BHU«Aĺw3< i2s}! z'ٽ+7QwRP綿@jklsHD;:V=g;thч5Ӊ⓿w;nߞ^?jw_2ZpHX5 z?+}NyF:wC`Øthhf Z f]ߺ3!JX`ϻ+<]Xۉ5xΫ&QN{p/T꽦k^ #*€kH`#_kY1` $ ۻ5IQTr,jr:L WGvyN>>`E%9][W}]XCwثjlJ{6XN;vg`&WرgW٘b\Wk:[c֥Bv` a]Xcv6[ؘԎQŭuSЫx4gճR^hxu9+F=ֳWFǿvm9$.H^Wr՟D)kKYr-îΰ k!N{֌Xccb!k)gO8DSҳWcccלeեB꽀Ffمizv,w0b!<+>R?'rSwixrioF.!ى%rv`=w>ٽtxuW[ݪ;0.%ԈXvyY[ɽ4㱳VG{_ kjDO]W#`/%j쳳s#Գs$;~r{> DvJ;.HMٍ5g_c_lظ㹻~]#כ1lyJwU͹竿SjXW#bkʱŸϟ XR'AWFWɰC\8BZwz6>g;b OǤV;^Z:]}XKtOx|O]oǖϻrc*~{^g;ޝ:S 1SD~Vz}v` MfĚ{nw׺WK΢˫oū[%` ]XccJs?9+6kK Dğ<_A=#B֔ƉXpSK"Vjn(3;!XK09N OGC?ǔ캚:&+-mݢVv+aL4gnnRwY-S jxF[buXC ՘!kzJ`<9QiN|Y+\}Q6j{vaS?{̑:o9yrKSB#ؘ;>]AJҝVs]Nnx}X䆬g㞄o}}Q s WW[= .WcK'yT朗snZrmi5n5u#֧^#g8372}+^mn `m]>Xs=#k;DBu"9 s0OxvZ#<%^:5J_cy<_'yr>ϽsԲu[VZ{Ż0qe\-՚"`)]g( !ZbӫJ@8fXK:xzĐOY+4;W: AdTkּbRbjG-Hto#GskUb7Uv`=V9jȚsMby+*fXsY>o\+Z ^%b=WkOx?lx ܛAfk [2Bxjwm{{=v2m5((QVj9GTiVX=>:F5KD m*^@0]g5p 85zQw.!%mSj X`sן>F 6GXkQ(8u]\5e]cJzFy#lXl(eS5i--~V*G25`}#>1##iZ6F} B7u]45ymc8tMM x58-{fz3δi 5u1k:뺧#Lc= 0b?+> zxOw}nsp<6y w W"H$9>L9N@9'C:!|L:):|@|D|H0q~|H1#znLȑwXrU$L)DҒ `n"U2#@[T M8 ,?#CAyIENDB`easyeffects-7.1.7/images/easyeffects-dark-screenshot-3.png000066400000000000000000005222421463533416400235550ustar00rootroot00000000000000PNG  IHDR sBIT|dtEXtSoftwaregnome-screenshot> IDATx{\e/෫/N'b ' !d%2*s (GEQ "r "!DfA q$#D f$@ȵө:t[wUu?Zj_׿zwͭj-U@#ԣ - A`hn C[!pPVL$k J"Au^}hD0g @3hG&?WFaFq`4f0klN~nA&#<`p¬M@(@Ypd 6 !g'@%Esh‚7Z~<h xlHB3>y@TH; pX#s=pN .79#jϻ%I7fwH>Y'Fd;P!aLfqK4~YRAF_S\Z@=rI#iDb  5hiz(iK8#p9SQ1"ջ#LCZmF>Q HP֫QK?N>6{U$pWec#Z‚Z׵j  TXz|~C\ž\S#S- }6BUB†n짥4#Wt5FB:p~nC\tŶs-9pKX$tXzW=n%5@>B; ֪Bl5eˆϫVjCQmPh=B%P,]3Wݮ%}8 @sE}TzL!%tX;Zj-oc4z&=f%af Bpp^-7:\]O7!jCdbm ƒ gxu(ïPM˭ZMU gëV[UeVȒĬj9mkf6MKr-֦ꬕ50:Uj-PYSkM51Zj5BۺFB| ҦAV!::h8«Zi`,Yie5V!a"xë֢Ҫk `t(k`sWBXa<* #ZIrK_K_)F uF5#)ZκZV<0`Xp`J۾}U\u5CZTM-gun[5CB}zhëł Vq" ZN H ֻ ëVj-|h>BTfeU aW[J\_ly)JTs`d(6-Ԯu]I b:ex^Jk `pY9*: չ'jЇZWGϣshRJ2YTRW9UcTXGkpλꫵ Su`F0. ` ~d-PX k9}1Fkp(λQ«C\ʩ<[KWqJU H CuΥ8k^-Vuj)V:Ez6,/HZhYK pX VjTXGchp(ιꣅBՄWK \l9 SJhh)AR"ZNt(B#P`_iv'_p*֕Ru]gn0j{)r .+k_k`^QbmzV_Ux5_R¬ŎS3L,T}P kPh9󅂩CbU )h8ë[Fӵ04,̚ )tXs-'YJ UX-vbWK Ȓ"k)ȳbA֡"歖HW /Ex5_PpXR02Z,ZjȴjXKZmU aT_-5Z8lX^꾋U`-TuJ,bT U`-5hڿX5KwۗB aW3KZix+tV {/VyuijՄX kX+_)j|9B#w}+7Q84Zj kpl)!Cb`-H6JRèQIx57L k|wb` ~ &sދSsÛS蘅 L-VŵBe`-V_r`URKo|UWs-[O# AsVY Y UnӥXUwUMU m@6YnxXZW_Ws۶moNhWcftdDnlX7 8vtKF(dnSmKQH6z2],o]A鶌W~2 @*hjAWɜ֕R=PBV%-`W /7Z,߮#^ DD̘1cN;cN{{D"ѝH$z_^d$d2a֭{zz~K/O~{TbXV,Zi5sXD/5ZjR 6f-'oujn FD˴iӦO:䮮c ٸiӦW^? _nX57Ě/iuVO Ī:XKPU_&r`Ֆ"1^m1cSݽ{STDoooƶm"LF*5 hiiD"mmm--E6lի>G_'"DvH5UN57ZMUa&Zg%WPMO)^MLgkUWΝ{qx˖-2f̘/_Z5"XsCXbHBr `$XGjZWsGDWDĞ{yĉyشiS9 ȯ-3""zzz6?K7[xjB6zw`3Zj|9Ws,w?Z, ~gN<ꫯƦM"̼7`pd2zzz7ڢ}qw|g'M#g^ە2R/R] S嫾ٶ5Usb{xu6mW^y%mۖDT۶m͛7G"5qę_n[Lu룷7:::Ν;ȸEjd> Uphw`L)o-.|܊7m-"f̘׸qFDlذ̮PO1f̘hooH$|/Z2غuklٲ%mV.6lv!ƍ7wƌ{=D_m&9DD$36OeKe,Ϸybr~}{QeVJ8KxZ_J`ktfHL:̈͛7GOO=Z[[c;Fwwwttt0I$ݱ;㣵zzzb=ۖ[%)Ԯj׮TsTSfPBX[#}ڴio="bӦMa;ctvvֻ+@'j?ݽi}BÑ$ʕr1 X;_rP<Ӯ#"ZN-[Dooo^ƎǏw7<Əcǎw7^ooolٲ%""gҙx-u,%KWj|m ʒC5\h/}t3?η-"Z@zw([%Vϴmϸ3oW뗙UNNVB^`R+psoB7i[D$O>cl*`hp*B?~|`0[lT*cO>+!b3o>w_1FBN),`./Tv鰈 pXrh.Yg۶gٷ<~ B׾T5FBQ. q/s}nʼ-"b̘1#"z{{tzkmmHrh2T?֟u*#MK2)&Q]n;h2w]K{{VF7f̘zw{:ٶYBUW+X>PT` J©6](99D"m۶z hoow wӟm۞uk򍅲qí٫Pj݁*5ÃpyK&'d2Yf7Nmm:N]^DtttD[[[Fkkk$hi鋑RH&m۶ضm[FOOOe=Ya5Ud:SeծktB9KUJeR W9TD?F4߀S"1cĘ1c}BTKKK:ؚi֭e˖زeKCYm㭙ٸRmO"" ܎ )pueR+Ş)Wj5<IŸq㢽}ȏ~ "YbR-+e]""+?;Qn,pW2-'?Y*@ & Kx_{{{L0!:;;Es29I5sQj-9{6g@]]]1~Ufy DR@2W/گA5sKu&ʼͺbܸqF7!~juvry5V4b`iBBUU ko`D5kVz1~+[nw*uttć>>KDDw[o zɌ׶GFX>h2T*^~q#"5.\7|s= p~qg-5kVwy«[on5|䶇vX\wuCٺg_rez*2[oDb써;6oH%Z""UN4T`m,0 \xᅱm۶|U%Vs1ħ>:ujYf… +?__Mf̘Qr]ve{ï*L}CF4kT  Iomڴ){챸馛n[FD;^{?^xaM7T~@3:c⤓N\xFr|`prN;k׮mj0j?@I$Yߍ+6nHwֺhהUQh 6{«7tSoݺ5VZO?tw:{W^qG'/b[./^{nYK$qyED0*}yë7c̘1T*w?pu/""{x׻gώw1:;;cݺu3o۸[W_>C#s<믏 ֹG0zT3/{Y&N:x'ykVC5km{9?s㷿m޶p@,^8=Gǚ5k\w3fLlڴT _#fh cƌ1cƌ8h|ߌKֻkP=#-Zǣ7~G>s=W*5[qa FĀe]6՝w9N9唘={u'N'ƾw\\uUq7[Vj)Ϗw=""&MϺ뮬v}[xF IDATne@D"{bܸqe+`}ߞ^zu:=_d}ٱdɒZw a_e_ë?φg}fΜ^zij>7dqpXpa,8#Aެ6[n^ t]weY«z׻ wpF<K$^~&M7C)oo .HWDeD3V`mƋ}n(-Z;Cmom~wq搘1cFtA1g?dߗ_~y\qCz+4"B;va7;CzٽK,z(D̜93>଀ɂ 駟y%7Q+K,ѬT4+WFD}*;|-!s΍{,~{s=K/N;ovslڴi79y晬坝1k֬|yWc=b֭_:݁g}vVXvU#6o\>j%"jZk4]6ȰnݺX|yp cϚ5+^ձg#_?d#5Z̚5k /Z. 駟. 5uR*^:V^=ՈO|1q^gyf׿5k?ϏK/4'?ɬ+PRƓ{zzSNsq=\J?,f wh;{{{{Noh@qmmՠ5gyfN/;蠃_J?O:v}↫iWU֭[c:s:fd[xqMC5^Țt2«и&LO?C(R_^馛?yz3?!'4+W_O5O]ҌəD"sZ?nܸk""矏_u_z}lذ]`dAĒ%KbYc!C9$w׾aӫ:~ӟVuj^g `4Fk}A ?`ɓ'}zk|+_>8N8ᄘ9sfKqW=蠃v-M>l󙊶7ë_]tQq ~m+rm~ġcǎ8 yYgn?d2m.KS~:""ϟvZֱ̙rKD^8qb\s5p¸뮻c}7vex8'4x8#CW]uU<ߞu"">FUxrD?XlYVjLCX"d$}uEw߸;e˖]w# fc9o<p qI'%xm1*RDDF`mf#: ;a„_|q@ӧ ''|rozӛqG.K̟??/^^H$vpw9vy9sf7+9N*O% VU@ꪫj+ĕW^{oǜ={vz:J?6֭?GD_58ꨣc]w5l1}7o^?SvmuGqDo E8AP>?c=vuu]C . ,Y2dfUx`**~W;"xe˖Ŋ+b֭?f̘5kVVJ x;@1fgZ!|3Lk^]klDgF1o {zzfv/~s=qiz{{cŊ+Ğ{7D">o}a'x"y71uԸ뮻X{>.]kG}?4* SSN}csvJO?%PWZ&x^/r 7ӧ W=+Է=3=nݺ7n\z3?#ĪU_f㈈m۶E"H "ӟt򗿌'x"a1~}{nwpTŋW0vت?~|zzݺu%os G֕+Wʕ+|w'|2>A뮻/^x!:::⨣O<1ZZZ->O9SUjOFM6EWWWD7n7|nذ!=M..mmm<>FDX)v[\tEsEGGG|/| H$-/Ǘq*h4'SW8tD?GDD{{{̚5+~śxӛ<@tҬk̊˗/Tr{饗"J Rx+ȯ!k2 C*'кnc=6H*җK,??3dVn-='w==YU⠃:*L^m۶JSrS /5kPod2暪yɓK}+RU?uW%{zz㗿ez~רybz饗'NLOPOfsڵU2?ؼys\q裏׿-o)t'ʸ馛Ν>eԪvcŮ}UXWZ2LƊ+:Z{ْdVC9$dWX[ZZ _Blݺ5n檏L&[}m_yH&===%-[^{m|cs9'|`6nܘL[sp)SQG\pAJSrSKB«s4iR\tE=z^ՆW#"?egVG+-szc&LP0-_<=O<Ƞ?ӟ4>2]oV^5N;U?hVC5\L̊s̉#"bݺu?1}fw1gΜhoo?Y_5b{8W%\5N]JR)5TKXT?FqUWŢEj'x"O}.O>msxx7~={vo;w;vlDD,X 瞸:NO-^8lْ>/mذ!'O~T*^~q#"5.\QoswI'?cҥ[p~YDϬnaU g?nҗmmmqAٳ8cѢE1s̼>q'֭[#jA#)'DDL}? _BvaYojr~mmg(G?=YgyfL<` /0?!VX;=?uyϞ=;_kf nܸ13`WG[.֭[W?=V^}sN:Hqַ7ƍo}[qqǥ4:nܸ8=P O͛^vmVnVݧϝwِrjLJ_yx'xbz:_ kFD81S}j+P|3Wo漕X?OWuj$h 6څPj iɒ%Jq%;<]npw;:;;oڴ)6mڔW:NDij>m| ŋŋbʕ^Їo馬͋o9v+W|;ښMkkk\xᅱ`a9'?~7vrKr-dɒtpW͛Ϗ=;GWWW̚5+>OƷtT*^ziVEgy&kߟ oxCDDoc=v<3fPYg3gΌhiiG^_"}?^y啈x[_|q:]w]|ww#?ҕWǍ_|q:`nݺs25o}+EKKK$8pz}Sx|ɬO?=No~Ġ,e/N"vڸKjУ)f|]wݕμ/_>m2 n_}լ l<(MOiөT*} pk涕h5k63|㩧ŋe4s̸UVEwww̘1#cG?=PDDyq 'DOOOڲ0/5\dtyϏop@\}qyeg~u*??]M6-~+Օ^/ìWz(v}kaRRƩ֬Y{lzw3 /;/8^|!(f|ߝw粖=裱f͚}\ti֗O"ƇdE\Z'I&uhooj?/b\q_`o9zzzӟtխ[歷(W]uUtvv 'ޞ2{ڻ̙3c̙_{qwTu=p 9-ZTu5"A2|;JC-&{L/׿qꩧ<^yõUY/袬iGΘ6mZO%KaqDD_oҥyҒg . i'/˸ 3ό1cFG?e˖ŭw_g}b1w>d,\J΍>}^|ժU|eST,\0⊬]}?)!|Jbd[fMqy׭\2k~}.E_Dzx饗PX9˗/"O +͡LnٲkqBn+:V-[T`eDI&q>x[ӧO׿/Ƴ>˗/n-)͋sƔ)Sbĉ=\N:餸;bݺu/?8cnرc_2>;,Y2D=ƕJ/87gqFw׿>lXx8s̙3c„ Jk<裱bŊկ~~y>?ptIq'[8d1h۶mqYg7\Ǟ&MT.UKKK?C:БyeX#"z{{G8qb\s5O}SOױGqM4)>ł 4K,.i]>y1}CױGm$W`uԏ ō7.i;lӦM~!wInփ""FDrt2畊mGƺWx/.ML/Wnbm* O?]x HR}/""*YDwT*կfUb=쳅XɭY&=}{>8o㗿eW76Mӽ\lʔ)iU?zXtH$qgD"׾sNs=]֬Y]w]\wu*rr)u4+2̙STȹD`j-LƆ ])jÆ L+8 K %N=TU#Jիկ~۶mK/kooN;-ZZZ{nKYD@#'U K"T(DC=刧z$[H='"F%V @ڂfdvw IDATfz9fgvy3P5 >ԮΝ;P[[W))+;x7n$Ib1f̘䨼FRfnL}^-t|׿m=z㶞?ضm[?wta2ʄ ͈Wwڕʵ_'IDDDޯ;{U{=zֻbu[}>w n/Sc᫶/U`׮]}J7#j%&)/_nk׮hii[ZZ=*7UC{hooOmmm}hooOz\&"J7b0 #T{{{477ǎ;~;vDss*X&ܹ3v'N &ܻv튝;wFgggI " U3o;wqŸq㢾~Xjkkhmm\"X`l6[fCdrHSgggڵ+vl6Ǝuuu1f̘3fLdd2$ItvvFGGGtttD{{{ٳǼ&' #H{{{;MjTggg޽̀! mmmn0 . + n0 . kd*FUfQf0<|" #Ν;+`Y:Va:::0 0޽;vQfcǎؽ{wUIF;wZFعsgU {hkk'+yw;wFGGGUMFjƍl@uvvF{{{Ekk*+TY`R% @XH+` UJT *VR% @XHU]@:f͚'NpKiӦU 5⡇W^y-`0$)۹3L 0\n)+` UJT *VR% @XH+` UJTUP$IvL&Ss@+` UJT *VR% @XH+` U j$IYΛdr^ @XHU]@y##|5P+*VR% @*`h$)y3LY YTY()+UO@k0@5`' @ڲnET *VR% @XHU]@$IrL&S +VFxFl@m` Uun@I,d2e9/@ 71> J7bVjVV݉0xV P4!LyPn jV Pʵ\:+*+P6ZʿPXT`dp$@ IZY 6J7bV\ʰ++9ZJ@OBTVFoФ'+U#-@ @1=Y?@ PZJ7" @*͒$)۹3LMwPM @ D(+gl@m+`XB Zt- Fr}lQDߏ.J#|W#XHX4?+-V`&`*j4e+j+` Uun F$e9o&)yG?;FV$mnET *VRUW@1$)y3LY #IGe+ /Z-[P[XHU]@z$)y3LY NV` UV`NZ:]+^R%l@m+0> JT J7NI弙L,`+` U "I7ɔŰ+` UJT *VR% @*2$)۹3L @`tiVVR% @XH+` UunK,d2e9/`*\ [P[XH+tQ$e9o&)y )}F.VF[d+jXi-wyw&+*VRUWJ$e9o&)yjXH+` UJT *VR% @*6IܙL&kU:i^+֨jy-E(l@m` UJT J7!I;ɔP @XH+` UJTUP$)y3LY fVR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VR% @XH+` UJT *VRUW$IYΛdr^XH+` UJTUTF&UIZSu\k]'kOqv4>UǵFuҼ4ܧhNrZ:i^}ky-:5ڮܧhNrZ:i^}IZSu\k]'kOqv4>eVR% @XHk9Ϗ{'^xصkWgy⪫~:ZZZ9{cǎMu=D$Zf>׿a{rK٬Pի͛7Ǜo{m۶#<_җb_8hѢAꫯ'1>~_k/dž /iӦ9qT~@_^9O}^^8ӭyCJ5o6yr=?J8Zg F .]{}뮻ijjJL *[쭺~Wqj|أ&59"[){kޚ#5#"[D̈#)"#"Ȉ"⨈8!"466&w\2O=T2k֬$"C=4y<KoWJWzj>f͚׿lٲu~}Nx\Yrʀ2Id<ꫯݚ=.Y~>}GI&UgTSO=Un۶-9=qbѢE#y)U͵lٲwg?;SW81sAB~JR/ W)Iˋ(~PZψϫqx)5ګž~fP.\t箻ۧk666&ID,Qѕ]ٸ#++]ٹYѕ;$͈wswӣ+םus||_wޯgg6wnplA'1"+Y,SC2^{D]]]۲l{̙3gϟwqǰ Ƹq7|G}t~|I__Cs~ /:+{y .[o5fA9{3gV?0xgyf]6&O\4Nb(R/(l4b 3^eq85h֭qWӦM?<.hmms1ҥKdɒ?~n},[,V\oF|yO\rI7|\pA믿>=ؘ?~|}ҤIqy9^?.?soذ!VXo]p}7n\̝;7~_n?{W^n-*N?83⭷~8Pljg}vqaŊq-C 1eʔ"rM$)N:餘3gN,X .غu(v(f^L,b|JO3BN,żz)Ԛ<ύZz{pe{.ܽpÓݥ"^{iѵ|qR3%egE2Mѵ,ѵLZ6ZFyAccc2o޼3Lf]~+,|ߟχ?mgqFmw*RZzhcǎ$I䭷GJzs?iml6ټys{R#(Y|yr衇&,]4OGN?kX"y_s5y)UuG$LN:餼~vw٧qb_~sxy)Uu /ƌ3NL:y?Up)g1AU~R/vP\bK8<*qόj… ~{<뮻ijj*ꚍIccc +vTteFW65EWvnVtewu3uszݹx7ם }erJV+֐X~}tvv{iӦm'޼yss}Hrz'y/.xCSJ yj,b|Pp yy8S̼R\gՇ:RZCy-'T-… ~~'Vʫ'x"o}sɒ%Igggn^{-ﵧ9ѕ};*ps+wDte嚢+;7+tĻnnztesy9^wor 2B9Rd%XkT&;3>w7ƗiӦED͛^^R5؇??~8cűx'?oSSS,^8,X #cŊ*֬Yz+}-on袋VSϡv=SaÆvSSSL0!o^z)ϟo5ZZZG%KܾI0۱iӦ8S}oo]m=ܼ;׃~sgw{衇{uμR/(d0ˋQ!ԲB_}(~n=3f͚z}q֭˭NgϞ83_,W<;Q^{m2̷zk\p:Ǝ~s}E]SLٳg~W^۞ Jk _Bn{ݺurHdmݺ5vܙ>n3fL|m ^؆*ݙ=Sϡy䑹$7|sN0!N;>ZҶ]:::Ǐ_ky V_577Ag>8o{(';pgV~RB7ZYyu0rύ0xǏy= @ƬZ*˿,xl[[[lܸ1/>?O=}Khoz 3Ygs&M3f??O<1OD{{{>pCկ~5Űb=G}t̝;wg̘؞$IR:ss_wtt??ZPKz~GuTgqFO?D1~@y?_Jq}R0V^]1RUgѢEq7涷m6m+V/>`֮]'rwuW\q1a„k,^x%}7ǪUO;_DD\ve$Iu]Q__˗/~lg"Z?k…qG{#;"#H*ko'?IDt}3<>`e B-Y~}}ٹ.(^z8󞋿SO嶋'N;8\Yb|Š'x^^8SyCJ?W/v|)P 7+3vW潩׿u}قTL *[쭺~Wqj|أ&59"[){kޚ#5#"[D̈#)"#"Ȉ"⨈8!"466&^{m2w_yf{?L5445kȯ+bЏ˖-s~ȭna;InعsM6%}|޽;9+Rt?LN9>(fYַ;3+Qj4#<2>|'!)bK?;*\Rs<<>|vP}5}?8SNmY;yG1bD+WlO>ixZ|[ C i2dHCgglܨʍܑٙ]5sz_>ט5k6p`4Al'~V- {P__+"ۼ[;(M~C >^444Z9ޞ||_Lmm~]zu.첼+Ph۶m馛SO+**޶nݺ9+2sLhѢ .?ᄏ́}OOYtiM2dHҽ{lذ! , //K.m:. 8ӟ4۷oohժU9So~3W_}uƎ޽{gڵyWy,'@-bEm4~8pTiZ?%=oKS^][R]w&l}O#\S 2dfX5dȐ$Ɋ+HҐdS-hHRe߮ˍ{{Ӿ㤅S=%_1]g7# @`C СXPt(V:Ty c 6,IRQQQJb3fLdE~*IbŊ"WBG0+J% @`C СXPt(V:+J% @*/v,HyyyJK9gǎMuuu])++K׮]ӥK}48VSS۷JheeeٳgvZRJKKӥKt%=z۳yfA,=zHeeeKugϞΖ-[-`\nҫWbV׮]ӵklڴ)۶m+v9{eUYYJ`@hS=z0 W^ѣGأݻzݻ `Ln݄`?#ݺu+vt-={,v"zi hBheeefbԫW }`X6a&h!3q%ڋHhtڵeAk׮f:TVV Q$@0 mw X3$@(v pH]:.]q>c@" b%30FA{V Smw Q|D& @`C СXPt(V:+J% @`QZZoeaO7|_/vpX`[?я2k֬̚5+7pC?,s֬Y0aBw/?17t+Qy ,7nܹsTQ{.be&rK<\MWg' pټyso&6l(l5jT+`_ ֤I2`$ɢEG套^*?RRRROmmmɶѣGË+6qa}0+Wy ؓ /\}饗GGIL0!sq.䒜uY;vlzK__S^o[@:k 8p~PX?S___X7n\|5\>c]z饅ݽ{,Z(ӧOϋ/g}6eeekR W_}{o\z饙6mZ;gѢE~3fknk7tSJJJr=쟊9>s&L<9IiӦ\r%kfĈO~RXkx 80>hoϿۿkͩѣGgժUywCeɒ%-7z\x;vlgڵ裏+__cǎfJJJ2y\ve1bD_>˗/ٳӟ4XNK.9s ٳgO?G$6mzߞ>gYCkF߾}]]Ϸ޽{oYgdI2iҤ\)++ky.Ҝr)4iRvZN;}ݹZ}=]t|{Keeegͯ&mO^+'pBfϞݤロŋ7;UW]|+3fLaȑ#3rȜwy<3MɟIf2dH ɓ'+7d 4fc5jTt.%gqFz$YbE.\$o23iRRR14]n]o??(,䷿mџ7 &2dH!ZWW}s1Ǵɹu]o}[E;?]yW _9s;կ~լϯl޼>ufmvC: 64ŵ2?fcgoVayYlYVXdÇ[om磌jRӒ%K2cƌ̚5+˗/O]]]^}ݗ=@g`VS ˍ6z/~1IRUU &4uܸqK 3f__eڵѣG|Hii9?>|x&l۶γ7'Nlu;_Wsu׵fϞ+NsF,w^faM۷#;,`zyr'`뮻 \g9~_UVK.o~3)//Ϸ&aYf?A|ͬ\w޹ SLI zꩅ?xIeee(o{ @ӽ{y晅z@iӚ㢋.*̺nݺ_eaw˖-я~ﱆW_}f͚YfW_?ܹ{Z}}uuoܸ1wy!s͎;R]]/^a1g`{r4tҼ⋅+e˖5isUW5cK'x|G裏.z7_~97nެZ*;''?O?]7{}}}x&dX۝wdFc=\[[䘗^zi R]]}:3g]?̨$#F(,ٺuk~߲~WZ>}z&"koF6c~F$9#\{" 9-ۜs9; k6?padɒ¸ߔ)St$MӧO}\|I :4}Q6={g?>CMӭ[ɓ>g}vdے$|Ix^{m*++/BwnI*^zi.o㗗fۯY&Æ KҾ^8x͟?`M^z5 >7L0!}əgY:!ׯz̮IrWoLl߾==Px|ټysO`?ӧg„ 9餓r '䤓NJnݒ`y=@ ʴiRVV$ٺuk/qF[N?$y睗;S0{%K2a„$>qO/-[4Y5jTϟ,YO<1ۂ*mיGz&׮]^{-SLIiii8㌜uYO>gK.ͶM:駟fÆ >ϹP3gΜ̙3'IҧO{er)MJ].̙3ql۶ǿۿ48MW_}ܣGm $ȕW^1c챎o/;vh8Klŋ7Y?>|xկ3g,,/& pp3fLoIO/L4)I`|y;#cǎMIIIJKKs+(=zGG]~?>-稣ʔ)Sκul۶yj4 N8>cƌ1cFni2w$ɳ>??ĉ$'|r{챬Y&}po/ׯƍӻw$ɟgy'ofʕY`A!d:qq9S w ͑G?6mJEEEڵkM/\0L|3gΜ/cƌIIIIK|%YtiVZ;vd%;30+i\xᅅ+{mbŊ;0А}{M'ɀRQQ[?g?Ya#\r%IvMfUH~kwy'K,㎽7W.C ɓ O>Ixuɒ%[zر#O?tmy I^z5 ~ǹ[u&?.3gqFƎ̛7L2%λ"5*SLYg$ό3r&I  &fa]lY\4iR;|'7o^~?Δ)S2tOuuu. 4(~a֯__?o޼|+_7ߜ?>ݻwς 2cƌ?s&3׽v̝;7w}w~fIvW~7o˗祗^ />}z+OcIr뭷sɉ'O>/?[li~ɒ%Wn!'ǸgѢEя~={on<̜vi4hP\2/ο˿d3h4S[Y(yo}KQi w}ni[KmJwYo\.e.v}4n땤SO$|I / Z%Ё~/IrmAiii^N^w0f̘$ŋ\ ѡ>׿<)-9~73fh裏֯Z?FВq3g!ɦ$[ѐwύ˾]}I wﻧ6{:nK>khcn;;^MEәëK.^ݼys^{"Wpx`/}Kf8rw-Ze˖utiR__/ p+))e]VX饗R[[[Ċ_.eذa˿444dڵYzu뗪$Ijkk}/q4c@" b%3ؾ}{K3$@3} -8Dh#7o.v pP:-[Q>[@#VMeӦM.J6m2Щ=v% m۶<-[d۶m.m۶k mf&X6e33>ڴi7ЩmݺxiӦlݺeLy =۶mKMMMz왮]toߞ͛7]pPhѣG*++]lٲ8"V]eÆ )++Keee***R^^R?sώ;R[[jA.7n̖-[ҵktx4d`U]][!.[nu;xZOPt(V:+J% @`C СXPt(V:+J% @`C СXPt(V:+J% @`C СXPt(V:+JU^XGuTݿwY~}bX6jԨL81GqD8$͛駟>… iӦ"Ww?>#GLӣGdӦMY~}.\EMwW^yegy&-vuGA{ΕW^AԤ <8ouu:V8Ĝp 4hP֬Y@em۶?̇~X E]#GfÆ y'dɒ&qlܸ1~ך{9rdV\:?atp:thd…Bc=6&LHCCCy䑬^y8m J]жz$,r%gʔ)IYfuXp|Z191+WQGc7ȧ~0`@N=TUUeٴiSVZ9s4{p )--}ݗQF夓Nʀҽ{Y&-믿$ԩS3uԬ^:5vu/k֬i]^ Zԁeee[ w?>Yۻ+[liv??&Mk^zÇO̐!Cһw_>|A/_:oTUU?yfђb]7s`C3iҤt=]w]f̘٧vZ:묔!߿7s=& P>&֭[S^^CfС98;wnNf-S9t-+Vcx5I:$Iuuu!rSYY~̣mVԩS3eʔ$y=RUU|X XrW%\nݺ .ȹ瞛ŋ… m۶3&{njkkSOwMmmmz4iR&Mk歷jֿ{>}z.\ꔔd3dȐ~yWaÆ,Y$#Fȸq2cƌf?~|dΜ9{}}I]vߪV9.>`F+2k׮̓>M0!SNMmmm{;I=2~s9`hcWźn@PZٳS]]=:_|qo_rפOEEEM$y2w&I6oޜg}6J _B*++ʜ9s 3644d޼y9sfdхq5;NcuuuywZu$E@VQQ>;ofݲeKf͚'x‎Ǯy`C͛O箻#:*={uܴi~->*u.^{<39sk׮Kjժ].]rU[[˗gԨQ0`@>}q͊¶;vd޼y9S2nܸZO̝;w=p1DY /pg͚ qI~D[>'3adǎy8)++˱$[oݺuX~}gϞgΜ9Iqu5#G̦M 3˓$>|ҵky{|䳯jG[]7dV8 Y&K.1A%Gq^#InݺVױrʬ^:СC|3&eee;w>ʹrlٲ%=zy睗xf裏@^>$I>}mh $Ɇ p{aÆt0x$իۤ~;ga?~|dܹԿ!zdРA9ۤ ݻs5k$븿ٯоXS^7`߿>$$cǎ;rJƏ~eݺuYre;o޼gܸqٳg>,[p+}[oO>I:uj7[rsPkee644f1m<ƾXlYҧO=^NJ}>^|CY %pݞַdsKZj>wtMR2tЯ%p0`@O?-r%+"SNM^ jkk${΄ ￟W^y%IRSSdgXrȑIO>$;vHyyyN8\x)--/&ӓO>9=z[ VVVfIR8_;v*CM޽3p˅`㾨|;.9ꨣ2rTWWg˖-ٱcG[n:thN9tڵ089`c[kqg48h{ׯ_>s\a_CCCJJ~?ŋcnS$z훉'fԩ:uj6oޜ=z$y aɶog̘1;vljkk`>Ɔ /q!C_r!&{tƍ3wL81W]uUVX|y ^~5*UW]Ao۷ofΜ~eر2eJL:~6l~|tu:V8L߾}3nܸ 6,}I޽SWWO?4֭ٳG5_WW'x" ,Ȅ 2hР#+VȪUo̚kټyszw}0ڶm[~_d?~|>;]v͖-[iӦZ* .ҥK־ISOeݺu0aBm۶fmjkkdʔ)9rd۷gҥ5kVnݚ??ioǎyGsgܸqI~1Jv{[ߒ=lkT][R]Kw_˾]z%)9Sg&ٯ-|Ɍ?>^xp3fL0ɍ7ޘ䡇ʇ~XrVUU$9sIlJR I~ܸ?uq}o{x}{j8F3+wܑ뮻nΟ??_|qJJJr=dĉ3ϴsСC3`lڴIx0 A1bD/T^]]M6M-F . IrW$9$+r%tVh>hn}jdɒK0aB~_yN9ٟY,Y}{R*@SQQq%`8\Bkhhu]w@} >;sigܸqҥK>䓬^J]px;餓}pbV|b@3+O>Ksݧ]tҥKs&IN8,]8묳Zw{.ϣ>n-=zc]^JKK3vw}y&rˁX؍X АٳgO>9rdnݚ oܸI_En攖fYfMN<Ĝ|ɹrov|+_it]vm@+/qFsNmv@ǯ_ . {o{\~{l ?y%IKϕW^fg֬Yy2k֬TTTdÆ T;N@nҭ[)))Zz[o57d;N&NSN9%vZ^{fկ~|;퐚88g?G֭[;38#ٳWO7c^ݘ1GN7wqGm&L$6lXXJ=zt!̺'7o V8,[,I//n1ЂbE%I>ϥk׮E`Nɑkjj$}c7x#֭Knr뭷K}Љ]6I2y/\0IrGgڴi-ٰaC/In!~{z٤4}.C<93sM7Oς r-/_< IDAT}k>Ⱥu2x1"k׮ibTcЉ<4hP 6,+WLiiimݖŋ_rƍO?4%%%͎u]wύ7ޘ1cd6lXVX_/|y$izڢ:Fn{[mJrܒ=lkM.˥/e߮mz3O>i1c$I/^\J$3g<#ICMI\ۣ!Ig}.7yOwOmtܖŬ̆ڎ+J% @`C СXwaQ{_3# .hE$ʫĭy\Ӧۺ/[5RˬT.-?wI D7s`pz>~?{Ʊo@" jE~Gqw uRhh6LWf<<|t颰0={Vʕ+uRGfͲ]y睲Z눈-Yv=|p;vR`PTT ֭[+00P?t)%%%iժUɱ[׭[7OjѢN>Gjʕ:tι^WQ` MuY:uߩS'͛7Og 7ܠ'|R۫}ѣƏ_*Zаaa׶m[mV}믿v͓sh4W^Qttt )44T˗/ɓc7M6jӦz-[q«mX5YӦMմiSIRaaFM&^z%Oܬ}:tVXQWc'$Iw}˟g.]嗚3gݸd6Hrss5~x>|Xҕ.?n 1`9ΐ`twrJ*~ɵ8ڷ,grt` jRibPYX@MIX bbѣGհaCwTk -^XvR~]Pit`*+Dtk[V~!C `8Jsn6-_\3gtpq%&&Zn*@yT֭o>-\P>nvN=+ @JNNvTTT#F ilΝ;;e% 8I_v~w_d=T:Gp 8Pꫯ$=66֝P`W^jذmۦ4I FEEiӦ֘fY,Y,YdX4}t5/$uɶbQϞ=',,Lsڵku}z뭷ٲ{z7w?ӧW}lR֭[kڴi㏵sN:tH7oւ ԡCmذAE{.u믿$Wںu8k'Gp5:G p!CH֮]k+99Y:uҀdɒ>HIIIjРڶm˗/СC񌌌RkƌiӦl6P/^TXX4h -_\3gΔj16mƍ'(ժ?Crn nСCO(''GӧO7߬nM;w֬Y(Tf?>s7Nj߾u]w/h̙3v-OÆ 5uTuQ;wVDD&Mlz7n\@`E~Y,Y,ݻW^wumfb~NuWeeeٍX###3+G/$駟'|lIٳgK/魷ޒ$M2E 4t%;m4ۺ>Ο?M<999zgqF]pvbhҤIJII*{9^iP}]IR߾}+'*X cUzmttղeKTvEqvݺuN8`0(66e5k׮ ?o9 ,PZZ4hHIRոqcϥ:;{lj*((о}$I^_Um۶I"""TXVwq8>}ڮK`ЬYUVUh޽{kѢE2v322t%nݺI̙W^yԜnA4p@{N9"$]fHvvԷo_)11,-o]ehBZR&M㣐IW::˹s$Isڞ@eWt`TDAAA| PPXQ#͜9S˖-`М9s$!VGբ"NK2t```s;uꤐY,}-mڴ$?yǏ$5mTlj<0a*SQ:DPyyyXQ幻PFwe3frssX{1kp2ë/>S9x`IC=_?$)66}\vqUV+ަHΞ=+?Aj޼6mڤ\ԩSտEEEo_}(p+jD;Y FGG+ë OvQpSoV4p@۽B[{F9bG$uYe7[6 %I$=zs+ @Vȑ#zj$kݺuZ~yy-իe43(99Y{с4gYV=sâEn:F=駟gZhQ2b:5ku)))ISRRٺu X#;;[.]rwS\tI.5V 2*IC t%ZPPP5ְ0EDDHX-X@`PFF֭[G)!x3fh޼y:r:t蠀RkԩW_}cǎOԿX޹8q&NoFgΜݫiӦiʔ)y%9sFZr;&/ԠA9]|N233uewZ6qFP{yk 3qe+kƫMW]U|_K.;+?{ァz9*{Wo6nܨqƹ@%C b-Gqw ޢE4vX5o<7Vpj?d2W^^^~6PU999RaaahҤ$iǎ=$Iʔd_E {quy2\h} XQ׉jhӦ$2@yJ*PJKKӥK'z@5ZӥK UQb+a6H6mrw9@QTdY Waa._̏cP'сVbboܹs4iU'?~t"?VBB5kիW+99ٍ5V1:VۺuNwQ4lP>  t)y{{+00Pi&͞=U5K# t >\>:v`;wN6m҆ 矻Dƣ+VXVm۶M۶msw)@Q+V1 ." 8FՊ+NPTTdwMV1V18X# jE'+Pq.+zL&իWOfY2Wj@yyyUaaKB-C'+YL&|}}RFff,0PCx{{e%///eff*;;4N@V!Z_>>>.V\+22󓷷@ G'+L&WQd2 `X|}}]Q8XUa2 Y= IDAT2 +" `TDz]RV0.p)p+K\8! ЁPF#.m \+V\+V%V\cXpX `` TVT+8X# `# ЁFrw $)=Z?$`) kj6mTiFhEpwEX5A@@nݺe˖jԨ򔚚3ghJLLTzzKu9___; O.Z^EMD'+&1?~,l7V^=]v;4~xƪMV^z)<<\ҕ`>^{UUTXiܸ^{5EDDTh֭[|xUR瘟JUdXp:jOOO :uJ+VPJJ,$QFjӦu릯]VNwuvZ%T\\UhXpw6lnf5k`KOOױcǴy.m4c wQ-4j(w+.@P|}}ۮ87|SVՍU^EmA'(**& n]vzUlR<ڵkv)77WGG)''Ԛ@]VtR%$$hի#Ghڵk$)<<\>nڱc}[׿***J-Zɓ'u!XB$iڽ{wK,QBBbbbԧOC>m߾ںu~)44T-ZӧuQ\R*w ڄ+]t=/R=Fyl6ۍo׀+(99>s:wN:ԩ͛ٳgnГO>)OOOxվ}{CǏ/7:|yyyٮCCC>}h޼yڴiSeMLL"##iw?**JQQQҥKKɓcwM6jӦz-[ʵ9BxPЁn͚5=>qD>z'«߃kܹjР}6mj ڭ7Lz饗O«v۷oC[t{N-[3.[PP-Z~IzպuR&Md hΝu IW£GVΝ\[Y6" `T/_͛kر]viРAU~۝SO޽{5zhK_UVٍW_UիW/M8Q _~lc0aB#?ƍ޽{o߾L&n~TT  I՘1c4e͜9S<#`Ј#rssPt`[vvqV*>&&F^^^t JKKt%[oiΝwqG\RTaa`wܩ+33SVUӚ5kl-[8b [5;;[ .͛mݺu+whҥ:zmdh-[ökjr]ed VæT~}5lذRCCCmw]fׯ oZeXl׾椤{zz߿KUj\]o%),,_~ھ}Sf֖@ Vwۿ=SWwpBsN:ewݸqJWx~~~+vוZʫ2akUA U~}uǎƊ cM4IF㕾F7| ?ԲeKIRfʜsuWגUk]gO]4h I԰a4lذ2ԫWOΝ;yf[t7?VZZe6mk8իW SNuEy{{^z Wk=OHBCCj*۷ONZn5JvyM QF, ۰a,G@MTTTdwM.P\\W:u=~׵uVƍۅWwء3fj:*TPP I«zg^u\RK.ub߮!Cj߾ &:+pf͚#F'ObhժUJLL,avm%##C;vtqE@ENOĉթS'[ Ҕ}mϪgϞӧڶm +͛,9Raaa_9>PFF[Z׆ 4tPnZ!!!jРt޽[[lֺĊ+ٺx$h4aÆj߾ڷo[w֣>\7W999,wε(99Yɕ^e˖J,ϝ;;9ӦM+w|֭(k{iUW_}U5:yϟ_ڪCBB CFpuik`1BcǎUn4sL=ny֮]k||u'In0.***ɓ'C񒤘7W:сD .DpJt 7(((pZ+VIW>NOOws5 V1wuݻw$޽[/_kݺΝ;UVjԨN<_~Eovӧ+??_Ǐ zgdXtmk׮e_֗_~g;Ep+j@͟?_=XFGG+>>^-[tAeG)$$+,,L111Zr$)&&Fsέ~vca>}m۶ܫ+[d٫LUl۶m2󫴮^ߪp=zT_|5kѣ7n$=zx^^;IR>s9#<]PӧOuI5 5kjժ ѻwo-ZT'Ќ ]tɩ%//OЌ3tyM8Q[oǏߢE jJM4BBB$I>>>v =Z͛7׷~QtRVv;;wNT^=[$I6lhZ7,Ij޼ykсp+j3gjٲevS9sH5C«EEEzeZ_t9y3FފX4a 8P̙34hy :TQQQԩSeX?|wj*GVNk)¬TGׯ `E}v3F]2FGGk…eW_|E}.,:r:v@IW?^ׯ,=zٳ?|MEEEwӧ4o<7ިz^ߪ͕$5k֬BO8!I5rH+$&&jر``1Yf>.z^uzWG$ ЪU4rH^ZTjj*ԍjjݚ3gKFU啝_9_:T_%I~{+j':0Px5~x/ݟ?~3f5vIK"##%I.sMU>裏$Ivoy~'M68p5ٳG.\OZ@QPP=GۼyƌSf'V-\XqUVβxxxgϞZtfuIIRJJ$iܸq[mk5j &hСey]w'Txx}٬ѣGK~]|J늪U/h͚5sjv!Y???`kzzfΜ)J_|T ;00Pݻwwjp:dc7=G<=pD;V^zqx::8P_y{{QFׯ_9s/^O͚5ӺutYVjСCСC|A 4HӧOWnnN>llR~~~ִiӪ<"^ٳ9.]R߾}+3UsQ6mԥK={~W+$$D:r<(IZvZl'*..N>RRRt5kL[VZZvJ+uZ+"rssK5꒒ bXQkT&ZUIݽ4_ѣGl2%''ۍ9sF8qwﮠ }JLLg}_no/RGVDDԼys>}Z}֭[Wj&:P999rw)䨰eM9ka(񽼵;n8$M"Rw:8"\ 3BrEqAat("URE2-m iiuNN'-G8'7cU.jyUύ:HI>}lӧOxiKJJJ!tYJK.=ӟ^vF3sUe˖۷dT(j}꺶U#׺n_W|Qt3^x аTubuZ*OUVV0e>UXXHUԊ+%W!V«nwEVoٳ.gϪ$e#F+==]&Lбcǔ3f^``xNh U\\2]p1K]{.jt`.JJJdZ@xTEEE t)h$t`Uee TTTd2hpl6UTTj*Fށ+bUVVc$` x+V|Xt`@VsX{X:# zE+9V=V=nt @A?+V|zV{X{X:# zE+9V=X`@" ЁV+V|^` x+~@Z~M6]>֭SFFRRR|SPX@6l^y]V~[mذAoƍVZiܹw}'TÇkӦMڴin rJeddt=K/}R?`v5V@}jӦ֬Y7|S7|u&P%$$(%%EO?y@ K,Z|͊W||nZZ,SK5|pnZ#GS IDATF8A ҥKխ[7ٳGvܩIRfԩS' :TvZ۫W/M2EG@ ޽[gϞUDD o张 2q=dL&UTT߿L&eee㒤G/Pnݴ~z~hLt`]wݥnݺ)##CǏwWڹsvYcmLL:5o޼m***m6tM8p^uzf͚)==ڶmҹ&L Db t4EX#?Uxn֭Z!!!. :Tҹ͛%IÇwgU?e@@+ PZj%Ip%_|!ݮ`]}.礤nk֭O%lR *))Ѯ]V7X]ۧ릛nu ֏?NNNVFFҗ_~Yc]߾}5vX%%%.Sffvܩ^{MEEE5[N JJJRbbfΜ>}nkʕz/j* ?~v}hرJNNV6mtQ}ڻw4 2dƍD5kLoopt`x@Zz^~eYn޽{+B%%%  ͘1C'OhTvvrss=zno[>|YfYsΝ+={1RJHHPBBn6zgd.LOOW5p@-^^JJ$i͒$ժtz>|xA{z`0hԩzG$ͦ3gΨk׮ڵ*++]YejӦ$)''GѣzoQw}7!V1`ԗ~AgVII7o.]1c(::ƚr3F)IԘ1c>.=#:tRSS5h ]߿>iF?Fב h>}^OBsU^Կ ݿ_~˴~m޼orss={B%l6Gԁ: TTT۷K4_> Yjժ߯M6s)ju9m6IRN|zp>S )+(//֭[uV-X@wqx EFFO?Cy_BB$Yf7o9ݻw$izպ~%%%4l0%$$x(MOOWjjSuСT#*I7nTJJ+VHS;vT/999W+~@׷~u)$$D)))^XB Ш;EEE^X;t IͭuѣG%Iqqq_R]tQf͔CX_u7oVeeh_~*))7|љ޼ ЁАeff믿5\nݺyu8qkU]B۵kWXIґ#G<7??_{U޽տ?~\-[ԧ~*Zc~^^vޭ~iС:y´e_=z=@Sa t4EX MU*0LIRU^zdr`0{z.I8p*Iڲe7n$p 4h:yhQ۷o=xDEE$X/ӱcG 0@gxU5::oFgΜQXXfϞ}n;wDm۶}rmݦ;*++KxtIl6ǘ+}$kհa$y`ݹsԶm[7R<+~@V@}y駟jΜ94hڵk'٬ iFbh֭/k322$I۷w/… %IǏ{EDD8͉sdUO>KJ~iԩfhh=s竼~'>}Z;vTrr٣< S.]t!8q$ɓzgj֬xZhQ{x }E! AAAj޼:vI&iҤI}rfs(Jf͒fs~(++Kyyyjݺ㕛kiOu˗+>>^Gִi4m4>}Z111 RII?h^הc`0h˖-qF%%%IjKC[5eM2޽[{vӟ'`v5V@}رcվ}{1BzR6mԶm[رcʕ+{n{}Kf7%STT:99YsΒW_ t %oܸqzwיJLL `E_HHHt %e˖۷dT(j}꺶U#׺n_W~GV"i-((Prr+7e˖)99YƍlRDVsX(--Uaaas.t:toQ4j(@=# G5khܹ.ɑ#G$]W_ӧȑ#zT!дЁV?~{JII_U ]MX``oѣGuuW_}UG՟o|o^iii~ڵKV҄ 嘷a=zTÆ $ѣz뭷$IW]u=x 2e-ŋi&߿_k֬ѓO>p7lؠLFuE˗/w}{jΜ9~FL.};V/.l6o]~N:Yf9~]w)--Vxx}j֭*((pynמ={;X?~uA=}QFegg+''G=zP^twhܸq:tPfAܺ}F+VRSSv/2a㏎kݻ~a-[LԲeK-\P6mSs/hZj %Imڴu]Ç\#Gԍ7ިzK9rcǎԩSuA͘1Q͵pB1B-ѣU.\]viŊڵkfk>U#i߾}t3<>N{]wuzgծ];Xrr.uZ;]iZjfϞ[*##C/5kEiǎ&Iiii9shN/z|H͝;WC^o'MիWIZn]/5$mݺU>` 4Z]%S2t1XIX"*Wp:`EI& H-Zik tMz#Gn… 5c y$uUݝ222$I PHH#@ /.WH-nEWPt{_#Iz3XU2\P`36d iF/***4c =ѝwީT{nW\oέ~FGGsN),,Lsνb k!ˀ&[kxX&ݫQeLZRxX۲e&NX`Gdrn*\yuʕ~[&IK/~P^^#,/w?pVZ%Izuw:!qx >|-X@Ci޼y5qqq8pp IMQ.]Rxg 5i$-[FUw«y555UC uٳg¢gV޽gM6on-YDcƌQee$W\>}襗^… Hl6+33S?S/4f-_\}fo߮ :YFڵӴi4a:|ԺukuAׯl6[]uKeLWg0[d,yڵ~Wo+_=ܹնm[.w`VDũe+jMy]3VKff&Z[S{|{@z3&՚Jm=źE;sL=_i"eTԹ&;`# );*Ҧ|Wt=zF~ffF]ײ\pl۶z@[qX..ETv`l6((Hкށ{XSYW }>ˋUݟ^4?TRCV=c @b+S]Jv&[I^p ށ+V\Y*;6pXv>HX`_Xc_ǾR~.T =[ktvSv[Rف~?Z«UVJX܃ fQ C IDATOdk*ا/ V[۶m_L9<@,cB{WHTy`Jl%y>|kXPol%y*ޱX?PH-Q#Tvc RNX 7U͛2J=e$ct{-2-${yl9SEAUs*N}" 8=TMXz۶m^@@SEp+>@VsXPt``k`\3\BCCfh<{V6M*//WYYJKKUZZ" zg6pLIj4e4e6eX$I***Raad :#Fm߾}r\''' YfN{d2)::Z*((ЯJV Cp+EddZh!=<l_ :# qufX*++SEEl6$h4d2)$$DX,5FQ Vnn_ xXWZb1nZUPPPkT&*(;͍dҩS|Ct`f͝;7eԑ#G$]6(((H-ZpZ>Vl:u.2N-ZPqq*++}~&+ ݮ @ЬY3FlWl6eggm۶1Ѩf͚)77oЁp+|l6+**i,//OVg[V9uRAA=g޼ykWVV:v>3}IWX /<LddӵjU~~~_#,[&O*;;(--U||ZO?Uv|Q6&+X`{6m(++K_}^yoSDD &88X޽{+''ƾiii?~^uOrwAcǎU޽վ}{hB'NЁ+觟~ذauڲe$СC2.c=ܣdiF_%Kԩ:uٳgo߾ uz]υ;]{ u\+//}֭[NcJMMգ>kɒ%,UV`h4jΜ9F=zW^;4n8:tƞfYw|IUnnO^P_Zl*,,: բE >ld2)44TwNN~meffjJJJҠA~{h FR0a~GcGQqq,X׫wkoGO?Ν;5g~Z`]vuѣ]_s5zwURR)S8;vNjƌ[͵pB1B-ѣejpBڵK+VЮ]d6Rt]\\JΝUSN޽;V\w`% F Ҿ}%I3<>N{]wuzgծ];XrrO?8,,Laaa v?.I>}6nW-''GK,YTZZ3g?zf̘ݻcǎ۷6lӳ襗^h󕙙s窼\'Ovz͜9Sɺկ_?رׯ̙3U^^8]20Rk|!++K:uR-|7+bcc].aOt hB.8-^Xc{N ٳ)Zjj͒]-Ij׮E͛m۶պu>Ѿ}"=z.ꫯl6kѢEڽ{y?$I[nՃ>:-ܢ>}8M&.2fIҪU\Xo`EI& h-Zik :tHԻwoL&?fR2LjѢ=Z7zhjʕz'jw/,\P:tЎ;k!I0`BBBTVVzgٜ:ƀuaE7HEFF:v#裏jƍW$KV5|*'d JҎ;TRR/mӰ0+++%I4hKtA=yd.>j(5JgΜѴij ܹSyyy ܹs:XN}KϮ^'}%&&:III:ysh+-[hĉ5:q ժU:\uzZt$f͚͛KBCCu7륗^u-[Hf͚믿1޼ysM:UwuW5$zoѢLcǺ=/77WԷo_O^$+… %Ig֩Sj Hz!͛7FP9..N@(//wK%k ժ%KH^uсp-pm/kҤIZlaj}t^MMMՐ!CjsY >i7ЕW^TM>]ӧOשS#ɤ'NYfn\xz%$$UTTbI9p5oF֭[kڵ˓fSlll6~guy7oֵ^I&5gΜZ_%KRM#M8Q;vc=Sd_MX&ZUI SXXXs jiڴiڲeFdoիu1{n,))ш#4m4 :T*((۵|rj۶mNk;8f}UPp S\55L[%q,=u4It4=f[+ &.b"" ;3?>Ϋ*333X(--MyA,fYVwr@+JEBBTJ>^qqq2L6Y@`@1LQ||!GG~%Pbb^Bm`,# RXUrqqF $l6d2)==]JIIQJJ,u`wkܸq߿hʕWjU :T]vU5SNiݺuڷo_3<>}nݺƍm۶|oĉ?~| T$X`WRTdt`Tv5j "ggg6mTs̑$)>>^>>>С:tu飏>*6m t]rE-ZP˖-积:NNN;v$iV .RVIÆ ڵk5rH988֭[yWc_~Zz;]P{FiРA5bM6MfYǏO9T@@uATdX(!XQ@@M>>:vx EEEI`_^4v!CH֭[HI~jwuuѣ%}VlRV*ׯ͛o5d͟?_ׯ_/|___[])))yY`~t~Aׯ/Iy:߿_t2dV]vɓ>P`ЁPeffj„ fUp5Knd0t=z>iii $uզ RfMIҍ7rgݯUVF!٬%K@eAԁ+2E[NIjPIRڵm:0szӳF)OOOmٲE/^@Ex]@Q`z5jԐ$EGG_TT$WNNN/Hdd6l(]t){z꒤Wf*--M˗/ާo߾jܸ@EEԁX_S~YTZ5EFFd~AN> :tPxΝ%I'O$=Zꫯtu5nXsΕ_!ChٲeW1ػ**:`jժI /...믿Vff>}KCU[* @O=n߾/RAo|r_RSS5~x5jԨP*؀X^BB$J*};g/ȹspB O?)SzcIVR||vuԩSZtnݺPZJs@Eh`(׷$I{ꫯt uUk֙3guV]tIuQ5kH4i"I ͵NHHƍGVTZX(!X^TT$) U&Il8r䈎9g|„ 2 Z|RRR$Ij>NN׮]$ըQC`233]•+W$I:uĭ}K.t~Q5lP=zիWiӦq'''g}TFX(!t`z?$Oڵ#IڳgM?/-YD㑑իOҝNXQ`,a+ֻp:$I4i<==3|p+..N۷oh޼:v쨈ر#׶/JR0m۶m%I{GX(!X(Sjjׯyvڒ$GGG :T&M$Wbb[矗$-^Xf9׶m۶j޼z)Iш#$Ik׮-1ruue0f222L&{NPsլYS4d;{ٳ={v}#"";5k5k(..NrrrlҥK?Z<~q[}jٲ~7۷/$-\Pf͚1cƨVZrssӎ;tȑbGXQhFQrqqw)TxArvvRSSumPЁPYaÆ/~ZZBCC5zh >\:tA IDAToi͚5 +Egƍy}Y=xvޭ/&5Qyz'k Xז,cq?!vcm9/Yc^ڴi&Iׯ_ݛ4NBBFF$IΝEI(#"""]P:|ݻ+$$>lA.!{Jz|u))A?w]2%s]9弝ue# woֵ+'«^^^wB+`V͍ e].⃬@@2t^hwxǵjժ</Kx' w >>2dΝ;WS:ZjI& ÇkٲeJJJ}Wt颠 jٲ233~z-\е ?J+PDmڴ$+661B&Mfnݺz^z۷֬Yo2͹կ___}6l(Iz!=CzG4~xeddh?~4h yС|||tر\ѢgIQppp /1c`0(&&Fjڴz!W'Okrwwſ@V:[5kJRgQC222{۷oF:tlq~*U4{lS>t颷~[)))z5rHIҵktIR>},裏J6mdV:|I;Vϟȑ#կ_? 4H}Վ;TF v1cN>7xCדO>-[f U`Ek.+<<\?{"աCSg]]$͛ZMSN$[ڲeRRR$Iњ7o.]*Izg>@6mRBB$l6%IݺuwƍEݻwWjjon,OOOKJOO׌3tԩoݺwyG/_VfԪU+ܾ}&M;v(::Z}v BV:XQw3kY;A!CX4o\T[0xy X(5m4͛7/W5+uY۱c|ësoO:7nZjzW4z"c:֮]|}}%I/^ػ9sF'NP&MԬY3=zT={6oެRϚ:^*I+@i+`ZĠڷoMf3ӱc}Z4m4M0AFѪ59լYb(W[.\'NnIںuRSSիW/U^]?8k׮ټ'_U\\\]]/+JV:XQݻ7NCAɬΫ6l(4m4]zUFQ'NԲeԣGyyye֭[kѣG5gI^}UM0Aޒ$ 4Ho$iΜ9JOOIo֮]TzuM>]A6mʳ_qy$e˖Ů#>>^ϗ$ 6LӟԦMk MTc|@o>M6M+«%y5H=Zoz|PsΕ$`0){;v(888+WT``x M8Q'NTttd0>@6}ƍz#(>>^{챸_Qۻwڷo#Gu:{f͚U:~'ժUKƍOŋyt}͛߿fsA@!сVքXK+%..NӧOW&MԷo_mV͛7ӧO+88X3?==]fRppFOu)ZJ/_y݇˗u}i֭y5k֨Zj0`jԨׯ`0 Iϴ}v1BWPPP?nݪ}c+}v,X;i^k8u]\|Ʋ,缶4fiCY 9slyЦM0I~/-/Bg;v,0ZU쭰Y5j$I:w\I;w @xb=y??/6ӠA{KYike=:Iʔ .Lڮrκ_u~۲֑O~Zb}1@ՉRN«Nu\b% ^ l,#rk߾}ӟ+W(&&Fo6UvA _~]J+`:PLX` ^^6uPLX`qwwU٦u٦ȋX` / ` XPT:wlXl6ۻPmrJڵksO^u}MUVwX``;V@,7F\* .nݺիKA7O>}U"ZիWw @׃>h2PIeddػTR<`kX{)\aÆ 3gTllnܸgj޽{vBhe7W&t`Պ+xbٻT ڱc>{${X\*K..ׯO.U(uiii.=V@ &Wҝ>ӦMz''B_~Y͛7fPըQCOKiђ%KZٶm]~}ڰaV^])_St1b;ػ$T. 9 o5kh4Wdd-ZׯK&MK^u[wj$ Xn:㕱]hgjJӧK//Xva\R۷obJEݻumVSLw96wy}w_SN.تTb ȑ#ڽ{ڷow}WRގ:J*TU/^ɓ'kΜ9:|pe}2XgЇ~0m۶M/Bɩl_ }Gխ[4rH?~zVum{ JNNw)))I۶mӯ޽{+--Mk׮Մ Ԯ]DKVZTPR-[ܬ[ncڷo (<<\!!!/f͚gիW7ߨK.ڱcGm-33S$iԨQ_R")ܹsEO?-䔞ƍW_̙3չsgK*-[jƌׯ_ׁ/hԩrss+߿_}U\\zjmذAj*:Py$%%щ%&!!AIII.XyK->s5.hC>cymi>ɺECZIw/GV(+..Εbcc]Pf]pAAAAZ`V7jԨQYe6s\njժ;vի6_(5jcwqqѢE*8z-m6xxxPQuVX!ooo=:tF)Ǐ+55%Tdd>v? /f͚GĔ^Z-[T޽5~#u IDATxկ__V}_.]իWW|fΜ-Zh4… JKK+fnݪgj֬Y:u:u۷o̙3̴w(bcc5b 6L7otU߾} ̙3:z*111^z[n2e5k(]pT.]4d)##C1116Y 6h۶m4h|MM:5iTTnݺe233[}kvy秹sZ̙3ڿ~iyyyӓO>GҥKܹs Q֭dҥjժ%ɤ(fYΟ?^kc=חSNi P.]p'?ڶmF={K.K\TT߯M>]?ս{ww}JOO/[jj >H:tbccmމڵk2L Vgo8pt^Zh|GGG֒%K/+==]k=^rE;wԳ>+7775nXƍӍ7믿J GFFRRRd0Ji*FIΝ;gJ`K.(<==o^z:~4h gg|OHHPƍCO<6mTbGѱcJ@ySN:i߾}\}>|bw ꥗^CE5x`}gt'l2-Xoh4K.ڳgKp5b͜930BBBgٳ1B'OԡCUrpttҥK5zhIw}xyy7ԫ*hi&Ĕė` jݺuj޼$?K*22Օm… /aCAAA:yݫA=w/wVV$7Nw.z'N?Iwjڴi^R?\c׿`կ__s̱IO?&Of͚ȑ#:x`%""ء^ziΜ9zᇳiڼyjϞ=:pRRR ]ԣGIɓ'ջwo]r b0ԪU+988yZNd2gц lrٳo.g'Njh,T8I&z74|p9::*!!A!!! ݻYVRE_5a 9sF QHHJȰkڴ~':q℮\GyD5jP˖-KI&ó[֎;TjU]|Y>R dnZ۷o~ܱcGvzH hРK(4(9;;ѱvuf222T~h_IwB m)ɤZ~ږVKmZG>k-²"pKv"Z1`r͛7㏫[n ;98ett&M=z4&%%22R/6md@E4f-_QFiʕ\}DFFFy 0 ϸ BSկ__k׮5Lڰa>cݻ׎Օ___%''3233ukܸq;vj׮֭[ȑ#^YFѦ]բE jJ{-vx$A:sLvѨÇ_erBBBt1JIIQ+|we͝;WӦMr|M\R5o< 80{d2iϞ=a]|f.\1cdkÆ Zhv]!ꫯR͚5k.ڵK{Q||K+ז.]qѣ߿ߖ888u=s믿.UTQdd\]]%I7oֲet%]tɪ_AsϩSN:sN>'O*"".ݧjԨ/B}ͳٳ2d>lU~:uEҝuiݸq#@5R``nݺ'|R׮]ӎ;ti 6Lիkεk״emٲEMF͛7Ou *44T5+S{kzg uqɤ0mٲEׯx-^X͛7_xllfΜy]\\=@*U4}tM2%[YT8p@!!! UXXX g?{zfq =S1cڷo=ѣG+44T׮]~]pAf[o%·F-[izi͚5:p^ysNPP^u=:]v)88Xǎ+H;w?<]/_!P8qBݻwןg;vL/ӧO[I&y={V7oVppBBBW_UXX~{~-Y5j8qtyh޼y_)۵km۶eϟ?ٳgkŊ;\fT-[Ԏ;rOLL̙3sN}rqq/k߾}6)OV#ZQ.@v"Z1`EE㣑#G{SLLbcc+///9::*>>^&)׵l֭[d6࠭[ĉ ҩSԳg?F[{HլY$\=͛7ȑ#Z~fW:1RYrFaq۷~g}B};?6m'xB}Ν;#G*&&FIIIԩ.\ٳggϞ:x6mڤ/fcǎj޼.\۷6YZ>H.*K[SO=;wjΝ:z233XEQ&IUTɵ_N...ruuUrr233.www(99YfYrww͛+""Bu֕bbbt d_RSS"?^|>\ƾ+-]TҝfddSLLu)IҴiԳgOխ[Wot]|YIIIJLL~NJJs})))ruu!wqQ_00ð ʪ" inieiR3StlT씥mjbHS5sCE}22 (| RRRHII!++ ^OQQg&Jxzz˗׿Ō36վ&O,U\:wLii)8;;3|ДlQRRŋIMMҥKٳgINN&%%oood25Pm`0Gqq1gΜC?QF9}4NӜ>}sΑ/#^^^h4Z-V%33S }ZCݥcxqq1'''d2fb{sdffJF .Df$%%Iߧmȕ+Wpss?t=z-ZH V:vHfͤ޾};k׮{`X8wTy͍@hт .T*Q*1n=JU[xٺu ޑ#Gظq#G%--Mj+> }z 7̮]ؼy3[lw}|DDD,СCJEΝe˖|7\xve2=ݦMYdyĉtܙGpB*" cJKKoˎ;7nJÇyf>3,X@ll,PvL7o2}*3cƌ*o1b9994nܘӧs&Nh74ٴiiiivEddv F)=ٿ?$!!nӓM6لg28r;v? ++K^࣏>tYggg|}}ر#˖-'WaW^y7x/2k,֭[g3;:tM6,^\ܹs,XoVl?*ŅD k׮eڵ~Û?k׮Nf ++ .]tSPP@QQzFio \OP\\\je=NP(Z: }F CcBӓ.]Hڒ̩Sd2I^59* Ra_egghP긲V*..FPHaȬ͂jw5PamhYfU}_N6k[e.\h4RMn3@rr2mۖ*eΝ{ɓ899ѬY3){\r&U222puuk1Lj222y+t:J{-n*h4 [C-Z 00P*CT ŋ9s&Hqq1( ^L&/_FJloggj}ot._̵kפߟZ"00oj*LBhh(Fk׮&];{,h4OnNb\p"uV!y95jd3|Uf3iiiF1wuNNz^)z~o9f̘#`ߩdjj{졨Yfqq:uo<`=ΝɓHU{'}̺u\v0틗AAAthdffJ7b888jqww{=l6SPP ].ҥKf\\\大Ӵi]=txxxMzz=n= JJJlK7@Z 3b֮]["*Vkzuk-V`AN N4FUUAhdlڴݻwӫW/FMxxx`OPkkFF\NaaԹ|Ut:X,j5M4A.sd2X,\]]qvvd2j5]xV^^` K.4u0jZJ%yyy6ճ `&IZuYRYQQNNNRZ|ϯ|uX;\]]h46P*V(Qt:>:C_   d/|PRRRh޼y}7CE֖ݻwc6ٱc7uP?DUm"Z 57QAAčSPV5)OTҳgOzyyj5!!!Jpי?>=7% p/Q(fڵkZ^Z />u2Axzzik׮t޽ζ!ԝꎚ" 4|"*  BVAɓ'СC}7CӱcG^~Zb!ٽ{7111f `0pe~R3V\Idd$aaaҐwǏK>fu,^IMM}mV =xxxHUvBeթ6Uz=EEEhZd24L) h2:CZ f3^`0h"vnn.V///pss#//bt j)**"??ggg Evb RRR!$$´b0,gΜaǎBXX6sssqssC#PTF7 JqqTq*={ lСCquuiӦ899I- JшRYv]P\\,U3Vd2qQi(S___ 8;;MFF8::b6U4ܸ=JC*_~?5jOOO\Rn222ʍF#899CiiTb/f͚8UZZJ||<%%%lܸ`<<<4dXHLLppp[NRRYX,`6mVwpp //Ϧ {~~> BEEE8;;Rd2- m0P*TJGKAQ\\,UdZ!BlFRrS1+6M&^~}RZZJrr2hZ1ٳZnB WWWRPPBwwwr9Okh44o777+xbt:Ο?Ozz:yyydffҴiSX#233ϏVZU{57d2qtL*:;;STTDAAr\:70e퐐4i—_~ɦMذa}G!,,ZUeeyyyj|}}s 222nεkPt' IDATRo)))@w5 e8'''<<< 6ЫW/KDDJEm'k׮=\+fggsprr畽M&ͣGФIz=[neٲeЮ];JKKEpwwI&Uy^xhdǎDEEׯ_ǩWuV:u$U[.]D||<Tb`6-7?ҳgOLƍks_~:ףn݊b}VekKČ3* aFppp[/33?K.1m4=u;a6 ;jLnF[ouVǬv/#/+M+1@֩S=p lN۶mK~~~=HA| III6;w`Cfw5dks^#zL )`e0 L& m20ҿ;ֶ899IWWWT*Im]d2Q\\,Z;{M&n20 d20'O:Aِ॥6Rʂ"r|)b hh4"ϗ󻺬(i_dddCqq1J ]:._;-[$((¿ׇ@ a\xWWW=z4111~>eՌ;oW+.. \ڑ}#^bP(lvPvT*T*ٶX,B --B5kFtt463Lu?j)ϟʕ+@Y-::gԩT*r9fw*M}ܹ3Z֭[s?NNNt:1c~~~G}Đ!CYx1jPknOOO~iNM~zz:'Ndͷ)U [nDEEٝ7?g_[<< BӡҺuk|||HOOgҥ,[tmڵ+Ǐ'//h֭[ٳgygX,pi._|S `ĉL0B`壏>b֬Y6Z-͛7'//Jŵk*|w i׮&Mbذa6R ݻw6{fwDEEQPPoաj1LU~&ݥ rssYTTZɓ>}Z:')))AѠT*jobT*~!CƵkXhҸqcdxyyIFLVV6lŅMҬY {+W_}Ebb"d2\+ :СCoL&k׮%== bcc9x eHOOp{'/ P=׾}{m۶ W%;;I&P(pww www?ggg+>7o̬Y8qDSZVIOOO"""@ּ2 :]vIC+LF`` mۖvAHH99ut "))͛7/`6qsscرR}Æ ;vcҡC*sά^-Z؝ҳgO6mĠAٶmfkKa/_f R䫯Y?5a=d2)@N||<WWW0QJJ ݻw믿&""͛ұcGztRqq1>y`Fhܸ1hZxj<ٳߧ~ٳc#mڴߟRZU^^fYe%<==ر#gϞUVtЁxuԩSv4iBLL L>ڒba(J<<<*go8pwyiٲ%=mڴٵk͛7';;W^y^7L>+W?ӧm_>xHZ-;tޝϣRX~ke} jVKFF 4|={DII #Fɓ@{7''={2p@X&B^?LAA4k֌͛өS 纇fΝo+WФI6mJӦM' P^gڴi:u?֭[}= W&++ H\\Ceԩ7ɾ}HLLqE-Zc1vXf%ܹso)(T4p@ѹsg~gkFرck֬a˖-:kOn8t;v:z=cƌ֦ƍѣiܸ1.]b$&&nDR鉛ϟ2e\k5((DoNVV ϯiBA4iC ncvmŅÇ3i$vL&ɓ'wB^aNYp=sp=///uƊ+puu~cĉ7DF\tIz\RϪUҥiXd Cy+yoՌ7Z',,[ 8qCPL퉌­w8q#GrAAAՋ޽{KlҥKyWoxKӦMiݺ5iiil޼Bg?ɓ'Kϙ3GujoWRF>}ҥ -Z ((H\^^^w_*\]]/1bDi%%%h4l޼e:u3;^RoFL< 66LҥK}֢E 233ke5?4}====N:܌i&͛GBB:t888HVxٺukʷFO> 4zJoiӦ ?0ϗnpLJJbڵKۄ?/^̬YʓtޝÇ裏lw?_~%?0Pvdݺu9RWPP@-*CCCy2dXRRf-[{~mΜ9î]P(2g֮];ŋٳ'ݺuC&?JEtt `^ aaa;ƍFdd$ѭ[:;r)͵k8vXlvVA}DZӫ@X+.  B͉IX֍3UV וڵkyjm;?Mγ>ٸq#={Ѻ.\@֭/Mu[ 6jԈowySNcOeҥ҈ ۷oO>^~ԨQ|vm3ӧOwLL -ۛKҽ{wlB1L8p>FT@kYlK,~_yzzRVС{*5"<<j7Çi777RSSQ(8;;ӺukN>K/;իW+y LJݻwөU͛7 =z*ٚf/^?O馷(o.;w`'ҥ Çgذa1n8{1^}Ud2۷gѼr|s̱ξ}Ю];z=>(ǎnLݻTirË/hjZ{tޝe˖ZWRcǎVZF0aܹMWW >"Z!LXE`Aֻ BxYpbQF,Y1czoOvӧIHHʆ?'77WWWmFNn>NGii)nnnR MFVc0pttlckL&#++ #m۶mDDDpQ.\`3Ķ BA޽;v,߿a$ٳg=ٶm[äIӧ'N$>>Bo߾L8ggg&L`rL&M6ݛ=zp5-[ѣGw-[Xj={$**CUk!C?Wx\ӡhnB&GO>}-ӪM6xxxH2F#,O>͑#Gn*ںuk|}}BUm۶b6i֬iiiuV+/gϞK4hZz >Lxx87 j~|AYxMꓛ[X+oO```5\΂ x嗥1115o:,|BB6mbΝu;C퉋 /sؼy3:(:qD-Z\.gʔ)|7=LFll,?ՕUV?Ow^# `) &Mo{-Z z~mVX *)S0p@ƌcw$>`GX5:u`?]X`G6m8q"۷oopbccHNNq+ALXN"*gҥ <ܹ3JfڵT)UYb&LbǎvLLL 23f0~x~כn ܩ6oL~ۻS/~W UXnFVpP 2ja-L^pwwgÆ \_[_Q <<ݺu?dȐ!lڴF "99YWweܹkږÇ_jILL$&&*;::©SDVyfZjEzz:۷{ȑ#Yr%W\!$$䖏2YY"885kChX,$''?_z\]]7oO=#F`۶mv w޴hт}  Qe{ #՚^ ‘ƳP ¾}pppѲ$''Bllld29V'O>$+WdϞ=9s#Gg}#h4M 鬁{.|뭷ppp߿>%vfӟۺcw3Pqq1k֬ゟ9990 e#(?~{wo'|S)**ŋk]/_橧ʮ՗[G!!!A z$ ɕ+W(,,d2`z-BBBHOOW_ѡC… "Z^z?{ΦQ}Xv-]t… t: w}xݺuСC|r)\Zޚ5k4hL2喷kXX,9sݻӢE N:ӧtvR^~~>ͣcǎ;=z؝ٳ,[yao9"* A2j(VZUef̘qÓ(W}QlR-s) OSO=eP---ڴiٷoF  e45j>>>̙30L&3goԩS5Zgii)))sر ^|x]vR/y饗0`ڵ^z PXXW_}uVlkvvv=ݻ(,:įJ`` }VѣGo^ڦP(puuVJU#QThZ<==quuEPwD1|j;c rmE^رcX,ƏOTTqqqu oM^t=gf߾}݀F˗/}vϟϦMł  ͰX,,[ (455N˗ U.^ٳg\ɓߟX>j IDATC&NH޽;3 4tm۶X 8~8W\0m߾}?Z% pcXj}[<( C999;#Gޑ ֗]vwZq6mZMf͚Y|y*N5j˗/ᆱ4ds j5899wSFDVwSBXX>} 1x`Ν;':޽{3l0F#O>$w&  ueG%--j/ooXlUVj*q_'tV={ BC  ԷgΜڵ{2|wwS{`ԩS | 3gg4(&~ŋW:h;Fť!FS`ZsN9BӦM:thN>BG}d#[=s|WwfAAn;v4z}+@nnޮ -nzOW`je=  Bu+h׮]mCz n ԫrJ7n\Mipϟϑ#G= kj5Z!BՊJ U]*RjY|9ӧO租~Iݼysyظq#ӦM0J:̬0ς ?~|777(..oѢE8;;c6ɡiӦ4mڔ~zΝNYK.|d2lVLF˖-iٲ%^`ڵvoFXXT*"## 6&*ɤ; 6mЦM~s@Y,{⚚2e /"* Dnn.Cb ^ m&u`^v VK^իm۶eϞ=̟?F(**Yf4k֌x'o][믿.*jZvJ׮]ӧO?t;v,Yz2ٳg3m4r9׮]#33C=ĸq*m_u&L /%%WWWiժM R- BvQ:uT+XkA݄zu9AA*..U.Z%&&RPסAjj"'),wggg{ wŋ0c rۏW@@>(/^dÆ ]Gywy(zGjZb0c """ر#QQQ|ǘf3˹s4h:uGtؑ7oYٳ'&L ++QFѱcGRlxx8cƌaϞ=7=m.7zނ  4lgϞٳ5ꨳ`MOOL:AAboG`͚5bRA w BS}7Cꄓ !ܡDU#%$$BJJ dС7=z/Z}.l۶Ė-[nlAVA!beAAhP P{\ wƍh"x/۫W/ 6mZ-?ʪd21biii[\o!99''')8XFVZU:bx||iWb49pW9o@@͚5I&h47oU)kwkl([ E.c6oj=SUJJJ8|0}%88;vTkݙ@_ 7;Ç2p\*^/""_~ɓ'֭[9t;v`۶m~uAaE.3i$NZ|"*  ½Yf6lQAA\.n=.TFX;ݻ2e ˖-i :88rJՋ>nxu[NeN8A6mQT,YÊd:ja/g?+ deeQTTK/OӵkWrssٹsMdggV;w6jo  w`AAA///}GUϤ{%$t /H"t,.At* mE\( RD$ uA Մ I~`f3ɤOf{ι|f\ XQoϞ=7n͝XfN[lڵk=δ3ϨqZreݳg$iʔ)֭B z5h EDDHZnm?xSݻwQL͙3Gƍ[X1߲3wݾ}ꚔG?^>bŊz4dȐ\cˍ7,̚5KSLQ $IŋW^3׸qt57_^zlٲq*TPv4sLj}'&Ol),.^yIXk׮Zh<<<$I...z'gIzp=]њ={;; ҫT[uI|||5vXI/{j3PP rR P@>/Kfq)ūy5\}G֭[wս{TJIҕ+Wlgر^~emV.\Лoiq6lؠk:y9sd;8O!!!T\]]O>D6lHwͲeԯ_?U^]6mRddTre%%%… jܸq|'W~iOҟ'x=*__\}uW|zG}TK,qqqe֭[[ͱdyzzjȐ!z7o($$D+WݻzKٳzP-[ֲS+_ioVk֤I4f >\/_VddWu*""Bmڴ }ԼysСCڴiKmݺ5ΟǫyzgաCU^]e˖Uxxnݺg]7|S;vЀԤIUZUNҙ3gl2]z5_C͘1C5kԳ>+ꫯo5>cmٲEcǎUÆ 5k͛ڸq6mڤdٳg޽<==UzuI :%Kƍ/  Xhs Xejx59Li3֔A[ l1:O96wI՗VF7@BCCm|4ҹsLXx0դI5J{1:aÆ`#=PdM4I ,Ȱۛ_ hҤI1c䎗W_j|([! dI18NJJ{JR>N9=yd=h^[{̑Y X߿U`[TT9;RNV+ū@+muN+ 5 X5f ɓ)^pm2jt@^߿_;v4: E`[TTyR PQ @dUU+V{U.]tV޽{SINNδ p 6LVHHΟ?5kʕ+նm[C^^^Un޼K.i͚5pBժUK4h EDDԩSڶmj֬)???kZlHեKtgϞ=5k:v_|Qފ7|P{:vh 6Կoal{ϴb G]tJ( }:t$GÇW-TT)]rEZj2nV Vv_8gϪm۶wyG ?֭[ٞkРAzհaCK[U~}uM?dɒ2ezm^^=իWO]vՊ+rJ~٬^xAcƌQbŬJ.-OOOEFFڵk yzz_+"$IYw}ꩧcGjG4o<͙3G˗׫*777KFԨQ#uA&LNVV@afuEճ5kL͚5Ӕ)Steںu"##3+ufttJ.-IRo J'Ol)^}95nXkזlرcui;vrꫯZu]ũB 2:|\]]uկ__5j԰w˚4h tqթS'"'UjժIz fR0w}j2FiȐ!Zzb AfWXM}H߿ &(00PVԳgOL&K5j_s)͛7O$wwwhBgΜуtQM2E$]|Y8p@vҍ7K.ٵU=O?Trwwט1c /X#""駟j{ZlsL2^zQ `6:; piԨQZnnݺnLR4m4#ӹ-[IR||V^;vX۶m+%l;wݻR*=y->>>>}x⒤͘1R#G2]5 ?3gh֭Ś5kty%&&*66V-Rhhڶmbbbcǎ髯T t @P (?X 4ГO>gyF˗2evܩlϻsN[&]~]mףGL d1 IDAT˔)#wwwǫ~G*:::ĉ'eެ$%%իZi]|r2e eҥKO/2eʨVZ9+eG+V/bcc/IV9Y|֌$$$8(~؁<PTDEE/Իki\]9RJիW-S$ԩSz73'1115jd;e)v` O(`ŋ[cUfuXwwtmg9z}ppiӦ*Sܹcu]׵jJ*U3⒣iE4hVV@a1h }z3Ϩe˖U*V(///3Fcǎ|i{jԨL&fzXlb5~ǎK]\\措UT:?zdɒ3g<<viիeGΝ;[]7w\|yE;w`wQlla3@#֬0yZSm)6Sj5Ɯ<؜%U_WJ[I&__I @QҰaCIRppvՠAGUnt#g_[d}z3{ԨQZrBo0]͚5u,?y~lE#`g;I-Zd:xx,{<"HΜo[۶mj[d&LXa? ///WD )SơkժUJ:HJ#)4dI+U_3KG6^ј%X؍lƍ3ap>@otV4}ߌ^e6z}MТE m۶MAΜwUremڴI5k TXbZ`C>! #qqq`Udf_rEÇai0`ڴiS7:~|+o\ŋڷoco0BaȻK.i֬YjӦ*VkڴieL5h Ǐ!`w7oԊ++o߾߿׿)[Ǝk30[jӦM}w@JLL۷;w(>>^IIIY_8PRRuEDDJLL4:,8/9r!CtIRXX6nh5j}G}ȷ5j(޽[׮]ӠAԩS'!`gλwjСZ~_dɒz,;wֺu?r|9$iРAt钒j׮]ڻwGk9 Zڵ[oIT|y !HLLԽ{t=C3n {Ě4]kʠ-F{w[mƘSSKJi+# I6>(J6l(aA CTdIIդIK-? V FǏ1~oE-?4h6l`95jV\i{P.: 6hȐ!v9E=f߿/Wׇ׬]VC[ T%I>Kߒ%K4aŎ#~i=ZZܪի:un޼iPTPtQ .*T`u)___]vMϟWzi5&Ma}G}ȷfp,F\}1b… ڲeKރFo0Ba˻ h5b/^\׺uԮ];-vG*,oQF>=(x;8Xcccպukխ[W-Zԩӧp׬@>~)>>^ǏWZ$I#FƔ.]otV4}ߌ^e6z}_W^]_~9$%%iرJLLS F(yw}+W*<<Ϊ\rh;wΪڵk7oM۷oիWյkWCiOh2LV(otV4}ߌ^e6z}K.-[X[Nj #8{ޥ5h }Zb'|#9[}ᇖ·z+ΙpA``zI&AV㒒Ivн{w-^X۶mә3gtڵK+WԈ#TzuC,֯_WxbC6ܽ{]4i"ٳG^cFǏ1~oEXFoׇ1^M_{1K7͟?n1#7]ҥe2T|yuQ{=] F=:w^tXn!wpV-҃,Z`t5XBm۶50B(Z\pfZl5kfis玊+&oooy{{K.9r$vte˖Ub;w}#9[WXQttm) FǏ1~oEXFoׇ1\d2?W=,m .̙3.| Sޥ~I{֩S%Iz4{lv3Gr|8q~P߾}-ŋnݺׯBBBt\#N:CjѢE\U_Z4zh=Z|z-V J(˗iӦ:~,XÇ޽{ *aÆڵ.]dumV?IW\ѻkDmϟ?__|s:8*[iSvtcҶ9c"ߊ&ñFc} /XΗ/__Q^70-ھ}%*V(OOO"ZGr|sssۙճgOS;vP^r.센3۰anݪg}VO>:vhG)fΜ۷kE Eg5d5mT:t-ūu!Z~յ+WVΝժU+G o.]d硴qqqQ˖--v}dT^7:~|+oF2~>a}o&Md9_jƏdŊ#`’wILL:O|#|Cc}7z}8{iڵ=zU^=;v(66h y&McYΟyUPrcǎLkܸ=j*W\o7΅| CM0As̱[NGq#8{5kL5pUjdݼy3πC=;8%Klr劦NjSozYF8իKRh(jV\zrW_O%J|`5?tRJYQ~S~o7ԬY3yH$K.V&jϞ=ƄCΜw}… -aaa駟4n8k]zU۷o4/ Fpk׮-[SN_ϟWxxf7nǫFGUTTT op$gη~e8oҥc9_d&Li,p/7n+VhΝV;mVjղGGG")&{Ě4]kʠ-F{w[mƘSSKJi+# I6>:}ʖ-k9o޼n߾퐵~m W~tڵ,qwwŋ31bݛm۶zռysyxx(00P?|-hڴijݺzj)5zh5nX>>>qΝ;Y~?ﯥKjܹYm9njҤF_o^/|||ᡄѣZjΞ=/IÆ %=|\ C$ftܦM2$ȑ#VmUTQxxxo7O>ĉ36իWkذa"`gλ9sԶnݪ~:ay7vX-[,R$''멧ə-3lч~SJhUTIuֵ;l0^ZP"jժ%HJ8)+YR)J՗8]VZYf5lPlp$ C((2RpARII'y%KJ=_RgQ_<ўڌd4-w*|v`EWJ}G1bDܹ/_nUjo!!!c=ѣG/TTT\]]ջwoܹS}:tPJt <ݻ%I79ƍme6mCgϞY)I-RDDʕ+-[fAs)qWnݺ~DPt`͛7vV5Lzkfk]jɒ%rwwj}ܹcx%)!!Awݻ5k,O~~~*S>C;w.G;y{{K*T{f͚Ij֬xs;uOpX8qBݻws_VrG~wiرYvڥǏ_wsٳrJSɤ>@,bͨx599Y_uرcھ}+.]䨀5hRtvzI3ʕ+jժ8m[Էo_ :TC Q֭պuk曺z.\#Iѣe2r<6@ׄ ,E)RXK.mG,^9s݋W/ }Ǐ[S>Or2ÊT%4}IҬY4ydK!n5tP͛7O秄\ŗƑ#""$I[NONꫯǪ]cǎ$/w}pb,k{Ě4]kʠ-F{w[mƘSSKJi+# I6>sܹ.]ݧ{Ua ԪUtk&%%Ҷo>+s?PVrrN<)777hΜ9V^uM4I˗իnݺP6mdfjҤF={dYr3} 2ʕ+EӜ9sz̟?_ҥK5w 6^7j(/$}:W SÆ %IGTZUARII'y%KJ=_RgQ_<ўڌd4-Yg=w.Y)0qn X3&u)W1I&1t]9\rEOSO=#xU~z}7P\\UD ݻwO:xpBǧT\\U&///fj߾}V>-[U<]{bb__U;wԆ "rk׮߿ԩڵkKBBBtuݻW;wTHHQQQQu>۷ĉDL&-Zf͚iڵk!rV(c9/Y<==驎;jر9r]f`@<<͘1CaaaFj޽$_~ ͛7߶j\}YM8Quѿ/=sz-[k+WkJ(ŋI&:q.\Ç+66VT|yK.|gy777=>|zN:os=~͠Hs&;=zۧ&Msp{pXBAAAZ|5k:?sWTI:uR ( iРAjҤ.^^zR"**JÇ (xt9rD}ٳUZ5-\PTbb!f);=INN֘1cFp{*00P$>$iΝWdm֭={?3GP ETpp$bŊGVZ5IRr p^[lѩS$IÆ 38H)_===5h jJjRŊu ]pA-/b5]gϞ7o\/^=ZO~֭5d5kL5jPPP> ݻpROV۶mճgO-_\ׯ_97o飞={jVҥuI#a1cԢE 5iDQQQ:sϟ˗/g8lO?viذajԨʗ/g꧟~ҿL}5kRJݻVwo^}w4|p-YD~}Rf7xCJNNڵkSRdjܸƍ't{yy饗^Rƍ奛7o_~ц n͛>}k׮2d|||TbEiΝZb}_hܹJJJG}5j$I Zh-ZGz(b;0q\\\ԩS'-^X/oYO8M6iĉjӦy5kLݺu֭[e65k,U\rMg㣬goH D(B]ZXmcQ(VkUQEQY+Kdl3?0#L2KәϹιxx͹KJ4rH$iȑΝ;/aĈztayJJJmݦ]ꫯRxxO.?a_vޭI&d2)((HӦMӦM[oiȑjԨQq)S(!!AIIIןgf1B3fжm4h uA]tQ>}eyzz_wW^yEIIIڵ4eL&%&&gϬ67ƌ\s=ڵRRRԫW/uQcƌѦMjKw ۸/ݫ'|R=zP޽R:ڵz>@Acƌ~JヂϪSN޽nfkرu$ X5`}7իk.… ׿ .hZbΜ9c=~1=:zթSZI&D?e;:={V'OֱcǔΝ;qMY|>HyyyQ߾}/k͚={nbq?ZhΝ;'I*--տo-X@e=ڿ$I??d2)""B[9ԩSSOtqwE'$ :v}uUW_i˖-ymڴIEEE5KaaZ۸$W҉':O$M8Q-d$eee/x ISO=Ui!? *??_TVVŋkΜ9d + X`UsLLZha-\?~} NJYYv!Ijٲer֭7n 0b]V۬ŢQCi…˓˗+%%ZcU:X,/߉qƕgggСCX^iھ}Fjʋ S___Krss6_|Ė.]YfڻwV^]i~[999jԨ:vX߰a$ոP9wW'p VZf͚[nZbULjPddBCCHIjUV@ 馛$Iᵚ׮]Vk׮Ջ/kԩ ӵo>>|B=㜜Iד-^^^5_RSSu-(&&Fq]_˖-<-_\;vз~kj:/׼$}ԪU+jڴ^$\v`9]wImѢE j+"9Na. rw|/nItA: X:b ㏒)S\ֱcGIҡC*QF6:s|||4iҤ돷UĨ[n;vHu,w}wu۷WRRwٌ,kj@ҷo_M6M+(33VVVGJu ٓ?OlٺuL&"""lV111:zvU9A+\waԩg=^^4n8oz<((H>Fas"H%''W'//O/;:e}BCCRL^7|ɓ'+))I-Z{W~|}}vZ}v;K޽5k,5kL7?)I5k*JvTճgO=Ê츧|AIҁd2jsp2Ѩxo[o }Gz*]n$'T>}ciџ'dee魷ޒ$=sz'=z׿JMmܸQ7nTRR&O5k֨L &M>ә3gTVVf\&LЄ `d2ƍkunS3fТEt7ꮻG}L :TǏWnԴiSO*SRRSjŊ2dڶmPڵK{ջᆱcǎS˫0\\UƱr*58VY%_/iwGIčۦ[\\_ogɒ%j۶ƍg};(,,Lq$II̿6_H*幼]]}U϶Q%ǯָǷ7ÍWp* XT(`S:]@p* XTu?Yڼy<<}'L (]X-f^@㏒(%%Eiii:|3^kΝjѢZe\nnn5kʜ!̜9SүҐ!CtQ-[Xzg4|mڴIК5kom۶qJOO]阳gVzz} I˕._\+W`{iƍJMM￯1cXkԩ?vޭNoZli*JOO2]v?ZJ{_|g}V~~~6OKKhT6m;(55U;w3fw IDATm u֮]TuA^Oyq믿nsդ$}G"S$-[e˖0`&O Zck-X@Fҫ#Fl6[ A)33S'NbnZW>}ZݻzoY7n /ƍHTddx@}~~;wYۦMh߾}7 z5~xF>}ZС4x`s=:|p1=<ڡիWk׮]QJJemǏfϞRc\pAO=kZ9"uB=*++ӤI+IzWڼys… u9IRii}}'͛7kܸqڷouGǏk2Lj޼j4祂5sLFM6MiiiֶM2E%%%zGgkۙ3gSO)==]rtRK.~;-[LUPPP|C+`g3gΔtqV I ȑ#u }gT۶m$jժB5{lyyyW_՘1cԻwomذAoFX,߰a$qƕggg֭[x^I2 zW/Z4[.))Iڱc>\!XW$m۶9-ZZ=wW'\kVZݻw+>>^ԗ_~{Lz7}2͛7Wdd뫨(Iog͚[oU;v7߬lM0AfV.;;[iONN$ۻVs;V{։'4u ;scK"""j1(`^ܹs5am߾]wuN: T+>$$D? ]ZZgyF+V`kf-8u&[V7߬)STO<+)/JrܹZ? XXbݫvޓ|jݮ>""BK,QHH֮]JvRNN 5uT31~[_?CZhQ)ٳ3fh۶m;~$iڵ!NV͜9SԶm[eeeiՊ>|BBBׂ o>eee;_:+WEz饗|>K/)::Z7ooaߡC$IݺuXB$[***V\BB$ zWTZZ?zgC;8߰a4l09sF&Llw͕֭L,ukbѠA .T;ȑ#JNN?۷kΝƍFUifϞFiƌڽ{$iʔ)zw/k۶m~rp7Zw4i233쟗_|Q|AIҫsYUVڴi}*11QzwM7W^+rqqqر4i"OOOiںuk]KO:uRjj/_~WBBB榄jJV^^rrrWǎkܥ>ju]MJJR^:_~]v9|G+(WP+%%%*))Qܹs5d5mT/VnnfBBBd6um۶BܤIԩS'رCoU4|u]5kF:͚5K~~~py=#1c6o,I/ԢE M0A?{:rrssմiSEGG+''G]tr7WgQbbScbbԻwoIU6d45h ߠd6=z(>>^|Μ9xuqcE7Vƍ;voK\g*}]q=<<$IUV^VPJJ&LݻYf:q6oެ9s(77W6l,W^zGd24q |գGuIOS9rBw-OOO}wh]x[N:)55U˗/j+!!qi۶222lx=yп:I_]@U8P۷ך5kuV+ƍ$Y$H2|"v]vU=j+G2V[V5W[nEZ?~a?N}A}(I*,,TQQQQף=ƭ/h(`ݻ´~zeff:=:nIdRiii}ըQ#k=ɓ6 XӧO;9+7ᒤ,5냣G{[kbb:u$___;wNgΜɓ'w^Y,(`VΝu m޼z;5ʋy ܹsWM7ݤ=zJKK_(/\[ԡCIUߎ&qX@u9zǸ;FEEYI:uꤤ$}7:v] >>>4ht 9:&%UϟgpwwwHё $IZrrrr>=z_999ڷo]✱>rhq7mڤ .(//Oyyy2 R˖-չsgk7oz>ǣdW_}g:=&.\ zE=^^^~Ց˗__PqSRR+55F9ݻKVX!l8gu=c]vU{):uJz;CϷۼ0:%$$(66Vҏ?X`084%I~~~W[ާ<ҥK(??__Ӂ kذa2 ڼyPM}hՒH .v`;kܸn61cTS \``e}_XXXˋy<==mѮ2k.(([+4mT{bŋ6///5J~~~:r֯_o׸>pr$777+;; `gQQQrw*+<נ I:|>,I4hD!!!=z;w=ԿIҗ_~sι$ X룏>R^^⤆>pG}TG֨Q6n۶mcgϞj֬%I^^^ј1cԤI?^+Vۼqwucź뮻q*))$);;[ .lvHyPiiunݺUoձcǜejժqw};W\_j{=K.pNֵ744Tٳz)I*))ONNK?np XVx]ڻwmۦR;Z&M$Ij޼~O6[_{yyY*STTTr}}RԩSڳgyˊW2u딚:(<<\Snnrrrt,@e}@cpu5`\6b 63V1Ʊ/y_xI%m>ʏH2$&&nJN \O$IGuq&*,,Lq$II̿6_H*幼]]}U϶Q%ǯָZ{uc 3^ `?(`SQ NE+V8p* XT(`SQ NE+V8p* XT(`SQ NE+V8p* XT(`SQ NE+V8p* XT(`SQ rwu~ RRR4qD*>>15jh5jHOVzz/_e˖ܹsN X'"A>Af&Nє%3{噹AiN%JJJtTۭުI&M6T{ӧ+44zXPRRt颉':,o\(`p}%vY$Y\ O}T['N /<<<ᡀ(;;)U)!!A'OVΝ%I銊j\^4gyxxh͚5㏵w^eee) @JIIʕ+} P `)di4P'D?Sp+##թTjʔ);v$i׮]={8uUw 7hk7xC˯_,((۵}vG \yUT[iP4TG!!!NR۶mSjjƍaÆi͚5Պ3fBCC?hٗ KN Lqxoyfn{~Spթ\fժUZjUF!I7oSXħWIWW`dի]C 拨ҠvN ޮN.%I2ҀԧO5mTڷo>9sZD+}:4Pf0WW`,x㍚3gbbb.3`w}2e֯_4q 3:\$ɤy橰P>+)))ѬY4k,uرs Vfe`hkrySZPPPyh/N$L&>}f{/~.&&Fnnn*++Ӽ@9 X젼hl6[iFjժZhJΟ?l?~\iiiڽ{oßhtb|WB+j:秹: (((PQQSڶmbcc6ɓ'%I7V˖-VZXXH*V:piӦׯb3WT=$IZfV\ f Y}Y)MeiT-C: 0Lvuv}m۶ƍ$}wN  XjLdPttfϞ-,$???IOZC+@ \Z:uTs}:E:uOTddL&vܩ7ޣxapu5`\6b 63V1Ʊ/y_xI%m>ʏH2$&&nJN \O$IGuq&4:%= ,7V(}uȑuq6F)pHM:^| $^нޫ @廯6mTvuJVҥKa݁`08+@Msjݺ5jbeddh۶m:|pN:U8^TT|={V;wtInp XP^ڷo_gRQ߾}bP LxxFa… ULLbbbm6\ތk2L.~G Ull?竴%(` !!A?~'/qu:Z(/\5͒n͕TnӇ~(,H!+47pF)=zT˗/W~~ԳgOuY:uR~~lqeϞ=Z|e5j[nE]vU-ԯ_ }pm2:Z^z)!!թ꠼5..N!!!.ΦI5W@w뭷G'OԢE/I***ի}vIRϞ=q)//Ok׮֭[%kW(/-we:U*ʜڵk'IZzJJJ*YfQ G,$y{{+ ]'|;'s-4Y$YsJ\lR>CڲeF<==e0\^ ׻ٳ***ru*֭[`0ٳ:qD}JKK~o^ڲeud}}fg ’%KJNN֨QԺuk5nXiiiZr}]V3JIIQnt=M6 Ԟ={k޼y*++0#I޽+yt֌3.oYwb7>}k2S g,+V(??_nnnJII_o^cǎ՜9s*u]>s>}Z>>>0`MD=3:uj+))ȑ#շo_[JKKȑ#̪jmNA ꅦٳ.WճgOhժUڷovکO>Sf.;f0*I첛+)))8qBCC_e8;VmڴQTTΞ=~IK.բE%X&(`@_#OYY/^=SJNNuԩZldҢEwyGCռytA\Z }Wח~YzxxXfd:tVXX: tձ7´dɒk?D$ȧB;FSg;dFP$7D Q!SQ,5Q\mP1-GMz$vgs֤Mݰ)jѦ[mv"(94FQQ* 6w3fxw>NÜ;T8d) +=駟ΗtI]n_y2iҤuYl1Υնe[,7o6*^\ܬ͛7gqvXfUqGg͚5;W;kjj8Ip<;lJCCC&NO?=ƍE] #|-mc.l>T;<[kg2`-ґ IMMMԔJGڭ'[nəg$Y|yƌsNHKKK/2>#Ftn}+_??3+k6W_}g?$̞=(۶mC=/}KI;/uuupHR`jժ$СC+rZVsnHq(%Ū$ }1"3t9+W3k~ǵQ}E9m/cۓ${zt䔯pjc1!c/p𫭭MCCCctiYpaf̘/W`XpaVXbb;PϜ}'P(t["mB߮踛7oN 2d?۷oOcccFǙdQͼz: Xt7Q(@ק,nܹ;w>Ғ!Cŋw_UUD7|sBgf`7~$o%Tkkk#2Wg%EU8Iڳ); ;?1I2jԨB5֯_*ړ.tz֣'W:G (s=$?y6nXxX8$|Mu 8Ssggƍy'wښe˖%I>nݚ<{KK,(%YdIVbO2eJ1guV'̱C'ʛo 2$&M򘚚kO?uQI5kȘ}Aai@~JG>wWwqwq={v9$ϼ׿曹;*+;/3g>$:sr]w%IfΜOSL>t| _wyK&IF?'ʬP(P(d޼yyu7o^oߞaÆeO|(93;>{<<&_}\q=6nw6mڔg}6I2uԜs9MTWWgܸqKt;3}TUU;ft)]RJG/XbE,]4sL<Ù?~/2?sWfժUAh) ؘ . SNͺuR__?c͜93SL '+y2lذ$3f̘][jU~/ϬY+:/o~~PzLPH[[[rΜ9++ksIﳯ*k׮ٳ3mڴ5*^{mZZZ2`TUU%I|ɼ+А;,I2rȎS:<39#s'gəSNɈ#RUU˗gys5d&C a[sssVZgl.5fa=H[V:Gl۶z̑GYfeĉysgg>S_j>obaOӷ=uOcvZB7yն)vz߾^촿ӾίmI gq3wq%y.C?SN9%3f+~ Ծ,JimmСCswܜ3fdÆ (#|-mc.t zSJ466uƍo{oǓ2jԨ̟??[lɄ v_,͇?<ڱNKsss.=i$ygNҖ)I륝^mIZlߟN:ݲ}㤋;1ݍە==1F3=@7:Bb6lؐYfU8U2k֬lذ!bQitzȀ5OW:G455:g칿>OpVXo|;Wd?_N]]]`gՕ yr 'K/Hٳgg޼y/vsVO7*e˖\k;vl?iҤ$s=[vyLKKK!3q 2+N* TUU%Ii;(kwܱKk#9>r~J^1zԋ/$G?N;N$y饗ZlX])}ٳ{=ٳw(3EV~l~),bJǡŖW_f^CܶmԔ+WT3{Dzlٲ 0 ?2cƌ 6cs7s\Z[[i9o5z"(ݹn+vm]S}iU}_8gdڵ]hdܸqIe˖U8 }mmm/[[[֖L:5]w]z͙5kVΝKyWXh7jԨ̟??[lɄ |xg9;I[$߯vz%i}:~w.|nwt7nWoBQXm_o_VUUT*T*eܹysWK/kϞ=;>`6lؐBbbؑruGGKO}*Gȑ#q׿ /{7ׯtTB 3f`}yۗR)mmm)޿zĈ 3u444ӵ3w̙3'WNŎkuyߘu 3wgaj{X옙5Wߟ/Ǐτ 2v،=: \jnnNccc~eҥYhQ/^C*Bj,+t.v^ a6%Kdɒ%]`w}>Υ% Vsq5IGys5y$)J;ݸb\F`/\DݹzB\cO]OXAw%$ھMy8(죮JIv)v1w@ v.vyN;^q8(w1u@ +v޷?Xzо̼sf D!kJТ @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e BK.$O9I+9眓X)_Kۘ Ӗa`jgkly^U:Ԥ>MMMilltݚ8qbn喜yI˗g̘1<GJTJUUUODŽJ8u̴1Gly^=Jψ#*[_W93+kTo!fᔰ#V^t䔯pjc@~Ą48Q-ihht.-X .̌3r߯qO$~묳R[[$9v{sw0`@dУ pv.1"\pA?444t{^]]]FѣGgIO)V֖۷'Iӧgڴi=^CCC\qy86lHTJuu+c9kfb0`|U9MMMMy V1矟k6uuu=6i2uyydz}TUU5z;R;ԞtQ NKJGVlYwgSJضm[6oޜlٲqࠣ :Wg̘q@N]]]/NwqM%VZV/V:@+?\^[{ٴir뭷&IJRZ[[{I`/Jʫ'O.۵'OC=teŊ;vl&L_?3;vl>Op2x+^<3Z^m7y̘1#Ɏ37 {Q=3mڴe6mZ?$j*`)F[[[kСk+)^{mC6D`g_>}z*&ӓ{6ѣG[o7yTW:g.(G3|TUU1 .̜9s5[g81bDMVHMի;f`- N˙gN:)C ֭[z,X oܸ .G>]oٲ%6mʆ K/U$ ~>|x:'OضuTWWc1/8jn喼L :u 'ԩS(mmmʫȑ#Ocf͛7.|?,X =X'l߾=---I޿颶6Æ ˰a2vؼy}XgG??dȑijj__nݺTUUNe]k&'|rxٟY0qy~FSz>>V2N0?яR*R,Y?<ӧOOmmm-[G}46ma93|$6mʳ>[q{ʯ<;l2dH&M:+sL.]Tt|ȑ#ꫯ.ˏ~[.Iښ_=W:֭ˠA2sy=㨣'>L8I}={:nܸ444T8ͮ2nܸ$sMmmmV\'ٴiSd˖-7o^^x$? 47'ȯ~$O}|&&LHKKKO4˗/g}6S*2lذ\eL ھ0aB%V{37 4(ǏƠ7/۶m<[nMMM^qW_M 80N@9TW:5\$kW_}5=P.\yۿ۴vLCSSw) 㧁CQӖVjSڒSnN˳>bPx%96lȖ-[*%IrI'P(dÆ YbEl߾=jN=Ԍ;6>l-Ο7o\$Xk'xb>&yfΜ$gѱ}Yti.]coYtin$ɇ?1.]s9g~<#I}cs}ݗ3fk#__Q; ) HWC[[WڒmI2rhʈ#y;uuu9rd;JGIuQI7=nҥI#8vv1/Ό3rM7|; 8p٘1c$ofp1+{mҤII~;o^bŊlܸ1C ɩ'|r3套^ʐ!Crqǥ%Z]7n\wy>;g}v?|_ܧ'u_*pkM[R*Gqն %:th֬YS9Ó$n۴iSdРAJkkkEm<'OܜÇg|1)S-O<@ ^>|x䷿>lٲ~9#(öm2}L:57x#ӧOyoOu֥6]tQnq[o=lJ'U:@mޟvwJݫt$I}}}=M;ﯯφ *2nL0!dzm۶̝;7K,֭[3hР?>SL٫?ƍ> 6,IOfʕ{سB/87xc  &+ԩSsfȐ!Yn]/_G}4<B6dȐ$٫/8w[oOؗƷzky䑎---O~~.s=y+>szF{t֭=c i?p.]ڱs=\r%{k9眓ÇaQS{E) ;-+^TlYwgSJöm۲y455e˖-=|9䓓dȷM0jԨ5*g}v>яozXk_t~s_'tw'/~ 4iR:CZ\BJ?R}F[j[Ҳ-}v͛7y`/t.nV͛3x;c}of6qGg͚5;W;kjj8Ip<;lJCCC&NO?=ƍE] #|-mc.l睃\vx֑e[z_#&555OSSS+i&N[n%gyfd3f'>Yf&?x)/ڵkS__c/c=?V듼fPH[vq%IV^+… 3iҤR1/ݗNJйMR(Ӗon#yJG*u36nܘ ~u̔Nt *dRmS(~Ouuu3Iϒ$J^w{o}[w755^ /Л9D+c…I㾔=?}E|{%ہXjUdСNR9-+_97vA:χ֖$+7 ]knnʕ+cg+qEԦy=#gۓߓ?#|Myl?bB^]xd_`,\03f_|/dذay}o&1eVڢEq 2$_rM7y$Yre,Y1, ><ΡP jYrZVMfkkkKTJTO磟\euc…YbEbbCw@>''[4oWt͛7'I W۷1#FLIisacGly^y:՛ިt`?ק,nܹ;w>O:Ir=t$#3Z[[I\|9xΰar5$IޔJkm}FY}*aI7ˣi/.ZIמMah1hРwq9_踍IQFXگ~^VԞtQ#l=zr#hOO@/FQF%ͫtA YjUbvi;z|Ommm-Zakkk-[$>O9nݚdgg?]@pꩧƍOV,}S{)tɒ%cvsVaO2eJ1guVҒŋ9cw(ĸ]y7ښ!CdҤI]SSSWc:*If͚/( s3Gtu?0aB?Jva?n|̜93_~5 쓍7nȻロ#Fru裏8fȐ!ꪫCey뭷/})۶me'InL2cСC/|!eK&y${1y睗3g@*sN$̙3qƊ* ) }yu7o^oߞaÆe_Ŝy=]GXSS믿>W]uU;6mʳ>$:uj9&I3nܸ\r%D:>}zsu*8jW:pzfJ6lXdڵ9v>OfҤI袋r7G͹[v _̟ɟ;NƎn)7tS{l߾}YGϟ~Z7sL2%'pB477|3fVZ'3k֬+/|\p:uj֭[/]2;l u,̙+ұv0gΜ$>"+@v̞=;ӦM˨Qrצ% HUUU'+˹ 9Ò$#G=u3<#<2'|r&Oɓ'w͠AR(bŊ5j?>{ ,I^{<?Is=ywru套^Jkkk&L[n%Ǐ_+^xa֭[WLX/K,%\O~?|CJCCCZ[[oWU_%?niiie]/~9s3f̘455g=ܓ~//o,[,^ziƍ7v[ܹ2jԨ\|;vl֮]E?i~_T<}WXLTի3{\z饕$={vV^B#.]{'guV? <8---y뭷s孷UV׿uƌ_wwoߞz(Їr)dĈ˳x˹k2`ݎSSS IܜUVeY`AVZbbJGPWO{$'><䓹u֎O=T}<9s 7nT\BȺ1 ;-wwnm]lj[W;o_/v_i_W$38;C۸q$˖-pxs)dƌ?~OڗR):thU2^3cƌlذ!UUUV3@s䔯m̅A2`-1({Ҹqrw{xRWWFg˖-0a./]ZZZ2une]tQfΜ^{-_|>bIgy$mI~^Ֆ鴯z->Nؾݸ]c:3tnذ!fʍ7X\fʆ R,Vky T`kt555:gg4~PZZZnݺn[xqOUUUZ[[N` BGAt޼y9r饗V$ٳ3o޼]r}SˊS|YXI՛ިt 455e˖-eւ 2v^ʕI#<2'pBx+[nM{ʫ8tU - Jyyꩧ+O=T$IUUU9'HJǠªYU:pZZZX=fYdIdڴi^}W˒C+nBg;mqe->S;v9#w/RX>1+gߩt 455eՕ|$?3cf̘$y'˖C+@+|^b={vg={`w }Oܑ͏}9sRl^S8b/3@?m۶455eʕ̫=yra?qM|;Dzt{N7Q B:UUUimmMyo~뮻.uuu=z̚5+sݥjUZV/V:$IZ[[3cƌ9c}/R)---4hP_ 7ܐm۶U8-VnV;w.JJ̝;7?|\z=rٳğ R(R,S,;t^{kժU6mZ|ѣҒ^z)Υ% Vsq5IGys5y$)J;ݸb\F`/\DݹzB\cO]OXAw%$ھMy8(죮JIv)v1w@ v.vyN;^q8(w1u@ +v޷?Xzо̼sf D!kJТ @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y)PV +e @Y);?LV$ 6 D@J ~Kk{X lO UV"DA5@!;L~[$u& 9f}ܛ!ü}++++gG,777YNNh Vtu%V+hfYrwwwt)hNNNruuTRRBAF𐷷ˀ]*..vt9=QڵkGxv9 ` !///G򒇇V fΫ0x{{l6; J` pN" l6eqww +]Z( PX@:PKY IDAT.zsvvvt h87@]`G  vEvEvEvEvEvEvEvEvEvEvEvEAAA2͎.cǎz蒀qvtb ո.//O:{>3>| ݻ%I ɹcwO?x5LZdbcc^۶mk\M&Lhжwu_.I҇~^z)++K>?ޔ@сiٳS:;DΝ5fo^?]$%%W^͚5X@cZUVV&Irrr!F5Jrr "I:q№,Y/իW/[ۍHU,Kmy5J 6oxX@Tɤ`?^g6¬3f'|W:zԠA$Innnh***O8{grLn:IΟ?^xfƍu}iС:v옖.]Zm( >\7VfUTT(++K˖-d2>6L޽RSS\!4lomW-͛>:w3g*&&F111rvvVvvۧUVi6###5sLC111*))Qzz߯e˖ŋh"%''+))Iz9˗kǎ6۾|N^xAu0`h|jڻwͶcǎ5n;v&$Tu߬uyzz^Srr6ݺuSnݔEiɒ%5k׮3gyԩS- IN.9*))Is5߿_gϞ6vFL{Ֆ-[U0L:&z)}WorݻWVVJJ.\`̑T0h Yf)77W3f5a >\}ѬY^~e+!!Aw}{9+..NO>SꩧRii~ߪo߾4ho(((Hf) gggT!׿ 4ŋc?XvUرC;vЮ]_q;??_:M722RoFjYf^ (;;x_uc7G}T?M˪0wQK, 7«6KO?h֭[gܯ_Zl5U7kl]^-++Ν;+##Cd65|%$$Ը Fx7|Sǀ;X@2sL͜9_Zm=ܣK=*2PNcǎdң>jt߿1?f^,Fg߾}ڷo,X)SHN<^xКU 7nX-WRRҠ/w6///ڵkg}VFwI@H,Xm۶h||zQW/zm#G4x={hϞ=z׌R5vZݳg^z%}6W___⋚6m$iȑ wֈ-Xo>k4ԿIwڥ_~Y5{lIA^zI/bo׿Ux =3*ۍ7ZZZuiƌ*1W'2vZc]S}5d=gIIz!l_M4I&Isν۵a={V]vUzzzǝq)͟?7vQݵk*$ժO?Ը߽{wb1nWu 1 ]rERe@K.M2͝6H| Çm«7tRUD#(Ik֬A9kʕ6U l.SL"cιsU2bt|MNN6_rE<-,,o;wۏ=w2wޱ ^FEEٌ_bqCٳqر۷+77׸u߬uݸn֭FxU<˖-3ի?WZZV\isU X@RTTI|||u]kgnݺX>ׯ/0Bz%IYYYJMMտo;Pc7_Z>֯_{Lڴi_jǎBZI}U~h}EDD??^{uHUF>}SN O/=SzkoܹڶmMXx޽z-1${nVrJ=BBBuXرc~l:rz!IO?Iƍg9du7'Nĉk݇TZZZm]jjj ڔ+WjɚFojʕ+|cYxxm|"##o9>((ȸmZu[k׮Ջ/(WWWS=z]j^wC:vo>=SU4:6?_B^^^edd.y{{?5]jsiʔ):_~M*f~O`Uդێ0`$2hZj…JJJҢE$I>h;֦*Dطo_N3f?]Y\s_De[oi߾}VIIIkƌٿeAݶAC*00ژt&Zm۶GqWZUm{ݐ?n۷|}}_㟂zԄ+hJJJӸgtd͛KCfVXXXq7کS' 2D6ˋl>`p .jh>SI҄ 4tZ=0`.\PcȮ6׿$I~?o**..VxxMFڵkuY??47 x1115'*I={ [!%%ŸŋWv۱cG#`}v:w,#FW+V|AKbz4nbsҘ֬YRw}5mȆ CBLNNns 3ghҥ;w$)::Z߯LkN?nt̙0ayY,>}Z.]RYYzeojjj#I4n{zzjʕoᡗ^z8hѶl٢-[(11QGVҩS$U5O3gJ^yj:TwuonӭU?$)==ɻlV?͟?_իrwwma6xb+H￯=[UuA$///ܹS{Qv4w\]vM?^1bRSSu*66ѝo׭[SjxmݺUOVNNԱcG=/sNmڴ۷o_m۶M񑛛1˗7ڤŋj߾bbb}Ynn+Io^ڦkq}ТEKz衭[j޽:{<==Xg?Ç,`mjՒ%K׿UR׼yl}Grww#<"WWWhРA1b,2d$Eъ6>ݻI0Yl-+bM4Isќ9sTVV&dtoa;t)Sh„ zTZZ/XRqq^yf} 4qD=z駕@f?6ziɩܮoӧ~zHRe(xĈ*lڴI .TBB<<<$I>>>Ƙ9rD}~oK/7T%UڵvjILLԗ_~)Iz1cosNjmTmZZj~_ˊiӦZil_SL$kCZt<<<4gEÇ6nرXhXaϞ=:p'ȑ#ccj{ァM6Tdd:w,___]|Y/^7|]vۼK6l PY/^TFFV\4Z* .5i$uYVU6Z<=sZf&Nݻk׮ձc?hٲeϯq7xC|FN:@ϟ?oFK.Ufff>R-X@;v+WWW۷Ok׮չsboM^}U8p@=T^^Ǐ7N8 &׿말9sF?/^,ZQ5\pAӧO~3w}ڵ:v쨼%Ieee8Zvv$_ppKZu`Gt`]`]`]`]`]`]`]`]`]`]`]`]`]`]`]`]`]9;Nkرoڲez-6q@ٳgkђm۶i*++spe+@?ܨ9B .lʀgٚ6mqTEE.]4V%I}m@+;Y@@@ds-QM?/M3~]4p@=3 v[lqyNNz-6EyX-BC«gytZ V n94VVVؕ 9+:-׵rJmڴIǏ$EGGWrr\]]\!3ffϞ-gW-[۹ڶm/_F -LVV~_ѣ6:Ci͚5ZhBBBT!rssK&IOcԿO%%%r劎9Ç7An`ڵk:v߯[FR>}tС:]lݻwǷE=zА!CEv|sp܉{oVן֤ϋnEEE_*,,իWuQ9r^NufիWu!edd8:N iذa$]zU~~~ݮ3}5߬>?ACHM4IfY'N)00P=zбcǚ!4ڑ#GuQ>}9V ;S׮]?H֯_{f l99>j׮RSSo;лwO?$*SÇ~zIԹjjݺu:zё[>D4Çk銈ХKfX5qk榱cl6kϞ=Zv222TPP I*--Uffo߮g6h׮]ӗ_~Hu?~qwղe˔l-[LwDX,?~X_>Z)޽{+**Jiii:}mLJJΟ?_sΩH&Iuo߾2L:yN:Um}VV{f8u^Z~N\븟~Iei'N:o\Ǚro֐ןKll$iQVR\\,IPIIU-2B5ѢEuE-/-ۺu*XΎ.l/'''mڴΗ:z衄:uJ6⢣G9)777I{fWtR͐!C4p@]vM|q6|99>[o6[:y̘1CfYw^z)((HxN""BtQ$U[4O[*IX,JNNVII֮] .j*44TÆ SHHƏe˖ u쬡CJͥLʟHmrwwؐ!C7ڄT .… ] p^͉+niر͛W=<<4i$uA/^TZZԻwoEEE{U\\6nhֻc۩ {5$յkW%%%j9t萶nzqGV޽\˸q驣GСCuޮ5kl󧶠3gvոH/_Vh3Qu9]*--MW\WMQc_""#ӧvZPӧu9͘1C. І`E'Nd2r{ɤd/`ӧѣG+,,LӦMӇ~XP^~~\JVTmSW:uR޽e2~z9s^7xuE׮]k ZK\OmBf1U]_m_/͞=[PFF ѣk];v7Qy:ʴe˖;k޽0a[i]xP_ֶmTTTAgϞuf'+j{׸=}jc$I~~~6?s{ յk״cǎj])b M6M۷׽ޫ5kܶ~rss._ ׶M)44TCjƍt=Ο֙. G]wݥpkСzRSS?4IuZק7xxq|^N$U>&Q^M^)55UrqqQxx8V6+jԱcGHO8;;t.Y:w\]w}qƩCu-??_VUNNNÇk@IG]rE԰aÔר l6+%%Evݿ5q\ w^} W.]ԵkW*11Qڻw]jԛo,s7돣4"'ڮ];5zͽ~zW%Ds߬L SdXQөS'M:U999wrrtK_v_Neee:}t颞={@ѣL&rssk yJJJ|}}գG%%%@.\< 5zhٳJMM~[::SEEΝ;s髯RBBԷo_XSSUEEERHHz衔Usrr\IR$,RI~99]UC#""l:$,**JtjU777u/U$Ubbb~I6oެY&MO窏^zW^*..֦Mbk^:$Vu.EUuW{Gtԩfܹs*++S㘦:NYYYM2'5X_+v l6kɺ{lzyyiСׯ***o>]\\Ojԩ'pBC‡I2>>YgO?=GuTFFFm۶lذ!<@&&&:v_sWNȫ^vmY֚5kp*]^z~:[V6oޜYzuVX$ygy{ٵkWw|ٵkWn}9SzLLL'ȦMr}ix5I&&&r-EN=v[/u/|s__ub+x6nܘ''>M6uiw:m||<[l#<ٲeKv.,G}t.|Sc=-+XN9唼ϗ\|tXN:\r%???|'φ z"P І=ٶm[VZ??_~yFFFww}nol߾=+W̹瞛׾;?SO=յge||k{# mxg;ȓO>k6˗/_z]!̿ 6O}ٱcG,[,gyfowu«;XokM/;sɥ^αlڴ)gԧrYge޽  ޽ϫ_<#?$o~s?tIٶm[֭[ή]$z׻717tS뮼o͙g_yӛޔ\~ K,ɣ>_?G}t9]wݕ:Irq93??fo6[άUty~w~'sL6nܘOӹk(W_}unݚ$see޽f֨y_gy&wO:?44׾Krqeټys6mڔ}s3v>V=y3?}{ޓN:i|9#җ4'pBn|_YgKκu$9$_ד$˖-˧>|Ix9W"k׮=${%MozS/^$o~$yߞꐽ~9|9tzŊC[}mw5dҥ3˗/ڵksGL^+␹zjN9|m-tnoJ}pXN;Lܹ3<@9GbŊ_>v _¼mo˩k&grm|L``}_+Vdzzz&zOݻs59眓|#9v|3ы^;w߳uOd|||{<6}C8u-*0 @Ouر#կ255ܷm?LNN;wܑ+W檫:d]wݕ]veʕ9cDn$ɳ>;3~7o1zk^8\r%Kr 7ft7'O?m۶ezߏ4Sd"j}?;̥^>;+V\ . 7xc94`aÆê6cʕ꫓$~6Irg`ߞ+"~VZWܹ3I3d9355uW{=ܓy?UVK/`yۚ;>>$9餓2<<\7cǎ۷/K,9眓/~m]]<@x Nˍ7ޘ+W/`& w{Oޡ!lK:իs1$I< y睗5kdժUy_]-ܒ$\|I뇌$K_Ҽ Λ^#o|s稣P?S sM7S Z*G}LM$˗/u]38#]vY^t%I>o's=7:sf3glϞ=szmAVɶmWWJ o:p&'''G?Q_կ~5_/?r'mݖ@ ojj갰ߟ'x"{lN9ٳ'sM7s^]6k׮ͮ]bŊ -oyK~ҥK=ccc3xrr2_җ:\|ӟ7|W\z_/\Z9Դ 'Ydy˗/ݻw+>sCP// tǚ5kj\q211K/t>rO>de˖eٽ{$K2U3dkutq5Su^:CîecR2vL)7}]X; j|<>$SI8IFGGa;tҫ^$3<] I-[Ju iCU󡒾f>`Eme{>nʁjI&m߾Guԕccc .@/Y|y.$wܑ.zW_M6h^sM|+_hE%۶}o[u!ڊ~൬㲶F4ֹUh7ZEڊP$7n|O366lyg[/ҥK$~{wcxx8W^y}' G/^ٸqCʾiT7Ftcg7fc Vp&ݻcccKOܹ3sOwctt4_W2w\&''iӦq[2=-ŋ'IM_EUV6Zcw^3}7?Tr\6wC5ǵ%}C5c^+%#G,;O8-I~i_7f͚noz֓O>-}`tt4Gyddklٲ)ɞN'sXJkS^t9>.Z{\Fil}` ^X'~͔&.*y6e˖ͻwސk`>Ulwްe˖y.k5W7} `2oڟ$[l@,Y$cccmnfgll,K,I̶d ~sbXuA_j<~(In&k˒c'ڸqCv~,_`nT2lvƍʁʫZ6^Fyنed(ftp )8:dzݺu3::+V-hߊ+2::=֭{G2n{mKy3:ԯAe{%M83u7I.]e˖mh߲e˲t$,t˷%UU[MY_H70 Cs<ܲ9CUeemCekT&l߾իW^lcccDU 8ܞ={-]tw|@m!Irh(ujFfїa^֨`-j+ VWVz-[s:OwTX3>>^pk@-V(' T[bE-[@x?_@xs_T`P lLm[ѸFc;f`mklEԢy椦}ǿzU˖-;}ѢEYxq299Yp@+`dll,GqD/^$ٱc&Hjj 63O8CXk&Z(hL*I2\269aJ2O۴t]hѢ%Kddd$SSS p8V(' h/_+VT|?|s9ݛCëEԩ-Z/n%2«ԉh7v旅Qʪ֞7ZT= PTΫ_njԌM`+^oʕWܳ>;OEyFXsx(5meaV«hBMU&v{ DmѸ i)P­MRχQĊֆZRUg]fu*\Wa-zm6tZh /Sa.gXSWm6ZmmӲlڵ7^c*dv~*:\V4(Z{^=,Z{qEsˮhﭾgfØTh- YSV4 *.[oFmb`T5kY[mUԢq֞7[QʫC)Y*f^eNJkלhlëh6Jl63!ֲ=Yd- V_5,slWmlTA_,[^Q(j ںU}u Wz$nblk̈́c֪mk%Z >o.k+X-SVYxhz{*c+W` U`Mz kY[QeӲV[7LmֲENQ[:f£TP-ZV«gC 7kym'ۍgi_Vt# Y/0Zjy;fV65joת j&pc¨ ) 6*)6.-z7l|5@Wd#Ruo!֢VW( `X8 nNk%Z9nJkl«E.@m:}edn*Voj FUKgS«V}u.A^vDk+{kXekۊ CΫWѵW?(tY/hnB . %ֲ1K[;]ڽ6ـlŸeAv4َ`5bM 6h+ШRl+ Uxՠl+c(IwB> q tGDv6;վz"` -t8W;!֡&Ɣ:meB{f3*s^D  &*&ݩZoL'¯dme? @i%TJSI &,̀anoAfhvv}h\W[]y͎iCecf[At>n`J#jxp.{.Cƴd-7 |zUCGot3:knoYvel`j'|ʼV涻VΥ^ü[dpC]kvmG+V[ g2\Ldx5`lCvC" @v϶[K'@생TVDW« :+xx@Xwbf֙0Tr @.9:z͢XStx54a^g ?t2\Zs\:" ^ iws !e¦浳< Bs!v xO#hj~WИjO~o>#XW`!ZBA":`1Hhu 7.<~"D /R3\Xe" aULdd.y*sB^y[A8i?AM\IENDB`easyeffects-7.1.7/images/easyeffects-light-screenshot-1.png000066400000000000000000004203251463533416400237400ustar00rootroot00000000000000PNG  IHDR sBIT|dtEXtSoftwaregnome-screenshot> IDATxy\e/_U: aAYH. $ 38l0* xEёg e؍@XH 1 tGSEu֮ꮪyꩳ=>'Ч;DMu[f"G3q>/AZ ^904 g‡Ty@5[)I0| P+YŠ8h!Lxq3 !Œ1Hun\LYA@uzlm~~ e¬-J5{Y[ dY[Pd3 61gdmBBOK6?>!o q*ٔ g}|@o|v<-A1 (/?9Zj;[M$VJhPej8?Ft4PW3~wht{3i1 B>WUZAYm<-O3M0x D3]deB[04:9СVs{e%AE~Yի:'G/*@!:`֫_@kW@Pamgp}9z6l k @v\DitZEB} t7Gp}ι04 l5]2X*Z%5*Z~}m3R(ٗ`gazUe!X\5Ik 6"*Z!ʵRxyOZS=B} 6) 4zV}5"4Y>fm kBx@UvmT!Zdbm"ƒ dx?}G_*֫?^% V[ k ߟOWZʬ+%?YKj;PMLX4,??Dj-զ}ݿs`h5ZMLכk‡5cxZ­Ŷu. WRMB "t6j_í\ aJjBDV #ZJ% Ŗ%>bBїj#}ZmFid4{ȱU\m kXg;`3«լWh??3!́ ['b{PI}jh*Q5jujՐ ꡍ +P-ͫaj¬YCUh^wpjS*YKezYX[P6{x5QR+ 5ZM5WRab*]WトX]Bu6Cq 6*ڗjC\* .Zt b`ؓuC«Q䘆0TLU}5Tb-uL!֡:㮦j«T]&Z.P=efgAjgV3Ac㸛%_rVMz0@B*W1*:1WwxTJVˍu(PkXPXՄY+ {C}5BC14\MbZ«U+ $[8Ʃ$Dٗhh%AJ#ZM?BXog5ZlJ)\ kuT`j@+FͼW._gjZI\B{_ P 6j«BWf-ba6`ełY B/L*5JAá^oJPVmд\5rXX:Vڬ$ZMRrV nKTJ*0FUd$`)dk!BaZ "T}jfY=«łUZTuRJCVc-bj!VUX`jAbfdJ.UXrZ\r*Zi4TP]PBY«T_kxł+v V z/Uy\شT5ZBQUJ}믒>+?_MxB}/5C*  Vb-hk{YVF-Wä}Ys>K "-,ZM彗 7 Sl֕ Z !*V_WU.-W%~+ \MiWh]}4f@!\,__e5?Ԛd-V5OWb-T5_-!V*5z-dRm^ͼW۶ayv C]#wS{ g"gyn,7(2wt"]"&k[jJԺ1^}\JKW +Uu5?Țny۾?>ojUAU[Y3BUSyӹKzjUa'9$Xc˯JZmrW 淯6Z*iWs=h̙=zAdrD"1:J 0%ɮt:.J-_n{36z#bC濪 Wk :X+\}Z(Zj:}2Mj2o:w]"""bxoqC[[۴LǙ*dBa֮_ov{X;#+ U Y3"6P  F`@~QW k%#yϼ#btD ?zj:T*tZx2yL,"mիB'e+w+֕–yAcP4.ZįWq/˟οxʫW^ye֘1cNThZ%^X׮]{n(w꫅t(3]iBQ 4e]i\صX85Pb<(^mX|DPA֍7޷;\=CvìniQ8ؚ?]]rARAKoRȭjm &_69? *"7~˯LɴU}˝/$WiQZmP-lzj_JJdJ[DDW^% @+"'3o Mg׫Uڕ W.M WGDİccƌ99BxW3fwǢ(}+*PҧW J`y,$ VRUP)B9.)\z#tz*-Hd^ǏX]N""+w:>r9eOڶ\bJ" Vھ& GD7N:« Lv-Nz79}(K歫wFm@je8IUnͯZ\r[D͝;mmm"WZMwwwlܸ16mݑJo$LưabÆ kt:D"ڦ͝;gyɺmzInN.UQBșmeWo_hr}V!e$zuՆOK)U)TDuªɼdȈh_rľtZEtwwcÆ  y#F#G I"D"tmS1"GOX5{f:7?y"gYhyPuQMr}UPB-Z Z,:,"_|Ż&}#T_h6l5kBpMW&˖H$wѓy+TB#sՒѫ`)"kDj/Ua5w}ub 1?ldD/_[Ǩ ֯_PĨQbȑ@Taݸq};?{UXs+vG*UXZmY_M!@XSMx6|DB""1bĈ&aUhr*ѻlqٺ| ,~kcZ]trș 9yM7NGEM;֮]aXvmtwwo@QL[:uM7=k\.4Wv`mĉS>Rwxt+;c«`P,@2ٶwn[WF T9f16`mNR+-C\]2o;v%@Hrh16lPNrn *FkSl}J{ ==jITW.3*wAK$J&qF.@}u+Vu5Pͺ*jr|QU6X'NIbdD$,М6m!}M&n-e"J[ 4BUjkj?.w,JZg 0$x 9&.(T*6m]]]T*RTn 4d$6lX#lfr+KL*uͮzp*+-+\MP9WRTkHT*6n6lmttwwGwwwIň#YìUD-t-]r# ZJ [WmXP 53_$rBRT_>:;;k+bݺu[ȑ#)ȚKGg~EֈëGPi_Pj5XGike«-n/}wvvFggg5*F/ Wȴ k_M )SkeWDNJjWWW﫣#6nG ; WZjeKFDx#;ôJՄ\3ɼe 6[o5 Ռx뭷bÆ spɜ蜤^Z9ڬ?jUI5D|>r/f(3֮]۰]6:;;O4d=~Ҭ*ͨT0i_O eOJ3֭[aĺubՒf?Ŷ˫Fɔ:ʥ狅WUU-&?ZMmAe|'֮]gqF|Cjmܸ1~_}K.=#98c +Wn!,XUm;jԨ2eJs91a„~! ]6lhjƺu"HĈ#ryruTKhYt[Vɺ!{b!e"`Y7,=ʴUV͏HREfjժFe<=#FĿưa<2*!ڽ_~+.8q +WgoVMl~׿PG]]]5_rhkߚdODn„ ;zw:~wY=>rGκWxo[h]F~P 5]dyd(6YɠՈn5e/$f̘3f̈O>9~_5z8ВëÆ D¯Ъ6nX2dɒcӦM82|nᆺ!쭷ފo#2j&[5W8( k5$'/t/;Z*<и@ *^M$}.l?/^XdIq0",XPC룫(+֯_akq[Ϸ8z$jb͚57""裏nwu]1gΜ^/^\0zgjhqw_m'N8~ nު1cFv*rhTjٛQGGG1 J$""]גCӜED@* ~ 6,; =~Ǐ~x7z-_xq\~ëGz@-[K.@4YeӒZi5V:uw!) -"c1cF|R~8s6c{)=GL~_͖ WMAM}V\?)rf3T*w쌑#G6>ZZ*@V\xoo_ly[[[㎱;>hooozxXxq̛7/?~|7.N?ַUUT*ʈ ㎸ bÆ D"ww@ /""-Z>hcƌ1#~'>Q䎎 _ &ĕW^@ ??y&L(~:;E!RSO=_7|sL06n!Tmƍ[4zklKVDWWW,[,-[ϏgqyԩS=4뮋?~{wD2P{キhx5"6 ~s믿s̉g}vuVUVo8S +Vr?_|1"z}m5<>eʔ^gy&:ڥRx衇bݺueX.\nb]v;S l{:#"bm:+&MTEn>Y 64[45|iaŊqeūo=f͚f͊}{u /ĝwޙq IDAT1d2ı[@S{ot3Տ~0K,Yf qM7X͛_~y\~zhqP>Ammv7”)Sz/Z`Wx5"+on5f<~JKRUs?+Wo~mO׿lx]]]JjAdD+޹hœcnSN3<3""y~?^t7͘={v#/-[ ,Ɣ[gqF|ӟ7VZ^{m̟??{O|xtǥ^eÆ YfG]@9s7[bŊ9sDD;o62B~7ovv3gΌ;RT,Y$yxGmy^C›6mk*ㄡh-3f̈Tʩ~QG-{^vک 6?,e |_܊VcƤIt҈;cǎm38#DG?{5Zʄ `͜å̞=[x!n<'?UVeO<8S#xnmL6-O~_Ÿq|0Ur?=.4O"ɓ']w/r]6ƌӫݓO>nooφ{^m{sݮَj77q7f绻v??x\uU/>vuu5[l@U;mjkkN;ײ^zAN?8P fW~(͊+«м֬Y<@v~}N;Wx5q󝝝٠ 3fd_'{キ!WiSLNRxg{_n],^8""&NЇo~cԨQ2$Z_̜93>w >裏 |,\Z`M`(V` Q?'`c^+W̾r)ǭK,'>^x'⥗^^{-~c=⤓N};NǓO>/cٲeoFWWWlֱ;A'c-]+… Tioo_5RkXzxVo}{o7MG)ze'?mO=T_WqWgg$}xɒ%/9;5.<@\3ĉ'=W{DD^::묈 g6.]lM;ov 5Nhe2__|1c=S/ӧOxꩧ_m6w8餓b]wlx .w:}sϝ;7v}ljSA~rD7&Mԫ]-_jCz衑L&#JEDĢEϮ駳&OSL~f…~… ӹjP8#"oo~m~ON:cM.{P A]fMofٲeq뭷ܹs#V?fowttٳҥKcҥgԧRT\veo_=^x饗zmӗT/ZC«}L*U*1nܸ8S㠃>{t2߿SOEDdlÆ 8j_2n^U-[˖-gGydCw .& ?Sevmq뭷=x .8cmЪ*\N_;vl3DDd3|ICM6O?ӦM 6?m?y䪏=2Oi|FBy*+ѴAlX[Ǡrfm^~>8""̙vX3&~HR08C"&enXtvv):;;cbŊ2eJ2gĉ1uXtiG?޻2kUxhoF̙7tSjժĉ{Vʎ; Rxc뭷8""&L&Me˖Ŋ+"'?"h@672nܸXn]eggg|;߉;vqǚW8epsR""-4J'/#z}>qhood2=5jT|ODD? >s>nֱ{V}sKUkzW#;:rL[4TWWW>)"{=)ߴi裏v!^}s='yEDĈ#k;"z`xWƽt:~do=~?яE]k_ݽٗd^gώn-"zqjSjC~*:::j~ڵqUݶnk~5X?>;wnyYf~6ĦM;ǑJ+~??4zc-Έ>F#GWǨQӹ.Hx`y晱>DwwwGr-s/硇*y?eqƶn7ng?{~ߍ}kuk5~r)^}1eʔ矏<0/_#"b1cDDԩS{,o~Ij.vP4#Hl.M$64hTPk ʪ~ӟOӢolSO=5>e3!y#8"{3-['xb[/bv]nU ĝw&M'FDO 1}OO=Tb=KlE2O~5y7+5?vؚQSO=5{Srq '#'J [#"bձN;EDO9jp)LW\j8ʝvi*~ӟz(^~yLw) 'J \ YO.믖{wl?)""-Zx`6H͘:uj̞=;""VXK.w=.\m3y>{DPBaӾ?~\s5J6[NcΜ9w\]W'H7J &JH&1s83K4:蠂sow}q}w>裏~8"zqUWED;찘9sf}u?vr5kzU,%̋XLO nڴ)VXo}GP.dEe{lc=6;]v٥#{ [Uo1dt6m˗g?+}Qp"ɓ'g^hQDTu nҥK#"v!oe2;cvR2_d25C_+BffY:}{sLkjj֖lWcw]v%>wrXȑ#7ӎ:X~}?իWgۼ1o޼7o^̜93/G"~*UxXUx~r1jժ׾f͊>qv >gկ~_`Ay%<8cko?&j͚5 ;,蹩|$""?7o^,Y{W|0;[ц^k֬`eHɥj?8bűpxg㷿m_>""8hMT5㩷O?=cܹyF+WnD"[mUY&""FD+4C9$nO8#JVy7o^Z*;?eʔmvs/;IƎ;Xm#4}]]]`xbÇ__|q^{W\qE63dӧOo_ly睋*2O ѣGcHERJ]>"LF*;bݺufԩo^kr@ǰabӦM}GkvʫsN*!L%QFtOOEiQ-m6P\=k3vmŋwމѣG|5jdٟYviqWď^[pa]Q?r)jyDDĵ^+W,L!}N;š7bΜ9Eo$>ڪ_y啚ƗVƍ7[`qbܸqFc^t:lnĉ1{_92F| _|;/[.l3gΌ'A׿uvzUe1:}k=QGk)j~uj?6l|ȑ[dnjS~"z?^}O^}ό36{>ׯ8S n7cƌK6Pwww|_{w@ eΜ9:ꨲ۝xq''}@83z.ĬYG_=:;;c8.vD}ٽ!oFDn+;G/[,?v,Y$tx⮻ʮ?c{o8Z>رc#'$}%dCÇN8!?뮋N8!{C|ݺuq%IJe"'vg4`+^x!{s=qg#~]w5?{x7""^[o>+Ou9[ne}uQT{r8#7@{ &^3_3fL l8L}2HYg+Q(Z=ZZ5lWC"а.駟s΍%K!;C_>^y7pCx[o5kL81ui?=ZO}Sq衇k_Z3͋?>"">Ǽy}M}R+#Ƕ@3 Le| _d2⪫.yD_~]tD"7ĉc=VJ||VȾs9'<쌯|+|cƌ̮zOlq2L81."NSO=_ /uEW_}u".([kqرccӦMi֫vm{wSSTUi%&Lwo{, ѣ1~~pɓol= &ԩSzqPd2mmm5?j„ qӋ9c=n喚ëmmm)C+I'6l[o56n]]]go=%KĒ%K6k1mڴ~>/c=O>duQ}矏+>G[[[\qq /Ps߉Đ"D2(bM&G eBЯ͘:uj|_9sK8qb|-TeKzc2a+:;;^+>3gΌ{'"z~w|'#"b…~~t:lo]tQ9)sGy]w]XlY1iҤ8ꨣ'FDěo-z(xlD".7[A:}wz-q7{;bĈ>XӧO#F2$83b̙W^y%^}xcvŤIz#|饗'+Vի;v}N]wݕtVgos=?!d.ـoYfcűz0aBL<9N>«'C'>jꫯΆǞx^!bƍ^xaˇW#".xg+Wĉcڴiqg ET:馛~<~{cԩqٳK}* rr8{&Oܫj@Q⠃~$b`UqPXn]QFA:r'L6r˭}eY6,g]+llD$VZ5?"K/ǠaÆŬY裏nh Vj*Nܹsc޼ybyDїB*V^guVvk]v٥#:=VZ7|s{e+M >?p߰l9{=YX}]>}?/%Z0z;vlixk/7@=ztV^݀AK@hnnزeKܹ3k666رctڍa0L566{[nw֘1c׀.0̵Dssslݺ5~ߗܣGe=/+Ԁ|>cǎؾ}{l۶-v9s566Fsss5Jp`a$GGGG ] K|>FGرcGܹ3vIDDD.|>|>1kRu0444B jhhv:磹9jF`]VFFU&CVO `ihhp1Pf04|U" LKKK > ' LCCCVZ}@3fL1c$ TKKXajmmj7jVc9c֭m۶j7^sssDCCC5Mj۷o;vĮ]M/GCCC455ŨQWLXF444DKKۖPnEL )V2% @XȔ+` SdJL j7lcǎ*zkjjvȐXȔXG{+0%IRsr`ڪ2dV2% @XȔ+` SdJL )V2% @XȔ+jv $I*v\.Ws@+` SdJL )V2% @XȔ+` Sd Z$IEΛ*r^ @XTc@eTns cV2% @XTc N$9o.y'+)+eeEPm"EP X 4|@}` SdJL )V2X)I7UC% e-_P_XTcPo$ys\E Pn#@C XUUw" G& 02;6Ԣ|@}+#)`++ԁJ<a9 d TLV/6V&U*! PijcV5jM X`ԝ"}+)+PP^ t' * l@-``XM02 P3|T+@ 啯v/d ,I;UTN~'> d XAX`,:vW+@XNć`Wj7" @`m"zߺ([$ИWڣÙXȔX,@  `U5W`nEL j7"I7UÉ;V,*inEL )V2X@IT伹\"XaΤ#@2 GȄ7-蒯v/d ;IT伹\"F&+)+5'UD+uG/[Dd!_P_ Ì20YL )V2X)I7U V` SdJL5VD$IRr +)V2% @XȔ+` Sd #I;U>V0A|@}` SdJL )V2Xп$I*r\.W +nEL j7%IRrJ<K |@}+@ Y.'ѲěO@}+` Sn@$IRr^YL )V2% @XȔ+` Sd Z$IΝ2V嵲:U!,%啯v/dJL )V2X@%$IRsrXȔ+` SdJL j7j]$9o.yڬ @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @``$ys\E +` SdJL j7r#:Y^TiZ~ڸHN3ƵFui_'kjZ#:Y^TiZ~ڸHN3ƵFu65ҮLqv,gZ~ڸHN3ƵFu /+)V2% @X̔)S⢋.+WƋ/[nm۶<gyZ[[kgy&}ؼys@iiIiǙ.i a$*׼P+<<`$+hόTf*]Zxq}VXQO{{{ Pհ5*"{n5[]k\D쵻]wׄ51"&EľkrD쿻#⠈8$"#Ј8,"i1="#bf[[[r&O'tP}_|dxTvu)K,w[_ ,Hmo?SOx\Y'|r2Id…{<]6o񍍍xc=;VJj=%믿tI}f={ƈ.7nR\ ,Hy=O>qiƉ1u~1cF}Cn'Pq 7 x#<2=~Jsر//qzL?sUWřgY;wmϚ5+,ug}+WƁXvqt7n\E8Qy?2?:OK3^e}8kڰaC\s5qqĉC.,mV稣:v޼y1cƌo~X`A\poO}*; ]ve0]|E/Lo8cƌ|cƹxj?9WZw^uܸqhѢƍ㤓N6mZ(! ݫwyg_E̙3'N?x뭷 ^}>w7qw\8o/DDo|s5I8cԩ1s̸ꪫbÆ #8fc|1>@i'}]PƙP/?1^f(ϣiq~cYRKv-=Lp僻Zbx\pR]Kw-U<1:/ZxrѹAѹ r{t.|Xt.<-:M>":Q֖L>=g>>_kJ.駟^ط/cTlٲ%I$y뭷tk[_O=T'?)z,'k׮-YGo׭[Ts)yW?ǯ{)Uua%\N<Ģ~v'8Z|yѹN8ᄪ{)Uu%K.m`qb„ RWr4AU~uyD*5+mL3^᡼T=TѴ'HYf.|bŊ}S]-ikkK"bftfߎ,ܴYY|x/w7):x]^Wn+7.ugg{GE|a_Į|bc95 udͱ|GE'N,njjN:vx' w_l޼}'P|ߌ1cDDW_]rjCSSSEutt/vת,ݏaZn],]4^y̯}Gm'?)~'c˖-ٳgg.i֯_IիcΝ[ڧRcܹ>^şɟ~os]v;iƉz+ռgi?ӌ/(m8慄7v^`zy4m?7Nq$ɀ{>xBq㊶mO:Df͚wUxʔ)1v ؓٳgǼy""?i,[17Ԇuy |>_Bկ~U~ec9&?5j0aBv[w>Y0mڴ4(G?Ztϧz*ky1zҥK36$ }}¨{wJ;NTb|҆OBL`Ɨ'`3,^jUԩS_~^7tSDt~.wo K,)|GG}-O;,vv[ѱ9ԏ??6nk֬uśo˖-C9mV}m744ɓ ۭPG>Ņ^-{'c6l[o5s9;::Llu⪫W^y%6o6m7x#ng}JDy?zJr/>0~2f`g: ?8oK/gnU&JDD̜93>u/ڧ'7m3f̈W^y%֮]SLM63~5 Qv[[G8.رcGDD\ves/~XpaDDO:֯__t~h5,X?Nɳ|3E/aD^{UB}qgѣc۶m~7?^ӧqW^jUw&׆ghꫯ뮻.:&M?b9N dr/>Ի./4PO?+9>e %\IU+WM6-^xᅢ}8XzF?_5G}4M_{k08?A,] IDAT4Ow_}5"bҥ]F;wԩq 7ZE7Y\:o?+5>%@iiqҹ뮻YK_Ҡ>Ikkmm￿ڋ-իWv=XĖ$|_//}'K᧹9ᄌ[{Ɉ|}}/KNI?wߍ%K)SN:uj\z[ow}oo]n]?,lo|0,kǝwkJhhh ~mofC ]o(uӟ4:?~|}EΟ?'3Y y]^73`Ǘr'``暢>qYgya-WʗG5QܣFw1jj]"bݵ&쮉1)"]#bu@DE!FaqxDLqDD3ڒ$" Ԕ<#Iw_}>ϊ˒HOL2%F>'xbSJN:B{'|>_x_.YRQ7|snٲ% }'ikkKdΝǯڢcsjϟ_.\8sacǎ¹^|^}K^|Ť?O>s]կ~hs/r̘1#!~_Ƕmwߍ{,͛ &I-a${cq) >W[+s9h`{_x]~+鼃'2dc(JD?4B=+?9>%@iiqzƒ%K^{l,[:O^zRMfN-^h;#.=aÆ>>=2:𪫮cX<#q'G #QF|^q饗FDC)U۫Z=nܸیFDqWW\e˖o~[lLCNmݺ5z'!+R.&MN;_*"ׂzs{E/e0Pl s|1>@i'y]>Ti s^}(Ks N[[[\2ƌS?x[EY]uUlٲ "I=aÆ~W>cohhc9/zcj _OgvA&LPZ?vN$6m4c[ZZSO-l?emi׮]EۣGصO nBz7oۯ>`#6N ur/($RBS,׼as ѣ~]C=SV1֙ /0w?(y;G-l}CN;#O!WRfSϑGӦMɓ'='I빿9׻voԓ=C#(zO/~g _cH3TVf|)'x]FyCr̫{-m?7N}qqĕW^Y1\4Vdgq-_Xzuwy}K/C=TK?+ꫯ̝;Z[[w-lvmqOm͚5;^{W\qE$I+VXpa|-nݺ^9 _f͊#<GVY?#C>lӧO . ?Sys'?Xt#T_2:,AmjN /Q jQ"GVcպE^k5~wM]#bRD컻&G뀈80"C"=""#∈8>"f%/NO"|O<~cRթ֢dɒ>ӿuWy|ϕu7'I|;);mڴzꤩ.\X 'P+j=ӎOu4D7YgQFR=c .,:.8qu jkO)y.Wb|Pt'x]J*GL3^ၾT=TѴ'HYf.-^>+V(ڧ7=k%ׯ֬Y%mmmIĎљٸâ3+ٹ3Kw@&Eg+וu{_ `l`/+ؕO,c,GV&}HGGGG|S 6Ϛ5kb…5 ( |+lٲ=$I}ϡ=CqiŎ;}믿s̉-lݺ5?x+r6mw_EjsqK' Pyi^vݞyus ޾SN=j75VԞW^y%9XhQ̛7/L??M7۷ov3!пaxg*=3$$/*RVڊ׫xtQWZwJBkQDR#H" Y lɄ$H$/g?sAgL{N\rƍ\Yke-ZH=,Y9x>_:,7nz꥜YkUXX%Kh֬Yoք t!K.ھ}VZ7xCyzǵ m׾~Z˛%!mRO:9MXL{:ecj4>qкqcm} vm#kmlz$mݺ@rKuc$YI輻˰"il%ǖw7ml[ݺu$Y&\5kN=^_LuuJaיg)IڼyA@TURfR:(5c=֤} O>Y˖-ӹ瞻+kŊڲeFJR߾}[~XK1ڮZML[mD[Iʕ+%I{N8d{V=&x-T;UJVB$X* A* i}IHU dz3i`7kTT Or}m . -YޙrI^=ڥBź2|o --MjŊ:Sխ[7hƌγpB]x>|tQGSeeeΝ+cN*IzeO?uQG)++KÇy睧wy~/1Ԛ5k|s10aBnhW_M%iL%gLlt²Cyޡꬱ5~XF˗܆oNn +F2Jy]{ڱcG|}nnn|ZnI庮z\}裏4g͛7Ov$);;[Gun:uYCoȐڎsO@ ϧ]*??_3g~_8:3t'Ԕ)Sqjn"//Oyyyݻ~iv]7ri; :FgeYWzSņ0cl75R]T>&UHȻ7XH%Ӓ[pg}Vj~W^^ _뢋.o'^Cէ~[j͚5*..Yg7/뺒c=V/%IG}/^wy$W_-߯3gB*((дid<~8^߯>X~[?|>}Yu޽9@;CVy7\ymBbՄN6!U7MCzouSF}*hU#ZUԊ{]٬Mm:{lG]Z9%xi񦎑h7x}Rxl2Y$𨪪=T]xwO?zu 7(55U]V%[nz'hZpN<&]sΝo~#Izg4iҤ޽{uoԹ瞫.]cǎ={;8tM:S4l0]r%*--߮N8ɯXf* 'Wx5F fOktY5,}HuMW%)#ը_}H:Ќά*D*lci7ENXukkGNуdvV/ncԩl.ë`}77n\jLZZ&N(Iϛ|ͅ jӦM=ztj믿^ھ},Y_Gkƌє)SꭷI' BVIﯮьKUjzWu:juȎ߬44C' Ъl\o!]H+ ot]uwc}i}ϐ4/+r丒v`]_uC7f^KJJJ4mڴO%I7nqq_W~~&LvM7ֿo}'ѣyf`P;vPUU"H)--Mرc mV9̯K]FՆ%mAC[Czu9:eTGZSddeTru%]5~XXݰ4)-iHxatȕ=]u c%x^5ڎg^(M'^gaI^4:mLN|իWKrsswߠA$I[n>%%EO[U2}b7r|7YCҍ/hUQUCRH®\=T-==iRxlynOiSx9c%x`HJIHFbSy賊λ5EWJq}m9]~sq)''G۶m 7ܠ{キE{+##C6l_W׿Ϝ9srJz:#7nܨ/X~_fR5b͞=[&Ly"5چrm۶teee)33S~E sNUTTkm6|>uܹEhYt`E˵ᮎm.W«$%3yl'M#khQ!2؉νQ"F8Rx]XÒnR%6cژp*/8XKU]Xw-0:$gQK2tEw$o[UTT٧P ,ث[3f̐$]uU۴}vIRuu}Q]r%|Pp8s=W۷o7߬1c('C IDAT'G=$+ږ`0`\_-^$߯l_) -Hd4 FhPZWg)f%2IҔcT=>wbx5`%uIH2 ygH~)!tnkd6J='|h؇deedueJ?ʟ^ua%tabIY}.RZWmV [DNQ$矯o}ݧzHC QݵyfYF*((4YF3gԭު[oU{VQQ"233뤓Ns7?Ըqt 7?%\'xB.\ǎ޺>}(33s_;-((WS^{HVy6!s kĜ$Vk vbVхչmu5xX]S2R "u*K6IJ}/Iܰ4M*]3N|(s|ھz^z3H"άaכƻZojM<Ț^B`Y)mvM3fhŊ+4vXO>\z*nT=z4yd Cq- UYYYg]nnnWc233ub +A{^JuO0Lwwid]iCIX; } Gl]'IZa)_/&&^ZY.諣?M56kdu'4~x$up1nWr("R[;|)J~I~GJJ(EЪ$Gʕva#a#! 0OG;' 'a^FC֨4ԥfcf/JKKm۶rzzZ6nܨrNNv횔Z=c1[4qXym+a[|lywƶΣzlc4vކD'v͏HHv {<*ͅW%Cu,k3-e3]W. X#kHR(!5a 0mr})(S:^ȉqĆq|Z5w^hV[y5HjkG$ %;;u6mRUUU嬬$URڻH>HZ=g{Wd]]xlvkԅfK֍j|SP+6{%` nbh5\ ;k(! \. FR| Ž(EG82F1&d5 } 7D !ֈ~""/$k'3ug\*YLR%km{'f2hܹR?`EϯNv {!^MpXG 鑚5GN8c^j~~UuaMVM]XFؑh5!M՘G>BOGB)>EG82)҄Vg|yuj7s{AՐ:*X/~W@HβOR%km{cڵ2#߯w@6mZ%l5J~|fZN;MӫrVGIު`:s.zWuuksTWja=oZyjlNXXC6` he | o:kD~uZIW#]:ԥ!nh5>T;\IV2>Eìur-3{lI1FpX/R+j222Էo_W{VMMVXW^yE?Ot'&e5kW_͛5k֬d:HUE!O6}UVF' M^:ih:bUa?qwZ8RFH" $"-)h5~y2{I: 8 ER|h;ׂ["JP%xՐmkX^'VxVHQ8XѬ{]b+Brŋ5aWJ;Ю҈RNnnm5bU8On^5(҈~ҰҀ\o -M3Xj4«OJ[$^5ѡ]v’kdo{P b_~yi;v"&O,I*--͛\ BI=Xk;J6bu5GZrK CzI֍vZ_6>VO$W#V 2\]H2R%Or]뼚S(v_5Yyy4ij0!j]^uR(R^^RRR4///}tMבK.I@k!($& SOfQ{oW<*"qixlʐ3 n|:uѣGۛtdi&IZt11o޼_:JYYY>|;<;{uX`$Wff>c_]nM}{R޽uqSYYY}7`=z1;wnm ,~3 :Tҥ K/T˖-h R]LeUnK3B4ieխ/YUn}2˪"Os]+_$}7$:YxҤRϠ4 ,u1VHjcp'"]Rd9Ƒ#G>GGr\Ww cX5E]Y*ҔQP²10i22rCFCcZ-3k,I_7p@yZt^x׿wVvE"9-_\˗/WJ#[=~WuQ*--ժU#GƷwܹ1sO@ ϧ]*??_3g~_4￯wJIIѝw޹Ozz)M6M={R-ҢEt)(;;{_WϞ=S}٧װ_Wz$Iݻw!2^Z_~N?xuo/VЁIQj A&VLTo/"l޽^U7nJwKv^F0zY<'R0A8!j>o :Bku\uFĺ-#zӌhUS}5h.RʆIֶ5ooCΖ1.yyy ;{lvmJOOc=rP{5]jź뮻$ICŋ㨣K/Z~_3gTEEUPPiӦZx@?^K/iuwx*//-ܢq9S tE)WYYnݪJmذA= k?裺kեK͟?_ 2o<=޽,Xb}ڸq***;?@[BV lB]Z dvZ+ɍVwƮ;n&*-?<#H22ƕ|֑EdF)n2^Wɺk]mY Jd)%VcWG/kdSDVp/jjjtgcǎuM?}_^m7xC^x~^yrΪUZ@[BI%t ?k%;" 6y֞ݡ{n[rUSR40Žλ/B6T *AaVoZ.j *^Al ݰ"nDS7^5`6W}yXF 92!VT7n… %I_~Wo|嗒:~W#8b+??иq쿯tGM7$ Yf~;,Xɓ'+{r9O>ڰa ;Ngdj)B|K%}=7\G#mUI2j:Pp5|'tp oDt 5^WVvi xU7a=. +0"nDGI5ZH5F6F I Y),يT/4!/ Lgώg* yzJtR]6~ի%It\MA$I[nmkO>]r]W-j1Zʕ+%I={:7lؠYk[}ѿor-ӧ-Z3fנAO+b`7KhU5.vu@{12v_\5Z?Ҡ>kvn0\ Ejrk@kF@|{ ( *BceRX֝)AܠO[Uy$["2RȆSE|ٳ%I׿}}w+IzvU_ӵ{|sCnݺWTT$I2dH];==]Cb_MOO$u]tf̘!I/9w޺[_ӵ^aÆiڵ:unr]5`ER ^^ ;\G>8kQOGlS߁N®PaEz#Ej7^#"""nXI>Վlil'GH4 kl(H9VD|K&M$/V87J~(jpk>SI҈#Z|衇6i}7v>lo׹+k.}G{}rGN}[%I>%X&=O.j{j7^Sm#hǶVM}!y=t\EdA) ky#( C^5F!~Wk,ZX#Y29e2wJAy`7 yˁ~sof͒$~|7`W_IN8kzba`"""nH9vigTR^Ir:BAЁURHN<Ěֻa***Rvv~4XİuYgu]rrrԧOeee3ό}c{|c맋.Htꩧjܸq3f:]s5o[oU]vU>}ԩS']~rG?N:餽9stAJMM'+Vg?:M8Qtw.ұJ]pQGaÆ{:sg5uMorrr3} t''ԢE4f̘FwG :TtT=z4yd  &sZb"N>d 6l_נA+(==]󎮸⊽!wyM8Qt_k6mKqkڒ'ZOKԺs];4.i`}ⴡu $,杄m#$cהt=oj!P+Y}[WFd݈ ˺aHHB4#oXqR4zA|>|x} VREqwJ+9VYo[3\o.w z>(5EiJW|X |qCD)xp:wdR˟T~pۼy˹NJ-eee*../gddogƘc$YI輻˰"il%ǖw7ml[%kɍFb'T1e>/hN IDATka~u4@[J#ErR*k7 8R iURQCtّ :m+0mUFFF劊$URڻHda6څH^TVhpvz= oM>q4o~04NY}>G2Y5H(UԩXH[wN=N㵠b܄5VSii\FbJ JpBU1F ]:2Qש_{e]r%:thAh޼y*((P P޽uI'CMvih==ܓ>/׮]zH999]x.G{{& h:vm۶ŗkjjTVV]XTSSS6@BIwY3cD 75Φl١;^ެOomxyl!KT]-}5&SOWl[2BJM In$K5!*$?DRj[4^h5E^h56H4ܘ+XX@@eg?OOOWvvrrr4n8vaVߴyfq>|xגgn 555裏_h۶mRN|;:Õ,Y-[(k׮9rN<_詧ҥRRRn:3fꫯWϞ=u54Oq4yFۯC^zwkϴn:u]uI Ј#4jԨ=\wZ3gj˖-:34lؾ`I2>SshH޽uUWm'ZtJJJTRR"Iܹt颡CjĈܹsҞsKy{)##C_>̝;W ,Pnnj|w=֮]Ǎ5J^x~mYjj:ub~effJ ;wTqqqu:uRjjj\tXtcdRN:ƕO2^>جu9I-o 6RW}:N{P9!VߧW>c}*M}&gdLDD]&a-vغA31 ˲^X5XM1aHB5lܙ)#UNj4jvꞺ>~/Raa G|.2PRR/BtV}@}jʕ˫/)))ھ}o߮իWkڵ:뺮}Y-_<~8***RQQ>]~ɩ /u]]x5j$|׶⫯"?>@:ujR«3gVZ_H$Rjٲeի;FksbK>fX>߿ϙo~Muiii ?V\>@^{m+m]{~iϹG?ҲeTQQNkt۷SOm}ZN꭯V8nywС5@ԭ[:(yߴ; j=-7ڄYm hea(٥4#ku]^UX{_[4%)5>vj'EdOCzR2UE7SVVwU9 Wi İjbxbӨ ĎaW`SW>kd"F';ucƌAZ2}zwn:u֭=Ph@}bʕ9s" >Z}QVVjjjTXXe˖iȑ +h:s5rHcvZ͚5K۷o?OAnݺUٳg<(]t۹s̙#qnεxb͛7O>OSLрZʦ+))C=2k„ 9r亮tR{ںuhԩ:蠃kOuƍݞ!Ch֭:Û>چ]gÆ ?whx-xxu>8gWUUnݪ/RIi\bo/m9iii8q}Y}:գG;wᰆC=+L2>>S{챚8qb+W,55U=zPQQQŪPVV233[zPH;wTEEjjjmѣW"6Ɖ]4oT{޹D;}J2F8HrY}_*0;m6hxՑG>];ijK6}>G]ʆfYky}[!jXFε kcUWXݽ 3u:*`uӎ=G;oݏBct颉'Z{O+V]z饭ZWcRсZyyyD"ZmVP\+ $$dc2cI2I&D^<&3g{rssuVM>ο Ƶ3gӧkÆ ^b ￿C,Zl.]={S1b(>>^fҐ!C[oH˖-(44;͍7 C=76S·Aqq=F={8= gppA-l9Ou^ƌ]vԩSOg*55U~~~;:@EDDZu>/++s2m/111]\,i`~;'Q}ZduV:ᅏ?<糖0P'N! \o2,d5u| ed7VU*"U[Z{5TJTnRE*3TUhӥ{(*r?VW  h#GJrT*,,жx[vg|o}C^uի&M$Qe4Qri{VMn;vPZZn 89~~m{N5R_ڹsΟ?/-\Nx>g00 iƍ iv O@9s$i>Z{,=#G4'HL%EEE5!_STTg͡$dnuQUT:5,:,V}A8QnqTw>~Z5M"6a&e1d1e5UeA֚0gL{Mhj3ZAJTnXTr.R_F+~Rr^GGtx*8mPPP3]rn;wRi%I^{mӍ3FTXXVsʕ+3gz9ϟoj~?~[2[n$xUѣ嗪h]M蟀 _r[*>>^_$GXӧiӦuT6PRR|ΰ0%%%Qy>7A />WY >dH2eHH)CZ$_{yfOЂ=5(;UfV6_ЪAZWpO6?1a`,K:Y-D*#eG?JCXSj]aaZ$^L)c_~gگ=dM~Ymg(OG|?|L"y֯_+>>^/v}v]UZZŋ+>>t*(( ւ=PTTzN=zPTT󕗗>|XK.uMs:3|p?N8/µ4p@M2EK/++KSXXI&W^osuuz-v͟?_~~~ z"77W5mڴV%++KnnfٳGJOOנA=.I=233裏jРAni?XݻwWIIuxM>]={xxKSO:uJ_~Ο?K.)..Nɚ>}L AO>ެ,Wff֭[tIĉ5cƌ쭖Ҷmteee)22R={5`:v}ũǥEmukC-ٿO%&&ɓ:pNڪ7MSG_|LzԎlwS7ܢm櫮ŋuAٳG*//Wbb k˖-:{222z뭊mMkw]*;;[;vɓUUUիWKnfw_3UUUi˖-:p^ziԨQJMi}gԣGEGGX*//WuuWoZ`,BSa@,YU#9Ji,2(jcj5iKZvgh՗Q=tq6uUeܛS/JFMW Ogh`|Vkjj{Xԣw.TXSQ ע*%f) "ð4,2dք[UvP~p]hյY sT!2LjYeQ(nSNҪUdX4k,3MSk֬͛e PHHΝ;s髯RQQ3zb޽U^^.qeeeJOOWzz luڸq{-ڞ۝ lHRhhtY={VSO= Ғƍ+33SYYYnqQ*11H4 CUUUڿTXXpK&LPHHH/]$Q1ϯ ,٧O]|Y -ݻw.]ÇKBBBTVVǏJKKӂ `}o/::ZeeeUvvޢիu͘1EVTT*))ѤI=lלӧOKrw1QQQ ҕ+WtY 40{sϜ8qB뽿LTvvuA͛74M[NLTXXBCCu9={V)))zZ>L}Yׅ t…&mmouuvܩUVթܒs5l٢kתJa(88XYYYRJJ&Oٳg{Kk 0ԧO*''-=5jo߮b/w];E+VukYYYlIGѣGd}'*))|Gq@͚5K֯_1chW߾}5jԨ&u?}]y9ORR-ZݻwW>}裏6:5sL]{ SEE߯?PZz͛WgGj у>d׸J9sFIIIͶvnݪ$};q}ޒ보T?UPPѣGkΜ9^$,<3gΨDo3}رc5|pڵk?P #pګڳg6nܨ8͟?.--˵~{zꩧ~hio>_W{wŊ۷&O}J}ȑ#MN3ϸZrl6͛#GfHo߮۷+66V&MqiuaZh":tHbcchѢog[ok￵%$${ァXB+W5l0 >sLsѣl;ںݍ]:.N-^ڪ\{@UWWk׮]裏{n޽[Æ ӭު8Y,ɓ'gilرck.룏>RZZ hQLG? ꟶo߮?\SLLnVtzOխEJ=W ɑauI!VQ}4 vd.tY%Sj,dTq5 \5,GھAWkW_zG+d^"ᚪFEZy~˫ՊV5V :@MR8@y9a2L?YM#Z\5dLʆWl7:jiiJKKn:eddoeeeZf$0x o)ݮ?P4o޼u뮻ejlZpaja-СC]-Ǝ[Niiin4-oX+++u!5[᫬L/#_}U롇R>}dXt9YFZlyWU %yVYcҔ{キl67NaaaZdݫ)Sԩ8{IIzë`=^iiyku?\TTV^Ǥ%?(9sN~Frw_ϣ5|edd(''Gk?iղZZ`Asty9sFNjpMH-***tF{GϣGûSYYǚSQQ?XR םwީ@mذAk׮ѣ4)_.[{oȑ۷6lؠ]rEҡC|r :Tv[!yiĈS-^ZuEڵKz衇~eff*!!gmoΜ9zo>IҤIԳgF~Ν#Gއiƌ M6i񊌌tMhX%K иڐvE- iP GC#p꨾jw)Ӵ0Uǫ#i(MUּ;DŽ!!n«g\ >}B*e,]vZQ-{]ʕ)Sv2hWP]k* 슟,Ȑ?"0-2LLӢV([֦M^:s=u>Rvvvء]v׿6Rɓ'URR^z%um9uꔲlxҝ4;Z ekrkk8p֭[6. . CܣPGѠAC 4H?,}u3謾gXv%{|ӧOɓuʁi0 IDATiii A*tYg RdDz˿ W7[8<[Z;]g%ƍݻkƍZjt5״=MvwC/^ٳgջwoZҥK[]'\ܚ{dveee*@vcnv믿֛o'|EUEsy<}cRmܸQh-[Hrΐ/@_T\\kȑJHHPHHzjرMnOQQQk…=&|"ʫ#U(Dž)$8P=B`jqnwTm˱ӧOשlk Vvx\9 Z(rI[;tUl2~x}JMMU޽"InsNhhz .h߾}1c233%5|d #G諯j4"4ս{w+յ3@Բ P~ԯ_?͜9Sׯm6|͍'Nĉ\CZx6 Cw;wNK.Տ~#EDDx oX,8q6nܨtMѣGi֭V=޽{U\\뮻NsO}>nSHH*++zviWmkm~_V MMMUvvwDIp\y[͓AvvN8!IӧOnqiOve]~q+$$D37Zuʹ =]x~ծ\uj(0`uPϸ(IURb&ƫox%%ƩOBzG+6&Ra! UnѣZtt7ޘptMO>D~JKK%9B;!2d$iJKKs}^ZZ 6hϞ= ٣GW_ꫯT%.++srO=bbbT\\Kz5QBBB4l0꣏>iW_u0aUUU_|QpoĉӍ7`!ChСwyG{uR233ꫯH lk>|X˖-ӥK$=t7tQ} NUUUڲe$9kZ.o #<@]xQoσ=AAAzBKڸqcIiivܩ^xA҃>B\{F?#}Stu%%%ڸqv輡VmCc럚ZoPPfϞ-Iڶm>}˗]ԩS%UxxO.ɱׯw+++k.}{u _Wz\r]8Cyyyumٿ޴l2իuq婺Zv ~WTQQCjmZ/-ǥ=WmUooŊڲeJJJ$9}Wz7$I3gTPPPy}Pڟ{mnymرcu>pV͜9ӣtMVJJ>3}g Wqqvu rҔ^{M6M|$)&&mΙ3g*''GO;C+V(..Neee Hlll _TVVO .lQpQƏlkZ4b… +(77Wo ÐfSyy$GhtzWuiZ|l6k_nk _Zr劫R 7 ={5kOlSyy5wVɛ`-YDǎ|GO>z-eeeiڵZvdXT;w*--Mx"##5x`;VqqqͶ;&&F=^y?~\˗/oQQjȑ h2"##ڶm߯0`n&z'k.ݻW٪T^4zhM<=ܣ(33SJHHе^hٳgJKKSnnhnԿM2*ɾ4`u]z{nEEE*JϞ=O+55UPFF._,Ţ8%''kԨQׯOU7'?g}'NPݺuSrrn&4z_***W_}EDD4Ow5jl٢LeeeҥKرc5zh =:t8%''k̘17n^xW_V͛#Fh޽p._޽{W^2eJ[K[ I}ŋ *c7[,-Z<̙3*((PAAVս{wM4IIII^[/-~u~-닋O<ɓWllz &o߾M+7ux-èԼF#9Y|^gzRkָڃ0Ii;l|s|s嗵hNJJz-1B ,z甙JNNx? .Gq=t-aLdJ,^`JyuWqvo굱qmlƖNs=e;*>i**''G-AgtYeff*22ëbE$_JAg}ZMk*,,㕘؁-DgTQQTIҘ1c:5QR^ZdZJ]|YޑMD'rS=z*F =ڳgΟ?i1bƎMD'_J*: hoe^h3'K54Z?[jW{p~&0MsmS1 c$SeISRuͫsj}Ss.Gn>?oc4\w o,Y))))))))))))))))))))))))))))))))))))))))))))))))))))ЈѣG0 ^ҩ_V@h"0zn.%4v]k[+ ZNN?[oURRѣG[on&!G}+W{ј1cH 6L3gK/n"W n&QkoUIIN8'NO?s=׫_~JeVT}(88XC ܹsӗ0 y睒{0 駟v* $''W֭[jذa ׄ 3^Rtuj{/2Mڵk5k,uWeee[z]8=]rfϞfڴin 2D!!!֭G}T)))^.:z8u-Zɸ IDAT'+<<\={ 7ܠ?Ϻt~0 ]s5.J1112 Cjt:Ƶ^+IZ|=kgw^, ֚_oI 7k !5Ch&)f"kn5ChIkXI5COI$%H#)IR?I% 4XI$M4ozʔd.\O2LIj5wnJ2%a-23j(S/%L7x`x6-[fĘ@ϒ̀>k7a 6]-oԙܜ0a9p@SbN05ܹ^\W4M???Ӯ}q~viX\Vrr}޽Ç{wK[l)Ɍj{޽]u\\i\ǏoVTTiuQ}#Gx}mחs}Vr-r{#D}q-=hG~ՙ^ioV\G5O>C?Wvo޽Ę/YTT<-9_;]5ٷa5Y5ٸ5Y\BMg|]l]tMϙs=g/LyA erJ`W"88LHHhr())qͷ|rSjquB6/R9ɓ'a.]j0]^7x,,,4M4+**_|eIٳUUUiS̩S̤$NJKKx\|ĉyLIfxx`}G$kmǷYS*sڵfrr)\g/%KaÆs}kΝ;הdN8AW1%_}#""_|3Mqm,[ 6%\庨}?YtYPP2_k֭sW7mTg\iiqFʕ+s^ko矻g/]̙3櫯z?}tS_mۿ̿Mn#|7CBBLgϞm.YշڙDk'C+ ŦifqqhJ2?c/S٭[73??31onۂΧ-5Cee9l0S6o)8p`qfXX Ϣs0ݺu29`~*`*npB"IںuΝ;ѣG;pg}V*((Ю]dٚmaoӦM$aÆI:z4qDIÇ=pPGq NREE$iŊZt,s7M6)''G]w`|@@f͚%I:p@ցoge6v>}$믿h9^O[_Kk+&&Fj*;vY\۶mӡC4x`͛7͙3G:vRSS[j._GϞ=/+33S+W?(UVVj>|}]\tF~[ZZ$iرN뮻N+WTZZf̘6J˛ʕ+M.:u.^?o^^-Zv}IΞ=۪u'..N#f[n껽y]x>Ok{ /3ghС8qf̘3gjȑ-j77u=xzjz{iԨQqo$顇jQ;6MfҬYMo/^B=C9r wDwqIDӿIŋކ*y:MVV~SVV74* @#~i k̙3 gx1aaa^]7 &HuVM:X^ׅ'OkW^ڽ{_۵}vPrr~GiSȑ#x_ֻᆱfvZ%&&*s … 5i$=ZeeeZfM]z#_: gSN59l6ę3g4rHرckip._'xo h۷$niMկڴ.|{3F=z$=Ӳ>]Wٳ~_+==][ljС:y.\7Io[(Ixckӧ{ޝUyRU ˄%mQyAlǧgmՆVA4(KX%! kԚZn;`Uʞܪ$\s~sS9u'Irm;_|n̮7cƌ<̟?mT=`=i޼yrL\1Sڶ 7ܐ+WD\r%9rI8ݪ:_W$y Z3f$ItuuԶwTUUs\7o~S~nWi3?ǎo}[I?Hkk1+V@?Ρb/9Srmeݺuxnm{gJڙkĉI|pus׿<3wwwꫯNwq=z.9c_$`P谵u` /˖-g?K.%5|QG/~կ~^x!===+̙gy70w[׽zJ``pWK.ITʗ7.ӦMKsss.TUUn:.u2y,[,gĉ3eʔL819tA=3{p ֆmuYgN|_X.__.ַ2iҤwq9묳rGdڴi?R{=!{,\pA˅^cǦ1Fʄ rg-w\{$omԓ__cICCC?̜93&MW_\{=N_>)|͘1cr'gƌ8qb>橧d^ooijj/eîQ,z,X 7>;ӧOO}}}F>8k9s0UUm9_*A}B]]]o~ikkˬYO}*O=T..sHӦM?.,~x:::2vɟI{?MP}{ꪫrQG巿mV\9bn_͞ … s5$/})O~2fʲeO6G//[ &[o?}s93qeҤI9O~2sɍ7޸KEO:_rW^ɺuBSַ}/}{s衇_ϋ/8{r'ǡb1}lxĉ3w|y睗?חs=7o3fl2sɴiӒ$ԴKaר?ŋ'sL2f̘̚5+GEoMuonm4eXPˆS6X_ ˚C=<ӹ{sg w9+ LRNҖץ$}_ m-=on]v2nn;]хdd+zO砃駟>1Xvе^$?A`tttoN\tE\ E`r-ikkO){pG`^{mWvDp'zᇇ=T+% @E PQT+% @E PQT+% @E PQT+% @E PQT+%K+׿!_}չ+sU2j~硇ڦSNW\$ɓO>>WΪUR[['o}kN?obygʕ+ٙcfy׻ޕӧoٳgn9|+_m3?<)S+^{-w_^{^:0aBN8ᄜtIgGݝqcg10oh{[o5v}wWUU׿կr]wmu?tI;T#r믿>K.\>zK}+{ڭF$yGק=yCK/<0fѢE۲jժeUUUYjUVZ~:x;r۶ސ#… l9sN\NuuuF[./ܹsO: C/JO&IjjjRUU+Wfʕy'rg„ #r> &[ՕL:u򞞞$ɨQ{Jmm ;73<$yXBXثp 9*Gi>:&LH]]]zzzdɒ?ϲe//+Ԕro19s1HmmmVX+ ,ȼy2}̜9s؎=[GGGnTUUT*mq3<9s椮.^xa?TUU/O>dnX"7|s.!$O>djkk}({l B,Yڵks+H]]݈{~-9o~YreN=A˻$~z9R##Ȳerw9}`/u'_bwgԩuQԧ> &5=\P(?Q=ק:ӦM˥^C=4Ir} ס[֖3QFeՙ;w{//^+Wfћ7 #QP'>|_q7>C}Vostҁ3gm B8$ʕ+S.wMS~}@ oMH̘1#Gy&MwIymr^|[xaO&IN> ['Xؐ+lAWWWqL81I;dKؒ+Wg?Y&O=46I &IT8Ǐ?h]\O?$9餓6N8!IҒe˖/Hv<3) y;ޱ=$Iև7SO=$9裷k^~-wÔJ|NMM6uY<2ȑGy#7w\kmmjqe͚5y7r)J[}F~8r9{lƌ$W_\y~_YbEsAeƌ9S$+dٲeilĺs=7&M>/^z(+WڵkSSSzy;ߙiӦcaꫳ|\z9ꨣ6Y /GҥKvL0!GqD>] nݺL<9ӧOg{1{-VHgggϟ_Wg]aW^y%I2eʔU"{;#˗/y睷];/ ,ȪUrW /GRyoϸqo֭Kfo1cd͚5Yv툙_)oy[6&^|yz{{sT*5_z{{裏&IN=!XxK/4~&O~|0I2z?>]]]Yzu^s1r;w}wr BF˗g}{R.ܜyW2\ve[ \Jo~,X`c/lr ۇz(w_:;;ns;f̘\|9cyb1=XOn[cPhѢE;wn9䐜y˷q|&7pCV\k&SNMGGGZ[[3sQoMHsFm-M_~> |ѢE#vcw?~:;;3eʔL>}1[-^x &I\p9?c9&#<'yc裏ι瞛ɓ'*k֬-ܒ%KG?Q/ … f?A5_!]ugo~9s椮.~fΜQF-wܱS_Wٙ[o5O=Tn|3IP#+{޴loqݺu뮻ۛN8a_2---4iR?ckv~ٽ:;;sM7eԨQЇ>Cᄉ'r-;˗/O444ϧmySS@#eџ [ޞo1r9ɓ'}@;S溯&əgƌ;6ƍK\ի`Yre\q7n6 /̌3)^{-z`]sssN;455oܡwuu;Huuu.A]V}(K./^xaC0 W={vo>;g}vnݺXZ IDAT">`-Zo1k׮YgmK{R(rDv-52~ޞ뮻./r:蠜zijjʼy3g?Y͛.(tРI+Iurb[[o5ۦm|ikkqٳgoWM=*;^а̚5ketP:蠼oW_{.m>qGI{{뛛3eʔꫛXG$ygsꩧfĉ\{%K%ӦM^_xq:::r衇 Ɍ3duX`?~|Ə>:/rwgΜ99sfÅR*rg6}C|\{YtiN>A#8"˖-˭ޚW^y%wrWd„ nj$ikkjc猄eܹY`AƎ+TnYRWWC/7tS^xᅔJiwRW1Ϝ93sڵko|#rH<uQ:uNŞ_OA!]iʕI.x1˖-K!`o# [y'f͚,\0|;7Օk69#rCVZo}??l2fI7xc??Ksssz,]4cǎo6mZ>O;N^}?ͥ^:? ݝקa 3K;LUUU.- ; #YKKK~$)S:Ò$b1zLm溷g?Gy$=X^|ż⋹뮻2~uYy߾cdXzu]vY뇣DPx;wcc-Z}{2eJMmZ7(ZSS?< ,O<S.3qApϯn-WsYg [ݼ0<#ISO=uꫯ&Iv: + va9'sɜ9s~f4iR䥗^JT$fɒ%)0|d}ɛ2C|򾾾k,Xc/Ossn6 /W^yey$o/ohѢ<䓛]vmΝ$y׻޵_)O׾?ϋ/JŬZ*?suץT*?<Ё/7pC~3&ԧn v1dĉ)kr g;ܹsS(rgl:*3fHtMyB+V5\x9GJXzun$?~R{7/)|$o~aka'|2_W3gΜY~}7C ,gٲeijj\kߚ {Ɋ+-/$p@ꆣ<*l̘1;~/~$Iooo~妛n6$/&r'Ix?MWWנ1mmmYx HE>oF~_旿e7o[. ̞=;8G?@7ˮ|~&M/|3Λn7M,Xc?-aQ__kzq;5]jkks#r;]tQ暼Ks뭷.I)Scfo;wImmm{C;s3} WbW/gҥˬY:~Ŋiiiɜ9s2gΜ$I]]ݠ&M>p'|2wygjjj2f̘7Hwwwjkk'']&tYgeժUyꩧrw~Jr!y饗6;?/K,ɔ)S|`` '5k䗿ex̛7/&LHSSSZZZz455;{VIB!gjժ<Yti֬YkfԨQ0aBLO?='N4wʕ6钴!J-ntsMKK˖mocc?̟??8sCi`ШQ_#<L̙3sgŊYre֭[?'xb?J.TԞQ]QֶQyKs Y֯j>l1U|jѿ9I\.?<1R(ޙ-IK=I~ܿ>u[zܺdܘmw([[-v6vfT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E PQT+% @E w*4P(JXB6nkucX`70RrrR4L-˩JPHPHUUB0 AVT ZIXLXLwwR$BԤ&uuu)CWYٓ.qx\.7b1ׯOXLooo6IՕ kmmmjjjАvmbeO! ІVikkK__@д~jj'kOOO;nmnnNmmmjkkS(R(Xc.ZM _>]]]H444>) roԨQIbrtuuey72zקa DOvj-~RGuKsssZ[[ՕX,yvXX`'m\-JiiiIGGG2nܸק~~3fLR__5k֤X,/￿NX`'l^]n]S*2y444z﷾>ʕ+֖r1c2Um}0«mmm)J2eJF[«3zL2%R)mmmYn]JҠ``qx-«~Z(X;::BBT6vvv#b1'ONccckjllɓS,ёN!VF,VArz{{Օ?> 鼺B?>===Joo&H ۩jTJOOOА []555OCCC3P*#+l0hoooR.í?H[.֖$26*R466f̘1]ހ1cƤ1b1X0X`?7|LTJ}}p6JtvvY; 'VF@ۛBTUH^UUUR(ۛnUF.6V,ՕŔJ.iTUU&FJ}}}jj\n0Y.S*R,ۛѣGj444c U(R(y$1b5ܥR)===I[[[, {r<`M\N]]݈Ԥ.MTJUU*#Ȼb'uvveحՕ?]V=m&+^Mrb皌/_.LhmmmݽIY!V+î=mmm]FŴT*iK٬/?l\(KIB #2`ݰklkU[ps kkkKggpY^\}r9-ݩaBޔJk ]YX6b1---]ưiiiIX2] ŸI!)r47CΨQR*Da/v^ݘ~߉uaU]W)Xb1]]]]ư]XO:h+dﻰf}:F^_XLwww .( 0?m*LS($BkM_idw4ITU 2r8]ˆ1Ҕ^f4{/fT.l:$I B i F.}S8r[fWH^HS}Hpî\. ʽ޻+K`ͅXǎ;b}wKuڵy«cǎlxUFW|긩SfԩW$W;lИ*ry 9 V"ĺ: 2R׺ꪫOO5;N櫓1w7h3<x`WA֪b*~kްf X+}k_??ܯYhQf͚N;mкnaW6Nڿ/WS׿'Is=ة溰W7H#mԩ<~zIyYn]N>L:u`yWWW~]{k.+ĺW낑F}ڗ+_J̝;7Iri cUF`d8ĺauWX7ZUUI]0Okmm-ܒɓ'{Mi瞫X}aðAm [n]n*{%Vy|I>x_~2{]b^eoV3p{g$3g|ޝY]aaXdGA7\ԮVK!M+k,ifiuK+~-fn+j憊(+02s~ pYs|sQ|$IvԩSKSΩTTT!XN:P(d̙=ztzt1IϦ6i׮]:uꔊ U:,T4iRf*Ma:iE:wRm܉7/yں.obZ[XX&75ԜFW4:ޢѱƷI bM?~|ӳgϕ{-M6y72{l ڵk?0oyxV2f̘+|1lI_XLXLեX,.uuu]~ڴi5kVBmۦcǎ sxP(ORLRu݊Ij??F?'M/visoSw|E4k\e rԩSdʔ)w^]jvJSNTTT!pxPHΝӢER۶mF5TW*V6x}MZ>ڹsEWWYAҥK'n[X}GYdc+Z<Ě!Z,niX٠?Nuuuof [΀R,߿e끦BmTXb/XW N{/| >|LuuuzL2acǎ}Wb`C8xZ^m<Nj?u+o) /~J;&/Eziٲjlĺ XXwy Vi~+#Fȑ#9v)4Gy aK5 XYo}k_KPȏ~^s椓NJMMM,rSTvy.؀5ť+뵳>;B!\r2{ib|K}+9Xt`ehݺu~߯*lh*]{r-X()VJJ`X()VJJ`*]ՕBE9O{7#G!|3+n̙1bD^||iݺu6t 0 ;_ JYTVVf.cPYesɃ>G}4 ,XcǎUW]3g&I3k֬5*Fʧ>uQkl=eѺuk֏nݺ%`ydiѢEڶmYfiӦOSf͚m6sL:uꔹsˈ#ccǎ}=kSUUU.au|';2?V[m{u]5kV6|viԩS#8"Ow}iPNEeefR#dXt1ڵˀ}/_Fz^|t%}irNeeevu$K/ԬX)U^_lF:P(I&%I~e۷odԩͺM o>.(iӦ%rv)I2cƌ6z(7Vʮ]vT'֍6(ڵ+w@Pӧ7z(7V ֭[]SUUnݺ dƌIT۶mϞ=CUWYYN:e;wn͛ ܥTVVu֩Je_7`6md5k2͛7qm=Dkʴk.ڵ+w)kDǎ3a„,s^-Z}ͶʭcǎIiӦ-sތ3,Z(m=+X׮]$/r:W_Mt֭YC @IkM)yg$;sr`޽{z$3gΜ%<#6mZڶm~5z(7V(#<2-[̄ ?)SNMfĈ>|xOUUUr*.obZ[XX&75ԜFW4:ޢѱƷI bM&V ;wn:tv5o&9㥗^_'Iڶmye) ?}𚣏>:B!n׿B3}ҦMt5sg̙uu]XQG޽{gذa.ӟ4?rw,2*7k_߿fϞ*|>Od6oOӹ袋2}UuС?=zm۶۷o.ڳX,nȖ[n6mڬК3f/~헞={*[lE<ό3-G͕W^u,+\'xbSO=3g=ܓ$9?̖[no}[{oP(s=C椓Nl]=:Æ ˻ロkǏϯ~n:j&>{cz̍7ޘ~:B!'Nc=p'xbj]`A; 80w_f̘˹Kn__N~r'歷Z5sOnwy1bDƏ$3fLx|_WEwZh.,ӦM[:EX|3x㍓,ȷ{Eڵk.<쳙9sfMYfe}_b&O{2dHs7g֬Y?=zd̘19C2{'~C9$?|zZw=#̄ rg7n\ΝiӦ9眓\dvm;.|A~߮Xrh"{l^n)Ws=ӧO\}oR]]$iٲezC=4W^ye9f;P(΄ /~ ,h/Y\=p'_υ^v-m۶MTWWC̓>m&Ǐϝw޹B{>o :4LEorw}=zt.|'ψ#O|"~{/wݴirg3lذzٳgd6JsW??XYg%I?XQ ѣ/u^e B;f9]wݕk&s4˾6y]2\x+O|_˲^a6Ìa&̨ʹu@kVHlܡEtim7n]6mm{,ku{gj[뮻69 H>}ܗ\rIZum%:5xC>}zK.˝[WWr)Kw'?iƍgy&{Ry9#W;wy+6Yw/~o0`*8XY'9'?N۞ޙ kj[Cse´ynr'_7-/;l-ܲ9 ƍIoͲ뗝v)b1rK;']tk;y|g>t1[mU QF-<#F)}C{s秦f}ќz۷oڷo~n>微B%Ggo4h2j.;[ q孷io.]vMǎWYmB!_}OI&e„ }Fk׮9sRYY[o5\r ;$Y_M6d5i„ I={W_M~r)䦛n?|͹ ҷo}Kg7O˖-3{{^'a`ekOY / ? Ӧe1mWs_#+|w󌼰OF^'|wzN9NoiY\_}!:/_~J~qﴆkڲ.^?7u$d~SOM$-[9眓/}KI?v[veh"I[oLuuuƌ_|q=O}{iժUn喆_;5\*O`]'`esʟ&eș˟VXjqp.mW-#y~>[N!lUޝ+SNխ ݹ2lUSw-\ceufh3d̜Iyušwqȿ oӦM:f;_۶m|`[Ѵɓ<ޣGпK{衇2y^M^zu9Ò$Y7nܸ/Gydիr^ʩ>$yWVz}?ӿ^z>t1Z{E ><555 sU;ӪUz a]ׄ߭ŝ}z3gΜ~^\b7ȰarfԨQ9餓r饗.w@)S;>([߉9Ns=nc#HӥK|s?㎙1cF.袥URX].ssKUt|\j}'bڹ]NQB IDATrr9`6c̤PXxB2jѝmV+bM7;~8Cw$_6|РAK 2=z$I^|ե[9s,2/'Y׿gy&.^}${챊U1c73k֬IYf5ykȨQVk*'pB~dȐ!mp IO?alU?U[[$%렼"*++f 6-[f-̖[n#8"]tQ~/αjk{$0arS?~MstM,d?)[^bNV  ?ϥUWW$Y`A a9sffϞy5բEn:i׮J7|XY [_Jy8Z(Z\ݺ{|㳝VUzm{%Gw!˯~FOb a]}9p6k,z '-\lxś{dG߿Y_+>.moda@riaz]-%'NK/4C ĉ}ԇV{g7Mn\veIv<ӻwκɪN/W6g._k6oVޜ}K[^SSiӦ5t/m{キȚTg۶m_~IkkkӢE%[0gԩY#fٙ={vLۧK.ҷ2ex`xqxXLu9zWz6{x}_3G>)5b.<5qiժU~3;vܬ}Ww^Cu[l$9CR,yk|Ν;'Izfή_c=rUW{weVG}rmYuS{]v%cƌɓO>$[3o޼zꩋt\iuI&%Izs$ݻwZ\uo_q套^JlT6l$ɓ+,u^}g7^MVV3f̘5^mJMMMƌX{ xm⇹` i]ڜs` >K*|Xs`ב65MpX;uꔃ:(I2tІˆښSEEE;$ /Y_vq$?sv!IO4%L81gyfΜ~e]&]vk%Gx ;w?o3]zO<Ĵj*7tSƏ|0ojE紺blFY`A^|Œ7{c[ne||92I>4O6-?_ג,|? ~cǎW\$7<$_ѣG79g?Y,Klرja2eUUU޽{blrb-ҽ{TU-y)S `egԄ bWSl~9V1lk5i +mv_W3_^UUUe-Ȃ   ȭޚiӦ5̛:ujy䑜[H-+SN/$կ~o}[K\.~„ y衇ݻwo'I+]tQN$3gNn֜|+]Oe'O>d)Sr饗檫Z=y4hPy$ImmmvaI.(;w^b]nݒ$=X۵kq7n\=O_bު~NP(DCrg/oCܹssu _B.[nXq}8裳[ /c=w}77o^^}\x9ꨣ`|;odaO>g?C9d=9va)9Sr5פ6Ž{e=Yge:Ι;wng :![ocC=}[V{l瞫U 7D{lұcǴlٲײet1mYw'6\q+e7r̼ 9ebFWG:Ww:ďDQGb[_}i߾RoM'|!\O_b:un:]vg _xя~VZ嗿ew]v%p@n+'pBY7x 4(uuu]W^СC/fvXZ;#ƍ^{nݺe7Nn!0*zn-oyCtP&Mo~9쳛\Wp=3gqF[7ߜveM[iuwy{,9ҭ[+۷'3gfM}c]KPoK.$ӻwn:mڴoK.$gΙg.a+_k>Klp 0`@ϟSO=5۷OnݲN;eԨQirwruweTVV;6l)SdСC:t-2rKvitMiժU{I{`Qߜ^zj;vL^V&OÈ˟VZ(0u|X2u[6 G݅?^`̜9s9s4k׮:thz꩜wyׯ_ut={w 7ܰگ9]py|%'3nܸ/IPXdM6m2dȐ\{9#ҫW|sUWRu+O=T:l65kV:uA'̰aÖcEϯޙ9sfzc=6wuW%Bz&lcfڴi s\P9昴knsWsZ]'xb;hٔUiʎ;7x#sNviL>=o}N><#Au{"?x^}|v![N3`|_K//'r'gϞ{־}<#o~+Zܹsӯ_g?ȑ#&,Q]Y{s=K/4[ڶm|O~<^{mN:r |o{3eʔUUUlRرc3wWڵk:w\ZW(gab&IG~t_<5~\|YK;VO_|,mߦ4GtJYrR ]]:u$gKX?驚f '|2/bzۯ4_j?S~a$̞={:t(S%K{(?VwwօŏuI. XbG;» o96$,}N{>C-w9$[o\rX̛7om۶-S%K{GIP6lS~P(;\'X[ꇵ+ess]J((ĺmV.l*m߮ޤ^-e֬Y$'xbYB_WIoB7|sZhЅv-[,S%K{VoBB-[fԩ[_zֱc.9s]wmb:*{ΰa]+ekBuaՏ.Z,~E[zS,fD|C>!C&kvyrL ]wݕnܥ@d뮻XӮ$ -X zk+Z7UWWgM7ͦn={fܹyrmCs疻̒=zt w}7^{mˁ`,^a&L_Ԋ6- 9`_Q6mZR_ «l0?&Y6vE.$Z>reW`Wda3uO<>87rN8!Ny睌ٻ*L41\ wQ?ͱl,Ye&L۔Mc6LΌZVJij.9⾠ ωd=|tq8}_9ut;vLO> І VmVÆ SDDZ OwO'/1_JV_Uj}YU׷r$Ða}:4,\Av*߻@#yf:tH_z)׷~EDDjIMMW_}4w"dE֭[^SqqhѢE]+WX X ]Bϭ~n^PFp3Ǻ?^QQQݻh"7Wve;$IgϞɓ'\ W! 8?*S2!bvoi>[2/ kXEio(@ ,=`i]`;K℆J*YiӦn`[$+rw Ud5!֖!^,ZZxëو{Yr5tPK9SNUƍ0abcc8M6MUmen6IҶmd}N%$$V~X?^k֬Un:I_1jZ#G4yd 0@AAAjѢnF͚5KU PTTUw\\ [nnvuIjڴbbbjǎj )3%\YiڃBwyGԬY3EGG+33S޽{5zh{/P+"q|tijb6( ^zs.YYYZl|}}+[Va]`Ӿ̙3?PYYYJIIQrrz.:VeYVmڴI$SNڴiŋkʔ)ܹsu9*))I'Oizw{Uŋ+..ΡuM RVVy۷Zc֦uSQQ~meffVbb>Co߾ҹ?=SjڴVZmV~gk;j֭֬[TO:~Ν;5kh V R+Yp\A4KO#G* a-yf?~a_nnyIҿoM4?""B?> m:qw$I-Z_W=s?ȨgϞ"kk?K>߮zP'O$͙3G>J^{&MTo[kŊַ~+I;v WO VWY\^Քr*MШ{77o$iiF={iZpþu)))Iqqq5jӱ+ 6ĉȑ#3m4+##C7oؓ&M/fkyyyڱcz!IҢEg7nԞ={ԱcG7,[L{dɒ:_4,,>ρtl!! hOKOWM)rCM5SRϵ7u|YgǏ׆ $I?ZjUݻW`$ٳFs׶m%$$\v~???VWJ7o:TnuV׭[;CCV{˹;Do/]v\;5!P̓<]B =O:ZKj' h޼yLErrNtӧ$i…!!!GhIґ#G*=.%%EԾ}:G:uT#IJJJvwO.Iz駵hѢjQ-ZЌ3tQ_^O=bbbtaM4I3gάyW" h߼( IO9n~v{0P@?j޽ +=vȑ ط6mRaaam*=AAcL%I;wmCU:ߵkW>^]w%4u=~UeX4p@ڳgf̘!Ize4zX][Z]e\ vߗݼ? 5LI?9' PO>$=Zk ڵK$tMѱc4{lΟ?_ᘵ_oooIRFFŹOzw3|۷O:tP^jT3Ǐ׾}$I=z(YWa2 CsՀt9RǎO]'M$IRnn}{U^_! ho0; bIhIх =< zEEE?$i̘1=K.*ZԩS%I+==]t-^XsOcֶebcc%IҥKӢE M>>̙3 .>< I={P _kĈO<֭[7kL_gvE&L$=C7ojΝl[K,Qv픚[oUYYY厫ZJ=??_o$k׮ 44X67uw Uf(Yն"ahtwuY˷;}ﯓz_{5p =ܣ&M_~Qftwj׮]>PXBaaaJHHИ1cTPPP;wyuYj׮wpG}Ч/А`Qj˥@gt Jvyh'?^xx8~o +lm̛7ORI(˫J 'IՂ 'hȑTAA 9s(>>^=zp￯_~Y:uO?G%jjΜ9/uw]vV޽Vv?\srrt1fz{W[nէ~Z~Z\s?L׺f͚iÆ ={`޽[EEE6l>S\qmVK,֬Y7ժߙYf׈#ԦMѣjݺ&O{gϞUƔdZ/7Q液Fl,Nu1Rm[J(tm dvvh!PS2͒7qXY$H**Y\(@KZP/8Sexxɰx~zyxxþ +VPN<\p5i-dff*55~O-[tK-0%%_L3%]W}ݯ춢}qd{پSѸEQ$Yn5WK SW^qw)\2SffT^^ö܏+A.Rs3 ˥ENOʟI:P}jus^О={]W<ժ@m:j8RSSjm Ջ+ܮwnŰ) "ʫ2d_ T6X,WU5==]{QVVmr*ۖ䒕X333TG ”ձ˨PI 2$"bax4<(a}s\-ݮtСr$&&?Ԓ%K] uj*""T?~\*(( Ǐ[yU"""X}(OwqDSM.C2LVa*Sat* dӗUn~{70̥U~!Mo}q@ų>E>V=5K/qw(aV:'\V [_p0}Ԯ]>-CSJJ222@iF_"## I:yNjCW^Qrr+=zTԿ >)33SСC]暼4uT޽[[nUrrժU+n$h:~秖-[jذa s h|V*''GWQQQ!ooo) @Vk3+ K.pw9*YՔ̒XKXdd!VS6R(ifmIҲNhpkzEhHlUњ=Z-EkwK+kzrx7Chtx!C޳iJMMUjjvޭqƩW^547oi2 C:uN:%H_^+WTaa ÐRRR;vh5jT%K(>>^P)--Mܹ"##eZn\9sKOi&-[L/^opx+]Vi*00P:qℎ?;v衇rLII믿TI%-//Oh}:<==gٳJHHKz \Y[s]~^Րiwb-hiH*LCkw%kzL V~jbUh%A܋s uE8G)!U.I!Q*ZA<<<<+A-V`mݺzΝ;뮓$)==]+WΝ;矫Cu۵j*YV5Jݻwc-_F޽[K.jոqԭ[7YV;wNk׮U||믿ұ߯x{Utt}_AA%_}M,I޽CxU*yڶm[޽.yxxۗ˗C&LpXeOwuN}Z7oVtt&N'$$D/+##CjٲeW?pQfzyt2Fɍ-`jX쫢!hGx}[6Mܭi*...w[v[L0jjjoۺ~[999رu릖-[_Z|:ORʠu)00P^qْf͚]v̠ |/Gj޽[.\L|͵/މIRǎ5iҤ*s `j0 Y.(jXmmZEcWԜZ:j_mۦWwqznuy{r%IǎSqq,K͋/%""B"yxx;4M%%%I7o^ u]뮻NzVZUViƍ/Y/ÇUXX(OϪP70*VvҫښG)OOOyyyٿwY߲;?~\RRIն/::Zw}/VI奌 WݹsRSSլY3jժsWv[h… 5뮓 |* u+PGHYˆWޖnΎq^-j}i ~$?^k֬і-[*۩S'IҪU`ߞիWk֭4iD $}믕+I*((ݻڏ#((HCj*{@7o… %IկZvZ%'';l/,,%I\sV}-4|ԄF%Iڸq 9C9l UϚP%ia۝^nWm۶യ觟~ɓ'UXXhC{[oj=7N]tѶmt)eggkUddn&ViQFm۶JHHPZZ$IM6U۶muM7iӦ~ uiU15tPu]ׯWrrRRR`Sqqqr]ˍaQ6K%lsv}R=J+l%i~1.V\(ՕUp50dJʖT|2͔Ttֶ_vۊƑeVtLE:sUQc;V`\S+V ZX.Pw@qqq2 C˗/ww) B(M\>KAVz:wo(88Xرc_'q^\pA#F?M0A~Ο?\ZlywswU}Znnn6m߾]׊+,+--M~|IM:աo}\+WT}WJKKsw)hd"""4e[nя?5k[n؜/oW_)**J} KZRVt뭷J>\mΜ9ڱcbcczj9 M7ݤn\>_`VTչsgIҏ?jXB׿/\xpؼy$n+^GUҡCIҙ3g\ P^xA㏫K.nNIII 7W! *%$$V~X?^k֬qz|\\U\\ݻwkԨQ UXXOp\Νe>31BQQQ 5{lgΜѴi_BM4QttƎ}UXCjРAjݺԩS';Vv*w|~~ m&Iڶm ðO!BHttvW6lнޫX_~z駕]ǏURR}Sɘijʕ1bڴic?^y;׃M\\=ptR5JїlZnnvuIjڴbbbjǎ5 GC}߯pMݻw7%`?^9k֬ruѾy榧o~'fXX)/6ruY4 ~coX̏?ءO~~ٯ_?}$ׯmڴ1%!!!~~爈jǼxOMu֭զ_M+|˖-s8&OlYff.]VZ._/QM~j5L4?c300ҿ߿9_op/e^E]εkQ*_^*wz)grzܞ-}_ `l`ܠU2|ruD#Jl ???e˖-ZȔdsεKJJr̞=a>[ B9`sfRRyQ333qlfeei/^4y_4K2Geڵ,,,4M49b4ȔdFEEyyy5sh"̙32ǍgJ2rג%KLIf^jJTY\rmJ2q8/?#Skn߾ݾ=--;v)߿9>/)ɼj=<88|wt4KO>3%/Om??6jz]U`ꫯu95׬Yc^pWkC~߯vZov~h?tPS?iMIJ#\g…CtԨQG}dow*kCV V`g \T䘦i999fVLI_|t{Δd6m<{}-1n83??ºl-]zȔd4d{b۶mU}:̂C$>++*c͎;[ttêuuq^fff͚53Vڲ9\}x S9zZe{?_xlU]Q|5W몲iLI{͊θ}&CAAkJ2ϟǔdo߾ܾ\300g0$%%oͦM:9fs߾}gw_؉U`jcҤI2M/IڰaN889xӦMSxx222yrYel`Ȑ!3g8XIҞ={.;/Iڻwoeeei߾}v]xQxbR?Nrݺu:s;#FH~́+>==Ƭ=СUCE??.7_uu&IZl8P~r4\7nԞ={ԱcG7=ZM4сsN}˖-Svv4-Zлᆱd-]TBBBTPPEsΚ?~P2Ow$$$HzY1~~~۷.] >Nk$_ .T:ֱct>}ZϟÇ%Iϟjq4i>C|kN'Nڵk5zˎQMOOɓ}vIk4Ji \tޫz|UW_՝wީzKQ5|pz֭[Fј+zhzw`uݾ?$iĉժ cZ5b1B[SNUVV&NnݺSN51]4XWJ9 ZmJN>]5T"XUIII/ (%%.K֌3ף>vڕ;>DI%["u:7~IΞ= 6hРA6WEu=TGUu-[>ܹsxM>]zgTAjή}I7o^q~??K*Y|ʕjժ}}4l4iz)//O+Vv^4 mխ#GTz/۷o_5UGbbu릿ٳ̙]vԩS~;w+Є ԱcGg-6mHnYi{k5=zk$M2E.OuբE ͘1CGSO)&&F֤I4sxHp+}GT>={T׮]u1mٲExbk„ 3^LL<رZ}WOQW jJ6mRAAcLӴ gΝ]V[U_RJJ|A-_\'NT׮]u5( ꅇ^z%Ig}M692&&F*//VcgX4eI%{t>bhzWg͘1Co4zqwAk׮j$in Kx{{K90ZUW5?1(???%&&wuzo>uAzrq$INW|FFF+ޯ~+[O:oTXXrss3Tn\~߫{{L3gTaaKJuq]U94iYͭќh}0 }.Is3<Ν;WڵS7|S~~~裏\8Q5+l}{u}/sdLHB. @ .rPPjbU#J]֮9]VvZ[QU kP. $ %sٳәd&3kͳ|y;$|}gٟNOOO>#ozӛjժ,Y${Cooioo{)Q*u֬]6 . +WLkkkZZZrG^x!x;o~3jICJsss~.p g.,=P>ջ qя~4'pBp¼ͽޛ}{) W9,7o6ffva]n]կ&>??qٸqcx455CPyágŹkswwsꩧfɒ%7M?o1W_}^?'>|Ϧk44W__ɱ^z)O=hH駟^SeJRz{{'} l_dIV^/_,X ?322 /0oUVxG8$_)ؘ+ׯ]zW^ק=93~0wqG~ecO?zZI7;[[d8DcS8faGul^BRks'~8zk;zFP8+I%IO;=*IF^V3fnm''v}&;DȌ`+>{5yM=z0죫*I|+>˷$%\Rjf&V}p5פ'|.`F`W]uUWDc Iz0 @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M >ذaC.|_p+_{ƕX`*GνwŊg>$ʃ><[n͖-[Ԕ%KϹ瞛]Q*rwG͛ߟ fҥy[ߚ+W3<3_|A99s+c3}{ߞe˖/?+J֬Yn!۷o41~s=ٴiSsaOy73kw߽#LsB-T~TT*׿>뿞N:%!EYias&I?3?cǎѹ7O=T\z9Gy'ٲeXX̖-[e˖(a6jm_W|3yG$+Ԙ?`V:bXܹss9䤓Nŋܜlذ!7pC6nܘg>󙴷RꫯN=ܼԔ_|1?v}YreN9唺3[___oX,\.|7nܘ+b17!B!IrovZZZu֬^zl!ھ|/g+ Q7Ի8p+wǭϏr)P(Kl޼9Jejr]wG[/A[樣ʥ^OYjhhw^jU^2G䬳J}ݻ\f{<# {a`` Iֶk,Y$Akeҥy׻uPןtIOW*Yxq^裏{,]4+W\)yX`YfM~/\p>}$ɲeVR]w]6mڔ__ޯ́]]]I^Jظ?bȶm9ek娣4iӦ g5 {`o޼9^z)I2o޼ dݺuYn]6nܘ+W~ؘl۶-۶mˣ>K/4'p.w;#I2w,Z(ٺuk^z饼`=T*tM馛RTR(2wlڴ)6mJx`79T*r-Rd޼yioos=g}6k֬G?```VOkv~inn7vw'?I388PŇ?|{R){oOlo#p Od9c򶷽mt|o;U &͛7oΟ?ܚX7:I;vL:O~r'x"|ܧf^`}Z[[322{'ws{I' /0K.MX̶mr5dÆ w~֭wܑs77rѹ<39cNfܜ.(rJZZZӓ5k;w}Ks桇5\O~) SqJ00+ {رc_]]]vi{uo99sꩧs{77222ߟo}[iii}+}QkmmM{ۛ:J%kKN{LRwYj놆}yr=dʕ[sa`>ϧ3/6lHr)«IԔ?~jdf_$KrI'͛7/sNsWruץ!uYmkk}}}9cDžWjժ~ٴi++L!-ʢErI'G?Qnx9S& ql߾=7R.󶷽M.wߝGy$'tR8]t]:::$==={ܷOuTիWgڵYp90J=?]w׍SN9%WNggg,sL^O̊+>^z)Iƅ͛u??&gƍI^V~~)<@mۖu嬳e\uUپ}{^ /CD[l_җvgǎI_~y#~޼y\s5d488;vdΜ9[D]_?|\r%`&;yMɺ.X ԧr={SO=z*?hѢ׬Nc֭I+<:;;dY'rPj@QGm۶e۶m̕J|_ϦM||C}N8 IDATJXCDׯW5<3KihhHy䑼op`0Z̿fdd$^xa9昺pMLky;ޑyꩧcG͛|']]]y;Q29ڒdO;,I׽.[uPfVKNIK.7>22Y~}-Z~immGPo~7y<We˖/1'pB֮]x``Қ5kRTdɒq΁֭[rʜu{e}OP(qw]s7oI2~I~:ryaZg}Æ )Jiluӳ}֯_{.IrG__v,\0v0}I^ 1=wvvfISVx<ikk%\"f:3$jV\tvv;p:V\eܹs3<<뮻jLC׿| _ 7ܐz*))JٲeKn?Sr~q#HoNGGG.ہ¡O̪U$ַr4^||_sGMozӔ[kM}RL4>wnݺr-yǍJvmI˗Q#9$(I?Ϸ=ISO27gΜ\tEIo=2000n_@O5$VTR(/o7ߜ[V* B<̼wGy$+/O>~x>2~}e͚5[ti>O2ӟ4k׮~vK.$_WOv477/Ilٲ|#ֻ` )zkn rW0Mw}ysק1inn/455}oˤ?lٲ%=PntM?~z{{S.s1駟t'إkXs̙p\.ݞvxx8ݻ;)Ny饗2<<#8"zj򖷤q?:ۦMrMA`9.(|}lݺu[ .s=7 .sBSSS>eժU~>R)+Wi38#W ן}پ}{xtvvfx .)n-/b6oޜ,X ~zN=Z.L'SQ랎QiIƪN46>1ϋc̍}T%)T*&8'V YI*Iz_}^QI2:1scW_n;\8`|絓3q'18=y8dPSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5% @M PSԔ+5XPUTjBp+`9֝ 2 A66:y\NRIRI\ V*  5BaTpLZnR*R*2888_\NjPHsssؘT* ¬$0vV* T*eǎ)JN_ӑ455%IАB0pmjjJccc̙}vmbe`)4j5:<<M[[[GVèΫNP3<<<n7o^ԔBB ʌ! SZM^ ر#K̙3'ikkKPHcc|---IRJ dǎy3wܴfΜ9$BL{0꣧' Ο?[꾨]ϟyeHoooR*2o޼qbe:`46Z.ݝKkkkZ[[}׎ 5۶mKTH,X+3+ë]]]M\ҥK3gΜ444L)ټyszzzRT!ʴW.D& \.gٲe;wA V544dܹYlYrzzzՕr<6nX`?^I__߸j- q!־+ӕ+죝ëKTҥKVڲtҔJ_iK hRp244EeΜ95鼺B9sdѢE@wVGΫr9CCC͜9sښƺؘ̙3'SxDQ5 :<yat̄655X,fppp.Bԓ+uۛzQ3)ioow)Zto>nUDRN*4NjJulsUX8Rժ׻I]ZxFڹjJ%}i(N0hPph5hulWV%VT*eMwwwJR˘ջF1ϤTY~؜Lߛ744%rޥ8͡yug~ `z 0˪LET@˨iمw0L| vo`eJRS(taeZ`.Wtsv=CDaB!)2)#Ѵ1IR, 2}i.]´1-N==% rk&^I֔+֖Ym]]]y'R,3w̛7ojMvT*.˖-[] 0 ܅!&!֮<)7o^:::аK¬PzJ%bŊZe˖W5\~]#L'G>\0}aq]zӇ#쿱ajul!֭KggA3֭[ 2 2U*aiֽ?an֩, B . >%ٙ|4pIëBL7j'}k{oŊYbE$W\;n>STJQ N^Euwu`be`e?ۧ5O[[[j#` TX%sVf+V^w&I~W~e_Moʊ+Fr]wMI3]NVu;VFC>l߾=W\qEGKRV^$9sƭ{kZ#0bd뾆W.ut#!mkt\tEn$X{챚 câc{b]]]«Jn$\0n|I>z3Κ5krWʬ6~R=vwk U'hl}c^W7KRT*wMpNu /LqVXOoڴiusɆ ߟ?~t=?xsG777駟>w|)=PJ%J%IR.STR.S.3222nՕ BΝl T$)ӣdmu>c>vq2k'gNdO{c*q5ֻ &In:nyu玫) ѪJbr<8;_(raa44w,X`4:6:ë:X9tIIzh$ٸq{sa:W(F.\0 I N|1``w'I~^$yƍwq) ƆX!jp:_ vaUc«-Z=ټys[oqՎ{kk@jR}f9X9ɟIO:CCC---9STv uY.& V;6Z,w9Th6me//rWӺ^=I[[[nlݺut#vT Oձ;>5t:_~y B/rW;&__{׻ޕ8tMԉuƄW-{f>ZGG9#zw}~7s* V;N:2k}HPO}S?-9䓧L66ZT&FYw~wR(rWvM6{ygG_ |=(5$Z..,}Z|g9ӧ,8dͤTԺcvnmacMOq1scձyI J Ωn^xz[+V}~Go-_`&) g%$IR~yyG%ȫ|̍}^}dsdNdǝȞTӁv%pPëpiw0mڴ%+5% @M PSԔ+5% @M PSTc T,S.]ƴP,ʑlݝGw3Wz{{z}kM/k׮ڵk󖷼%kvCHQ---jiiw ~(J;8ihhܹs׷W뻺///… 300o1WwܑwySɽ˩z0mgb?N9-38'1FQ2lE]ݮ\,f..,..5l&T濩 ("8 p~>9Sw>m:$1p/_5k|걶ݻ7&LHccӧOCαvgΜ̙3'\sMر6B'Oέޚv޶<裩T*Ydɠ8>uWҒ+Ypᐜg 0,\p ^?>J%mݖj̟??k;0 !9o]|c͛k= ښ/?pG窫#'H{{{G~WbD(jŊCryT}̟?׻;"9ۇjgVN/5kdҤI[o[[[z뭴#GNSSS̙?V;ظqc}ر#===?~|ZZZr{<^|Ŭ]6\pA͛weݺuǼhÆ yW{,Yuϟ^:ןx?/yiӦtttd޽7n\&Lٳggy|uؘ &K_Rf̘Q9省=!W\E%3sJ۱cG/_z,X ~E?<񆆆L2%͹KrצwΝwޙ 69/3sZ,+'d˖-Yf1o_Omƌ]ve׮]immիs 7wdחg}6~dԨQT*iooO{{{kMSS}p ͛7W_͎;nG2T6'yٲeKV\={ '*TY{.{ɥ^GC_K??yꩧyfؾ}{֮]J ~>|ΓO>ά^:^z | y$SNe]ɓ'S։^9ןD?/Yre/9]v٧744dڴi6mڐ>Ə}kիqF+^xa(v[+?$[oS餾>/XuYtiz{{k< ŋo~˗'Iz{{jժ6`7o^^|żiii7|ܼys^{$_<,Y JqYvm碋.d۶mKL>>qٳgOvܙS>|̙2eJΝz+֭ شiӲu\ve1cF+,P]gϟN w'bϞ=6m!fYzuۗ]veܸq X|y暴ZfѢEYh!}Xŋs- ܿ[ߟ￿SؘyW1tƍ5vc x <@~OYjU&M/9vGGa'>ٴiS=Tk׮ژ5kVnƁHX u)Dgpw'I.kX=zao'sO>>=cIN;V^=… k0 :j>0|> V`ks5dԨQ?qӧOφ ksICCç[.9s9Nڽ{rڇ[=ɓ'gJgg1y^}ռill 70d+=!󇋡Cyח[n%7n֖y晙9sfΝ$ٳgOV^>(۷oѣ3u|+_ĉ?hmm;3|ǩرc3mڴ̝;7SL9#͉Օj3gz$֭[{e۶mJSSS9眜uY'}$-9{wU}=(@AEK[+ZGkCkj_Z{ֶ*HP(lHLf~&'̜2x1|=ߙ93 ׯ.\sѣڰa֬Yc^ׯ_j\.L}WG4_EE^}U>|X."=Z%%%ZdIЌPEEƻ\.D-e/ӟ{コ[/~iӦuxuVZJǎSUU\.UXXɓ'kɒ%Z~~_uG@7;;[V PYUmTbE"! [6mڤ]uU!䮺*?~\9shĈx<ڽ{6nܨ>}hƌlllY/###`߼<544Ƅ룏>RyyrssuM7c "mzV.+-~(9ϙ3gK/N6?~\ǏWUU7U9ŋv)IQ߾}u9 IDAT׫NGdO*Vݻ:::t!=zTMMMݻb|=[lѶm|\ԨF#O:29s$ٳg_rTZZҐ٠Ai8a;rGչs$I\sM?cx^Z>JJJL/}jjjұcǔ4uVoѢE«vng?ӆ Tee>;#* UJXhƏGRdr m߾]C_>}賟֬Y3ghժU*((Pkkt饗jƌի9aB;c}" ٳGeee袋tM7drA?~<d}5m?q^ueff~TZO{{ϟѣG+;;[n[w{ァ}i߾}5jMpAk׮ɓ'~z}_=~vܩ-\K~˥O>DC i T"ڬo K{>|X;v}baںu2335sL]zRKK<2[r?nx<$]yu?C=\ +]z꥜vkԩ'?xu}VX%zkjmmթSti]uUr84hj9rD}jO" ^'b5HϏNXPkkyeeei]*kڴiZvUSS#ILiM͒dk\nn@<+33S/Zr~|_ZZZoKfΜ#ygΜ9]>tDڳg EuӧO]wuv(K.KxUf!1D'xB-33SVRNN-Z!CpZeee?O~!].K7o$]{5jXnn&N\[A:w\|j]{A&*;;[w}x/ӧOS`5ۭ>9} 7O<{ηUWiٲe0`?A/$^O?WVVvZRR趶6ر4֦:{?l}衇e~S^^^xv9ѡvIҔ)S4e=Zb$izG/U!VVn:577k۷o[ZZoO>URR\ڵKG￯ݻwkQ^akkkоްW8GwޑĂ7n͛߆ {nkywҢ1cƨd'o={h*??_UUU:sLׄ='*"}IEo?#FhѢE]BEEE?o:s挶l٢sF}'OTSS W}ݘovttNvҞ={kZ`AK6r.moou _ۊ+4l0}=o+^ԯ_??޸W^{u mڴIwo}?%+: g?z8|JKK5m4_###Nj3?8BHXai:rFO}S!x<*--UUU5g_HڰaN>ZdP^^^ 4񎱫Bv_Guq ǦX==qXVtXK/Վ;ب^zIC ȑ#5rHDe}RhҤI=ztG/~\z-y~t:5m4YF|I NlA222TPPs*77W۶muWExbeΜ9nׯ#<"-IRþS=Zh/Р_?2eJȅh͚5e˖K/ i;ϟTWWSj…UVVR7oV߾}5e7֦J|x"]333}aV3oxBX;%]\W\۷r+ܹsu 7hʕ: 8j=zԷm5~mmGSk߾}]:O7oZZZsϩ^UUիWkZpEwFW"ɓ'} ttt]%B\3335a>}v<9Nn9rD]vi&?>O_~*//WYY1cƄ4GSn[W^yڣ珷X==qJ޽5m4M:U:z;3ghݺujjj Z.?Z1;?E`mmmՙ3g,?o/"Ik߿mUN`:'l7 I9sƷt:5b߾qp>m{O<K5mڴ ӟzٳG}vڥ۷EfM4V!pE+|r9}+_ڜXaj?~|>Zr/|qoIq?@*fddHǎ-> yrUWAo< <8yµa={VÆ Ӕ)Sz켉"VsO]?p8TXXB]}ںul٢;vX5rssUPP8p@W]ui?7U'|"-xy<IRczHg555mөA;zhܹSuVuƍ}Æ SNNoԨQڻw$? ԙ?~~rx4\++zV̐!Cg߯袋.5\*9OO7nl٢sr)3TV\\w}W۷oU6%_EvCCve:VэTcc/;p zW|ӦMS^|YYY]WTTطW^$577'?|A >\z׵j*_n|W\qV^TaaϩS4h \ĉ/Y/O}_׾MUQQ)S>T,H(;dÇC-]TK. {9egg=g0ڰa$iݻwΕ"y'NJFR-(( {njŊ3gFL544L'OT~~&M5iڶm6nܨsΩD999r\:~֭[9n***TVV&ۭ'@*{뭷g߾RMM***|mzׯ飆ISO=?P .ɓ5}t͛7ݻwkҥ0`曫Xzk\sN-]TEEE߿t)=c+-Wm۶MwY ]we~zjKȑ#}ڽ{tKJJ|ͺ;tWE?p+%x/.Nmwu 7hժUצMi&_[/33S3gV)̙3N>-ӥu]UVR֯_,JtuNN/^+V7pC>2ޒRFF>C_%E+RÆ Is\?Ѳw^:tH7oVFFz,={VԼyLөŋkʕך5k$uX{{w…1~L:>|X[n֭[իW/hС :GH}EI3fH7{kٲey-h: y+zw۵qFߘ.sL>]<{ӣ>;vH,|t1;vgÆ {G͒^xA&M_n~RVV&ڇҡC[4c ~qq/Ci&I֭[{VIM6X×ҞԷo_}_ԁt!={V ѠA4dM4I4HcǎUEE.npeee3vޭN.K;vJJJѯ_?-ZH+WTEE֯_Gen#_cttt?ܕ}Yfi:rΞ=&O>6l&O_䤑<-YD;vfffjȐ!>|&Muff.\{VGG cS^~.Egr+77WVURRA@Saa 5g͟?4\*Iwyrrrzj>}ZEEEׯx߾}wڵku:uJÆ Ә1c4s̀aA'К5k{:uꫯ_> :Tw{1IAG}T<~CiƍںuN>Zutth5j>ϙ~Zw_ױcǔ#Gy)7xŶXc:8ah7 v{>_[1/o[IR2@(jjj a{ @*((`h$m#dq蘱=j3 4>P%M61>i+zV F}YzW 'u]/| =z޵kK_y=/s^,|M=]ڲUXX1c[oUaaaVʕ+K[vv.L_5|8+VJk׮ҥK5bĈx/ HkT`"֦Gw}ݧ7{I@ܵ?o[֭4o#=]xMԫW/I.>I:t> aAm=:s744f`={?y?YgϞIӟ 4tPnYFRGu]өSTSS}Cjoo__>}h„ Q= /'OpK_fϞ =ӪyVp ;wZZZSOZzO>rz%I ,=ܣ}ĉV~z6OD[OL[5<HQ79Nw}ӧOg?dyzGrt ]r%+yfm۶W>$kuIϟK.D4qDM:UeeeڿeffꗿkkooY5O>Q߾}5j(5棂tw]wuks:7p=k,}ݒ.LG>htZQQg}Vn[Ǐ{TWWԩS߿.k)%Ҵ kd@YYYHeee:pΞ=z߱IҼyyfUTT,X@k֬ݻ֕W^oYcǎh4uT}_z^gϞ$_ub/s?޷,>]Zjvءx@ٚ1cn՗rF F-[_~4h?zb edd+Ԥ^{KSwjjjҶm4n8UUU)33S3gΔ$egg_ve*..v#FZ7 ͚5Koo߮F{zl2͘1}DzO~A)??_C uvioom{+F[FFi< hʕڶmn:[N?O4wܘ!`ѣU1I?$u~M7$I:p@kVVfΜ5k֨WI/W^^$)//O:s挜NGbĉ8q<߯G}TZv-Vu饗jذaa袋$IXI@999jmmՖ-[tmupM2ESLў={H Zf V|"Tg ={Vmo?PjllԻk:7 c]ڼ:I޽{ϪQRgr[-%iժU*//W}}<233}c{e~x׫ԤzJ;wԊ+T^^mBuV<͛7_WX͛7 @r#gT`M}Ir<=.$utt{յ^}k9r;r}k_s:¦4htQhڴi],YD;v޽{UZZR[@IDATxg} O'.@/$u }IR^^ l"I***" nvO=~zוU옝mˬ-/_.IUVdQ[H\---*++$M>]q^8/_u֩R'N{}o9Ϋ@(ٶY7_aJRlrwv+o)Lj ^@Hrlh.|ܒ2t)o{wxz/@|lܸQ3gy5@pnǦN|3qX :oۻ}SPoY`N8.P*,vžW}c_8.I٭.6;H4q8H.K~}]UTT(##C_|tM|@jmmt~l" 44IxHu?t;,:mwǝ>[b;v^˖-%:555^  9{싿IjVg#C-=v]݆}mm9O(\# `! `5BV\I9qGO] q8r8x<{x:-P5ë 1jզǍRk*X t'*ٝ#P?%/>.]x96_K '~/)$k14X}kجYuUcEioVոKRƩSΞ.InYc X+>32ֶ;:$5˼ڪپոoUem7QPY.P}JlV` &xÙ68o$y p8͒ qh.,,|@~]bߎh9>%%k5@y`e]<%5,GmR1gq>c,)CXQK%í^nCs:n5/KX=?V[[7޸FR:mR̛7"X5^82,9EWǬ$yƎ!V@lZZZ֎;7˴BxU2c29f&ڕX56s5v.pzB9_IW#i^@vVcہ<&m[s &R盉4s5U0ӛ/Pg`]*v TAժqUU/;ScUUU;D*iђD?@,ٿwNڽ^nw~Tz:\ Y5P'UyUN TML2Jq>`c,j1;s.W5 z:յroC]êV6h*j. ^I[@ z݇`cOf.DX; F{PmfTcp߿ yYe*fnRVs7;XUXiUDA*T` Bj4iXTa vXqտ8xicv܌AMcSi_Y 5Pj}V\X{kg3⽀(Jk~BlgU9լkqq@r2˃QPLڬ¬Wv FR}M^@0<3ICݖ1Uטd7R~PYN̬:1(:qcv?S" \jvζ1tj f㭘3X 9C@է}VX &{Քj2ub`u5 XX43ku`k1$.aL;ZVa` `aZ#겁 fX(R&JX Z Tոok*:dFaX 9{YU8 *56 ?vëIV;}bZ՜fAV]`j˘!69m 3 ^ VA5\[ThD*IN}X5Jժ-T VmVVe^5+КJxXS*jXĪjfVjlVbj5E0*VhBGCj6f Ք!xX4jT5sq- G@2P`4P[UpBvfڂ; æj0JF_0j4CV}vPzd.5 ת9jJW%)# d8iլ-7 qVHvn~WvoG^5rxKaW,J?PROT/MjU_|qXī<Uy emw@z0 Zj7L^ 5xhX3_4B;Ǣ_4BNhPCfc%`m`p^*XjuvVVahW +ò^UJk8VbrǢ|<[gtc 6.0jët &k{,qVo5lݹ#.(D[vXl#ZU*QX؄ {2@X+Xx5RY2P5Xt t J=_ժOPz,C9_6HŸVAp]O!-Xc?gT]'c"6t taPCI ҍ* j«#mVUO@}~ k( g^@ %TJ2ZHMi^3`*b54jgѪlL8}A5 sժOT}Lx 70nP!5<k>YE >?$x C ]o3RFGoSHZ)i(BZBKV)uC"Ծ bXÝ#Qp*F#x(մ<(!Vј<<m@XlG2O(C=Yh-i^zqjµ!Js2yk@-j5&u: CYP+lh\8s^Jks}ǵ # 94 6jˈLO"YA5ּIVZżK{9j56Zkj,*Y?T`5SD rN<۱?P)U֒!j6'+r@zn{\V+WM@ ,YBfs9=ˣdƢ+8ˈ\O2cuDlXUwMJ3QDYS:cZ՜tBОTϝ,{U(=Z &s:{{^khR5j< <۞5N:#TȥB3CR!?ا}\ATO as.]:~&$BN< `9 &’\M@$#G&+#E&'7. dB&7?@:#@K@: =&W@*!b:>c@2"7s@""F3kVEqMb*|+@(" 'BC$7B H$\[R mG=8 u?B|>IENDB`easyeffects-7.1.7/images/easyeffects-light-screenshot-2.png000066400000000000000000004347751463533416400237570ustar00rootroot00000000000000PNG  IHDR sBIT|dtEXtSoftwaregnome-screenshot> IDATxy\e/_U: aAYH. $ 38l0* xEёg e؍@XH 1 tGSEu֮ꮪyꩳ=>'Ч;DMu[f"G3q>/AZ ^904 g‡Ty@5[)I0| P+YŠ8h!Lxq3 !Œ1Hun\LYA@uzlm~~ e¬-J5{Y[ dY[Pd3 61gdmBBOK6?>!o q*ٔ g}|@o|v<-A1 (/?9Zj;[M$VJhPej8?Ft4PW3~wht{3i1 B>WUZAYm<-O3M0x D3]deB[04:9СVs{e%AE~Yի:'G/*@!:`֫_@kW@Pamgp}9z6l k @v\DitZEB} t7Gp}ι04 l5]2X*Z%5*Z~}m3R(ٗ`gazUe!X\5Ik 6"*Z!ʵRxyOZS=B} 6) 4zV}5"4Y>fm kBx@UvmT!Zdbm"ƒ dx?}G_*֫?^% V[ k ߟOWZʬ+%?YKj;PMLX4,??Dj-զ}ݿs`h5ZMLכk‡5cxZ­Ŷu. WRMB "t6j_í\ aJjBDV #ZJ% Ŗ%>bBїj#}ZmFid4{ȱU\m kXg;`3«լWh??3!́ ['b{PI}jh*Q5jujՐ ꡍ +P-ͫaj¬YCUh^wpjS*YKezYX[P6{x5QR+ 5ZM5WRab*]WトX]Bu6Cq 6*ڗjC\* .Zt b`ؓuC«Q䘆0TLU}5Tb-uL!֡:㮦j«T]&Z.P=efgAjgV3Ac㸛%_rVMz0@B*W1*:1WwxTJVˍu(PkXPXՄY+ {C}5BC14\MbZ«U+ $[8Ʃ$Dٗhh%AJ#ZM?BXog5ZlJ)\ kuT`j@+FͼW._gjZI\B{_ P 6j«BWf-ba6`ełY B/L*5JAá^oJPVmд\5rXX:Vڬ$ZMRrV nKTJ*0FUd$`)dk!BaZ "T}jfY=«łUZTuRJCVc-bj!VUX`jAbfdJ.UXrZ\r*Zi4TP]PBY«T_kxł+v V z/Uy\شT5ZBQUJ}믒>+?_MxB}/5C*  Vb-hk{YVF-Wä}Ys>K "-,ZM彗 7 Sl֕ Z !*V_WU.-W%~+ \MiWh]}4f@!\,__e5?Ԛd-V5OWb-T5_-!V*5z-dRm^ͼW۶ayv C]#wS{ g"gyn,7(2wt"]"&k[jJԺ1^}\JKW +Uu5?Țny۾?>ojUAU[Y3BUSyӹKzjUa'9$Xc˯JZmrW 淯6Z*iWs=h̙=zAdrD"1:J 0%ɮt:.J-_n{36z#bC濪 Wk :X+\}Z(Zj:}2Mj2o:w]"""bxoqC[[۴LǙ*dBa֮_ov{X;#+ U Y3"6P  F`@~QW k%#yϼ#btD ?zj:T*tZx2yL,"mիB'e+w+֕–yAcP4.ZįWq/˟οxʫW^ye֘1cNThZ%^X׮]{n(w꫅t(3]iBQ 4e]i\صX85Pb<(^mX|DPA֍7޷;\=CvìniQ8ؚ?]]rARAKoRȭjm &_69? *"7~˯LɴU}˝/$WiQZmP-lzj_JJdJ[DDW^% @+"'3o Mg׫Uڕ W.M WGDİccƌ99BxW3fwǢ(}+*PҧW J`y,$ VRUP)B9.)\z#tz*-Hd^ǏX]N""+w:>r9eOڶ\bJ" Vھ& GD7N:« Lv-Nz79}(K歫wFm@je8IUnͯZ\r[D͝;mmm"WZMwwwlܸ16mݑJo$LưabÆ kt:D"ڦ͝;gyɺmzInN.UQBșmeWo_hr}V!e$zuՆOK)U)TDuªɼdȈh_rľtZEtwwcÆ  y#F#G I"D"tmS1"GOX5{f:7?y"gYhyPuQMr}UPB-Z Z,:,"_|Ż&}#T_h6l5kBpMW&˖H$wѓy+TB#sՒѫ`)"kDj/Ua5w}ub 1?ldD/_[Ǩ ֯_PĨQbȑ@Taݸq};?{UXs+vG*UXZmY_M!@XSMx6|DB""1bĈ&aUhr*ѻlqٺ| ,~kcZ]trș 9yM7NGEM;֮]aXvmtwwo@QL[:uM7=k\.4Wv`mĉS>Rwxt+;c«`P,@2ٶwn[WF T9f16`mNR+-C\]2o;v%@Hrh16lPNrn *FkSl}J{ ==jITW.3*wAK$J&qF.@}u+Vu5Pͺ*jr|QU6X'NIbdD$,М6m!}M&n-e"J[ 4BUjkj?.w,JZg 0$x 9&.(T*6m]]]T*RTn 4d$6lX#lfr+KL*uͮzp*+-+\MP9WRTkHT*6n6lmttwwGwwwIň#YìUD-t-]r# ZJ [WmXP 53_$rBRT_>:;;k+bݺu[ȑ#)ȚKGg~EֈëGPi_Pj5XGike«-n/}wvvFggg5*F/ Wȴ k_M )SkeWDNJjWWW﫣#6nG ; WZjeKFDx#;ôJՄ\3ɼe 6[o5 Ռx뭷bÆ spɜ蜤^Z9ڬ?jUI5D|>r/f(3֮]۰]6:;;O4d=~Ҭ*ͨT0i_O eOJ3֭[aĺubՒf?Ŷ˫Fɔ:ʥ狅WUU-&?ZMmAe|'֮]gqF|Cjmܸ1~_}K.=#98c +Wn!,XUm;jԨ2eJs91a„~! ]6lhjƺu"HĈ#ryruTKhYt[Vɺ!{b!e"`Y7,=ʴUV͏HREfjժFe<=#FĿưa<2*!ڽ_~+.8q +WgoVMl~׿PG]]]5_rhkߚdODn„ ;zw:~wY=>rGκWxo[h]F~P 5]dyd(6YɠՈn5e/$f̘3f̈O>9~_5z8ВëÆ D¯Ъ6nX2dɒcӦM82|nᆺ!쭷ފo#2j&[5W8( k5$'/t/;Z*<и@ *^M$}.l?/^XdIq0",XPC룫(+֯_akq[Ϸ8z$jb͚57""裏nwu]1gΜ^/^\0zgjhqw_m'N8~ nު1cFv*rhTjٛQGGG1 J$""]גCӜED@* ~ 6,; =~Ǐ~x7z-_xq\~ëGz@-[K.@4YeӒZi5V:uw!) -"c1cF|R~8s6c{)=GL~_͖ WMAM}V\?)rf3T*w쌑#G6>ZZ*@V\xoo_ly[[[㎱;>hooozxXxq̛7/?~|7.N?ַUUT*ʈ ㎸ bÆ D"ww@ /""-Z>hcƌ1#~'>Q䎎 _ &ĕW^@ ??y&L(~:;E!RSO=_7|sL06n!Tmƍ[4zklKVDWWW,[,-[ϏgqyԩS=4뮋?~{wD2P{キhx5"6 ~s믿s̉g}vuVUVo8S +Vr?_|1"z}m5<>eʔ^gy&:ڥRx衇bݺueX.\nb]v;S l{:#"bm:+&MTEn>Y 64[45|iaŊqeūo=f͚f͊}{u /ĝwޙq IDAT1d2ı[@S{ot3Տ~0K,Yf qM7X͛_~y\~zhqP>Ammv7”)Sz/Z`Wx5"+on5f<~JKRUs?+Wo~mO׿lx]]]JjAdD+޹hœcnSN3<3""y~?^t7͘={v#/-[ ,Ɣ[gqF|ӟ7VZ^{m̟??{O|xtǥ^eÆ YfG]@9s7[bŊ9sDD;o62B~7ovv3gΌ;RT,Y$yxGmy^C›6mk*ㄡh-3f̈Tʩ~QG-{^vک 6?,e |_܊VcƤIt҈;cǎm38#DG?{5Zʄ `͜å̞=[x!n<'?UVeO<8S#xnmL6-O~_Ÿq|0Ur?=.4O"ɓ']w/r]6ƌӫݓO>nooφ{^m{sݮَj77q7f绻v??x\uU/>vuu5[l@U;mjkkN;ײ^zAN?8P fW~(͊+«м֬Y<@v~}N;Wx5q󝝝٠ 3fd_'{キ!WiSLNRxg{_n],^8""&NЇo~cԨQ2$Z_̜93>w >裏 |,\Z`M`(V` Q?'`c^+W̾r)ǭK,'>^x'⥗^^{-~c=⤓N};NǓO>/cٲeoFWWWlֱ;A'c-]+… Tioo_5RkXzxVo}{o7MG)ze'?mO=T_WqWgg$}xɒ%/9;5.<@\3ĉ'=W{DD^::묈 g6.]lM;ov 5Nhe2__|1c=S/ӧOxꩧ_m6w8餓b]wlx .w:}sϝ;7v}ljSA~rD7&Mԫ]-_jCz衑L&#JEDĢEϮ駳&OSL~f…~… ӹjP8#"oo~m~ON:cM.{P A]fMofٲeq뭷ܹs#V?fowttٳҥKcҥgԧRT\veo_=^x饗zmӗT/ZC«}L*U*1nܸ8S㠃>{t2߿SOEDdlÆ 8j_2n^U-[˖-gGydCw .& ?Sevmq뭷=x .8cmЪ*\N_;vl3DDd3|ICM6O?ӦM 6?m?y䪏=2Oi|FBy*+ѴAlX[Ǡrfm^~>8""̙vX3&~HR08C"&enXtvv):;;cbŊ2eJ2gĉ1uXtiG?޻2kUxhoF̙7tSjժĉ{Vʎ; Rxc뭷8""&L&Me˖Ŋ+"'?"h@672nܸXn]eggg|;߉;vqǚW8epsR""-4J'/#z}>qhood2=5jT|ODD? >s>nֱ{V}sKUkzW#;:rL[4TWWW>)"{=)ߴi裏v!^}s='yEDĈ#k;"z`xWƽt:~do=~?яE]k_ݽٗd^gώn-"zqjSjC~*:::j~ڵqUݶnk~5X?>;wnyYf~6ĦM;ǑJ+~??4zc-Έ>F#GWǨQӹ.Hx`y晱>DwwwGr-s/硇*y?eqƶn7ng?{~ߍ}kuk5~r)^}1eʔ矏<0/_#"b1cDDԩS{,o~Ij.vP4#Hl.M$64hTPk ʪ~ӟOӢolSO=5>e3!y#8"{3-['xb[/bv]nU ĝw&M'FDO 1}OO=Tb=KlE2O~5y7+5?vؚQSO=5{Srq '#'J [#"bձN;EDO9jp)LW\j8ʝvi*~ӟz(^~yLw) 'J \ YO.믖{wl?)""-Zx`6H͘:uj̞=;""VXK.w=.\m3y>{DPBaӾ?~\s5J6[NcΜ9w\]W'H7J &JH&1s83K4:蠂sow}q}w>裏~8"zqUWED;찘9sf}u?vr5kzU,%̋XLO nڴ)VXo}GP.dEe{lc=6;]v٥#{ [Uo1dt6m˗g?+}Qp"ɓ'g^hQDTu nҥK#"v!oe2;cvR2_d25C_+BffY:}{sLkjj֖lWcw]v%>wrXȑ#7ӎ:X~}?իWgۼ1o޼7o^̜93/G"~*UxXUx~r1jժ׾f͊>qv >gկ~_`Ay%<8cko?&j͚5 ;,蹩|$""?7o^,Y{W|0;[ц^k֬`eHɥj?8bűpxg㷿m_>""8hMT5㩷O?=cܹyF+WnD"[mUY&""FD+4C9$nO8#JVy7o^Z*;?eʔmvs/;IƎ;Xm#4}]]]`xbÇ__|q^{W\qE63dӧOo_ly睋*2O ѣGcHERJ]>"LF*;bݺufԩo^kr@ǰabӦM}GkvʫsN*!L%QFtOOEiQ-m6P\=k3vmŋwމѣG|5jdٟYviqWď^[pa]Q?r)jyDDĵ^+W,L!}N;š7bΜ9Eo$>ڪ_y啚ƗVƍ7[`qbܸqFc^t:lnĉ1{_92F| _|;/[.l3gΌ'A׿uvzUe1:}k=QGk)j~uj?6l|ȑ[dnjS~"z?^}O^}ό36{>ׯ8S n7cƌK6Pwww|_{w@ eΜ9:ꨲ۝xq''}@83z.ĬYG_=:;;c8.vD}ٽ!oFDn+;G/[,?v,Y$tx⮻ʮ?c{o8Z>رc#'$}%dCÇN8!?뮋N8!{C|ݺuq%IJe"'vg4`+^x!{s=qg#~]w5?{x7""^[o>+Ou9[ne}uQT{r8#7@{ &^3_3fL l8L}2HYg+Q(Z=ZZ5lWC"а.駟s΍%K!;C_>^y7pCx[o5kL81ui?=ZO}Sq衇k_Z3͋?>"">Ǽy}M}R+#Ƕ@3 Le| _d2⪫.yD_~]tD"7ĉc=VJ||VȾs9'<쌯|+|cƌ̮zOlq2L81."NSO=_ /uEW_}u".([kqرccӦMi֫vm{wSSTUi%&Lwo{, ѣ1~~pɓol= &ԩSzqPd2mmm5?j„ qӋ9c=n喚ëmmm)C+I'6l[o56n]]]go=%KĒ%K6k1mڴ~>/c=O>duQ}矏+>G[[[\qq /Ps߉Đ"D2(bM&G eBЯ͘:uj|_9sK8qb|-TeKzc2a+:;;^+>3gΌ{'"z~w|'#"b…~~t:lo]tQ9)sGy]w]XlY1iҤ8ꨣ'FDěo-z(xlD".7[A:}wz-q7{;bĈ>XӧO#F2$83b̙W^y%^}xcvŤIz#|饗'+Vի;v}N]wݕtVgos=?!d.ـoYfcűz0aBL<9N>«'C'>jꫯΆǞx^!bƍ^xaˇW#".xg+Wĉcڴiqg ET:馛~<~{cԩqٳK}* rr8{&Oܫj@Q⠃~$b`UqPXn]QFA:r'L6r˭}eY6,g]+llD$VZ5?"K/ǠaÆŬY裏nh Vj*Nܹsc޼ybyDїB*V^guVvk]v٥#:=VZ7|s{e+M >?p߰l9{=YX}]>}?/%Z0z;vlixk/7@=ztV^݀AK@hnnزeKܹ3k666رctڍa0L566{[nw֘1c׀.0̵Dssslݺ5~ߗܣGe=/+Ԁ|>cǎؾ}{l۶-v9s566Fsss5Jp`a$GGGG ] K|>FGرcGܹ3vIDDD.|>|>1kRu0444B jhhv:磹9jF`]VFFU&CVO `ihhp1Pf04|U" LKKK > ' LCCCVZ}@3fL1c$ TKKXajmmj7jVc9c֭m۶j7^sssDCCC5Mj۷o;vĮ]M/GCCC455ŨQWLXF444DKKۖPnEL )V2% @XȔ+` SdJL j7lcǎ*zkjjvȐXȔXG{+0%IRsr`ڪ2dV2% @XȔ+` SdJL )V2% @XȔ+jv $I*v\.Ws@+` SdJL )V2% @XȔ+` Sd Z$IEΛ*r^ @XTc@eTns cV2% @XTc N$9o.y'+)+eeEPm"EP X 4|@}` SdJL )V2X)I7UC% e-_P_XTcPo$ys\E Pn#@C XUUw" G& 02;6Ԣ|@}+#)`++ԁJ<a9 d TLV/6V&U*! PijcV5jM X`ԝ"}+)+PP^ t' * l@-``XM02 P3|T+@ 啯v/d ,I;UTN~'> d XAX`,:vW+@XNć`Wj7" @`m"zߺ([$ИWڣÙXȔX,@  `U5W`nEL j7"I7UÉ;V,*inEL )V2X@IT伹\"XaΤ#@2 GȄ7-蒯v/d ;IT伹\"F&+)+5'UD+uG/[Dd!_P_ Ì20YL )V2X)I7U V` SdJL5VD$IRr +)V2% @XȔ+` Sd #I;U>V0A|@}` SdJL )V2Xп$I*r\.W +nEL j7%IRrJ<K |@}+@ Y.'ѲěO@}+` Sn@$IRr^YL )V2% @XȔ+` Sd Z$IΝ2V嵲:U!,%啯v/dJL )V2X@%$IRsrXȔ+` SdJL j7j]$9o.yڬ @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @``$ys\E +` SdJL j7r#:Y^TiZ~ڸHN3ƵFui_'kjZ#:Y^TiZ~ڸHN3ƵFu65ҮLqv,gZ~ڸHN3ƵFu /+)V2% @X̔)S⢋.+WƋ/[nm۶<gyZ[[kgy&}ؼys@iiIiǙ.i a$*׼P+<<`$+hόTf*]Zxq}VXQO{{{ Pհ5*"{n5[]k\D쵻]wׄ51"&EľkrD쿻#⠈8$"#Ј8,"i1="#bf[[[r&O'tP}_|dxTvu)K,w[_ ,Hmo?SOx\Y'|r2Id…{<]6o񍍍xc=;VJj=%믿tI}f={ƈ.7nR\ ,Hy=O>qiƉ1u~1cF}Cn'Pq 7 x#<2=~Jsر//qzL?sUWřgY;wmϚ5+,ug}+WƁXvqt7n\E8Qy?2?:OK3^e}8kڰaC\s5qqĉC.,mV稣:v޼y1cƌo~X`A\poO}*; ]ve0]|E/Lo8cƌ|cƹxj?9WZw^uܸqhѢƍ㤓N6mZ(! ݫwyg_E̙3'N?x뭷 ^}>w7qw\8o/DDo|s5I8cԩ1s̸ꪫbÆ #8fc|1>@i'}]PƙP/?1^f(ϣiq~cYRKv-=Lp僻Zbx\pR]Kw-U<1:/ZxrѹAѹ r{t.|Xt.<-:M>":Q֖L>=g>>_kJ.駟^ط/cTlٲ%I$y뭷tk[_O=T'?)z,'k׮-YGo׭[Ts)yW?ǯ{)Uua%\N<Ģ~v'8Z|yѹN8ᄪ{)Uu%K.m`qb„ RWr4AU~uyD*5+mL3^᡼T=TѴ'HYf.|bŊ}S]-ikkK"bftfߎ,ܴYY|x/w7):x]^Wn+7.ugg{GE|a_Į|bc95 udͱ|GE'N,njjN:vx' w_l޼}'P|ߌ1cDDW_]rjCSSSEutt/vת,ݏaZn],]4^y̯}Gm'?)~'c˖-ٳgg.i֯_IիcΝ[ڧRcܹ>^şɟ~os]v;iƉz+ռgi?ӌ/(m8慄7v^`zy4m?7Nq$ɀ{>xBq㊶mO:Df͚wUxʔ)1v ؓٳgǼy""?i,[17Ԇuy |>_Bկ~U~ec9&?5j0aBv[w>Y0mڴ4(G?Ztϧz*ky1zҥK36$ }}¨{wJ;NTb|҆OBL`Ɨ'`3,^jUԩS_~^7tSDt~.wo K,)|GG}-O;,vv[ѱ9ԏ??6nk֬uśo˖-C9mV}m744ɓ ۭPG>Ņ^-{'c6l[o5s9;::Llu⪫W^y%6o6m7x#ng}JDy?zJr/>0~2f`g: ?8oK/gnU&JDD̜93>u/ڧ'7m3f̈W^y%֮]SLM63~5 Qv[[G8.رcGDD\ves/~XpaDDO:֯__t~h5,X?Nɳ|3E/aD^{UB}qgѣc۶m~7?^ӧqW^jUw&׆ghꫯ뮻.:&M?b9N dr/>Ի./4PO?+9>e %\IU+WM6-^xᅢ}8XzF?_5G}4M_{k08?A,] IDAT4Ow_}5"bҥ]F;wԩq 7ZE7Y\:o?+5>%@iiqҹ뮻YK_Ҡ>Ikkmm￿ڋ-իWv=XĖ$|_//}'K᧹9ᄌ[{Ɉ|}}/KNI?wߍ%K)SN:uj\z[ow}oo]n]?,lo|0,kǝwkJhhh ~mofC ]o(uӟ4:?~|}EΟ?'3Y y]^73`Ǘr'``暢>qYgya-WʗG5QܣFw1jj]"bݵ&쮉1)"]#bu@DE!FaqxDLqDD3ڒ$" Ԕ<#Iw_}>ϊ˒HOL2%F>'xbSJN:B{'|>_x_.YRQ7|snٲ% }'ikkKdΝǯڢcsjϟ_.\8sacǎ¹^|^}K^|Ť?O>s]կ~hs/r̘1#!~_Ƕmwߍ{,͛ &I-a${cq) >W[+s9h`{_x]~+鼃'2dc(JD?4B=+?9>%@iiqzƒ%K^{l,[:O^zRMfN-^h;#.=aÆ>>=2:𪫮cX<#q'G #QF|^q饗FDC)U۫Z=nܸیFDqWW\e˖o~[lLCNmݺ5z'!+R.&MN;_*"ׂzs{E/e0Pl s|1>@i'y]>Ti s^}(Ks N[[[\2ƌS?x[EY]uUlٲ "I=aÆ~W>cohhc9/zcj _OgvA&LPZ?vN$6m4c[ZZSO-l?emi׮]EۣGصO nBz7oۯ>`#6N ur/($RBS,׼as ѣ~]C=SV1֙ /0w?(y;G-l}CN;#O!WRfSϑGӦMɓ'='I빿9׻voԓ=C#(zO/~g _cH3TVf|)'x]FyCr̫{-m?7N}qqĕW^Y1\4Vdgq-_Xzuwy}K/C=TK?+ꫯ̝;Z[[w-lvmqOm͚5;^{W\qE$I+VXpa|-nݺ^9 _f͊#<GVY?#C>lӧO . ?Sys'?Xt#T_2:,AmjN /Q jQ"GVcպE^k5~wM]#bRD컻&G뀈80"C"=""#∈8>"f%/NO"|O<~cRթ֢dɒ>ӿuWy|ϕu7'I|;);mڴzꤩ.\X 'P+j=ӎOu4D7YgQFR=c .,:.8qu jkO)y.Wb|Pt'x]J*GL3^ၾT=TѴ'HYf.-^>+V(ڧ7=k%ׯ֬Y%mmmIĎљٸâ3+ٹ3Kw@&Eg+וu{_ `l`/+ؕO,c,GV&}HGGGG|S 6Ϛ5kb…5 ( |+lٲ=$I}ϡ=CqiŎ;}믿s̉-lݺ5?x+r6mw_EjsqK' Pyi^vݞyus ޾SN=j75VԞW^y%9XhQ̛7/L??M7۷ov3!пaxg㭪ApN IqYS+:]2^~2ꚕM-sj7D*<  Ȥ" gAˑx}8<~5|>k>kڟui;w?ݻwOmmmNg}67tSnuĉ=_={[n 裏?y8lVܹs>裌7.C-ܲ́U%&M!+={LӾ}̞=;of|z뭙4iR|%naa;̂ l.1cFvm 0 'pBn9sfy'RZ5hz{yC5}Cht_Z^XskPiZWϽo}C.=_Z[V_ҥL/=LpR>?pim\ҳgdڴiWϞ=$ӦM;Im9Ij5]Wm/Y-=d~E[d;g.[_&W&xXhV4+V+Jf% @*/v4S?~|W^EOIIIȕ @`Y ЬXhV4+V+Jf% @`Y Ьʋ]кUUUeY`ARSSS쒠ٕ\qo~n)~{9GydvqTUUΏ~:un;#p@;<wy4hP W_}5UUUargC]cnlFbV*Na~= .ȨQ,s&Yx3<0-wޙ9sfN:vg 4(Fӽ{l9ӫWz?~||ɼ[y3k֬t9oqs|+_Iyȑ#w͇~lٳgvy{i۶YOK/tz 6l//}_M6d&NSGb-rg뭷^n'|rN>;isaskvکNlݻ2iҤL4)IlӧOȜC Immm۸袋 v-%%%TCC7teeeQMe«Kĉe?'O.|k͸qe_kⷿm.Ңh~W 6,IRZZZi7K>Yo Ç_?D3vBxuׯ3sWgʔ)u.[/lIzQg)Skouz^{핾}gϞ)++^!V|p ӿѣ~Oӿ|_n^-//:(lInm̘1^-++[朿;6CV@t8:ٳgnoFߞ{ /0;srM7+Lx4Cm$oPMMM+G}t Pi&|$?3<[odq`X>{ 0 ݻw… sgMUUU~/.۷o=u3gΜz뭅/. 5kVt$uy_s9ԩ:-*̯n{h9vu뮹3x$o_lwȑyG,HꫯV[md}W'Lmmm׿f]wv)~zfTWW{ɟBmÆ 3 +@3w:k(_@!CFfp s7nw1?FW 7ܐ78oqz? ;YUrSN ӷoFYg~"ڵ˹瞛߾~rkh6l|K_*sȌK,; SNɓ K^{cǎiV?ӦMp 9C G|iii;:d=,vuĈyG궇hmkq.Wұ[_2r}Nlذ\~Ar1ovիW/B6l$uCszjthѢL>=oq6~i^|ż6mZ>|g//'uGᇹk,n햃>8;hm駞z*O=rΝ;7 .L6mVi۽{.gϞڵ@sVSfȑuM00ݭ[ծWUYYY*++SYY^zw<ùk6پ3iҤtSTVVeKK_R'͚5k/.= Ó$}QƎ$ܹs=>0][[;#_׹/歷{W'9sҹs:?<#я~7ηsrvڭrx5I***VXhQfΜaÆv!CԹߥK;I)SU'MrݻBMy-*:n8R]]_=|I^|ufI #&sm%YE;.KϞ=ӡC|_}_Ρ_=cƌرcꫯ>K<y/yCC4֫W{I>}K.Ynۦ|" (NUUUCyoo ZlMa駟^G7tС믿Zzt܍AxX]K;)--]6;w$IMMM^|(?CV ./Lw)믿~a~ۿ[N=']tI6mV+--M>}r'?)={,=ztCCV]]]޽{x̙3'뭷^7@rlN8tM;B#F{en+_JcI{矟s=e-ԓO>7x0_UUYfeʔ)e;wg]o=أp?_.,_ٽ%N:+:tHUUUϟ_XץK|߬~뭷·~$?o|a筷ު=#SQQ6,na2nܸdv[u]]?`s1+Κo})Lϛ7/vZ>,]tQ:tM74'|r$0aBd]wMϞ=3o޼L<9oVnlVk1aVŸ eee9W~6vmW:th|III:dƌYhQ:tovC7380=k֬u],׿2}, zWkvǽzSNq-*23fȨQ 1c +]tQvZo:OYl'HIIIdܹu«={%\virܹy3nܸif>K I?g„ ys }s=ר=4Ěom]8E/f̘15jTaN:0kUUU^z 2$Ot-{WN>eĜ,tM_^{-fJϞ=[OܹssYg-.3rȼ裏R]]ݻw9ꨣN;q{h5=:y衇2y䔖W^.)--)C9$w_&M{/|I:w=z_~g}`j-KcԺm|}E}Klz/^߲ڔ.5dteK[dY$%sL(MVhFK>$7ߜ:lf-:ڳgb:`IQ%Xzh֬Y9餓 O袋^{v̙9餓 rKz,uvݺu+v گZ:~K(\QQw$sks$z_>K[zzޗnvR]^m>+[*cMn:f7f̘Bx5ISjÜs9.X<装j"(ҕ7`]sw.3رc}0;d-hLxhVy Oˍ-PǤIry祤$ݻwO=fڴiB***rק VdԨQ>}za,b5rPǰaÒ,dƌ1cF=z_߾UztΝ.h9XcIeee ~;ӧOOnݲ6dvC.3|"V-t1j]6J>%YDi=˗~oY}mJ_2]-Zc9&hӦM+v jٳ%?~|W^E`?%֭[Kh amNߒ/VTT읤6ɜ$5ܫ6IޗR떞^2[Գ}fyۭ֯F+]yh<4+V+Jf% @`?%\KNLSk Xk8Z6o@h\Kʊ]\k8Z1в9hn@UVVh\K***]\k8Z1в9hn@m۶%@Z`]K4pcesX+//j۶mˋ]EYYMU<uBSj- kVQtر%Z5}.V5[XhY[+(өSbkN:}u^YYY:tP2he:tЪFtZuCh4۷7$;m۶~OѴo>m۶-vuBcj kVQuH:ud }СCyNh :bѵo>mڴɜ9s2b-N۶mӱcǔoӶmTTTd޼yY`Aa-RYYۯCw֥Mrhܹs2,X UUU)viJKKS^^ʴmVpVAYYY:vgYhQ_Ҕ"\ uªXׯZ. ICg)++kX 6*-v[XhV4+V+Jf% @`Y ЬXhV4+V+Jf% @`Y ЬXhV4+V+Jf% @`Y ЬXhV4+V+Jf% @`Y ЬXhV4+V+Jf% @`Y ЬXhV4+V+Jf% @`Y ЬX۷oJJJh2SRRJ}&Ijkks1d6_#W^`U4MMM"ڵKNVئk׮I~\>HI'wv뭷QFjgK6&@ѕXה䡇sqǭV??pDSO=5{gU2jԨ9] `VX]uUYޡC#ni>^))))B-Ò騣O~򓕶+ܞ嫭͏9~$`Vm۶Y$555O2~?>O?t뮻.mڴ)rk{<3IzHHX7%%%yV RRRc9&IK/zG3SOM>}g=̙̏3guUVV&cƌG][n `fqae䔔dԨQꪫ]&M74{Wt;-Xa-PRR=3fʸqzev*ԩS~/<555hҽ{ /yGv- [nɏ~̝;{Mw@+))Fm}{wܑz*\pAKcSRRke-+4;#? ۼi߾mM6>|xs1~3|8p`.'ӷo$̙34hPN?<)-]v ̾w}ptyjwܑO>$/Pt͛y歰Mmmm2{\piӦM:v5v[FÇg6onK6mfi-ySIII:vXj@gw.#ISO>ȗ:%*++կ~5]w]^yzr*"#FHi׮mcԨQ[l?T/gy3}lf߿vq5{2dH^yL6-}Q6hlַm٦~zj&N~:'N7ߜѣG$oUUUoSO=x ǏϼyҧO>9$qn;6ƍKNv3L޽Wx'N]wݕz+'NL=6k_Zv}z_멧q媫>vLy7o}dMr+_J#r=d„ 1cF***ҵk9ۮʼkI3g~mF$yw.8^~\)++_[[ɟԤk׮ҥK^;6=XzǏ)z+IҥK,Z(cǎرc=?S'X[[8p`jjjRZZN:eܸq7n\h$/RնmfҤI4iRz?͑GYoE_>suM0!'xb&MdS> ><Çϛo~k6mڤ}2eJLaÆ媫7$wygn,\9O81'Nc=N8!g}vJKK[<+ O:[rGѣ{W_}u T6d̝;7'O;38@,k¬QazoQgYMMM&LG2dH?d-_\Ξ=;W\qEx-ܲL1Y<:^8 ;vLMMM}Wko=vZ?[o5ڵ9眓C=4ڵˬY裏nXcXڣ>~̙u;S?u]$Yw_vm\qul/c=6ӦMvgk$\rI/u-{n:t萁oaLvu~S]]*Iӟ4rHmQ:|˜k-˲_j;CߞoMX`qQG矯6lXns1Iz*_~*osĈ裏ҧO:%***>$I~zQRRR%?~|}vmWֽ{U>}N=5~YYYvq$;SvGq*W}ҥKr$Ʉ {3cƌlu«K;Sӹs̙3'j׵uy^~L0!{^&Z%#>ywWhٌ -PUUU+++$}r~K_Jn .(|XTTTdmK.8p`~~tMWĉIٳgF7|3ǽ.]$Y%-tm0mڴL2%3gg})S$YdȐ|k_[MΝsOu]d_Bӧ__[V̟??G^Pĉ ai߾jS'ON!Ȗl֬Y`t-gqFN?=:=\a.,~8&h\kЂ|͏3n>is-.oW^y%3f̨7{f̘10`@v}L2%#FHEEEN9OZok$Hb-$#G\o$3fL֖̬YrGꫯWl֭[ڵkXsMmmmx$V[m$u;I[o@۷o;,VufP X_FU򲲲Wʯ~mӦM.\p+6lnukӧپv-讻 6 qnƜ}MZc߾}ӦML6-sOo,>kVرc$[ne[zo߾i۶mOo~Ώ=X&M޽{{4>}$'O?C=tuG[oͧ~]vX)ZW?;/ .7lFlAdرc9$Gk駟i3š1QjѣGN:$u]w={vd/QKF_^{? 2Xnݺ[Vşޚ9s$Y9w}K$~****Gyd/?\'駟/̿ 2a„:YhQ$[o- k #@+cge\tAw[;;89'3I& QV,-.BVpA[.zormQ>z*V%WEJ[D@%,@ }2?pI2 $3Yޯ癞s~A|';;[K.՗_~O?]s +TXX,z5`n:tH[o%<SNU~~>-\P .TZZJKKt9h'}1ydWqqN4M4M 4H;vh3e߿_o^z%KJKKSII,˒LUVV@^Wz8 zs)::Z{ҁTYYX=CZ/h?XU]]`ְaÔnAÆ k2Wqq}]w޲,Auԩ;v^yi:xz &dF\GLL{1]tEz >\W\q*~M:S^h"eee?סC;OzRRR4iҤNSsѥ^w}W۷oב#GtYgiȐ!2euhZb֮]]v)//O{ѣ5avi3fhĈZv߯b*==]#Fɓt[M xk-5g /3t<*Xÿ/Qaz>qJ| ;! B+++;&+@5::q.+𼦦Ckn$UWW8.xZV  ;! $!!AxZWYYoFН`"Iڽ{lnv޽{@`riI۷Kn <"]s߿$iڵm2/Ґ!C]"@G/XCGʕ+U^^.I,K_}֮]+I3f#Y*@tMZZƏ*,,_\.0 =ZÆ t]VN?t|/w^UUU)66V:󔑑,HIIe]23I^^ Ðar::rHK2l5\7ߌt9DhGK,$zعs|M߿_/t9DhG]w%IZlYO?Մ tv0x`?^}7rbڹs.B͜9S?֬YO>zCiժU:|pIawߍt0+N?{?ydeffjԨQ|Z|y+s! ׫e˖pnvٲe, N+}]9rDƍS޽%}`]v8dNmm Ða:x`uYf5s5H6nX0 ֭[5}t=ZIIIwɓ'>h>#r-:묳5k***@gqFy;wC=K/Tz4l0xڴiS;dy&>lI[oZ RRRF'xB^ktHt/$M2%/33S#Gƍk?I0 =Z%%%ھ}NIJNNn2穧C=ZEEE)55U[n֭[ꫯg??4ͳ[zHO>,˒iJKKg}>LK,QaaN;&5n8ٶ-ImUnn/_,~mZ>}V6lІ b ]VNMI*//o-ºlٲv9Wtt>S͝;W4l0}駁ѣut=C@slּy4󲲲V.K/uA<( .@r/_bUVVZ;wM7$˲t6u%… UZZ"UUUiŊSvv~ߵyMh-۶[`Eve PFF,Yrk{:v^SMM&N+??$IK.ԩS'I۷yW$͙3Grzӧ>-Z\.˺k?h -YDCѣGv6_uw*%%E[n%P[o59 hh;􊊊tmkUVꫯݻ;cɓ'79viiĈm[_;Ph߾}:4qĐc|A[Z~$i͚5*..y睧:~PMC\p$)'' ܸq` eY|W]]<|,Ix +@SHҿ]Rm~39NM6Uk;T[[`JJڥ|$M>]_dLII$iٲe/~.m[JF옸8z뭷uVM0!,mi^[ٳGvRaa*++'XҧOIRuuu g O%5 Y%I2M3 `NSCCѲm;>@OAG]y §mktksU0O4ۧ%K70ZqFiРArٱc$w-nvsɒ%?OB5~|ߗ$ NGt+]Z2DԷo_IYj޽:s3hĈҦMty< !۪eYSUUJJJTVVj|>vSNQFFtPjjnT]]2Juuu,IWƏ+VhҤIoKng? 9gժU; gx?WNNt8vĉֲe4k,I T}}>vM &IOzt:m[_|$$3 ̫th_~YԴiӴ`&۫-,I,K555QeelV||bcc 0Bg oze۶***֋mpN'"INm!֣G6뭷 sŒI&)**ű'N$mڴI۶m$EEE~m:(--mv_8ݻَrss5tP920/>>^{џ*++= $IwB W,˒ѣGxrt)(==])))>nx5TttRRRSN9E.9XC= VtzW^yx777x:mڴvW_$]wug+33Slٲ+R?r{1-Z(zph^^z뭐cٳgK[j-X@?O$Iӟ-I<ȑ#ynf}'a=jv.CjYY<jkk&ۭTyR*域*ۭ4񨬬+K?~VX$x;J{ァ*%%E]vYXy 6Leeew%&&*##Ciii3gC5`M:UtWu7_Bwq,#}L5v~_jɲ,Ko~)))I]w_}QAA?|Kի~_ ͅW땞$ŵy└tb=Vtm vdxU,Y"X(?nݺU_c7,7nܨ|P{lVJJnf}gZz  /\Æ ͛u&77+Wng!ǣQF֦M4}&kjҥZt&N~NcƌK/Ϣ_~ڸq?Cgq*++vu7*;;[ofqx\,+aw8JLLT~dY***T^^NH])Eo ѶF3c?7G ~%J2l^⚺UViҤI yë^yM۷O1110`Fo9>jUUT__ LJxeddPUUUR\\\ j6!VjŊ?ݻwѣPffn& ><%t+X% ^ Z2 C&Mt9p\+WԼyxTRRmڴI~ώ`#WmۖUMMԫW/G$(jիW/>|X555r:W >}|IK:Ymݫ{?ֵ^3gFR<s?~V\O?]Zx1v4w\}'o_kĉ*((Нwީ#GFBh4iӦ_G}իWk͚5Cѣ5k"].eYSeerpDׇR\\*++UWW'˲,K< 5yd {/.I믿իWGZ.rEnȑ#ze۶N *Iwp:&LUW]dll~swܡ}O>ѕW^*@G xdv 8iqqqRee<NLXijƌ:3տdž zJw}+-]TƍP X4v{iʔ)4hI&iZbRRR"]&JTTTteIrrrQp})>>^./ 55U|z ҉7n\a2e$i׮] ~'0MSƍ㛃z IRrrr+ VWW˲,\H,˥-͋ IDAT*UWW:ڶ-0[9$֪J # z}2 C_|qcvvޭ?Xwi&I&鮻j0ʕ+" 0@7Cz2 C2#ui*11Q%%%zUll,U:IRZZZm&ϧKjڵz7k.N%\ɓ'~\-ZRq:thq^Wo͛~xn۶.\,Y%4۷k튊 5cڶ-۶zUWW«~i*..NG^W111 «Y-[H x^^nVرC*׫-[h˖-Zf,X `=kK񨲲R'xB^ziΝs=W7x=\y^%&&ZJ/\.f̘/\.K%%%zvAV'+IdY!9N>Oi\zZr$i„ ͎+++ٳu饗*11QeO<[jҥ㹟z:ǨTQQQ}EEEzU[[+"qvs='I/8p,55U?v㕴}Z}}t-XUٖl^U%rZ43fB^uan9)0z ˥dEGGGeeeX˛h̘1צij***v@O9dԩZ~֮]˗'ԨQw^=ZhQy&LhSb 2_6ݻw{]BlW|ţz8۶$V! LUIts{,=UuuTWW:_i/f6eQFI:p! zá~颋.ҼyDpBi|IҙguMVVyeN^FmmlۖeYMZ=Qyyy}a͚5K>OrFqB뤦J:9י' VM6M}4w߾}˨dHW@ mi[Hu).Ҏp(..Ne5OpГUWWG伕1c> .@wu 3kg.X$uYi^RR M'.D^]]fΜ;vhzGe~VI%IvZeffJwY'eHW@|~ӅZ5ᮨUUU%I,+d6zy^=տ=JHHht Btk%%%qFmݺUtgi;O*,,c"swI@0$PRS>v5m[2 CiҁIa;W}}̙u)==])!…+x]Z`6mڤCɲ,y^ݻW ,̙3t뭷SOm}є)S$IO?^|EKjkkf=#}Yr9Qs$l[YsUUU*W=Rzzr>׫Yf?Vzz{9eddt:pqD+++KYYYhZw} gԩ| j…JKKSii|>9m޼ݮ-o-Ix۶eY,R]]ѣGէΚ u8JKKSbb-4e <@{STQQٱz͛w+LԂ UV)''G***R\\A?q;c=.H|rssU__Ç+UW]o]xuLӔqDjjjzt:#\UC^W555m[CɏN{ }4j(M:UwOj|GҥKm69rDC 5}t9ΐmև~{uݻW ,_SOՕW^nIIII Ư_^͛72dFO !۾}vޭm۶鷿enV=! t 6Gٳ[vn&ٶ-Ir\m[;wΝ;;詧ҍ7d9s(++Kt)(33Sڽ{vء &4u|GոquVIR^T[[/B_|}]!á= Z5dߓ̙ IR޽UQQleggkرmۚ;w͛'˲Իwo髯_|7|Sܤ>׫ŋTYY؟? @;?mڴ>˲m6Y3gj 9R]wƏѣG+55UұOn!V-((O?=0W_O?Cj޼yTfʕ+5c 2MI}f}y:UWW\3h:3c=:^߾}uvV*++Ӗ-[xzN=ܹSԻwV~Iǂ0ksX!tnX)3Fuw6bz:ujȹ}M2cnCg͛7וW^b;VW]u9*!!A=-Zr>}׌3իWkھ}~8p@ N=V8p$iرZxq]AxPmPYYYi߶m͞=;d>jz 6z zIҠA$I5e-^X7t >}(>>UHMѣ5gY&B}饗dIm -[Z^2Dnݺ&@wGC⋊nbh{ ^;wnDë?%I_~$iСv)SH<waRwڀZe_QpAܑIL!q4DCdH-AG>F1.q#JAE" LgK 4]u]9:ouWSҥKkdKܿӽ{eҤIx`ZjK+ V꼣>:﫜ҲYN˕ϼZԬmV?gŊw1I뮻&InƊe̙3'?m/ 7ܐ{+V[nIt-M4٤znnݺONg~J3.\RyKK.… +msƌyjNA 8ꨣrwd>zyx6f^}׿Ҳ%KdΜ9!o| +֟s96lXJJJҧOj*̙3S^t5oZc+LÆ ӡC4i$q.\ƍk1lذ9rm6m~[6]tQ&NW^y%{n.Ypa>ì\2]tɞ{$9gr]wevK֭'?L6mꫯ^=7>?XjlL6ëIx,^Ҳ6mdO.]2`~ַo>Ç /dڴiqsgiժU?0%%%={vEر&KfҥO iSѺu 6,C Ɉ#wIrQG夓N^Ϗ{챹[ԩSӡCtI9STTTu֔Z7\_ߢu,+WYղ}j}O|Y$Eeee/VqiڴiӼV9r!@uaO0!IҩS-QlފIRda3$g|jݧ/ZWT}f]ۭʆWGMlcsNj:36lpu«P U** [VZGuTt9ڵ_/ [.61c `#Z% @`V PXU*Vj+JZ% ԙ IDAT@`J94`ko65xJ 4(t @5 lXRÆ ]P f[#VԨQBTH*5h@ FA.` NM6-t z[ lXY y.B; lXY&M ꘦MI&.` AmXh޼ynBYwjiҤIf,\0˖-+t9ӨQ4m4  I@Pm 4H˖-jժ,[,˗/ϪURZZZs^ziРA6lF +l dsb`+t|PXU ][Kf֬Y?~/^+W$6Cqqqv4o̙3 ] 5hʕ7o^͛ɓ'm۶ԩ +5FMRRR j̙33st%۷/t9|+tl}>c/?.t|QJJJ2yBAL<9%%%.+նtR3gҥ.+GCjYtifΜY2#fΜiV6+2k֬B@`S P-/t 1 6+ղxB@`S P-+W,t 1 6+JZ% @`V PXU*Vj+JZ%Ve˖)**̛7% @jP͛7/?+4(K+/V*SN͉'$_~z4o޼Uv5̱ .`<#nϺeРAyw,~xKZ1z$I۶mӡCr!9#ҶmW l ^xafϞ]ˡ+KO?$)**ի+pUuÔ)S2jԨ$k/X+))ɠA{U,vmbŊL4)&Mʋ/|0C-`g+t5;sSTTTK˖-kkvi8Z׿B[Բery>gȑӟn)~z[r0+ԀƍoT͚5j?~|Ep6 ?2eʔׯ_y䑌;6sIV ]^6w܌3&+t)TTT ?x뮹ӨQJ7oݻ{m~xN;BTX7ӦM[ӧ/ ]tI^vucƌ1՚`s=IСCsϔfȑ m?$GqZU3+|NU|Y3f3k֬Z 6ݪU2bĈԯ_?={L|_o#FO,p@m9sfdlƌN˖-$={ 7ܐqe֬YiӦZUV{ȑ#Of„ YdIkz9餓$=ܓz+~7o]{^:w&MC>ȤIgw7|K_vʕ9Ò$O=TZj<߿X^:sOF{,'Nܹs.#i $ywrAU\k+]hʔ)yodڴi;wnڷo.]3^egҤI_I&oθqRTT?>sNE=iݺuwߜtIc=ԭ[9rdva1!ټq\>>̟??]v͗7Z?wӳ.w4ido7f̘#Gfԩ:ujӱcn9裳6xy?yG93nܸ<32eJ5k?<_׶m-MBF_bYҭ[;SN9ʾ'N̩ɓ''IZnŋg̘13fL{#^{m͛m&M4pk*)Ir}妛nʊ+R^4o<&MʤI[V}0aB> IҪU\2oVz<[+Bm{w,X>(7nVۮFj-{=ܔ%I5jL<9'Oȑ#sEwU_re}\Yti |<}Cz7ɒ%K*qeܸq9C*{oT_;v̢E?̑G)JA}k_˃>9sd9s1T;й1!ټqyO/+W^y%/B~_EkXVV[o5wuWJKKӺuj*Nz<쳹66]YYYy<Yreu[o_|1gyftR˕gɰa*/9sfB`xGr'I&7n\/FO= :4zSO=u'Nk7vmv-'xb<̊7w_=O9_V\YZuy}CƎK/45Oݻ"^RRoԩS䥗^<-[+P˗7̾}–Եk\r%3o޼\}չ/9_WrGYfUݘl8~W0{N֭t`N84m4˖-˨QrWw9+fV.&_~uIƍO>+ vĉ,Z(7tS_RHy/~w1of^M9sf{챊{w;W_}u\Z$Y3f~_}7 y睗gwܜ% 5{N;kVu]]w5/b~V,6mZ{M۶m+֍92gyfV^뮻.˴iӲpL<9vze6d̘1ꪫ$ݺu8ژ1crAUjw+Hnꫯfڴi?~|f̘O>9}Q VgС:uj&MT:l~:IB8cK/mr 'lׯ;I1֬U51_L81;wGaѣG磏>`{(6mSO=77f͚eժU9rdN;<7v<8nҤI>)--رc+;vlΝ+;w^oqqq=$7x;K/eŊI.guVń05ʷE7ިիW 80_뮻CY 5hP*-[x3}soҶy晜s94iRŲsVas-Y$K,Yona/8{Ξ{~3gN.JD\jU=$k=%bNrYg-Zs??lMztڵb]֭3dȐ;6cƌɨQrGSN9%C 1bV_׹j`$Ɉ#ҷoߍ~˖-ڽ6˗/OnFeѣ3iҤ|U*?gkϋiӦeԩ={v.]S&zgq\uybc{y{}-w_JJJrꩧf}C=ۀV\\|+WgӟɢEreew;aKko5Sl~ϟ_1cg{IYiVcۛ2eJ{g˟v!T/^yU|?k}H:$ς 2p;|Yln:+vF;sK/g3<3O?tz .Rۿy뭷ҵk׵«[ȑ#3svaU)װa|u]7xk~WlÇOYYYdm;dԩرc_?NCdN;%If͚U6<3gNΌ1"s̩牍ӗoH۶m>>hx≌7.ƍ7ߜw1tuk6lc=6O+V_;aKo׮]5AO+N4$UY 6mZ͚5M6m*]_`AEus+uҎ;Xt\eeeя~}ƓO>O五:uֺp.P 0 s!~ڵkZhm67pC~BN5sjiӦM: 0 ƍˋ/X1W^3fY`Ke]r_tcÖ_)aFmM6͌3d_)?D%o};Vk6}>-++$`u]բ\wukC A>)++UwMo߾V*o]f]MFI|ӢEt}m?ZI7|3VJkVVVV~vKԯ_?ի3j_DO=T̙;.Z{}U牚ֹs$|^z޽{wsgСwkg$?aK`m~.IL&b g<رc&Ldgf .\sqUޮ]4lذ]~g/={GMF*-/x;|tIUWoԼ9n֊TebC)o;eee\r%R_ɓ'sڵk5aJ塗 [I]wݵu}M}i{WgĈ;.Ix,[&ʃM2y;6I{'PGɪUZoW^IfrAUZEYlz?6]+]/-ܾ[erM7U\ZZ/y*ڔ&y'JիW 6~*߬>|x?4-8pּ)}\s=sfҤIVJ[{$y @AgMuQlnCIjӦM<$u]o" |<裹+$?*fKC=4Irmeϟ;3O//gȐ!8qb\2{oK.iܸ /)wyW2uԬ\2)))Ƀ>YtiN& / /0ӧOO^z)$9묳ҬYJ}6m'ICkŋ+={vE@xM6M&M*?2dH$k=zX?q\|98w_JKKgϞns@ҫW( Hqqqt){w?ciVLQQQ> :4z&#s]g;,mڴɬYrg?/r̙M<#Fp}fʔ)y'*NݦM̙3'iܸq /}KuY=zt>g?KƍӤI̞=;I;fʔ)5Vo>}'[nYjUz5ivZ?e̙0`@ZhzeΜ9W^vm|.s6y{oEYxqEs}Og͍7ޘm&ڵKƍ'diԨQ.-Z/ի3L<9w}w$k>(**%k_/Yi6VZ/KF֭[gѢEGz9//6mZyGN;e˖1cFL-[l@վկV|ylѢEy${G5Z*ƍٳ)>۷Z]D<`ӧO}ѵfV-?}U^dxuժUs.dͬ+{l~C;d 38#wygeժU^.X O?tN9 {JL0!?xoզe˖ksK򗿬 𒒒;՚6} IDATÓ 6hP&MĉyT\\.(Gyd~={vs۷o:vVF;wܑ1cdʔ)nңG|N˖-sh?өS ><Ǐ_k7ڶm[1VƎ3f}޽{-ZXi'ʿW\\|H$ 寧%Y?S>{\׺6nU6:jbիW FmmmW?mɒ%2ez/|IEgy&W]uU4i!CT &;__^m۶5jT~cIofիW|ժ[nɕW^nݺ7ך6I.¼9s/})SNرcS\\~宻n6֔:3|rë1+@0+Gf`*f`jX: [fb^ORU!VU:իW?f]wMsw VA }-&L(tk2dHK: *Vj+JZ% @`V P-Ņ.:1`ZvB@`S P-͛7/t 1 6+ҦMB@`S P-7N۶m ]uD۶mӸqBVJjԩSKp,9XƍK..ҥW,lۧs΅.ܹsڷo_2 vi'3~u%;SsA `Ծ}4o<}QfΜYr؂ڶmN:qƅ. V6YƍOOԩSf͚gYreKc3gmMӦMUj+qi^z./Vj+JZ% @`V PXU*Vj+A `z,_<+WիSZZZ ԫW/Oqqq6l$6Ϧ0?6`)K Zzu,Y˗B)--ʕ+dɒ4l0M4AVgs[7ao݌6@u ^˖-ˢE ]#˗/˳vۥQF.0i[㟚f. ]uג%K|xhѢ,Ye?[_lIf%|+UZl,Ye˖ >6uOm0&`ief^,Z(W.td-?[j@9Vb%jcXPsuǂ昫;<6+z,_e|r0?` ?` ?`>P{1P{1P{1P{Pʕ+ ]_PP(P(P(=Xi)^y (^y (^y (TRZZZrǀBqǀBqǀBq @`V PXU*Vj+[-[2o޼Bl+JZ% @`{)**ʓO>YR؊ f8sSTTTK˖- ]UVVN;{P5(tyиq4o|m5kVK+w}w;WW^>@/.|PneT.]ҫWk]rXQTT~eWb`V Bϧ_~kҴi# ʂ ңGkY|yRTTӧWs=7EEE9+-?~|.yܹs4inݺOθq6vt=EEEy'+WԹKUFgJfrAeРAYp:߰aÔ7q֭[M6 7vP"+--ͅ^*W^ڴiW_}5j̘1#]t}>s9SVV$iҤIw?;#gqFի\odɒ%w}+-/++__W)--MӮ]+ysOSv6WX[n%w^-ZT]v5r{|f`pfvZ^[wܑ_iܸqn̟??ӧOOIIIsx|pN?<Ù9sf/^Kf9SRZZ[笮k3fZ.,˖-K&MrWsw+Hnꫯfڴi?~|f̘O>9}Q *9p:thNI&3Ϭ3+uR˖-3o޼$IsWOߤm=39s2iҤesM-j$YdI,Y6+Vt}{rqU~i׮][cu&Iƍ3dȐn_=^FO8I;l}3HIIIo嬳Ϊ~ȑ9sf' P:iw5Yzя~}ƓO>O<1˗/Ei֬Yֻ)=z(h~a&NiӦeř0aBd[dO?Ν;[o]ko$={v=*ꫯ&I>-R#[+uҵ^>}T ~l0ĺjQQQԫWɇ'N$i׮]{+3tL>;v؜iРA޴hb6'ON&Zf]Mn:زXzG}4|-[V<ĺr 8ʾÇI'TexnHhաC$ɤI6{[eeen;yx>}zzN:)=zH۶mӴi 4(7xfY-ʩ+V/!Re]v%Iһw<5^lÇw}^6=0/.<V^zeذaUXUgwS}ë B׮]$cƌɪUҠ  AYjUf͚Wߐ!C2}}ٹ[Zf8p`Ə#<2:I>˖-KFH=NϣѫWyGך,}6XY>gX:tȠA$?Os%dIKGI~ֻ>}$I.<gϞ+"wyZ}CW_}uU,ػ{02$(V^Q~XhWűšQPk^uubPJ}~ޢuVDAyFߤFHHH@^9O^srNNgٳ&|۷O⋕L04<|sklߦMr-I[o5?OW *O>=#Gt lXX(;Æ K«C=.]Vފ\rIN8WUڵk-2-[G-ZW_}uu?AZhN:]v+[v_;fԩ{Ӿ}li߾}~_\ӷo$M7ݔ駟͉'ŋiӦ{5jT1_iԨQnt![zw1[neN<luPY%!֣:*_|fx5I,Y%KM֭W֤I8?Ҿ}l6er-K9rd>|΁K.$ڵ[?OgȔ)SV[(U7ZUvM+>[/qo9cǎ͸qJy'OLAAAژ_5Q(5[PՏm+M|]y}_lkܧRaaC^]^xtAn2a„.o'&Ioq%ju]Fwe.,,J6nڵ6i1k_uc n?u% 5lp$I%)}VdX?_K^NJr؊Toyֶ2jeaUk&MVM 7U.EI+ uɊK2aeæ+޽{駟ζn-">*lFĉ @+l<uP @`V PXU*Vj+JZ% @`V PXU*Vj+JZ% @`V PulXΝ[% k׮]]I3K2K2K? *+Po^%uM.+V`V PXU*Vj+JZ% @`V PXU*Vj+JZ% @`V PXUywһw~u] 7 Yf/Kx̘1#+WV[m>'xbڵk}ϟ??Æ ˘1c2cƌ4m4o}8^5x/*;O?͛CԩS?)((`cˤIgEr-sCM߲eү_armkٰɨyyM?({.ho >aSPS uGʕ+SO_|$iРAVX &d„ K.$o?~|̛7/IҢE,X J^y/{nާjܸqZh$)..… 3iҤL4)?뮻KF>X 2$CMqqq4hVZeٙ5kV| 6,7tS6lJt$IAAAڶm[aVZU~&y|6e51PXh{Ӯ]ye]ҥK|y뭷r=d曳N;e7t߳fʕW^ f=ȅ^:dɒ%2dH|/Is1Ǭ{Y> Mř5kV~<yw?!^xa1cdȐ!iҤI.x_~VX^x!sO>tM+oIE2dzjb|?MYu[^.M6)(((͟?Kj;s9'w_훭:OͳoL&MxP铕+W]aaa-T: V`ѣG|<ӧO]&jI޺̜93IҶm5k߾}U ]bE4Xm:thz Zĉ3qԯ_ugرԯ_?gqFoSO=5J> 0  {쑢 >Ԥvک€ۤIlٲl6ZԆ̷7lX͚5+CMaaaƏ3fyҥKv횣:*s>%n&M qfJlklȜE, IDATW8g[l־gȐ!iҤI9xiڴi͛QFT &VTT?8߿ d;v7ߜ뮻.'O_]f3gN:蠜uYk]u%Yf>I{GrQGSOMAAA!Ĭm|>9rd^}յ[xqoF.4n8 tM|k|Ajʕ+suٴi̝;7sɛo'x"tPFYaʕ;$K˖-+}lM͚5[cVZ~hѢC{ٲe$>SM69ꨣҺup kqѢEYhQ?eĉ8p`6l`SV[夓N7ߜKfĉI6,o}7o^>wiHǎӱcǴj*fʤIcϣ>&MN՝ZlY-[V`x)..ι瞛o}[5~kՙoo0B5-]4?SXX$߿N;^i֬Y/_ӧNaaaV{݃>'C9tfmٳggkldɒ+B[oٳgk׮e«_ծ]Jػw\tEe-_<;P~waڗ\{^noː!C~ :<_|}=~>|x,..M7ݔyeO޽Tl,3aWsIaaaz?9Kٰ߱at%}ߞc=+oyGS~ 8p++}]$[c 4??$o_z*aÆڵk.0ψ#gƬ8/{~~C{+2wqGviL:5ԩSk{nZn+Wfر5/l**;Ww>__ַaÆW^Iru9Pg4a`j_x 4O?^zuI?~|nKjv޽}C{֬Ykl7gΜ$I۶mSPP~Kp[rMU(7Nqqq}~>،=:|A:ts=7}k׮ow1K.w]cnԨQvq$ĉk_Te|O&LS~\zlKkoo0B5\{I.(kWL2%W^ye-[#<2}]~:w$ySTTTa^{-IV[U-Z$IONuUEFJ/:w~>ؔwu4lذ6M4G$7n\kM6M4nܸo՝eҥbŊtIyT4a`u4uԼKI5qrggϞiٲewO<1#F(}=J$[nI~הd̘1Iw1}Iɪעd:uj5j]ve]ʇMʺ՝aĈ1bDZlΡ6Tg5` hIBwu<䓹ӰaYpafΜSOqqqnu]?{w}7o^O%KLf+7tSUzIG}ܾ~$駟^c}ݺ1x\wu֭[^L6-~afΜ;.SL駟^aG}4SNͤIrꩧVf6\}Y~_d֬Yore~:/H3hР,Nƍ3iҤ\y啙6mZU66,w_3Lf*u裏N}yp$+WEV\^{-W]uU/_ w}V[e+ce޼y̙?Æ Kzrǖ9+W̩뮻./rfΜ\2SNyI'Eux>PӦN;#I,m۶:6|k|@kP@yڴiSz-"_N:izs9dҤI֭͛[W9s$I_`sE%I#8t_ΝsmuֹksWNH6mq]wo߾_ׯ_?'tR&O+"=rJ.\;J樣K}U͓;ȺFO>$=z(K/4w}wfΜ^z)~x]*CW\cǖn;#ӶmL0!oFzQgŋs'UV5V_yZȑ#3k֬e«%7n}[oo]nO^YdIͿzbyJf%va+of=g}rwϫse˖޽{e§9쳓d!֊«[9lU={L̝;KWƄ dn$ӦMtzgnˣ>n!I2o6lXzꕧz*M4)$zwVxlaaa9rëwqGN9n:u$STTNG݌3F.ne=ɓK/%Ix|9_g}UcmI|OqqoW]uUk ݻw VnuX sQG/($Z׫W^.$.]]wS?ݺuK3&˗//Mqqq^$.N38#I#$I~ԫW/*[;$5jj/V6h{?ƍ^b]pa'|rջᄏFë%~dwO\xᅹkbŊ*qYf#?~|vqծ;IN84m4=XN#GCͷoMߓֱ]vYdI  +>}䩧*w%֢2۾,YyZ/5i$Æ 6l+Vꫯ~'|2/m7gΜ 8p`|2}t9_~yg?Y̛7/Its=OFjVZ裏g}(~jS_$/bhӦMn$ɭޚO#GV@(&j][_c *V^9ۿm嵩K>﫷m-Q),,QGUǗWʫ_7{}٫S6m+W/,vsv_~e9:w3fdʕi޼y;g}vz7|3>lZ]'O[o d5jT>$ӦM[mwm /L^e]2xu#I\{YlY7nv!۷ϧ~?0:tԩSS޿ھO'&j]={v]&]vu]&.u.u.5lp$I%)}VdX?_K^NJr؊Toyֶ2j l4zaÆkyj3'ȫ/8=zHrt!={9眓>=j7j(O?c=6o}-Z+{nz¡5L׮]$'xbu'?IN:eʔ)?jV$;s^{합S^KÆ s'OSDicJyYu_Vb*ll KV`[?u[?u[?u _V`aM+ ORy!VU8ݻw~lb- FA]qaeĉu]PV`V PXU*Vj+JZՠ `2wܺ.MXv꺄MO]2O]2O]26mV`VY26|.#?lt@]+JZ% @`V PXU*Vj+JZ% @`V PXU*Vj+JZ% @`V PXU*Vj+JZ% @`V PXUԪu]l z]hcæMXU*VjU.6u]PGt2`+JZ6mRPPPz?~]+JZ% @`o=z Ç(m/B u)V??ҥK*;vԫW/ySUW\\#<2]t_.g0k֬r-ݻwz4m4ڵK=r1dСYxq] `駟fU:kMqqzh}_O?4>`]A[re~_emOYǥ*6e +J~tIo~S'gϞ;wn>4o޼ʡZRϢER^m6&MʤIO䤓Nʽޛ&M9{='I5k?>ǏO<sر}K;v̲e/_ΰa/aÆkɯ\2Kvo7LU8r$o;Vseeٲe_~6|7.ƍ#<[nIzeofw. nYpa SXX_=|p~ӟfiҤI6l|G裏Og͡Zn]N[bn߾}.\#FdĈygO}_%\ŋnСC/믿>EEEb-ҡC+y#N;T . ~{i]]v3a„{9ꨣңGun_ǥ2+Ԩ+2I_:EEEe}yOպ5j1coLt-cו  IDATƌ)ٳJdСY`AfΜӧ.Kz2dȐp >䤓NO`5k_馛ʴ2dH4i${o,X3fd~*$Ae˖嬳ʲe*oĈoiӦe̙Y`A4o̜93w\LO?Xzr}9rdfΜ~;SL) r!ܾ&o@ T6mJ/oߩS 2dzۖWPP`ַoy?̾믿>+Ve]N+nHޜxl͒Z ~$ 7ܐO>1M6<i׮]]fȐ!qp¼駟֭['IׯN:)]vYg)mdɒ 4(I2tМye袋?}Μ9I.SO=5͚5Kt9v[~_&I̛7o>?-[L4l0 șg$9蠃SOev+]wm#I{vz衇&I0ȑ#3u#+-ܲ5(%Au5z|'ѣG8r\zСC͛^zi}?z$5kV;vݻ'I} klѢE?)**Z|'QF9rdf͚;;j7n}&I~%g}6|A^5~l@V[Y%8 HÆ sYgUÇ裏^[.]r}~~yc_/2 JÆ ۹Z r?̸q?G}iӦ?ĉZ:v$Yti?I{Tʜkر)**Jz>Ϛk֬Y{<37n\?J]:kYU?ǯ%Μ99m'ILRG?Q~ey睳>O>}|g>~}>. A[ҧO2}IkEՂz:+2Gyd>bĈi߾}92^~$I=W=ӤI|_n?|O~w=IrkrHHf2y W~G2~s=שPnW^Ɉ#ޝGUϚd2 IHBXd]R(XZުx"zV[o\֥o+*EA@A,$d9?pY& YL83w>4$]uUM{ܸqJNNܹs[$i̙ӧO4i`.({5Yxfg>^"M^x `{5Yx+ڄI&witSpw^t*66Ok*((е^8uYzGr\ X/mVmy睧_뮻N\rF9sU}.KsQJJv8͘1Czu뭷3guIYYYK4G \[?ӧ뷿յkW.)zm۶C۶m_D\.EEE)99Y&LGXnV~=JJJ )ө *55UCĉտuU7|s+sjȐ!矯 /PZ`\.^z&o/EC3{|0 =,kVgbjs\.رC= &0nI۷oׇ~(Rk=ܣ|P;w֑#GTPPPKҥK^ݻ#0]۠A{WC ӧ5`͘1C|z꩐ݮ]jǎw*))QbbOm۶ #&&Fo^u'?Q׮]UQQ &hڼyFokǎ3g|>jњ5k6lؠ;N-_\V 7ܠ?_EEE5j.}嗺;#he˖ѣU\\.]g?}=s~yiϞ=5kF,}r81cT{_,\PK.Ք)SԫW/СCѣ>ݻW#GlR.@8l6HDEEEq 3G?2 M9,5kcY5סZ~ඵz[uU/eq,a|9I֭ӴiTZZr}[f>|vڥ5khfdffJwnr% |>]!|!n9n.FgRI"Ink\ IUe]ہ]׵.0B,9m7w#l9ZX׉*-fv]n/#?‰?## ?‰X& ^eEGGr]9@e͚4iVZ޽{+--M:UZZ&$њ#?ZdcGkb@Mv +TffeЮEGGp񨬬rDEErq6-`GKco;PhfS\\\.TQQ!'ovihVl6⺍aGsmh" &==D0)s?pb]Zpn! " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "6-11Q%x)((0$+++HÇbڵk.4@ Xzn1B JHH5yd 2ĈH/7p٥nv@[vM6M;w .Wii222_/޽{M42%%%)--r)>>ph%X&x<:u5f=?~bcc%IyyyꫯvZ߿-[跿?|=f~g̘7xCw}y0WhmX&Z|5x`}r\wQ_~.Zcsssn:eY.i~Sdn+::Z2F۲e,YKNgcnݪw .s::qN8۷+==]O|x>m=ojq@M͝Pnv)j(..VeeeM$Yxx IuO>6mZ㊊N;tmbAn[\pAR 4ȑ#+66V'O=ܣ4M:U/rȣ.Nl٢?|Xlٲ%x=zt/_zJΝ;u 8p@>}9nM~S }ݺ [o)++K/~fϿrJ͙3GC ,w}2 C-ҋ/̟rZGkԿ~z-ZH)))裏ݻwȑ#*,,ƍuW@꓄Whtb"Tiiivb:t W^رcQӰat7j R""%&&bbsbÆ ݻwp>Ţnо}t]w)11QGfΜ4?շ~ۤO>st{Ν;vk>}h˖-ڴiS9~iƍ>}t颞={6uW$/~!%Iҥy=裒GyDMz ijU,I>}&LPm]LL EGG7 hv~{C7!k< 2j?~^~e]zg5n͚5o5oxٺ[dɒn:]wu:tP+TvF.]deggkպ۔ 2dVXq~Gu%hGEEiʔ)ݻwcƌr:-:MtQ >\?OBC)55UںukOZGk՟,̇}G]ڨfv PRRbv -ĉ:q™5n89nv@(ݺu%0 {r8;5ڵku:!!!A-Z$9NM2ESLŋoӧu뭷jذa8p`Ȑ$ Ν;%IG9z:`ȑ#rK.իkHShoF=s:| 1cꫯɓ5lذ|vڋc>I~goO6}hHUZZjv -o$j\7n͛+%%ENE{Di…1119s.R >\z*zaIge]κƦο~IRjjjc+̑uV]vնm۴l2+ڼy6oެyO>;wnF.")DJKhyyyΜyz7ꭷj̘1fvC7&Nw}WՖBK,suӟ4dxuźq IDAT[ZP  &Hjl^$I\s ècumMSN;NN$_~g][c4֬K.zu!}'z4h effj̙z'=К%Iњ={\.y}Z~?_~#<'O\1X&M;2z [NӦMզ;^[P$30X $}ǭvnٲE!1 C;w$ 2ljj/}z%IӟdY _ZhNn;@ljccc%I[nU=l27NС.իJJJ?`ED4iCkaaa3f^]tiW^o|7裏$IG.<:ǎ7Nx<;wn3mǏ/˥Ç wŊoԿ]tE-Urm3gJN>-sVcfP'OTNN?,eeeɓ'UXX(+r.w]ڨ f5Lyu^>f͟"Li޼yr8q8W_}լj"7yd!; , t^;Zg8pz!mܸQTyy|>9ŋ+PqqL:8v|Ȭ^:Zp3;gϞ]+ ȞߥK͛7O_ZOO?P1cx zgܮu4u?_򗒤QFiȐ!Z|$馛nҊ+$9ʦ[nաCTXX(˥M6iȑM@K̔$uJ@(UCa񨤤DQQQr\nb TEExTVVt:+#mв\}R >4ޏtEf ۭ$hlM:UNS6m>???ؔԫWS~V9jq$CR$5.$ׁZG![6uJKth,f4֤I;4*ښUIϔ+Vh˖-:|>,ө޽{5k.첐s,]Toݻw+)))dyiZ`+eddȑ#֭f̘oY_26e~ө˗kڴiz׵k.eggkԨQ>|̙>}4jjMw=zׂ?#/ժ G?V^LeeeIz &'(^5.ҙEve'"!!˥DUVVX*//Wyy^p8dXOȵ:q:W] ڂi~«@n3HLLT~o>_^f ݡC$I} gy8o$zw` hkkWh @ G%%%*(($YVuQqqq-XEEE )!!!x@x+NhWՖ:4ԁU~m=3r:_nݺ{_|{G3fh՚ڨ&:Z,Nѵ^5Uëa*((aS=Z,*ڜa@O>~՚@zd-Jgtrq_q9U vnuԩͅWkԩӧ5sL}GzǏ_|޽{o4Z7mXZMNWh:9BWKJJV}Bj*66V:tb+*I999{uQIg -#Iӧ|Iիkk7F8rnv@SM4IVҬYx?e(5ë*..W׮]rZxveeeX%X,2 +s:u믿zK7nԱc!ChԨQp8.P[t`-fxDa Vx%ժ҉vt`mhX oR3ZQQ v)UIr\ԩ~ TQQj-+@¡aë:tP||i5ǫCkZV05 CGZJII13RRRdZUZZ*S^B v6-**WJJ,٥b(%%E~_EEEta4JVVykf6nv@[2|oO~=fhC!@ \C&WO:yzr$ A[h/^uAt*55UCUϞ=#nަO_Z%ۭ <ؔ`aR5x`rU%$$(77WG111Wdggk͚5xUΝ5eINƍCJ>`'U3mMqqq;vl0P{+@`@ֲ2~\.KWYYYn@y<۷O4vؐ27NNSoL7\+I*--Uqq "cQo.ҎQ*m T9%WoMӕfW,+))IVUVUEbbbԡC9NK$}Z _ZkDBƍ$JJJMrjc$i޽=zt… ݏzu\E䫐dwjمr0 UVV;^Жx^y^EDԩS={ֻ]޽ӧO:oUǏ_)!!Aݻw30{6;&IڵG@# L͘1C$%%%B_k}ZlYkff̙O?Tm߾]۷oק~~Z -R!CTXX#G(&&F} s--mf« C}2 :%Dn@; @[vi]$In'I*))f3eހ?\۶maX,>vgOeZue5k.XVPPPyi„ ׆ O+##Coָ۷{5\;}YڵK/#<^z%mڴIs9?^Ѿ}y[ma˓a3f5aڰa.]'OjӦMn_hժUڿ;$]|źջw0Us V<;vljդI_|Q7o`}GuWhJJJٳoDhˌAZNII$tֻ]LLLviiiA֚R}$骫҅^_yWZZZ-[UW]ΰmW[KNE9lM?U]6R*..VRR%kϞ=Zd%Iݺuӱc׿U+WTjjx5Jv]z甞zJ]vհa4poHv*KmYYY<`>314Fqqrss.N/wܡt 8P>-ZT\KZhƎ(l6O/F%ϧ \B愀_>}is%7iy*`5$"̭?ddk™Nښ{p t+-**wnQGּ ic®bN8NO>]ͮܵ;۪w8.@;PZZSN]FHC`+;vlL_~zQkj՜9sdZw^߿9nv'//Otyչ͹*z^0 C~_~_>O*(p@]|fW'0%$$nfjjҙ(!!At!Q翧3/7khI9f)))Im{;W#lӧ~ɼX2jƏǟ՘HS6={Ԁ-[oV@Ut`ڈoVҙ_lxrwVh+,, .Nj^zI<9Rv$y%I[?x܎F\|-1Bҙ-+AV\Z322}vkYVu]cǎziT:(e/((t=sH"m]bbu&IڼyjmsN)&&FLG(myCڵl6 {TTT4j)??_"sFcq\'RKh=zF:u9q$)77k¹駟j޼yɑt֭[5gI̙3_ke]&I͛7>}Z֬Y];Vmu:Z,)AH)::Z1~xviժU3)~ڵ+ǎ<,By{-6o]4rHIi֭/*++ 64'`}֪U4|p5kH]gh)2"1AS 2Dҙ(r 6$ZSRR>mڴI;vTqqqoQ_}q3g͛wWLL\.$Iݺuӱcjԩ&Ok7J9R/[9bT Z,\.ĉJNN6N81TINN֤I~z8qB_r|>Y,=Z56???]5''Gamnμ袋k۶mڶmbcczչs`'۷OGB^7xo߾@ 4a}/K^z:v쨣Gʕ+5m4\R`"ܹs 6JNNր4yd3qzW|rmٲEǎȑ#uM7)11QӦM 9Rݵn:8p dW@@XN^󕘘hvy^bbbX @ݻn&ܹSQtt:wÇs!ǥj:zFY[ݮZzҁ+ϧ]4hVXz穨PEEEe.K:uRRR Գ/ҥta܆%h'o~ӧO+==]vfϞ8\RnJD aq]XKkcYmUn[UYWX'bg!8effJwnr%[nѾ}4| @;cFTYYJ+//O6M^x!Q0k.|>uQn[v]v]6MV@+g'^e@ҏtE o pJJJj:tM0aB볳5uT9Nmڴ |t:tH.Ku]nݺ^Ӓ%K4f=syJ p\*ɐT$m!u`z;pQ5ֵM]G`8O BY,mZeZ]NKJJtQ09z`UêW8;\{.]v"666,SRR/W^yeۭ<СCuְ_0P:h uرUSFFl6nedju_% @=rmx~̧">W[C' ӧ~~ІvEGG+66VQQQf~z)]z1bTQQjǎZluUWiҤIfv+^{5KA ja2 #bMLLbQaa222tyG-5 CѣGe`x=]evhΝZv֮]+Ir:||$ժnAg6LcX TP!:j@GUNNbXtf)!!Aqqq:V }ڧ#GjѢEZ)\V[ IDATf[p(%%E_|L~]&ڱCKԱ,Zϼ:Z~ඵz[uU/eq,a|9sPff${&W0a| ^YY20 \.u]IIIJ:uJGbQLLjdeZeق![pp\*ɐT$m!u`z;pQ5ֵM]h9ZX$Ѕ5p[:s &IlMNNVIIzw^~cǎUttGp>0TQQR(//O}jTTnbccWkv`yj-+@U UUr񨴴TNR^^ èյU튎Z WCX @ ]X Z,n\.|>\`Zr:N/*J4aP5MbZedۃWva 560fh*'&+Z3|jX@ujֺW@k# `P!VzjPt` b*7&b , \[V3p]3ZWp8Dduub<X Ykv^ ܮ:GB56  VWCWk*Jp+@+Z5Z󺡹꺮y \DA`y;}p" MWk;۹D BޝGUϖL&B6E"Vԥ-.-"h[{[lOkEpZ*TZժ(JFeW(&lILBB2Lf3&!$|tf~3ɼ******IO*ŢA)ܝ;wjb [gMAW_tX#X,Lx㚳`.-zWUTTe˖@'y衇СvK/-''G3g{ zOfϞ؅ 0tmbѪUN:sΑ$= mݳgV\QFiȑ(n+ ok_ۧ˗9WBϟ/ >b{U@%ztkiu|u]2e,˥QFiڶm1_~eY,%&&*??5g̘!ŢS4MIeXo4;~xy2MS/J 2DԩS62\/o|C)))>|OݻwZ:biwkI^^n3F:uw0 رCwկ_?i޼y X_~=\mڴI1>`WK/L].Lݻ{noŋu7F\}պ馛"?Y_W\+WNҥK[ 6駟jё jVVjjj[o魷͛o|Cv***t:vw^ݻW^u]zwyݾ}^rss7MSw}z!,eddhӦM裏/ȑ#Y3gw!ٟѡz'@'{$I .aM߿_K.հat׶ĉ@T^^:|>kao5OhذaZn{͙3G6M+VPzzzOmm,Y#GD^WO>V/^믿^_׵m6y<k޽2eu7CZv֯_̶`~\.M,^Xկ4j(m޼Y%%%סC4}t$͚5KUUUtE~oQɒ$á'={$iʔ)HG١C_s:gcex 5*rȑ#;wK/icҥK5|p_^yyy-5h͚5>}N;4 2D}9zCd{$i2MSTXX%KhNxmݮ'Jvu'j޼yVV%\gXZ%H:0mIffƌ#IOdnF~$4{塚\wFyx]y啒۷x믿^qqq'Tĵ ꪫ4am޼Y/롇R ܹsp8kk޽*))Q]] $Iuuu-[oiƍO^xAVk322$I|'t\VO7o$[/ֶm_VsiwK_O4y<͘1C@@w. :Tt46{7o@{$I۷oW5k֬[tt77CrݲZ|I=Zwo>r-'~eΜ9ה)S4wVǍ=Z* ]dڴi:묳$IwyNg}G1cƴx4Vŋ8/ j̙:|M0Aiii Ib̙#IN;}բE$IOOk׮mu\eeeciΝtA 8P_ZY,.p|zR3jmo KǶZZfmaǖ4uq[c$I4׵)@JJQ@)VsfJ }>F?n뱵cus[ں-ە[sOmDVDVDVDVDVDVDVDVDVDVDVD=cV^g}VkwN]]^{5婰P555ׯK.D]vP=NXd~ՖJk-.1656Ф!!H3b]6v9N%&&*>>>tO?$ŵ;gÆ Z`*++#TRRmڴI[leuC BvWOUemz7ߦKsBuNCKЊ`0(##ۭXԦ;v駟֖-[$ITQQQ6lؠ_jhhЅ^}{:3&ǣ}iպ袋-Cݲ~*ݼo!Esb] vx<Aeddĺ=SZ|$iԨQ5k}{mΫՂ РoY7t,.t;vƎۥD -GUj{U+~UUUuN3ff͚ .@TZZ/YgYfuu@X^eĺ ts4iHH#Z;ǣDǺ&&Oɓ'_]tvvI@.zs7%`-%蠺X)JJJTRR"өI&ź E$Yb]zz :ݻ%IZ Zf֮]rO״iӔj`"W1eV" ƺNQYY)IJKKӁtwMƬYF+W=ܣ'ƢLb\ )HNn6\.=#Zj~m=1b>竢"! CyR$FdZz w<11Qa sLM2OOO$k޼yr8njq8={͛;w𹀖`MMӔoi2 C UN\.N,K+:ui.O@0iH(%pҮVWWm۶z.;333%I ׯ_8 IeVnAi\zS 쏏R||v{$jT__/׫z|>|>)11Q. +Q0aKSGyŠ6]҈4Fv+>>>*Ն l,IÇ~ :qά.*:_M݀i0i Çdەl 0@}h>X,r8r\۷ ln+êT hrζ:74;-U24뜆XNRSSc]F۷F!Iz[o>IRNNNT©+@5СCZJOOWvvRRRd uvRRRtYV~:tHuuuDŽg@24uˠKsB;%@1v2:w]IҊ+TTTe˖I?ՅS)#GZi*))IVRRRiZG! @̿*MONwk(T6uiNH_*vneffΫM6MÇW ٳ{I u]O4l0͘1#բ9-Wd222%X,JOOW||:$#4էOq4eX& qiW@dc'? 5w\YV9Ny^IõpB9Wކ+@ 40 0@.W[eU\\,# bSCff-[+Wj͚5***ԙgs=W3f .ѓ>Z[챭VYXʾX?6:nktޗ$b8Hc\ պ:UWWG5ژUqqVRRR( bDCIZIƗύf))ck<֎Q mmLk붤kt9kCYW"̨W%r)33SaZ  YDY8jf$ڧO%''Ǭd'bm\#@g# %àij*===.*/{L+@5lZ[[+0.dX.0T[[KV@7.]RЃc] 6mҚ5keUTT( _~3f."}ߐ]>O@@C1+ɪP t4jf@oeݻW555SFFrss5dȐnzm۶cv+%%EcƌIm***hƍ}qqq *..VqqV^w}ɉaޮq0 ĸcСCzJHH ]T^$tiڿ:,]tEf`t:%R*((Ѐ4m4l" ^XrJKKvHSLQZZB87|S+VP~~?S?:NaǎZx gng@oѼa|2 [u_ KNNViiipp +tZSvv.%%%)裏>Җ-[m6%%%i„ 1_qKy۶mڼy/zm> ^ASiiN?t-YD4IfӰaDO=z5otR])))I^xa$P-X+ݻt:k0a-Z$ժ -Y$zN)2 C.+%r0 G<׫={H./d4iРݻwthɑ$~y<Wh~->N?Y4cƌHնhԩz7ꫯ뿔el/iZ}\(3_ϔLCR[%#ӣ?e53:|RSSeZeZeX$)]BB飸X"IڻwLT>}Կl6>޽{#Icn8Vh! ^g߾}/$ vٳoi۶m:%I 4i$7Tjj1s}Q 7ܠ9s4#Iv튬'I-jnP( /O>D/>s9rD#G׾5N IDAT]wuZB4.4ϵW@d~ɔB L K\.`0Jx@O-BUUU!C9nذatȑ_|O?TeeeUJJ[ "IҀp8Nz=tXرCԷo_tx^Z}g'<3USS*!!AÇsnj/((߮?0R]]6mڤM6?{k f/L0B2MC)ݷ\](W';rc]jkk%ImKJJ$) fdݰ>H7niX,JHHPyy[x|eZ@ANyy$iРA=wڹsOá{Nyyy;4d=s۴in]~ׯ|>׿nݪzJ?NX01o_v\+l6)0t`*źI~д:%''d]Iڽ{>#9MoU^^o}[CzsW[B*$mjlICBfĺ݀nTbbbU=O? {9-^Xan+%%E*+++Ww].@g! ^'lIIqϭ$ӧSk('*77W۷o'|rX$m +lZ5%]XCP*AVAf,{\ f崧hm yHpqnXÒvǞͦt]|׾&Iڽ{|tC«ͷkCSѡCb]Fz)|ڲeF_z'۝MX#wEq8:u|AI҇~X" ^gђo'Y[[rIҸq㺤ȑ#1$vr%I:w0d= RVoL'V=MBBڽU^ֶ9.}vwbZ7$Hd{2Mѝ-G~*pZǎXu-՘1cc.k.I>:~x0S=mȑJNNVMM?м+VHt駷8&JIҠAZs*r%hqW4e P(R0TuCuy2MSYYYJIIQJJvl6VV+YH'4[~@(<>V:NIѹf)55Um{t^ͷiҐFg(ǣDǺ&&Oɓ'<ө@X,9Y,ĺV49*Iz:x`#Iɉ}$0>>G;outmpJM^?^?A㯼~.b%%%E˥LꬳRFFqe%ta2fK'vW]]_ڱcFӧo߾zW'xB/x(hOOIgfm͵/ƺV4uq[c$I4׵)@J 7ܠ={G2iF60   xTYY)ͦq<$jnݪP(~vnnfjh8-GV2b]N¥9!:Nn;;v=í9sLRM6Mqqq;a5kvڥiӦ;UmϞ=_}JHHҥK5hРzO p\ ɔT+l3%| Wc_ڱ:ja󹭍imݖtƕ=jLkCp2=-VVki 8ʱPXX@ өHwXWKI4$t3Q9O]]mVQQqRYFvRVVn&U.z)=Z>O-:^ݐbiM:7ժd|>ETUUHCt[mu+7aKSGyC]҈4|v+>>>*Ն l۷KƏ/☄}߯۷G~ t:DIjU\\#ͦ]v6uj׮]lӧt_m^oUiwZ24뜆Xq:1kBSUU測,IR0i;ӣ áv+))IVU[njV[njURRn1ydh(>). i@ЍneddĺN+Iڲe>VI}jZ*++SNN)uTVV*??_@@6M)))JJJjX ot_mZr~m;*..Vii飑#Gjر9sR OJV @섻;P($0 tcWuu|>LӔRvvRSSe5`PUUU:x^,&]WvVl6[$dK t`+~.IVUm61cTWW'#ϧ]v0 _~JLLሬgUWWJGv+11IpyƝW DY0h8X-))I.K^W^W~_UUUiM6^v]NS.K.j8R* X(܅kKT"-˥P($߯@ `0`0(0XVvvt:S ^% :V(k/ެV Ðal47<+`:6;7^-VjXpp4X Vǚw\m)|ªW@,`FZ 66lo?P kx_ 6kh" Ѝ566?vkV*-.**************************************{ @裏讻jw?_~:4uwjɓ'Ǻ$HCC^y}ڷojjjԿ 2D\s&L<߯wyG7nTaa As̙3vn`z"IVZ#{TZku98nSc M҈4#DnTbbc]N6mڤGyD$Y,YV8p@￯ZwqGy|IFnUUUJ۶m_W=;vlTz7@1p@M8Q׿o~3k?*jW8Hx*XToӻ6]Ҭsb]@TAy<y<nƺVO5;?#" 2GNXN5V6w=IlRR%sL-} ]]M@@7p|9ǣ>uM0A R@@ŋСC׿^ziȐ!Ʊ&IM65`nZѣGkZj5kfW; V6acc>eȴUEkW'[]ʲk`QYYY***KdթS' … /ի#Gѣ+~{zgWUL.[ N{k`qyyyȰv2dHj9M8QcMuuu/KIٳgZ+t,.GΖz nk~Ud:|kQ'mڴ$+''VfeeI6muegpwKLLԖ-[t %''ʕ+Q@@L;VyO?XVll,Y /`+**իw^}VNNt~iܸqWj:}"##մiSuIk***JjѢ:vGyDAAAU_\\իW+,,L|bbbtkN ҄ dggWH-X@4oRR+?^?\\\뫇~Xկf=z6lؠ^֭ƍ}= +Ovv]F%%%I<==Z# 8]+ȑ#z饗TZZ*IrrrRii{jΜ95jTjӦM裏klwww7+>>^l:tHջwoիW %%%)))I,XPeU֬Yŋ@&IM6UllbccsN=ze2w֤I%Ij޼ ui>}ZSHHHku;͟?d댈PDDkX.\u8)z>^zᇫcȐ!;wn`fΜvvvzM6W^z̎iժ׿jرJNNVtt:ud| Iz뭷4`c^yjٲeZd V)\{c]&I#FPJJ,Y[X`IҜ9s4d>>>zGcǎIl^&Ml2m۶:th㲳b-%%E/V~~إ.3P'>o3v:okkOW#G2*I66Uw T *͛7W%I111f~G*00,ZO?-wwweffԩS+::7#Jժw Ӆ n96|Jt>|po NvvWȓ'OjŊ2Lӟ$[[jN2E ƍ+((H;w/_nqǻ%$]|YJJJT鴱K n9&??l{ll$uet颰0ƪO>5yU*utرFs:Tk֬QJJƏ]O>ׯ_NO?[m;[R9p{ܝ,rJO'TppMHOOٳU\\~Z{ѹ+___ 0@~>3}g:t|}}kR*`Ueddhڵk222,~:dLBBMӺukIe7 YWxIG{yy?צMuVEDD(""BK,~i=5>Eh٬:ˀ.*4ibdgg+""CӧOWzz^xε<ڶm.^p7\@9=P߾}_R:uRfԤI}ڸqˬVypSluʃmڴi:$Iiii5>SSNճ>|X+VPLLRIIllle˖iٲe$ɤRqdҘ1c/6 ]+K˗/ײetQ]tI>>>ٳ&Mf͚v7eoo9s(88X۶mSdd._Ν;+00P'NoѬY3-YD_hy{{롇ȑ#ծ];Iջwo)11Qiiir|||ԻwoM0A>>>^3g,gee)++ڱnnnʂ!!!pႶo߮g*99Y)))rqq:ty BCz9ln}cmVtymVSeSU)&ɦ` ܅%Imڴr%MY|޾RIJo䆟RI|*쫸\~+GUlT7oUn&bFg`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`E`EYpg)..V~~ U\\k`2dkk+{{{9::%V |kFPRR*''Grqq! +:udO@w}͛t޽{5{ljŊu>oiifΜsiƌ8p`HOOΝ; .(##CV˖-տYf^KJJ~ŋƶ\O>5 &%%iݺuQbb._,wwwyyy) @ݻ4l⋊>#k*dffj:r"##uC^^^j۶~aΎ nO\vu]~]ڳg YfڥAbb/Iڶmm`-((ŋqFWffEi۶m~W}||k׮鱅zߪl_jjRSSu)mڴI&MҴi54ݻw+22RRYxzW-ZCQQ-[k*;;d%''ĉڼy^}h(Xd2gJJJTTTdWV3Xzٺu%Iڵs=g>}6l˩˗/W^k4~^ׁy闿$ҥKw\Cmƍ $,7v2tgӫWjƌ:uTׯ_#V4.RkǎZff]nƎMZZpႎ9"I:8w}.^ 5k,𪯯&NK* *<<\Gnbbb)Jexuf멧R쬌 ㊏W```9t!Ieh :|ڷo &X«^^^zꩧԱcGnZM4QFFui?~\ÇX@C# X666ĉUZZUVI* Oݻ+pYjN}ZO־}b+))ŋzjd2iӦ:sLOOWVZ9b,;88{|V\Yi{rrZ~,Y"z[SwÍ7xC7n԰a4`X[;C}m/{WIIV^O?Tft!mݺUw^9+^7vvvUKk+''G ,з~k=&&F111ڽ{y=3ƾrJ-ZH^T+]~]ֲeˌm=zo/6Bvvvٳty%%%D+Vнޫ=zH6ol^mӦ|}}]tIAAAy*..NYamk@׺uwyGz2ɓ֭[z^{5M%%%ڱc}]9sFWɓ[nʕ+ӧkСrvvVFFvء?X%%% z֭[:׻wo#@jtҌΡ VjuZl+11jHe173qDٳG111ƶ'OɓZ`:tÇkj޼ٱ^^^߿iӦڵ$ժlM|ᇕ«zkO>III9s+5ks^tXnݺu$))I/b0@ӟ̶-\Ξ= .D!!!ڵ~I sEGGWz$`wkjڵwuuK/TicǴcI.\hti-))gꫯ2>9ӧ[\\zgѢEڼy$m۶z7kt1Ie1hjc̙߿n24bhɒ% 3YYYZx$77o]sέuUv횱Rx͙3GYWׯ?6”.OO[ٯ_?O_~H* I4+I? jϞ=GGGkѢE/4m4; -X@ׯTDڜΝ;gq={<<<+$$΁夤$4^{MQHH+IeA>H_n9ovv\B7~?[J*w駟]KJJ[oi*--ˍ y_CUV[ ї5ڴiyU}r߾}PTx`'cbgG*44Tiii6[[[999<dXX.\ sV|AEAAA”;+W(00,Zw%=xɤѣG'0L>ݬki 7oVX'|RRYShhEk+jtAm޼~mQM4є)S'Yŷ~Uv=z<(I\///c9??_jٲ_fǼھ}{EFFˡ7 gffV׳gjkwG}TVҪUbҥK=++pvv6>0`O^C鴴4W_o,b0ڵk_PP IKN*oooEDDhɒ%4iƍg`ҥzjÇkС:{N<ӧOԩS͕$޽[ݺuuR4i"ooo]tI.\Po:… TeIOOOM:U>"""tA)66VӥK4uFyY[~pB˖-ӰaԢEaH5qD=Fag4kLo5w\c[ZZZn]yjM[:wUݍlJJJc222eɤ6mrއzH*,,$}3fYh׮%Iݻwׂ [vp+;֬3^eTcܹsT&M1&I]to/01""ASvoPK:t$ٳc;&IիWcL&ziӦi͚5Fhuڵٱm۶'OZ信[lC빹ӟw^c'~;u]rttlzk*77WV@gǎ[TTT&MO5L[>W[ 0ʕ+߿X3{*Hu<<<#1cFkX>uꔮ_.WW**?w.䤧~XvV\Yi>z뭷suamwvvZH2khhcƌ$رCv\hh?-ZWUV^^^F=dmذ1 Qٗ"##5yd}':xRSSU\\t?~\?)IFw*nO>]ml< aÆ 6lf͚͛7JLLTFFtR}:l_VzzzT J… `lBBBr=Crvvf͚dIRaau]Xѫjt|-..ƍ7c{__1֣5e~իW8^ZGv#FwΜ9x*JKK3[ԕ hlÆ _m}&NQFOLL_K?Wya?^W텅/%uIʺԤI?Pׯ_OIRTTx jժrrrs/P``$+L&=sz%uYd}]qƍS~~֯_U&,,w*,,TLLLx3fY'G:uꤑ#Gj۶m9I5`Z/krrrۍJKK>}|JoݺU;wԢE ooo9;;ŋΖ?7kxꩧP}g+WX>>>~zK.5o޼v,w Ie[=jtԁ$IرN:UotRIիWuVIw5;;[53fSNw}3fѡxm?,͚5KӦM3[ ԩrss/'Fs̙3ml/hԨQv㭉W_}Uڿ'hOgϖThzwvz4jԨJ&N<\R*,,ԡC*ۻw`VpWxԽ{wEDDH*ߛ>M&&M!ChӦMWbb_.wwwhB{V~cΝCرct!裏k׮f<[;wֶm۔ ɤ6mژ=h(nnnz74rHرCъڷoN:i> `ݻ”4]rE>>>ݻ&L`7|S}ծ]t9{1bZj?rttljJ"""{n;vLiiiɑZh:V޽%Im۶ժUtRe]tI[{_G&M|r%%%i׮]:s挒jJ үkW;׬YԽ{wmڴIqqqU۶mg:w+WjѢE:srrr'ƍ`je˖/бc%ooouYSL</hڴ{=۷OvRLL.^(___hWՆM&y5Jk׮Ullt5yxxe˖zlS kP Q氹͎f[9S+j[UcL˗MVW|$҃U&p*a6m\ vV޽Kjlǎz\) ,Ʀ,>gooWRLI%\rO]_U\._ϣ*xluc*_ 1G]b\pARYI`pW*,,7|# 4]+;ʕ+u ))))1c#{bpvX]ETvvvjѢteIҠAK/YJ`prss?mݺUΝSjj<<<`1%]+;dRPP]  ݅+,+,+,+,+,+5P5 PPk.?S\&Zv 5AԚK lmm *GGGZ p %gkVP'ruuvpuu*1Μ eVP/...tbbfgIQ~~ˁ8::E.܆akk+777(??_*..VIIKC0L z! -M].X`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX`QX=/NrWDTT4ޯQxIbRͺ)7ٙVlMRqI3Zb"*+*j0 "(*\KC_iNi^S9}x|yX(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`X(*VJ`*IǕ}mȑI۷q%UVVu pت~TOΣ @Q PT+E% @Q PT+E% @Q PT+E% @Q PT+E% @Qup4ۻwo,\0۷oFW\c ᣶6<@}$ٳ>~ƯzЇ̛7ضm[͛}=T~x<#MoC3<$y'i:<+GEn…up4۶m[͵u G}^z3+E% @Qu$jTVVvin뮻r9Dy@ҁBw«=c=GBOWmٲ+E% @Q PT}]\}}]p0`@n\y啙6mZ䭷SO={,}\!~iy֭YhQxҼ7tSѣ3{|Oyu3cǎͷL>3g̙3su[VlGB=ztn kͻư7/%%%{l^kJ# h5o; (be7̙+.\W:G#7pCSx.{onz뭹n>}\}Y*ECCC[VV+# =ihhȚ5k /d֭ysvŋgڵ)//Ϝ9s2mڴdƍy'S]]oNyK{y饗iӦ$Ɉ#cǎ)taÆ׿NCCC?viСCo߾TUUe͚56mZoCvI'ԉ:+V~lڴ)?|.>Ω$;wA'@szggϞ}m=\3f4u)--'s&}5lٲ%+VHIII>OOlH2q|̀cǎ,[o/f޼yٴiSƍk67pCyvWwkse߾}YparykԩS3t$3~\ve4iRo^1|\tE93$ofWO6-+_mݖTTTnWO=TT}g򗿜/w_/`KVX~;fɓ;$I&L'fȐ!) ٶm[h})S}ر9ӓ$+Wcu]~9;_ogOquݡ|.ٓs*ӓ${ͮ]({,k׮M;ȃ>|0wqGSXoڵyGT(?ѣGgѹsmuY@7i[n /ѣG />Ben/ MWGѩ9 B֭[$9S7cƌ$ɮ]N8!g2uN[S|9-upݿ믿$9묳zʠAZ]#]mmmo5X[v|[J]]]+7{͙3*{+) yꩧR(rW,B&L5k_Δ)S2p\2uuu%Kq IDAT9;Nڽ{wۗ$vl4f̘ ><ٱcGƍש۲dɒ,]4Æ ˍ7tSۯ~rEo޼~z444[nɛo_=UUUͱ?={lٲٲeK qϨQ<ƍ>[nΝ;SZZc9&Ǐ駟cvXg#QuuuS^^N=mӦM> 9rdL;޸qc[vFuНilْ;7pCꪜp Iz+O?t}Vë3% Z]?I)/R*++st) wdÆ پ}{z|ϔ)SR(r,^8Ç_9wܙd7v6,Mt~,]4C 7k$9궪e̘1vEo޾~nݚ|_<2$ˆ aÆ|4iR/^eMuɓ$3bĈݻ7۷o϶m2mڴNٟtH xС)))I}}}֮]~;vСC3v̜93z^ym 2$LII!ͽiӦ)))E]akΜ9/y̛7/\W^yeOEWQQh=W}=E;dٲe?~|>uiÇӟt,X[fHMMMvڕN:)_|q9N&>c%jժ4hPnᆌ9ͱk֬Ɇ :s޽mn?wy'=XsWw\x?[OmmmL6-LCCCV\>z^p 92f̘:72}]iIҩ h{֬Yg}6:|ZWW՞={O'I.䒌=Ǐq\w/--gZ*'N5\s>ÇW_穮NUUUƍ״VӧO? $4iRjzHo߾$3x\s59RRR-[_Leee|vm]:.K,Ine̚5+C SO=\{m3/g˖-ꪫ: ՠArwRϝs9я~~^MkѢEٽ{w⊌1ٳ'o{cg!CdŊYn]^xᅬ\2W]ua4kjj:N… SZZȩٳgw8ʕ+;]… gϞx≙9sfz<i&MʪUh4dȐ=:|Anzgvovf͚n'#š~ dG)Sk9 9y|C=[W^_ulܸ1vJEE:i{>۶mˊ+jժ[yg3gΜC-Ä+mZre֭[N8!rJ/ yd̙?שPްaÒ|I=cw}7+VHCCC>Od]ڿ'-[,6lȰa:=Ry.ӖƎiN˳s<92uL:5=R_WTUUksgiӦu{C+w:thXgϞjGҜwyY`A{n=4xUeee_!C䷿mV^s9o Xiնm /4-Ȱar饗ԕrر?W￟ŋ밶0ammm@ܹsgSpǎ]ڷ'}y饗RRRS?Ry.|3YjU^l޼97oΒ%K2bĈ}9SVϾ}y6tIݞ'Jo]0kkC۶mKPh+pwm߾=Gt9dٲe͛XjƍM ;>4&LjdONÆ Kiiinݺ|ɭ۵kWˁSN9%#GҥK/f94ǡ͓O>?~|Qz<-Cy睗s=77oog֭YhQvڕs=(?>_W{e+wI> d֭=zts $4hPn,Fʖ-[:9AVvi9Gѣs-!IgϞvi dwS`YYY&Ogm׬YdW{.TWWg͚5y3lذ{]{ر#'Ng].z<M%%%0aB&L.(j^y,_h?G!C"y7r:n֭I>?^RZZ+iT($FP<8vq%MyĖ֭[4exu߾}yw°N?$Clk׮=hΝ;wfٲeIYfu=\q?~|_(dy72hР\y啽A?8OzI{6u.5s$ɲe˲}VǼkI)SJ bŊVԵsΦ@رc{dN^ fڴi9rd2ky׮]y饗|򔔔䬳:`g?c=mԩ:uj駟ի:mݺ5=Xvޝc6,\sMF={Ͼ}=_gl߾==\dΜ9:thpv(p~z;3K67m+**R^n̙3fL3o޼Ma,X 7nѣsgJ Æ k^xq^y${뭷O1aÆ;۶m˛oW_}5j9ٳ'B!Ǐ͛;g͚5ywXW[[YLO<1]tQSA~oXKiĈ[odڵٱcG3x7.w\< 2}Ǎ3fw>‡֧>\2WζmRWW̘1#gqFz}92\sM}ѼygsW-mٲ%Κ텿d=χ.L4)֭ˎ;k׮ٳ'ÇĉsYgeذa}]&E2lذ|s˛[sqeҤI93{=|]^^s6}oٲ%8qbf̘SN9%?p]R]]}!CcͨQrgdܸqVk7%m,otPKZom+mٶuÓTVV.Nߒ}]***ilUQQqIC4|QHRs46rLrp`P^1Ѿ]oǽ8jPTKꫯ-ץaM7ݔ;}swz\u}]>hṳIr' _B&MGAx'r=n0aBN'> 0j>" pꩧ6݂.رc$wβerWmf̘'I.Œ=:/{\2^zi' V_~y~$I6nwY`A?3iҤx㍙3gNOOr <8/}… 3mڴ{I?ϒ%K~7.sNdذaI7o^n\xZ*SN??P(ϯlܸ1{͔)Sr _BL:`_|q~_$I6oؿ˿̪Urgoo /c=6Ot>{,_<[lɔ)Sr뭷φ 0ƍKw}y3xg?kqWՌ3& /̦M$]o޽s&><җaÆ! ,H\ve򗿜aÆeӦM̈#z=mW,[=h vEOFOP_ZWZZ_K!9sz„ ) ?e9sdy嗛:@.^8IrgcM@ܹss''I>\tEyjժW^^꼶6uuuI-[dӦM5jTOӧw>h]iiig=zE%I.| _HL>=B! t@M6__Аw}7rJ>'UUUy2bĈp 9Mp@QJ C# @ s=7wqGCljStj}ǎIR/^g?~|^x$UW]$LuuuG#OdY|yods7xL| Yg/~:ujνcǎN;`[iiiSNiZ޳gOiΜ9Y`AV\s2cƌ96p!oVQ qe9RR~Er.Ν;0.ʰaòs,Y$~z{tgI69sff͚u?No|#sɣ>΢EhѢ_u.NGN73v،92ƍQCCCc&I}}}ma\zy'lٲܹ3?||_+@'@m aᤓN:igܹ3=P;M7ݔ$YjA/dɒά~؇1cƤ*;mgBUV[V`V:4mڴ?[6׭[v;=:NMMM^{|S1k֬Y5kV BV^|;ٹsgyV褞_%@۳e˖J*++S]]gy9$ҥKhѢ$UW]uO~I+Vn^[[_~S-d޼yYdImۖB}9ξmhנA$;vHUUUI&%Ivޝ?V?˗4GIII?$~?[oKiҥK}vMvz+$))--khhpNK~{iN8ᄬ[./rn$yMg͚;.^z 2~{^{# /|!K.Ν;ߛݛ'm~Nt_iii݇G8X~ IR(v%P8.~3fL9Ԥ$w2{5*ÇYg}{M%+))9e]vP<9묳2f̘f„ ;wna җ38#)++رcs{^F}]-<甗Hi>}K;aرO$5I= I?|nl9.υvmkLrLֶ~<|Ÿ 4$_:>ld9s8kI &CͲn-ç͗>ǯwj+QڶΌo\hhm]wjKR?eky$^zi"8|\kiGAC ؾpw ޡ%m,oi'/ir{iJZ)iܸ\rهI79Lw'Meee_.'JK~]dwX I.?IDATQ7ֆ6 -֧ւ -^7_nks1]zT"kk`m뚿n+Q=1_gho\kG]~%}/4ϱ}mkʺH:H1~}5__=Qw{s0pk[r|icJZsG3z*דkH8]%Q^xo[0@ok[0VGjL\Kmk9_[~kp-|[Klh1I꯿UUU'BGZUU_$ٟmK̼5MQ+9a`=Np嶶67nߗ0cƌ۳g3+yNmϞ=̘1,Ӗ«IYՖʶt'־ڷ_;]љ ;!{'IR|}jk;bm,ɀ|ؑzzϭi- ƘƐg]|I«-[{nmLW«6Z Ht֖;ӑr{ kG5w7~IeI@V01_V|q:Umu]mԙiumuU<O{Jy_p(|Lrg֥F 9;jg5<^_.u&$ @ZPk1] 9n鏁Xs` -R;3m}mk(ڸoiZh\êm2D @V piGմ@kgm{h/3Eu6`sv5|]kԖ毛o>Ojq̓-lL4^`ւmR[ZژΪUfޘR K7Om̸]L֙֎Z@Z[vsm-skٴXkU[fz(e5kh6; {8#kw;1۪7veU׷q]TȁX[$Iͻ6nL\;z4?Fk׶jmoLG"GB?NXkƀjkbm-ie$W/7Bj\@Z`uL(Ԛ^m8 ѶR'e}]@驰d{ײjk-ugm9ok]c[jXm 庶 {&)`̚㩘EuN4((*s6Y`|\հ9=\ssīF9%?s/v`=/"q񹫯lwhswl݆{;؅`l{ܮ(u{.nMu,q%0|cԱ{SvG߿BzSǤ08Ԍw;MŦ{xG^ٽxWuBEĚfmg;kHRix6<};}Ez}>q-"[r&Z͝K]_[˕92ssR9 RKvc?b,xWrv՟k=j=N k!|WsvW՚XjejXxW XvkXK}vϝ+})'G;-^ qa뙸vvr-1$м:4\ŨYSDzB;^ݹ9^:ߕ,lxӱ'yt]mzwJcF?jݽ5#5s_wBy?{s WS^W Xkۍ^G0Tt]cxu !< knٰOxW\z\A9ߌXC( YKhҫ;EwūlV XCx'b=| c{'`X'v̙]WKԞsGLZtx}:b*;_֌Y]Vό9 ]j ev` ]Xƴ_Yksf^Sė+i>ZZ&^ a]XƜXsWC֒9J=3]蚻yj+su+G1WwP=LWl0yvc{cī[5} YS㮄Oxz; GK*\fz]^.{cφWsu-L|Zs]͵gRszXVXC7b:o 8jvZ3k#ӧջ"%wFW#֚9j?$bU>ϳ_=ڱ"j0ca癝U[īK?zXs[Q2ϕy >W9_{st<-Zƕs Hok;YwoŦ{םK?kګ/7bȫl]+^دЙ'Ȗ;XoyŤ䴎VW\ m;`-wEwD*ݰkSf!k='[穨T$rY}O+"^M %bMg=x'<dޱxe^@ 2W`,=w{[;5g/w/^λջ~C!b=>:z5JD U`7~=IūufX{^'=$^-$T3{'p>uW+y JBv?Vv[D=+ǣoHkz6{X%a=aHzy#k˺zYǐą,{YG 0^:&lZ0(5{Pi-C3qMc(㚆%lGϵu@FkX{|{^9ymC1og<akp9#= @FAGZ밄yn1j:꺇#L| }u3D33㳟=CS[3X}ns%Qa?|xl9t@, '\X_>N!d|FPO1q8|VpL:Q|n7`c2YDs0d0"č#BČċ|'`+RbUv w`M"UNr'/T>KJo.քDD-B ^IENDB`easyeffects-7.1.7/images/easyeffects-light-screenshot-3.png000066400000000000000000005230251463533416400237430ustar00rootroot00000000000000PNG  IHDR sBIT|dtEXtSoftwaregnome-screenshot> IDATxy\e/_U: aAYH. $ 38l0* xEёg e؍@XH 1 tGSEu֮ꮪyꩳ=>'Ч;DMu[f"G3q>/AZ ^904 g‡Ty@5[)I0| P+YŠ8h!Lxq3 !Œ1Hun\LYA@uzlm~~ e¬-J5{Y[ dY[Pd3 61gdmBBOK6?>!o q*ٔ g}|@o|v<-A1 (/?9Zj;[M$VJhPej8?Ft4PW3~wht{3i1 B>WUZAYm<-O3M0x D3]deB[04:9СVs{e%AE~Yի:'G/*@!:`֫_@kW@Pamgp}9z6l k @v\DitZEB} t7Gp}ι04 l5]2X*Z%5*Z~}m3R(ٗ`gazUe!X\5Ik 6"*Z!ʵRxyOZS=B} 6) 4zV}5"4Y>fm kBx@UvmT!Zdbm"ƒ dx?}G_*֫?^% V[ k ߟOWZʬ+%?YKj;PMLX4,??Dj-զ}ݿs`h5ZMLכk‡5cxZ­Ŷu. WRMB "t6j_í\ aJjBDV #ZJ% Ŗ%>bBїj#}ZmFid4{ȱU\m kXg;`3«լWh??3!́ ['b{PI}jh*Q5jujՐ ꡍ +P-ͫaj¬YCUh^wpjS*YKezYX[P6{x5QR+ 5ZM5WRab*]WトX]Bu6Cq 6*ڗjC\* .Zt b`ؓuC«Q䘆0TLU}5Tb-uL!֡:㮦j«T]&Z.P=efgAjgV3Ac㸛%_rVMz0@B*W1*:1WwxTJVˍu(PkXPXՄY+ {C}5BC14\MbZ«U+ $[8Ʃ$Dٗhh%AJ#ZM?BXog5ZlJ)\ kuT`j@+FͼW._gjZI\B{_ P 6j«BWf-ba6`ełY B/L*5JAá^oJPVmд\5rXX:Vڬ$ZMRrV nKTJ*0FUd$`)dk!BaZ "T}jfY=«łUZTuRJCVc-bj!VUX`jAbfdJ.UXrZ\r*Zi4TP]PBY«T_kxł+v V z/Uy\شT5ZBQUJ}믒>+?_MxB}/5C*  Vb-hk{YVF-Wä}Ys>K "-,ZM彗 7 Sl֕ Z !*V_WU.-W%~+ \MiWh]}4f@!\,__e5?Ԛd-V5OWb-T5_-!V*5z-dRm^ͼW۶ayv C]#wS{ g"gyn,7(2wt"]"&k[jJԺ1^}\JKW +Uu5?Țny۾?>ojUAU[Y3BUSyӹKzjUa'9$Xc˯JZmrW 淯6Z*iWs=h̙=zAdrD"1:J 0%ɮt:.J-_n{36z#bC濪 Wk :X+\}Z(Zj:}2Mj2o:w]"""bxoqC[[۴LǙ*dBa֮_ov{X;#+ U Y3"6P  F`@~QW k%#yϼ#btD ?zj:T*tZx2yL,"mիB'e+w+֕–yAcP4.ZįWq/˟οxʫW^ye֘1cNThZ%^X׮]{n(w꫅t(3]iBQ 4e]i\صX85Pb<(^mX|DPA֍7޷;\=CvìniQ8ؚ?]]rARAKoRȭjm &_69? *"7~˯LɴU}˝/$WiQZmP-lzj_JJdJ[DDW^% @+"'3o Mg׫Uڕ W.M WGDİccƌ99BxW3fwǢ(}+*PҧW J`y,$ VRUP)B9.)\z#tz*-Hd^ǏX]N""+w:>r9eOڶ\bJ" Vھ& GD7N:« Lv-Nz79}(K歫wFm@je8IUnͯZ\r[D͝;mmm"WZMwwwlܸ16mݑJo$LưabÆ kt:D"ڦ͝;gyɺmzInN.UQBșmeWo_hr}V!e$zuՆOK)U)TDuªɼdȈh_rľtZEtwwcÆ  y#F#G I"D"tmS1"GOX5{f:7?y"gYhyPuQMr}UPB-Z Z,:,"_|Ż&}#T_h6l5kBpMW&˖H$wѓy+TB#sՒѫ`)"kDj/Ua5w}ub 1?ldD/_[Ǩ ֯_PĨQbȑ@Taݸq};?{UXs+vG*UXZmY_M!@XSMx6|DB""1bĈ&aUhr*ѻlqٺ| ,~kcZ]trș 9yM7NGEM;֮]aXvmtwwo@QL[:uM7=k\.4Wv`mĉS>Rwxt+;c«`P,@2ٶwn[WF T9f16`mNR+-C\]2o;v%@Hrh16lPNrn *FkSl}J{ ==jITW.3*wAK$J&qF.@}u+Vu5Pͺ*jr|QU6X'NIbdD$,М6m!}M&n-e"J[ 4BUjkj?.w,JZg 0$x 9&.(T*6m]]]T*RTn 4d$6lX#lfr+KL*uͮzp*+-+\MP9WRTkHT*6n6lmttwwGwwwIň#YìUD-t-]r# ZJ [WmXP 53_$rBRT_>:;;k+bݺu[ȑ#)ȚKGg~EֈëGPi_Pj5XGike«-n/}wvvFggg5*F/ Wȴ k_M )SkeWDNJjWWW﫣#6nG ; WZjeKFDx#;ôJՄ\3ɼe 6[o5 Ռx뭷bÆ spɜ蜤^Z9ڬ?jUI5D|>r/f(3֮]۰]6:;;O4d=~Ҭ*ͨT0i_O eOJ3֭[aĺubՒf?Ŷ˫Fɔ:ʥ狅WUU-&?ZMmAe|'֮]gqF|Cjmܸ1~_}K.=#98c +Wn!,XUm;jԨ2eJs91a„~! ]6lhjƺu"HĈ#ryruTKhYt[Vɺ!{b!e"`Y7,=ʴUV͏HREfjժFe<=#FĿưa<2*!ڽ_~+.8q +WgoVMl~׿PG]]]5_rhkߚdODn„ ;zw:~wY=>rGκWxo[h]F~P 5]dyd(6YɠՈn5e/$f̘3f̈O>9~_5z8ВëÆ D¯Ъ6nX2dɒcӦM82|nᆺ!쭷ފo#2j&[5W8( k5$'/t/;Z*<и@ *^M$}.l?/^XdIq0",XPC룫(+֯_akq[Ϸ8z$jb͚57""裏nwu]1gΜ^/^\0zgjhqw_m'N8~ nު1cFv*rhTjٛQGGG1 J$""]גCӜED@* ~ 6,; =~Ǐ~x7z-_xq\~ëGz@-[K.@4YeӒZi5V:uw!) -"c1cF|R~8s6c{)=GL~_͖ WMAM}V\?)rf3T*w쌑#G6>ZZ*@V\xoo_ly[[[㎱;>hooozxXxq̛7/?~|7.N?ַUUT*ʈ ㎸ bÆ D"ww@ /""-Z>hcƌ1#~'>Q䎎 _ &ĕW^@ ??y&L(~:;E!RSO=_7|sL06n!Tmƍ[4zklKVDWWW,[,-[ϏgqyԩS=4뮋?~{wD2P{キhx5"6 ~s믿s̉g}vuVUVo8S +Vr?_|1"z}m5<>eʔ^gy&:ڥRx衇bݺueX.\nb]v;S l{:#"bm:+&MTEn>Y 64[45|iaŊqeūo=f͚f͊}{u /ĝwޙq IDAT1d2ı[@S{ot3Տ~0K,Yf qM7X͛_~y\~zhqP>Ammv7”)Sz/Z`Wx5"+on5f<~JKRUs?+Wo~mO׿lx]]]JjAdD+޹hœcnSN3<3""y~?^t7͘={v#/-[ ,Ɣ[gqF|ӟ7VZ^{m̟??{O|xtǥ^eÆ YfG]@9s7[bŊ9sDD;o62B~7ovv3gΌ;RT,Y$yxGmy^C›6mk*ㄡh-3f̈Tʩ~QG-{^vک 6?,e |_܊VcƤIt҈;cǎm38#DG?{5Zʄ `͜å̞=[x!n<'?UVeO<8S#xnmL6-O~_Ÿq|0Ur?=.4O"ɓ']w/r]6ƌӫݓO>nooφ{^m{sݮَj77q7f绻v??x\uU/>vuu5[l@U;mjkkN;ײ^zAN?8P fW~(͊+«м֬Y<@v~}N;Wx5q󝝝٠ 3fd_'{キ!WiSLNRxg{_n],^8""&NЇo~cԨQ2$Z_̜93>w >裏 |,\Z`M`(V` Q?'`c^+W̾r)ǭK,'>^x'⥗^^{-~c=⤓N};NǓO>/cٲeoFWWWlֱ;A'c-]+… Tioo_5RkXzxVo}{o7MG)ze'?mO=T_WqWgg$}xɒ%/9;5.<@\3ĉ'=W{DD^::묈 g6.]lM;ov 5Nhe2__|1c=S/ӧOxꩧ_m6w8餓b]wlx .w:}sϝ;7v}ljSA~rD7&Mԫ]-_jCz衑L&#JEDĢEϮ駳&OSL~f…~… ӹjP8#"oo~m~ON:cM.{P A]fMofٲeq뭷ܹs#V?fowttٳҥKcҥgԧRT\veo_=^x饗zmӗT/ZC«}L*U*1nܸ8S㠃>{t2߿SOEDdlÆ 8j_2n^U-[˖-gGydCw .& ?Sevmq뭷=x .8cmЪ*\N_;vl3DDd3|ICM6O?ӦM 6?m?y䪏=2Oi|FBy*+ѴAlX[Ǡrfm^~>8""̙vX3&~HR08C"&enXtvv):;;cbŊ2eJ2gĉ1uXtiG?޻2kUxhoF̙7tSjժĉ{Vʎ; Rxc뭷8""&L&Me˖Ŋ+"'?"h@672nܸXn]eggg|;߉;vqǚW8epsR""-4J'/#z}>qhood2=5jT|ODD? >s>nֱ{V}sKUkzW#;:rL[4TWWW>)"{=)ߴi裏v!^}s='yEDĈ#k;"z`xWƽt:~do=~?яE]k_ݽٗd^gώn-"zqjSjC~*:::j~ڵqUݶnk~5X?>;wnyYf~6ĦM;ǑJ+~??4zc-Έ>F#GWǨQӹ.Hx`y晱>DwwwGr-s/硇*y?eqƶn7ng?{~ߍ}kuk5~r)^}1eʔ矏<0/_#"b1cDDԩS{,o~Ij.vP4#Hl.M$64hTPk ʪ~ӟOӢolSO=5>e3!y#8"{3-['xb[/bv]nU ĝw&M'FDO 1}OO=Tb=KlE2O~5y7+5?vؚQSO=5{Srq '#'J [#"bձN;EDO9jp)LW\j8ʝvi*~ӟz(^~yLw) 'J \ YO.믖{wl?)""-Zx`6H͘:uj̞=;""VXK.w=.\m3y>{DPBaӾ?~\s5J6[NcΜ9w\]W'H7J &JH&1s83K4:蠂sow}q}w>裏~8"zqUWED;찘9sf}u?vr5kzU,%̋XLO nڴ)VXo}GP.dEe{lc=6;]v٥#{ [Uo1dt6m˗g?+}Qp"ɓ'g^hQDTu nҥK#"v!oe2;cvR2_d25C_+BffY:}{sLkjj֖lWcw]v%>wrXȑ#7ӎ:X~}?իWgۼ1o޼7o^̜93/G"~*UxXUx~r1jժ׾f͊>qv >gկ~_`Ay%<8cko?&j͚5 ;,蹩|$""?7o^,Y{W|0;[ц^k֬`eHɥj?8bűpxg㷿m_>""8hMT5㩷O?=cܹyF+WnD"[mUY&""FD+4C9$nO8#JVy7o^Z*;?eʔmvs/;IƎ;Xm#4}]]]`xbÇ__|q^{W\qE63dӧOo_ly睋*2O ѣGcHERJ]>"LF*;bݺufԩo^kr@ǰabӦM}GkvʫsN*!L%QFtOOEiQ-m6P\=k3vmŋwމѣG|5jdٟYviqWď^[pa]Q?r)jyDDĵ^+W,L!}N;š7bΜ9Eo$>ڪ_y啚ƗVƍ7[`qbܸqFc^t:lnĉ1{_92F| _|;/[.l3gΌ'A׿uvzUe1:}k=QGk)j~uj?6l|ȑ[dnjS~"z?^}O^}ό36{>ׯ8S n7cƌK6Pwww|_{w@ eΜ9:ꨲ۝xq''}@83z.ĬYG_=:;;c8.vD}ٽ!oFDn+;G/[,?v,Y$tx⮻ʮ?c{o8Z>رc#'$}%dCÇN8!?뮋N8!{C|ݺuq%IJe"'vg4`+^x!{s=qg#~]w5?{x7""^[o>+Ou9[ne}uQT{r8#7@{ &^3_3fL l8L}2HYg+Q(Z=ZZ5lWC"а.駟s΍%K!;C_>^y7pCx[o5kL81ui?=ZO}Sq衇k_Z3͋?>"">Ǽy}M}R+#Ƕ@3 Le| _d2⪫.yD_~]tD"7ĉc=VJ||VȾs9'<쌯|+|cƌ̮zOlq2L81."NSO=_ /uEW_}u".([kqرccӦMi֫vm{wSSTUi%&Lwo{, ѣ1~~pɓol= &ԩSzqPd2mmm5?j„ qӋ9c=n喚ëmmm)C+I'6l[o56n]]]go=%KĒ%K6k1mڴ~>/c=O>duQ}矏+>G[[[\qq /Ps߉Đ"D2(bM&G eBЯ͘:uj|_9sK8qb|-TeKzc2a+:;;^+>3gΌ{'"z~w|'#"b…~~t:lo]tQ9)sGy]w]XlY1iҤ8ꨣ'FDěo-z(xlD".7[A:}wz-q7{;bĈ>XӧO#F2$83b̙W^y%^}xcvŤIz#|饗'+Vի;v}N]wݕtVgos=?!d.ـoYfcűz0aBL<9N>«'C'>jꫯΆǞx^!bƍ^xaˇW#".xg+Wĉcڴiqg ET:馛~<~{cԩqٳK}* rr8{&Oܫj@Q⠃~$b`UqPXn]QFA:r'L6r˭}eY6,g]+llD$VZ5?"K/ǠaÆŬY裏nh Vj*Nܹsc޼ybyDїB*V^guVvk]v٥#:=VZ7|s{e+M >?p߰l9{=YX}]>}?/%Z0z;vlixk/7@=ztV^݀AK@hnnزeKܹ3k666رctڍa0L566{[nw֘1c׀.0̵Dssslݺ5~ߗܣGe=/+Ԁ|>cǎؾ}{l۶-v9s566Fsss5Jp`a$GGGG ] K|>FGرcGܹ3vIDDD.|>|>1kRu0444B jhhv:磹9jF`]VFFU&CVO `ihhp1Pf04|U" LKKK > ' LCCCVZ}@3fL1c$ TKKXajmmj7jVc9c֭m۶j7^sssDCCC5Mj۷o;vĮ]M/GCCC455ŨQWLXF444DKKۖPnEL )V2% @XȔ+` SdJL j7lcǎ*zkjjvȐXȔXG{+0%IRsr`ڪ2dV2% @XȔ+` SdJL )V2% @XȔ+jv $I*v\.Ws@+` SdJL )V2% @XȔ+` Sd Z$IEΛ*r^ @XTc@eTns cV2% @XTc N$9o.y'+)+eeEPm"EP X 4|@}` SdJL )V2X)I7UC% e-_P_XTcPo$ys\E Pn#@C XUUw" G& 02;6Ԣ|@}+#)`++ԁJ<a9 d TLV/6V&U*! PijcV5jM X`ԝ"}+)+PP^ t' * l@-``XM02 P3|T+@ 啯v/d ,I;UTN~'> d XAX`,:vW+@XNć`Wj7" @`m"zߺ([$ИWڣÙXȔX,@  `U5W`nEL j7"I7UÉ;V,*inEL )V2X@IT伹\"XaΤ#@2 GȄ7-蒯v/d ;IT伹\"F&+)+5'UD+uG/[Dd!_P_ Ì20YL )V2X)I7U V` SdJL5VD$IRr +)V2% @XȔ+` Sd #I;U>V0A|@}` SdJL )V2Xп$I*r\.W +nEL j7%IRrJ<K |@}+@ Y.'ѲěO@}+` Sn@$IRr^YL )V2% @XȔ+` Sd Z$IΝ2V嵲:U!,%啯v/dJL )V2X@%$IRsrXȔ+` SdJL j7j]$9o.yڬ @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @XȔ+` SdJL )V2% @``$ys\E +` SdJL j7r#:Y^TiZ~ڸHN3ƵFui_'kjZ#:Y^TiZ~ڸHN3ƵFu65ҮLqv,gZ~ڸHN3ƵFu /+)V2% @X̔)S⢋.+WƋ/[nm۶<gyZ[[kgy&}ؼys@iiIiǙ.i a$*׼P+<<`$+hόTf*]Zxq}VXQO{{{ Pհ5*"{n5[]k\D쵻]wׄ51"&EľkrD쿻#⠈8$"#Ј8,"i1="#bf[[[r&O'tP}_|dxTvu)K,w[_ ,Hmo?SOx\Y'|r2Id…{<]6o񍍍xc=;VJj=%믿tI}f={ƈ.7nR\ ,Hy=O>qiƉ1u~1cF}Cn'Pq 7 x#<2=~Jsر//qzL?sUWřgY;wmϚ5+,ug}+WƁXvqt7n\E8Qy?2?:OK3^e}8kڰaC\s5qqĉC.,mV稣:v޼y1cƌo~X`A\poO}*; ]ve0]|E/Lo8cƌ|cƹxj?9WZw^uܸqhѢƍ㤓N6mZ(! ݫwyg_E̙3'N?x뭷 ^}>w7qw\8o/DDo|s5I8cԩ1s̸ꪫbÆ #8fc|1>@i'}]PƙP/?1^f(ϣiq~cYRKv-=Lp僻Zbx\pR]Kw-U<1:/ZxrѹAѹ r{t.|Xt.<-:M>":Q֖L>=g>>_kJ.駟^ط/cTlٲ%I$y뭷tk[_O=T'?)z,'k׮-YGo׭[Ts)yW?ǯ{)Uua%\N<Ģ~v'8Z|yѹN8ᄪ{)Uu%K.m`qb„ RWr4AU~uyD*5+mL3^᡼T=TѴ'HYf.|bŊ}S]-ikkK"bftfߎ,ܴYY|x/w7):x]^Wn+7.ugg{GE|a_Į|bc95 udͱ|GE'N,njjN:vx' w_l޼}'P|ߌ1cDDW_]rjCSSSEutt/vת,ݏaZn],]4^y̯}Gm'?)~'c˖-ٳgg.i֯_IիcΝ[ڧRcܹ>^şɟ~os]v;iƉz+ռgi?ӌ/(m8慄7v^`zy4m?7Nq$ɀ{>xBq㊶mO:Df͚wUxʔ)1v ؓٳgǼy""?i,[17Ԇuy |>_Bկ~U~ec9&?5j0aBv[w>Y0mڴ4(G?Ztϧz*ky1zҥK36$ }}¨{wJ;NTb|҆OBL`Ɨ'`3,^jUԩS_~^7tSDt~.wo K,)|GG}-O;,vv[ѱ9ԏ??6nk֬uśo˖-C9mV}m744ɓ ۭPG>Ņ^-{'c6l[o5s9;::Llu⪫W^y%6o6m7x#ng}JDy?zJr/>0~2f`g: ?8oK/gnU&JDD̜93>u/ڧ'7m3f̈W^y%֮]SLM63~5 Qv[[G8.رcGDD\ves/~XpaDDO:֯__t~h5,X?Nɳ|3E/aD^{UB}qgѣc۶m~7?^ӧqW^jUw&׆ghꫯ뮻.:&M?b9N dr/>Ի./4PO?+9>e %\IU+WM6-^xᅢ}8XzF?_5G}4M_{k08?A,] IDAT4Ow_}5"bҥ]F;wԩq 7ZE7Y\:o?+5>%@iiqҹ뮻YK_Ҡ>Ikkmm￿ڋ-իWv=XĖ$|_//}'K᧹9ᄌ[{Ɉ|}}/KNI?wߍ%K)SN:uj\z[ow}oo]n]?,lo|0,kǝwkJhhh ~mofC ]o(uӟ4:?~|}EΟ?'3Y y]^73`Ǘr'``暢>qYgya-WʗG5QܣFw1jj]"bݵ&쮉1)"]#bu@DE!FaqxDLqDD3ڒ$" Ԕ<#Iw_}>ϊ˒HOL2%F>'xbSJN:B{'|>_x_.YRQ7|snٲ% }'ikkKdΝǯڢcsjϟ_.\8sacǎ¹^|^}K^|Ť?O>s]կ~hs/r̘1#!~_Ƕmwߍ{,͛ &I-a${cq) >W[+s9h`{_x]~+鼃'2dc(JD?4B=+?9>%@iiqzƒ%K^{l,[:O^zRMfN-^h;#.=aÆ>>=2:𪫮cX<#q'G #QF|^q饗FDC)U۫Z=nܸیFDqWW\e˖o~[lLCNmݺ5z'!+R.&MN;_*"ׂzs{E/e0Pl s|1>@i'y]>Ti s^}(Ks N[[[\2ƌS?x[EY]uUlٲ "I=aÆ~W>cohhc9/zcj _OgvA&LPZ?vN$6m4c[ZZSO-l?emi׮]EۣGصO nBz7oۯ>`#6N ur/($RBS,׼as ѣ~]C=SV1֙ /0w?(y;G-l}CN;#O!WRfSϑGӦMɓ'='I빿9׻voԓ=C#(zO/~g _cH3TVf|)'x]FyCr̫{-m?7N}qqĕW^Y1\4Vdgq-_Xzuwy}K/C=TK?+ꫯ̝;Z[[w-lvmqOm͚5;^{W\qE$I+VXpa|-nݺ^9 _f͊#<GVY?#C>lӧO . ?Sys'?Xt#T_2:,AmjN /Q jQ"GVcպE^k5~wM]#bRD컻&G뀈80"C"=""#∈8>"f%/NO"|O<~cRթ֢dɒ>ӿuWy|ϕu7'I|;);mڴzꤩ.\X 'P+j=ӎOu4D7YgQFR=c .,:.8qu jkO)y.Wb|Pt'x]J*GL3^ၾT=TѴ'HYf.-^>+V(ڧ7=k%ׯ֬Y%mmmIĎљٸâ3+ٹ3Kw@&Eg+וu{_ `l`/+ؕO,c,GV&}HGGGG|S 6Ϛ5kb…5 ( |+lٲ=$I}ϡ=CqiŎ;}믿s̉-lݺ5?x+r6mw_EjsqK' Pyi^vݞyus ޾SN=j75VԞW^y%9XhQ̛7/L??M7۷ov3!пaxgΣ,<k (bMqcԸƘIMt8=1>db:v3mv`KpŅE@B,,m0uSUE>s<{Ƿy?{~=zt۳r̜93?389x.]O~9sr駧6#GL{{{V^gy&?яvx_\z9ꨣRSS7f…1cFngY|y.œy晩ѣ3hРlڴ)ZxyY|>.˨Q sO`f͚L:5]w]:th6lؐٳgo?]/_z!z:{ =Lީugcl󼣾My흟]N˝ .oiK%dժUݜWmmmdժUg%iORwm<ړc:ܱuno۷6=۝1>W&{XS)V+}J>% @*/v+WXdIdE~$IRQQQJ f`O ЧXS)V+}J>% @`O ЧXS.81MMMiiiI[[[K>WZZTVV* Z[[Ԕ洶G)++KEEE*++SVVV~L'ZZZR__bE֖[f֭OUUU " 7Z[[АbB?֖477!4h +-544dӦM.466fذa4hPءl޼ejjjJSSSSUUUr~͛7 .ڴi?ZCC͛7e+kR___2`R__=/566nAihhHcccVWyЦMR2 Z[[ͼJۼysZ[[]O̫w|̫+>[@V`FBkkk]&IX^ w W|D.6B]bg HX^;||Dmmm.K@XS)V+}J>% @`O ЧXS4Z[[ww.zTn|-vpP`Zr衇Cy=z1=̟?O֭[bѣ~BPD.`gnn>}L6HO?=+Vn{EEE?y9'',B{>'K/e̘1{snuXo"W|s˚5k>`1"#F'K/4#F(B 3<ݶz[YhQ}|g_W.k̘1#/Rd͚5뮻\ю`u֬Z*/R~k?^E@gҥm1cFۋPQy뭷rue.ewػH:!Vѣs'NGF Bv+Яu}xayժU?~1JUg+Wfʕys=䤓N*߲eK/sp)S+vID`p|;~' [ZZ3Bv+o,_رc =P1g9䐜{y衇r?ٴiS+u뮻dɒ<]ޯN`S]]n!C-lN?@5k֬Y&I2q~?\?cƌ}"_}m ,(R5!VOyyyjkk ì_.'<@a#HK/?'Ijժ̟??ӦM8}ѼysQG3Lw';.Wޥ~=P+RVVVX|ˣ>^x!n&M??G>OKKKn|k_RԩS ?OsyunM7ݔ/ӧOK/L4)^{m.]:`馛r|vOKKK-[VX?Ӻ׿g}6{3{]%o/~;#&LȆ rW>/>l,YѣGcfַdɒ<YhQ֮]Cg.,=#<7x#ׯOKKK9O?TUUQ{b`[.w.O? >eY2k֬|OKK^ٳ3k֬.۟~lzz뭩)okk7̜9Ǿz>OQ{t';3$92y$IYYY9OnǸ[ 92%%%TZX2ۅW;ҥK{8+V(a|n… {X{ol{ɇ?h~$Iiiiu>gϞ]_ׅ `BxuС]fqmll孷礓N*,<8cǎ͘1c̸[onF?~|{7Ijժ̟?YX_x.3\tEwѣG>wuWnִv{'lٲ $]w] kّy__ {ӦM~v38#7|sN<Ĵ?An$͞1cƌš#mmmo+u]Wk0 {n~'Iy|_,[vm-ZZwy=㬳u]ѣGg֭ys]w=---M)S|%'|r,;,|Μ9Ó.x]hmmMsssa}wf`͛7WUa}Y9.ӧo7ƿۿff5jT_ C ɗ.v]9Cs衇f„ 9sڴi馛8 o9SL]6mZ***2p|+_ĉ ;pP 7tSܸq~832v.m|<]]|Ņ+WfŊγy2dH>W^6`\uU ͛ziii..k]w]JKgw>1cFn.긕W^-:vY{o檫__v-\yw/wqyW$uuuX=^>|snO?o}[}ݗ+o$yoq%`袋v;^:zh6nΝW_}5Vƍe˖ɓ=̜93I~|{KޏΧN . 'x ;6nXXnooOqoܹshѢ]۞ύ7ޘ.׭[G}4_|wf` 6駟~ӧOrqyYlY䭷///---)++G.XyW«?>? 7o \pA~5Jy̞= vZZ΁$]䡇wߝnȴiR[[|r7.\tEyW/fy饗e˖$?O<1\r(63|[ IDATC=$Iuuu^y,^9S7cƌ.s1[mb+V>?wo^ؿuUZZjjjr)$I2w׿. wz[ng),6,C-wr5d>|x 4'ONmmma?WIWx> 6, y+Wf;\__/| YbE9w}w^|JEEEKvYMʛoYh{p?\__kп9?OK/q*m]-N6- ڮ]k=X!y1qoe…iooO{{{{̘1[vXdIZ[[ 믾j=Λo9s椩m+VoE]^xan3mڴ$_;3K̙3'~zƌ/ wʈ#2lذlڴ)Ir-d̙ꪫrYgBt޼y9RYY\ve92w$qi~WR2OhTTTdܸq5jTʲpxI2u=j7岲\p;l?nܸ3f.~If͚477:'{_k uuu{s'yo.^=sGpn9_3a„~T~ySWWyg>͛7߮-ܒٳggYvm6nܘ֌=:&L_N8a;ӿF;d-a[nw~n[wmJ;w,v_i_GǶ!IJgusN+VZUC'tR֭[$//rE5ƍbA`ɒ%I#l\}Յ9r-93maÆ\}Յ;#&L:t#G,v C?L8+I{$m[nўwi_=ct}۾=il1w<܋/X&ɓX͞?x."/YVWWSO-rEҝ7`s=l7 ggI&#JYY*A=W&{XS)V+}J>% R@o](|D.K@PVVV8+ *++]|%pVTUU8 .ٲ+ `/UUUeL}2eee.X^1dȐb5!?4hPKt`zEyyy V2`4l0JYYY]j@4hY$a7 2Ĭ@TUUfРA*v@?" j3.6lL~mРA_ת_1 >. 2$3 UUUHCCC] 4(eee.$g}<555iiiIcccҒb}4婬LUU*)++ː!C2hР4559EiiiRQQJU`$h}% @`O ЧXS)V+}J>% @`O ЧXS)V+}J>% @`O ЧXS)V+}J>U^[oV_5rHbXtҼ+ٴiSy$3t~9#S]]]*{ߖ-[ke婫KCCC***2dȐ 6,GuT믿$yW$P|piiiɌ3nݺNˡZ16lҥKSSSSj{OKKK~,_ޞΫVܹss!sݫ:z! &dݺu9c}V8,X ֭ˈ#)/瀪;6cǎ-RƓO>˗gС 2nܸ.KKK3dȐ 2$~^oo^-[dٲe^ױ/\q}v~A0WNyۅ*T˖-+|cˈ#1׹}bw}7ITJܹs$'|r ׹}?ѣofř:ujcSWW92'OIr=-W_}u.] dÆ ٲeK#<2SNMi{sk̙3'sɈ#rWw[C[[[466ꫯ1ylSNsS{:o/]6PX+2a„^{4hvGr)9묳ۿr,X k֬I}}}9䐌?>;{ɺurn~>S XsOCCCޜ~93`]f֬YimmMIIIRWW,\0'tR9眔taÆ?$ JkkkV^իWgɒ%ꪫRZZI&eΜ9ٰaC2|x7ؘ1cpv7|3IRUUms_}{_o˹UVVZ}sܹsޞ 80֭˺u A=m}V8=:_|q{lٲ%3gf9#rQG۾K,O?9cR^^w}7oOMMMN<766 /QGʴ^O<5kd9S2dȐ7.+V… sgl7… $&M'Ijjjv+{:哟d^̘1#555'?뵽꫙3gN***r9cMEEEp̜9sGgza^ [sL暜p LKKK^<;<7nҧ9O=TK.ĉS^\ι瞛N;-I2{455mw}C4iRa&ђ9S$K.-)S䨣qZnj;zDo>z}Of`Hyyy&O*eeeimmͲe˒$ovCI444q{ 'vT;Pu,[,C )ܺ#Iޛ嚶u֬\ǻᄏcuv}W磷7`dV8 >| طXҲ67n̛o$yޗ$;vlS__^x~ .ƍSSSѣGJw\ʲhѢYbEƎ[ϓN:)FJ.Y$/w|?17n̼y2o޼¾ǏK.$%%%mSNͦM/gΜ93gN"~ƍ׫uO<9/΢ERQQ>z:th>O'Ȓ%Kf͚ڝqYlY2}TTT" IC9$ovr)ٸqc-ZsfܹI۶y'istyc}G='l߶oOmz;;ۿ+zc}tM|K_JII.=L$iooϕW^q,k֬Ɇ 2dU@y ]ёSmmm{=Ǝ 8pD1bDdŅ~\q.ł ${l+/B/OO裏·?fV()S$?.ojjJIII$o۔>hz\s53gLi1i>|K_g[fjm B/hhhHCC۴I-6m׿ 0 /e#Fμy2{% @*/v0`@K8 mݺhnmmMSSSښ*--MYYY***RYYb~FimmMCCC] -mmminnNCCC*++3h AVv+@?ؘ͛7 mMMMijjJuuu]b@ ~oihh(vXQFCCC]+{?#"(x?M3On}Z t0=V5;i+hy]U[5M-ϮP@`23 q]sqpgZyEVΫhteZ]1Et^Ec{U! ^bZeX].p+x U4v V𒒒oxqh &Oݻ;{=8p^qB78ׯ_OpC6%{]nw:7 ^XN` v9XXt`+V܀@``` vK$oH" GЁ7Zt$I>.Ơ|Vԭl:͛.]x%11QK,HKXoxǕ%I6lLPW(5nP+@}@xV<># JxSRRUkX[2*` «h(|]󲳳+IU\\6oެTP;v#<>}HҴl2D_ԲeKuIGVTTTW^qoǏה)S .Tttt^ݮ{*99YtJKKHCFR@@Ӻ={h۶m:uΝ;uAG-,«hHt`4$[l7|C9]?t̙g}VW\ч~Rct1ڵKsέb-n:XB'Np\;}N>M:Usg 6M/RSS+eee)++K'Oԣ>^XXk˖-NϜ93g(%%ENkjsw +@P]pA.\$L&l6Gժ^{iO ի5f̘J>WjJ4w\uYmڴqʺuBQQQjӦ .O>NUKM6տoeddfiڵzY,«ht`44={b%%%iʕP?^ lϗ$mݺeU.g?S˖-U\\k*!!Av]Zh̙78~=3NVU%%%{j͒$͝;W111uY}7m6v-[`}ϭuuo̘1ԩL&5a;OAAA2ٳȨz?Zl)Zr̘12dc|Ϟ=lxfo={hӦMxdR@@/pu]$F5q~ĉZƎ8 xXp::v9–DGG;KJJjcڲec}ffZn}WCJ.]zK;C{zᘟ8޾}or|ϯqkRR<xV@C{S7r}WIɹjbzgtŋڴiO7xѴ"??{ϯVq8:+n@Vn|`]v.疖:Brӑ#Gt:tHTaa$i֭ѣ~EEEٳnݺ_tojrw+ +..p/t7kLs4ԩ2֭u&Iկ~+?^o>ֿ/IѣGVZ>@ с}+رc? 68ˇ7ϟ .H222'Ty?~Νs:?{v)t=00P IҽkZ/*++}o>XptN}w9M:UAAA*--UQQcyzGlR111JKKtc=&??J׬Y3)??_`}72dzM6iŊUv.ɤcǎҥK}IR۶mIɓ'SOgϞTAA[?~\bbb$$:>#-44T/_v($$ċ5XwAv(-^O:U=Sص,z뭷H~{1͛%I=zΝ;%I%%%:yNHUXXOÇ׆ 4|7ni&]xQmڴQf$Ig֎;w^]pA999Zjٲ{NFkȐ!ZfΜ9g*77WP޽uw;>FQC4hCU5VXž*cxݸ麱eךJ2U<:Pse_JN~~~.KJJRll駟֢EX7o貳~WpBEGG{"?Xaaa՚W .IvIyl9{%Yl\׍]\v^OWce׺jh:ܱс7+ S@MPy@Vd0d0lo`v1Bڵڵk]Pct`+FIII}P]ZZUVyĉZvΞ=Do XI/_رC?O4uT r=.1:/ԉ't]wizg)++Knׅ K.u_o2 2! iѢ]}qԾ}{GVU+WreX# AII/_.3F?/_wn]2dZl)T;w" J2e f̘fĈݻw;0 ڴiS>|X&MRnݺiܸqںukk튋mݦ`W3fP~~nz뭕;qfΜ+::ZfY]vرco>ի 6nXz%Iׯ`_JJJ|.с>o4Xǵ;ݻb W _};&M8ԬY kΝ3gbd2y:|>e˖iɚ7om6fΜ7xC6MFQaaaꫯW_)))IϟW*o۶m2d{,ݮGѣZrBCCe0d0Zyfuѱ`˗V+TTT|PAAANce/Rngu\zU%IK,O|xڴiS|||4`Iґ#GjU`Ȑ!֪.o1pq=Wxg^j۶ӹnɓhѢjqF1BEEENCBB:ӕ"I4iڵkWQ\|[Y]$٬~9/u5qim۶MK,|4I:ĺKDD$m{5e۝ =W|]PyiذaX,kv]&M$M87nC=^oTRRC*޽[iiiq˽o㒤-[V9[n$?^jo*YYYz嗵|reeez"?W%%%.___oz^YFNBw699YG4{s[IIIm۶n|W'TONMP֕ɓU+ vIԺukI ԙ3gtwQ޽}ܹs/~Z wt`ԆK<8\!zkСZzu!ɓ'WbMNNȑ#UTTt,={tiРAU}%I˗/w\ϵ&ȗ.]r[]ev*Iڱc˿c۵w^IOԥKǺwĉqF=ѣ"##d"F_&e"IzmСO+tY577z|||Յ gbb$iȑ7lYu߾}->ʺn۶F.{=rrr\4hfΜ9cetQuYwyc]&MtiOtիW]wΝnݺU:n@}@V@mfoxmT+aÆi͚5vblNw -:qDdZl2IC=tݻwW%9wa6l$iڰazvv?/KCҴ~JnZ?$7^xG൰P|z)Iҟ'I"##s9͞=[َuVR||Z}7k.K._VBB˵@cBP]&IAAA.p JX :TWbJYxݝW%iRHHj)z}uΜ9ڵ._QӦM0WV*ݫ]vz'$IÇW~twhڴiN}Y=䓲l3g7o6mڨiӦ4iF,X{io[7N6M/ԦM롇RӦM]>iӦ)""BׯժU+k֬Y+Ёp3VFl6('h0jbdxU$] VkMY:xk޽{~onWHH}Q}W?C _V׮]~eeeUO Znƌ[oUyyyӧ~k߾}4iRd-YD>ڴib?Ї~Z?6mhzu뭷ի رck.]*a6Ċ/((06!Q0YZke\ge*cxݸ麱eךJ2Ud9REEE{: ?ָq4j(\j(--MJN~~~.[p~is=_݋ܡiZUPP Rj_fY&{5K]R$mvI,ucWX>zڷ27wqt`ESU'V«uرc.]xe2ԴiSl6WF#Q//FQ2 UӦMo*oFYNWbѢEd04rHov_d% Y&bhG5tP[N;vTVHxՍ^u}:==]>2224~xy^с }ݧ4odggwv|}}ծ];(33S4b^_w`XT͛7+66V111̔lȑ#իW+$$eX Ѩ!ChȐ!.h0w`% FV<+V)nw:+V<+V܀@`@" Ё>o@cDpV,JJJdZeټ]`4e2+L&o+n@VXVbx%&ͦ_f ++EEEv@Y,Y,) 0z:nVAAU4x*((vhX5QTTDFAA]9XeZ鼊F'??_Ve# ^DU4VQXaZeX].p+@PW+Xp:j%{`/+Xp:jfyxxV5xV5nv @A+Vܠ|VkXkXp:δ IDATGu+n@VXt` ARRK$`{!11QK.v$ЁVll|…>999j֬WD-Y{Q`lԞ={tY]|Y WDD vWPPJKKS-+(**eՉ*P` OE6lPqqӘbQ~~N:/R}-[&j4Iׂk׮Ք)S\^E}E͚5K'N4 ǧ>kP JJJ/:W###5zho^ڵt-zٳG?Un4hiϞ=j߾z!oQIIIWQ`O?Ց#GÇSO=%???y֠ADoQ'2*`ZAAV\8ܹ~;«h(v_ڞ={8^Wgddhݺu:yN>-o^ݺuӨQ_aMvvbcc%I͛4cǎzGԧOIRZZ-[PQQQ۷yToׇ~ZΝSVt뭷j̘1j׮]IGݻ8i˖-JIIɓ'UZZ;jĈׯ_ٳG۶mөSt9EDDC=zn* «hH@#78}}}թSa۵b %%%q=//O.]ݻyf=֭}l٢oFr~!͙3G>\?PcǎرcڵkΝ[eu̙X,SNԩSJIIԩSu=__~_k;ajڲe3g̙3JIIQ||}Z U44Fo@c@V]pqܦM5^Z NՐ{?^/rss,j2[VkZ`#Z>z1^Z- BCC/**ܹsQg\,Gx|tRWX;«>>>ӧiFdٴxb;^ECD kW\qx׿qާO-]T˖-ӪU4rHXnn-ZT~={;CuiժUz衇CCC5m4}Zn^}U9ƷnZwVX?XV?+--a}7ҽ{w[Zv֬Yxǘj4޽ڼy$_o^z%M>]-rtZlMV[V܀o>z߲e,$)88X3gT{O4I}q/o̘1ԩL&5a;OAAA2ٳȨ=x ԓO>:SyGԵkW_Сcou_8.8΍FF8?qDرc=O@}8˗RNrݻ.?W_9-ZTkvŋ s%%%SpppÏcGgԒeff*22o$:::]V۷o]bvN- &%%mO Ёmݺus:߲eK֧;^|4''Fp:nj/??5Z&..Nh0-44T/_vo`Ե}j K,^!!!Ȑ$]p9V ڶm{UY"Ijݺu;**JgϞt-L/ĊXG"͙3GO;S! *I;vpnZfݼ\_PPN8>zԤIJf٣Љ Vh$z)fZZ&O?ꫯtEYV}w:p׿*--MԿǺB :w$jjÆ JNNv6lX=ʽl66mڤ;Ưօ{W~~~^/*ήzv4Ft`xC-4{lPnn$T+VЊ+*]S\\G.I:rƏP]zUŎ5]tȑ#=p!?^͚5SQQ,ciӦzڶm8%$$HN֭uVuw}wC-ZPrrrs^x* rSi4mڴ+22R?ϫ][]nRIX7n-Z8JOOן'JIIԩSxJuzxp0z12 믿7+Wz*u_(..%7fIw}gzb۝ `l68p@ÇW-e]X?o[^s۶m l6nѣ:zV\=:u}]IRxxbbbte?~\Gȑ#իWZgϞiDD,vܩ;wjJMMo/^u7L_5eGUVSjjRSSӟT!!!f͚W^yE6MZR˖-W_iΝZl6mڤ.]TX .ӕ޲eGсpZJzrz~xVX^ ``Pddj͛ձcG~үq}YfiѲX,5ZxF0%%%sUjjӽ>3Iرc5x`@s= (((ٳg|\`?щd2)..N3gΔ$_u}&O͛p]m_YZZ)SHL:u5k҄ W\ь3O?ԩn-xbhǎJII~X[nرcպuko.kXQeffk699YÇשS#*55U?bbb4c =SMպڼѣG%IZgΜt-ZfuiӦ5P+VMtj͚5 p^b?˵=zt{O=GjJ@@v*I̔t-xwQ޽}ܹs/~ nZsѩSSӧOmݦ4M0A/Mo njFFFwAӟTvٳZ+V5իWWb}ԥKM2Ewyx6m{nKھ}Ξ=h?:T׼yHׯWZZ222$I>^ƍ#@ЁP&IX,.p;L&oz!}ZoϪ\\+c?+VueM׍](Tn %''Wb* MZZ$/0~v ӝuaڵ1b+CqqaZu-44Fֲ!wIKʓdϱ.en~+G\/WVF=hRX:# `\# ЁpV4)xX``` l6KZ Xu;`\# `\# ЁpV4)xX`` +VXt`GM+^@V}X٣C;HuLCj֭^ \ 5" -[rssKbccձcG%%%iȑs+{O!!!ڰa]G?I4sL9|AݻWuwfiO<믿ޫt` l61V@SԩSOhƍ:tl6*++m۶iz]jtuI748wƍUnn68\_}$iذa\ɓZnZ&:@ VQQYfСC0`OJ!!!b9rD[nUn=p/^]Gնm[={VvҀγZھ}xqٱ5##C555޽:u$Iҥ oV?z<ђ` O>DRϞ=+M6۵k%$$Ի̙3ھ}f)00P^{6mڤ]vs:﫯RqqtAkݺk߹s$)))>f0/P% IDAT{&-`4ڏ9rd*wuI:Ŵ-[H5bIRzz5KIҰaüY**` 𗂂IRII+iن &*߿霭[`0Srr$SN)''Gmڴq@Ww֦M4i$uTWW;J7|Cڏ.\p\kϞ=Zf233=zꫯ}ݧzL}џg۷OAǏ׃>xQua(..Nzҭު!C\!Iݻ[eddkq8lOJLLTHHNs &%%]p/^,jCСC py'?Z ,P^^$}uAm޼Yo!V ҧO=SzgUTT?zWtjJNNVDD5&Io5k,]vez]'/z쩧~Z{$k7t?  &hРAVxxEyf*$$DӨQԦM:uJK,|>@ݻwwqeRR/^Zeee!-[HCd{g?Z;w$O]IKKo==zBBBTXXW_uz?ZfY?nFEDDjjz_ԩSݮą# QFiŊ 7߬9sѣZl67ސd /`JRvOK.:ptGzW5j(Ĩcǎ]\/$ƌ6mHbbbci钤?*--OX,ڳg}BW\a,}l>}ZݻwWN.o$wƎI纣N8Qsk-w=O~b8Fhڴi|+1115kh[mڴIs6l:sݻ;o2tuIqM7d2yu{*??_{vz)S(**JꫯQ pvLݵk}|Ν懆k$ǿKI:+##Cݻzs:tzp32dsA\W]Xͅd5|p=?IfYn}~u֭2 RG)Iڱc=:l0OPPN8+W:S^^<+>@V@S;w.kڹs?jYViŊz衇k~inn=xYWxx}QI˵pB={aӧYO5vM6M~ܬիsIx {Zw[111:z]y啊t9?>>^}Qyy>.L;vt{?IӤIh"gz\Ý'\Z#`XT\\GjҥZt$?j&&&w=Ә1cvZ׿V߾}USS뗿}ލ7ި'NhzGk׮ɓ'(}'뻫O4IOoVLL eZٳgkȐ!ה5kfiĈLIw_5m4;vLy;љ3gdX4p@߿<+^` B@@-ZǏkÆ :pt L&uYݺu߮:]7u릴4eee)""iӦiԨQl(??_:tM7ݤdғO>d[Nӧկ_?[&MRΝUOmU~7p?ۯm`=s1b>seffFW_}nFr-:ujs [Kz7^h C熮5et2~1gs~m<|yԎK2lmNŋRQQ̙3 Rvv$[n~K޽kvIR^X]pɨ (L$I6IZadsywkzvuv9{9uB5|^fΜio~GTTTftmk׮㏛toRDV}.h BBBԮ]4u+,{puҥ7n\\``ҤIZhppW(%%E{wpn^zO*Z:# RA֭szɓJKKөS*$ 5+>V5|G2 j۶Ι8q nz93gjኈPN4b-\PEEEy 2 Zv$RAv$i׮]2 g}洖tM2EWDDٳgj7nszZ: woӵxbM:U׿d4/O|r-_\:uҒ%K3gã*--Ֆ-[e|͊t`СCUXXCm۶0`|vl6͛7O/VաCܹS;v￯>L}WUU|M͚5Kf>ޡC}+X/XlvcϞ=פgϞڶm?O83f( @˖-SllܦM4m4Y,H'NPii=Ew. 5|IR߾}}vcС/^{N}ݻu eeeɓ0a;ӧj:oƌꪫ|r?~\9996m^EہkX,EEE?־cǎzwճgOzAEEE^V*++Snnn*k* @_-IOB=9r}~MMfΜ)\Gqڭ[7^b͙3GAAAZr碣d]~ھ}ӝq]w?ׄ ԩS']veXӔ)S{|mZZƍT?l6[z 6LsUEEN^{M֭ӨQa/]&IK.;C8ZlD >|X˗/}kgΜq9gĈQYY̙sQPYl(]Ne W])0[ގ2ݵl(鳞M+V4{cƌիulZ+555ǵWx驚}:sOW_}bbbh"I/~ }w ԩS%I?:tx*))q;ڿIRvv>spBIRjj}zἼ_Nk՞rjϹ5?5)))ZjƏ_ê+զ輺l258'""B?ڶm:zOwyG&MRzz}}4hРkڵM7n jp z饗&MN<.\7xC{Vllrss:2\[ԫUBZ2kp8$:bQeeeX51 dRpp=3!ֺXi$)77o~z͟?_ZdI_~e]veڶm}Yxllk馛nRvtY,hŊׯ[5zշo_߿_psz5d?~\2L7Õ>|#zt ((%o]~ԩScEow lwhj6M BL&S$RI~mI;w׵ =:W׽W:s>GV8 ub% @`CiW%_+`Ci uсkeeeW3fYeee.VHBWh>>_U{=tpiZ/Z …𹲲2 \,hRRRfSZt)UgJLh O+W, Wdf,@+1zhegg pl;*w!,/.%nV_*ZYYyEVxMV)wv+g K/iСz}TKV/X,UVV \b*++ +fƇW/5iUG:F{zF_Te.ntM3F5.pWUKeeBCC]Z+<`УXYaXzƚ4aHVfU?Um, `V~AV/TW7 po3rU`zt)ԉѺspi5mpbL V?^XǸ_o# skN\!뗣"<ާ1" ճ2gF^_cMs5akOkƨہkXN{-!TF4'4B= F^Q`"Ѧ{% h@cJp+ʳΎh^z4`@c# @F^YK+h@c F^KG*׎#6kj𼺬6g=1 +Og!j,*I+vsƣk< +VxEB Igv~W/s*iLm੺XF^1IaO냝fY}YmfӪihaF b:YovytMŦў2Ğ5qR=S5 BXk 8ZHA1֮] 6<ߣG-^e`HIIq8NKKS%j`t SR$IB%*QZ,ƖہkXU%g+TV WhA%\?*p+unk/2)-/w4X >!'薁$@C'|&v`V̋5iuD`8]+|4>!O! u`5 ~h]Z'FO\R7UVݏ 2? -}O V])))^v1pV4[h˶Z+kO}Imݖ<сp+Lt[ׄjr?Xգ5bÌq6;0D]|T)xYUsXDh0}sJ5:vFfʪ΅B 3[t*[u1zpu1J*ЁIKKk|JJGZ`i! IDAT# ЁpV4)xX`G` +T 5+WZZKPXsX:# `# 8 9X#X6V@K[ee***TUUY,YVIhT@@6m(88EMFfYgϞbq9jjZ*..V@@ڶm0r@AV}-**JEEE3g(22ҏX,l6_%%%*))QXXڵk/V Cp+lVQQVW,++Sdd¼.4X`j4`)00PFQdZUSS*UVV^jPUUUj߾\<𩂂7L oshTPPfJKKU]]0l6b(66ֻ7n+> r$$$`0hڵ.B FFFcǎ W] SǎY\yy U+V9E9s [(S6Mvv?zUɤxEDD\dr///WaaE+@!!!j׮]siβեKjܸq~OfYfa,88X2;TAAASAA*++ jTW&sX/4i-Z2+PJJ٣bad2y=Zh4*66V)$$D^qցsXx`кu](..juIxhTttcVUj߾ +VxMMMfXdd|wPP"##fEDD(0/VXQo< @;vT.]tkر sց+`S7j2dGDDd25Xm+77W5|M8QǏFZ1sXf`͚֬қoYf9tСWZeeFQaaaM^GXXdZ%IE ۷o{G=zУ>LܹSIII6։st``ٲeڵk={ԻnzEX/3gxaÆ{Շ~={V]w%ժGyeWWOmٲE۷oxgTQQP,^X=ݻwĉɓ'5a;vLӧO1c*-_\ǏWNNMVQQpJ]5l0]~咤L rց+X,EEEH?{*''>vEFFzVI*++SYYYsKJJk{iܸqsqqqկ~:hҤI^S:YdI/\ݫoV[lwսkhɲZJMMU߾}犋5giʕ]VdeddhJOOWrrr.-YDAAA>\񴱂uYqڼ[nζfg%ЊЁ^^^L_k4n8/l >ټyN<:wӺ ԰a$I|Ol:uDM6@Z[$Iwɓ 8{׭ $5t`EԥKnf6M?L&xXvUVV:GFF*""«6Fm@t~ӑ#Gt ={VْеΛ^~e[Nݻw[oU_-I:}fΜtݻwK;cXRukXGQff4rH l  h.\1c8Om6~KC«A2|ȑ#:4z|r7پ3gl2EFF֛sQI炬aVW}R'qVñ?wj/Ԃ TSS'*>>+kh`E4j(^ZǏWEE}6Z]]3f86--Mwyꫯ)SvwuQsk9ѣG||ͺ;5x`*<<\g믿~5e65qDUUUgURRy=z$|Zv]7nԾ}E$zzGUfJIIѪUX~aפs//*}$m߾]555r``USSSNmɒ%yd7|YW%iȑ w}^{霳gϺ> @{tCv!I߿tsq{?IZt.]h{ F5t4?Ǟ{Mu[;ƎGzz$I^@'#:hƌիWiuWVNOuQgϖ$=czꩧtiIRyy>#M<5ƌ#Izꩧ駟O>{N_]Sz/>~)=Zxbcc%I[lq9|=Z/M6]i&^UUJisgL&~IҪUсp+ZZʣ 6Ee˖k׮ >u<5knYVWLL:wq opߧ~Z}UQQnVcǎѓO>z<㊋ǕX+66Vͳ\[$I ,е^ӧ_{s=l6+$$D׈#>6olfҤIzg C8pFܹzf9WVV{׭ƌݻFoWz8Jp[QM6:~xUTT48)ëTVVDFFkӦ-[1c>PFF*++5|p{ٳ~\344Tv3[kܹ0a?ꫯ_msɺ{@3ӦMۏVKݽ=%Fo~mܸQЀ6։׬s-4oz5 ubƜ1w\;Q;.`ٶ9)--kSW}/Prr >|ZlIRnݼeX۷WXXilVaa8 @;wv^zI+Vرcӧ믿[o]t.oڷoX޽y--\UUKpp)KXLLOׯmb2$$JkkMϵu޹=nչudZי w79mfNj) @KԶm[&uk_/Z:`E,JxmZ%%%MII !CH^u.]6[_d% 8G-VJJ֬Y={*>>^K.%  5ǪTUUa,,,L>ٯuѣGd-V9߼4ѣG+;;ekwxTe;SH#" HU@ *" PWte]&+(f@ , -{2fI$&$uJ=y3)S2<'PiiiZXU^]Cj*666Ϙ`P``kM0A&LFiNrԁct`KFVLLLPXV(;;;xPPFˏΠ+X2秬,233u%URE.9NVVbccWc@Q9zNp(3h%%%x$EGG (88+`+JMժU< JMMӝRSRR/*] VZD5GjժSJJJl)!!A>>>򒧧L& ' ZX,RffeZϏΫf+V`yzz*!!!_j*55UZ`0(((Np3`# O>>>JLL׍$kh4d=( :EG7hTppT8FJ'6cd2)((HAAATFFdX#*I2 22L\=8+ʕ+ꫯa=s8p`KHHвe˴k.]tI>>>jР֭[Ybnݪ]S^ԥK_^|6l>.P`[yyyJPnсPѥ˕ԾG;CxI?V߾}K/?իWl6f͚:x88=gggkŒÇ;}<" 8JPQeggkժUo,ɤ%%%iMϟ͛yy)))I5ɓUZ5I^x=裒ŋ;r,_\ԧOըQCt{Uff6lؐg~FFIs=WV\QV*U*((H>͛1c($$k֭#G+ߜ#GWڼyK/ӧ%I-[3~JΞ=g|JHHPǎհa"PJ <<<4}tv%ժ5kqxzzcǎܿ0.]$Ͻ-]TAC-1+.+V@EUv1mݺuڵk'IxK/L999ysd-YD)))z衇tm@EaPXp˗%IUT)t^ժU%IX,hI/L5tIĨVZXIR͚5kXB2d}Ζ-[UM6jѢ WXpGXbbb$IntըQ%~:yvڕ'|{nIR $I~2224`(**Jo,[L<|P^сI|}} h:99e֬Y[*%%E˖-SddBBBԵkW]|Yk֬QJ4h l6}Gw魷ޒ.\Ǐ@yCpԁ+$%&&:/--VKa֭#F(''G| /B*Uk&٬ŋb'vڥ] 4г>kNO<$/ұ(༪Uӊ/t^vɔ'Zod;k.]pAW׮]UV-;wN7nTʕկ_?Iұc$Iw_u~-ZPJ༪UJbbb +IRJɗthڴ6mo|…Z2d%Iђ<]t:;vHdIR~J||Vt+Zou ף\~v4h˹_nf۵czk(Ew^M4IM4ѴiYvf̘!Vzz:w7x5,!!!~nl6d,߯}$sv]گs/m4upuI{EtPzVdy{{ߥAV@+7׹^\\fyڵ̙3tREFF*..NjҤ&MZCI/kW^ Ҋ+t ժUK:tРA\Rp+^I;)11$K ,+Z>сpuyxm߾=\Ё54u0X 7.%%*eDbbRRR] 8FJKKSrrHNNVZZ\f% XQ BUy IDATʨDY,w޽{k vJ DU6]:t2[V8dX2@!222 eDAV=<7W ! 믿pծ][ӦMSl7 Uhhw*&s%yf-YD&IWF]7+ ne~$iȑW +@1EGGk޽_|%kFEEiĉݻ6lΝ;kڹs=zP׮]%I7n԰aԮ];5lP{?eggO6M֭[5X,5iD*Q})iwرcչsgu2eRRRգGխ[WVUGѰaԸqc5iD|S ^`# ӏ?(I RժUK_||P-ү*///EEEi4h?jѣ޽ 6(--Mڷo}b}'e0t;va۶mS||Zj >G[fԩS5`-]T /3gK.:qW_O>ڰa" st9IR Jڵk;l6O>QTT8kl;w.\p8}:z~W?ь3?$ժUK;v$\Z˗/t5dW:[M>] 4І /(""BP>}ty? '5iD߯~I,R@a!2鮻RhhBCCբE }^k۶m녆*))5KR;xiɒ>L $z2eƏ/I:u1uT= $F=;v$iÆ O=Du[}qY}8[GRR}f͞=[w}}~ʕ]aaaڻwv}ђ%KԧOU^]k׶+(._cjNaÆwy]d-ݻw… :/+$$Dڻwo(رc~X+W֩St<7lؠTtE}8[GDDbccժU+qT%IGqxl6>X]]Rm6&M$٬!CiM6WVVVƪUJ=**xy(IRf 㣖-[jƍR׮]1##>f6տ}Z|yN˖-$=䓥^_q눏פIyIox|Ρ+ʤ/3f4qD-^^л[Zj%IJHH(Eq)IRHHHnvIW;UA/g8wAy9$UT5@E+l(:ty+xnu#G: {z'\RcӦMUzuI;#Zur9sy111z8jԨ7osi޽5k(;;[ |-N:nݺ… ~L05@V9XQfuEsub4ikxxQFIz k Hݫlsl68 I뮻u=S+VH-[&ZGÆ %I~`CeZ.]4{lyzz WW?CWs=sjҤ$iɚ6m,Skw}ѹs`sVX'N~j޼y떤~[VRtt"""ԱcGժU䔸m*88XzqCpVyݻw׼yvbZyƮv^2dH她sN:X,6mk*))>/>>^vҔ)Sv|233 {«5goZ|vܩ/*))I!!! U&MԫW/o>fY|zꥥKQ-twkԨQ syڵSXXN>7l0EGGkҥ:j֬)*!ovuHҸqԧO}:zk0@=!t?cS[4Wz5<\ؾ281Gs \pv5ۮa"\]xљ7Uxxx!֛^j֬'OJԩSM {kԨQƟ{9͟?p,wǕ+W]*R]?9ln/&)Y_[If۵_^.sArב-hNA:rE5J1@ۉ+6«܁Ns(Jx`% 8F.]h[U3f^X]P:uҮ]] +:PBX` ^6JsPBX`1nuUp={tuֹt=с+5V1X]:׺u]'сtKPp eXxC&yp eV9XᐗKE}6 X`C.P6 ^`# L&8oooL&wAUYXQ w }5X `EL&]p 00P`Ce|}}]X` щ2"00P~~~.ps8,WJNNVFFL&@YDV9$ Pd&I+WbQFF233eXdZ]`d @6gw}`# L&qbԱcG8Fp%kPPPiPf}Ru`Ӂ+*:@q:t(r[Br6j4պukJ*:}t)VJ} F֭[w X(\6G֚5k[:uRFFV2L۷jժPU\YFrwYh4*''eoFuԱ_n߾vƊ+%lڵkKu#GhͥVP^N:Zrw97ݒ%KܞTRR+(]VU[?RPTTIZE/ի,2ǧD`u$kKu@y+!!A:r䈦On:Œvfe˖RKA9Gyĩ}*Ur5\YP`ThZ*v;XnBh dee)00~~n}\rXX{ ֯_?elRڴiSfY^^^y܃=Q ӧ5qbs>>>\ckזt5J(htS52"8sԭ[7wr_OD8VRQZ55ie#C\+2z'ՅFI&)..NW\ɓ'5c =$nf{㊄Zp>s#ڴi>}nrXYʣC.p˗/J*zwMg6]*(~jXΥK4rHK^szl6^zzլY3xjTt5jУ>/*]}᳢>JTjԨzݥ9s !C:QFOrrݻdzn+->>>fڲe"""q(m^^^.{p5*kOYw^͘1CtaKVZy뭷qFX5D;q&LŋbVy K~Є ԼyswS*չŋj̙W^A (tN͛7׷~ZjTv1v̙5kaÆöm4vX\Rfͺm F !n:///FwrgD _T@@<<<ӑ#GTRva]$]v޽:w\YF=L&S^\.ZBa7PL ֻ[7@A,X ɤٳgԩaÆ)44ݥT8~_xGX=<<ԢE?m4mݺUք vccc5{ly{{q6lؠh]l6/_oB>ͱcKC #$T7s( XLwh4w޺xf͚˗/KFKx u]vj$ 8tR]hTJ7UssDEEi̘1z|*۷O-ƍ5q ( O\g֭:sZncǺ;}-[oԾ}{wTbAAA.H߯[m۶zw$"X%?+Sj߾}eiii:wV^0JZhK@o\\{=.yC2ȏ?zHZzre4 \ϯ\ GPM2EjݺfΜ@UVMիWט1c$]2aԩSG/6nܨ&M>c+buРAmb7EDD(22R-ҽ8رcիy>|X (:FQmڴQNeVUZPԩS%jW_}%jnݺn5tP_^ׯWdd vގxxxg[o %|$_W.]dZujСCB[lYc,\PO>6lp}WQӵf>SǎnݺR펺vZ۷O=zЗ_~)R;#>}6lؠ_|l6o?'WV{9vڥzHzuaW+&J-e_}@ iÆ _Խ{weeeiɒ%9rڴic@m־Ϙ1co^z;+p::Tk-7n~1nfmVwq~gm߾]/6TR_ϵu]wi4i~Jgu-Z_ΎqeٳG?&L zݻwTBBUoV˗/WhhMoEGHb>T۷o׊+a}%IZr8aG}TܹZn]*k^Wjnr53rH%*I:uӧCW_}TC޽{]#""t!͚5K^/ ѣ֬Y;꧟~҂ DDDGՏ?9so4p2bmvv?hԨQ9r;׫_~QlǏWj_vi;~v%Iz5x`7WTzԮ];} ћoSNSN\~YFbccn:j۶mnIIIڵ֯_4hj֬k۶mڻw,YΝ;ޯ_?ǽ͛СC=zzqkժ6mڤʕ+ܹsz4w\eeeݔ:[j7yMn:tȩUqeff*;;[999r`0h4l6˭o l%Y~ݮk]u>-w9~߂#%{5JV rkDȫJ*W޽թS'd2iٲeEpѣGk:p@w|x^~e\hذa7om<-Zt+r/F׮]Gy$߸|}}uҥQ[ԯ__K,駟jΝn+==]^C6MuՈ#4|pժUKZFcjqfղeKܹ;CǏ/u7zꩧ?YwygmϟuAMSS[bbݫHEEEʕ+Y;Tڵ>}(::Z6mRTT|I{իWk_t]/Ѩ>Hƍӑ#GcرCwy^}U%''O흝oV (isrrիW~Љ' ߰aC}j֬YΟqqq4i?Rff4qD;V*Uʳ-33S{۵cEDD(99{1'OTuBSQ WڶmkOOOСCcEGGsZݺuu/I!ChZow}={W_Uvv Wx :4w}vmٲE:x`#/ԤI<Νjǎ:rx:x٣~IQQQ7~׮][ׯWFm;yVZpm߾] y?^駟nx]ryJHHpGOV``>#JKKsN6ma{pzwp"iӦ2źmѢ6mڔo>55U&M͛gK?vޭ]vs+X["m/[ Xo' -Vz(!!AS\\e2)S8s)=ӊUZZڷo3gwU׮]+Wj. ԯ__ڵSftmܸQQQQ.YYO5jԨ|~g}' wqyxx[njժ͛7k:pl6쿋*UEd2)''GAAAy]KJOOfSvv|}}tYVUTIOլY38qBaaa2͊Օ+Wkeffڻ"=>}Ν_9sHbnSllu1Ik]*,,LժUӿ/߿_ΝSZZRSSiii2Ls322@bh4jҤIӧ!+W*""BgϞw^u]/^o fF%''`0GIII2 z<==eZeZe2ԳgOSiiiS|}}Sf effKYYYy~?_|1_Z)))zu){f)99Yd/XV]rEiiiJIIQRRUF"=̭'O0fyFvm.,fᛄ,eeei„ N"##?A;vt_a``|||㣮]jNi?~вe[fYիWW``<<WWW0L#ɘ9s&/ͨ(ӥ%%%\z5kFƍISy\\\8xt)//SNѢE )YrV[[[:t`q*,,o{yf)d"66V<₟rZhիWF:-X#GT*tc3gxٽ{mɓ'پ};N"))Ij3 ?DVӯ_?6mTcǎ1k,zɂ ҥ rŋőiӘ2eJ KJJ8q"**~M֥K>s-ILL'(Jv튷7-[dÆ $$$XݮL&ڵ#&&UVYΝ;G׮]9u˗/'..\ I&Ic 7o3f 666 6(>Sx """cʼyx"}~*FGG3cƌJo>|8YYYxxx0m4N<ĉػw/;v )) ѕ Ftt4Ō1Bz<++#Gp;ƙ3gرcEV'O~GFF4V>>>tЁ5kPXXĉٹsgy_{5/^ @BB3gd˖-󸺺JvXrwXx kU{PYNNNP\\͛ټy3ǎ;L&cǎDFFbooÇ3k, / }~SRR,ǎtԂ~C7FVZELL JREƍ?Ϳ\1puuѣkDU`hi`>]XAAoXG̙3uCiLAAA"kejZ jH.﬿S*.RP(d2 e/|T*`^/u;C,ir{{{Q(zPډl/..i4Q+b>ш^ё"rdJhj5%%%888HKNNNT*y}d2<<Ȯ^JII [Xqq1DGGC\i8p;<4k֬NC{=55gg*EEE T*h4;뱱wEMutrC-ZO,Ɔ"4ib+WK/ѤIz)&M$}RTd2}QhWUeEEEbgg`Š16l`0FiӦ .]___ڴiC۶mh4xyyݶ-I!byY|MDE }>&333jԨ>2IU]vUVѾ}{Fy}vvv_ԢEzSVMKV9ӷSPP@rr27n --M٪U+xf7ndÆ L26mPRRBZZ...˗/ZfڴiV߅zL&Gիӭ[rX5jd1|eF#III`ggGII >>>~ʢH)|~ڵ#Fˌ3>|;d2ONN{JeQ?$??3grY:uҥKyǬ'66.Wa||<[la׮]p  o߾O׮]kJJJ8{,ҍ8::jzh$77WF]1899!INNiӦպ&{q\]]h4dff,ǡb ,Υ ׆>|87or[`{GX4*D P DT&MVUA*WRR;?ի#G$((\\ll555Ʉ\.'//O\y&z___L&* OOOr9)))d21L8;;`Q YCiڅgs1[:99UR6`LCi#666XT˓* i!oe6CJeKaKs2W4?b rvvFV[TƆr%* ^PvVeKAA1 |;V|ڵk4o޼! "Pkhd$''xݸ! `VizUk-V`AX###ٶm[]7CꥪV5҂ xm,AAAxjAvv6*F˟y}]|}}BA Ɩ-[DU`h֊AAAԺn [ϟ'44! Α#GСϯ!6?rՉF#yyyP\\̍7ضmT6ot)((`( Y_={V6cuV ᡇBF*Nm^wQQEUꢢ"qttD&IÔ0(\pUҺшdffRTTDqq1~~~V+bgggqF7n;N^Oqqsstt$??V $Uꫯvnooo´d*7, .]b899Ѻuk- EEEd2J%%%%Ro(N'U܆Jk/_&55~'|ggg6mTd2accCII 66j5:N}+|||*m`ԩSP>>>( 4 dffJaa!vvvF}UhƭILL$//OO5͍Zn}۶JÕ=YYYJ͟FdBJYfyMAA۷oK.h0d2֛D\\GeȐ!>&k׮a4-7W%''Ǣ VEPP(&??C 233aATV8tVHzzN'Ud\!_ӡP(0(J.6 ^7}RXXH||<8::h?Dжm[ 8;;K\ ")..F`ggguZy游PHHH0"^ϕ+WHNN&''t6mʀ*e+}=kݘL&BBBVEk&իWnj3* at:v ֥b _ /@ǎt1u{dj+A ֧ F!;;[;++K(& uU`UZfYdgg[\֡n5_-((@&B ++K !;LC&Is F߲Ls[P3JR6/k0tEesg`: d2lmm)))ɉia^J/,,djRJ"rV+2' IDAT0Ll)))LV( F#TtJff&J ^^^Rލ7puue˖!3gкuk FBBtܙ#G^S[6mѣv,Ng#vǛ"L& "hK\RDTJmDnn.vvv( ˣYftΝ;s1j5޸͛7jҢE ;;;cR@:vImO,ft:\\\0 hZp=r;;;i2+777rrrر#&M*{777&Lo9uryӾ}{)䄍 A u%%%=?gooo\\\0B!mmm),,uh4wL&t>3 ּU*⳵ݝ+W^7ܹ3tܙΝ;3uTJ%rX+s*33}Sv튣#m۶ɓ={,3c 7nL~0| ֭[ٶmYYY@iO Miӆ6mжm[INNfլYdmzG8{,999tܙ-[peOdۛ/rƍ=gsHI&L8 & |̜9#͛7'''RIZZZsWM@4iCJ޽˵Yg;dutؑ\;vm GGG C WWWs߆FcǎjՊsE;IAAjߒ:RɊ+x'-|@jj*xxxL&] 7j222qrriӦ4k֬ެkCbb"2LդIBCC `0yf'""cǎHaa!gΜ!99ܵ[[[>lq߿k{.$$DjC=dLff&&MBPꊋ ?:w\z[TT3gܹsUNU8::J7XFpph5ؚúuO|riڴ).\GF'|CIC3Lݬ,zɀ0`@2dѬY37oNN}=q~ӥIӦMiڴ)4i҄6mXxp}m۶zi&222())aΝC=0izII 999'N'''\oaARAϞ=ѣR;Sҹsgꫯ8|t4((@鿕+ٳl7\rrT*x{{i\NRR .CV[h4ۣtXX4*"j}6"* '`^.Uiժ#Gg@03jYtK0^Նt:nnn( ݥPj_AAt!֎L,j5vvvRpVFJENN7sr(,,:mj[FNNNdddB(JZ\~~~!Ŭ,SLRIjحUz޻u[N#BAvv6Iwz^/VCQ&A|r^yoEB`Μ9rJٳgm6Ν;B>wiҤ B zg믿vE-Z0j(F-ݬd2㏙3g v }_,5b|owC[n?~:HEEE<3RuΘ1c9r$\~SۺR...\r;saVbbbػw/]N޵B_~L4K#wȑ#݌q8991l0&M#c߳gԩS޽U*ҧO~aZhtR.gooR')ggg>s^nZAArYj5QQQ(թS'"##$,, LF^^/> 00'Or >̧~* Vh4鷽RdҥDDDO?M~>>Э[vRˋ4N>}Wu ;"ZUQ;֊k! P}"zVAs< 7n+))͛7/v bѹ3}t֭[ٳguUڶmKdd$O?4ӧOGTbood*+RJ\..;88HՓj5jJ9tmPc1n 5f6m_3,YkV+.6nHddɓ/n<=zgϞt[[[6l xg0`]tooo㏻tjUo{C`=_JF+WꫯJ7uؑ{J7Xr9?0Æ cС$%%1fF… d0rHϟ/-{1{l۷/۷zӧOK7&[4{r9'ժ*ݻӽ{w֬YCbbb_Y666tЁ ߎ-&L>W]vq ½#U^"ZDUXVAA>`? ԎW^y˗KL&5jĪUxgjpEΜ9Kvv6ٳN:v}zB\\\x뭷#AۓJ;;Q96d2222h4@iGڞ={ԩS\zbmA ޽{3zh"##ywxwo[9I>}`€سgO gҤIӇ']MBPзo_&N&LZR&Ѯ];zM=HKKc͚5:uZ}jٲ%z7ҳgO:vǫ_=Qw|dܹ~'0mڴ;ZYvh4RLVKˋ/rP۶m*Zhz!14k֌V[V\IϞ=#""~1p@y簵ĉ{JGeРAhZV\YZ]rqq7k,^V_mr7xKë] <4yX3gΰc8pZ^?sN|||0DEE*'N>@.3e>mO&?ξ}pvvfƍ/<>||7nL&M>^B`ҤI,^WWrS[hah-**bҥ|W خT*2e  g:B` ½#U^ ₺Z. Z ɓl߾A5kW^jՊ˗/usA`? ԞիWIVVAAAtΪG*9;;K=_}&LswwgV/**bt҅3f0~x~Oꫨ(qRSSԉ_HlBdd$*JzCR1x`4i_]!ի\_j5u^,FCDD{/d_@P0|7n\Ylll݄ӸqcN>4nXKjYhh(#GR={6^]7&//^}UÉLJ|Z-ݺu <;vTkNjx뭷3g-_Ӷ 6/GGGbbb vvvnݚ .4'**VZLHH՛FIIIuw|7׿Zd2//rqvvf޼y={X/ ޽{ӢE /v EW!p*MqH~YAӑd4mڴ_VΞ=\.G&ի;L&O<M6TXZZ+VRpww',,aÆi&꺙  B >}ɓ'Kv8|0<+W:ãAЃ֯_o1_zz:?tA١R7oj,Z&MxbZh7jU;sZŵEaˆ,Y-u,Am租~f!N_YYYܹU(}zŋ'`oo_e>Pkq=nnn} ɓ9sF z$ IJJ yyy x ,YB֭INNFi׮]KhhhU^ܹsy!͛yᇹz*AAAվ&t+^ϙ3g*ϻuaݺuR h2eod2a2tݻwE\p/y뭷x뭷,V˼yСGGV|2k֬a޼ys ExUAlp?~:k׮矯2/bcc 2dH2 ,Ywy"R$##'Oezž}갵  BUOٳ `0K/_p…jk׮ӧ{ {1:R/`ܹߟ:ܹsY|9yyy]V7s533[Rw> vrǏ_Ϗĺj TA萯kڢ #GTyފ*^vVꫯ?~<Ǐ V^?SO=E۶m3/՜9sXd=n̓aƌ8880m4.]Zm9s |L<{7i7oһwo~'Ȍ3KϞ=Yvw"77j17oVyL4*A6 z= qPr ١P(IB#* B-YlY/̟?͛7wa 3*UV//.ښ((( 22 ٿ?t:z= l߾iӦ1uԺn  P ZK.gquv%Mzj5{lbcc-KHH 33tc!زe /2;v͍8Nm 4,'O$--큮xQ 7o,V{7󫛆  FEڬj6c 0`~ɓIHHGedddiӦn}d21e|}}qpp搑OiժU]7j 0-[| ;tP]7eiӦutԞ3g2m4֭[`z=O?4֭o0gq < ׁGדUnd:A B-ԩK.y/]w}G`` m۶jٯ뱱_~w  eN"))Z^i\+qF6n(.  Z BC  Ե.]+;tǏ+JEGG7^M\paaÆ KL>Ҡ y~V\Y|oN#//!w$//P B-ׯIYd ^{ BqZ(ԦŋK/CqkAA{$%%QTTTe$ -h)MKKcܹWWWZlɈ#*S5,,Lo> F@@5o߾a49s C www^}r$aaa5N^Oc41cFUg/"%%Ndž P=zw}b7coog}FNN7o$%%>LV tީYfakk˗_~V%55$Od⣏>O?|nn.֭#''dt:}rk2vXyN:E^^iii\z^z2eJ[oErr2_C3gNoԩwߑD\\&L]%KINN&66TFABB&M,EEEG}HMM$$$HG}r- Bve._\:kd.^XMCr  40H=*lKAFd`7-^/ V^h4>>>lܸ'ήOdd$;vŋ|Ӗ-[FII ϯQ>cԨQ8::P,Y|ILLXFR~zz)ݥ[lƍiӦ Z 駟2i$\]]P(3m6i^NǼyشi'OhK/ĺuCiE|^z%}&L@Vиqc>CkUn~)Ǐ^eڴiL<^zO?Ѿ}{o-oQs _2gppp`„ |W.OgFAƍ0oڵkk׎]2` DHHHuTw p1LW`AAAUv,7nQKAA7qY߉P`+V0h dmL&cʕ5VՂ x'Xx1]veڵ4i҄'-[ 99ܴ7otR;n޼Yk۴V%""L+^zA֭[h;w9P[h1L[pŲ7fѢEq^yڵkǕ+W`AAA,VuAAA>V߿?[nb6m]x'),,x^de,XӧXllJ#ߵ-ڵx|ܼy)Sc&NHѱ֫paJJJjmrYfCwܾbL&?@pppse~e~߿絪r9=z`İh"V\i5]" BݸMM"*  ƒ*;;o`AAAV^߿?7oqsUZ<>vXիW*O5n⧟~y~߿?Kw=z4o&J+VIӧmڴחQFYBK͛Gpp0*BCCGVx~     XwkUT`AAAVN>WZرc̝;L&<3޽LVn^x9sCBB:W^ҥK ܼyT嶵k׎+W0m4ɡm۶;d]___;ƿoG0b=?l9 Jw}dž ׿/ՋkMj~wwwl±cǘ5kaaZ?I& )@DChBAAPAɥ l+Prt)"5@BIh3a's2^3gs~fɞ0UTIiii V6m4bZJ?m{yyi֬YZdU^=]|YZҿ/ٳGÇ/[P(3fЧ~6mʕ+R+VO>g=zۧ#FUVՎ;dX4h }7vy1ydM>]=zPڵuYEEEf͚zuhѢKVp,11V@fέ+ZΈ59LYs֔M_̏ctܜi#X dZsʕ+իW/]~ḻF ݻl2upHIR5 et@5rHM2%zѣ.)Shȑ>HLrrr"(*V26:X,$Y%]~yzfv1c\2?81y?ٝݼ}7¢ȱ+NN;R ؁KHH;fV@f-9*bx(`)`dF+V׮]dթSG+Ww}G*O sΊ4: XBBݱA# X( Ts+p_UNte%&&V ((`ٵk!՚xjj"ڰaa) X(vXmV8-^XǏW\\.^˫B Sڵkf͚ӓ4ßBnPhԩZfm4;wNΝb kСE Q @!+$2e֬Ys;vXe˖$ծ]B\PJunZY||| .h޽QHHΉ'}vIRrrbUTј1cd6m}*URJ԰aC#P˜s?dV@IqUp6v`r*`ZZ.TN8!I:t֭[?_pA ${5w\ڵK VջwoըQ#ǹvءu)**JNwܡڵkwު[nם:uJK,QTT 5nX;w֩S4qDkݫ]Jdɒ^O5zhmݺUӱc=zbŊlX®ȑ#zmӧOW͚5o j*m޼YJJJR:uԷo_jJ9s?TRRjԨ{G}'epd*S+Ihhva;?~.]N:M6 \K,ѼytQ[uqmܸQ#GtX^ڮ?::Zڸq ~ٍ[V͟?_g֍7Ʈ^'O*00PUTk,&&FӬYlW9}իWkڿ]5vX5J/j?|>?C&Mn,(`O<6mڤh[߁tEDDVZԩt\YlY]zsׯkҤIjРVjw_|a+^TXXt!*==]~BCCլY3u-̙3dZռysu:~Μ9c/44TDEE6$}݊ȏgٳXmiii裏u… wZL@QBȩ512e?MM66~q}W駟4d#ڵk#F(88XZxmTرcmܹSV$y{{kҤI tg&LкudZ5g[ӧ7iܸF5kJ*44Tj֬"""dIRZ;=jӦ:t;S'OT:uZ*I͚5Ӑ!Cd͞=[ ,jȐ!j۶|}}w^7NW\$]V_ @)B =z>s= k׮iԩZn]s=䓶뽼|6coٲ]vUI2zmG=_z_.Iט1clūk7o\O>;v~K.2Lӑpկ__*S J*uY2j֬{1xllmV8cV V@I=:~֯_+W*11vNDD:uꔯ"Ύ;jՒ>}ZUT$EFF[~֯_nr6lnݺَSRRh߾}ڵkWއ̯sȑ(^WW9ҀX(v`7СC:sΝ;U\Y+WVXXu&ŒcǎզM~?^+VT۶m5p@:l6kРAzh"EGG+&&F.]R``hB{u*U҄ vZo:yN>UTI[VΝ9r5jY'OlV5  (""B_}:$uzǴl2EDD{^$3@>8#0eyZS6}3?:st9qssqLc[F_$jkPVԨQHL ڵk(>|X 4pqDg*ꏀ?|J.\ЀlӧOW͚5 EŊt^Ʈ$˒o=OҬn=f+X9=f71g6sבs9s+PG+@+PG+@+F;˩51J *hʕFM+@Q @!P @Q @!P @y,kկ_?(11ѠV !kkRR֬YcP4wc6s/ݙ|P<B8n;r劁܍(<<<•+W4c )Ţb1:S 6:H` Pby{{0PLQ 5:H ` T쾊Q 5fݻW/_VBBmۦ_~Y^^^~}G}ȷVf7o_~YK,Q||V=SE;|5j׮^/VTTt jz'eX<~#k޵lR-[ŋJNNֹsi&PBǏ!JoYxݿ#MVQ;y|||ح%|||Ŝ6)cNך`vПQs̙33{d2$Vo^("##%I5j088Sq*r^֯_۷o~ Dž \sO[?F/t29s#GhƍNC%!"##o{QPPԩQFƍs.#7$]\\fΜ_zGիW/{SlY 6#7RIȷFz9=N8y-(00PX,2)Bb6eX@谀"arB38otV:}ߌ^e6z}^mV:tH˖-+|(0 F(iy7e}0a,ݸqCsQ6mؑ\K/ JwDC]=IIIjժjժMJ*Q^{5>E\3S wY?~)99YÇWj$I֍7/6?ENF7ׇk}^0+Wܹse6!==]Æ SZZ"GAo0BIͻ̖.]Zϟ/\(4 Tjժz%Iϟ[oP4;rٞ'&&꯿?yƏo;=h-QXXL&/_nt(͛7KRSSi&L&(®otV:}ߌ^e6z}^l2bK+b #{eջwo\R3gΔbqZp n6a[qoyΙpÇm+Wݻwkȑ ;/==ա@D+K.Uxx7o˫|jܸw?\FX,uI&)-<<W^;7|F~Znrc"J'õFc}ߝbт ԢE [߇~ɓ';-f#dRվ}{믶!C7[ǎշo_IҶm4sLņC]EDD(55v\^=M2EGɓ'5sLnt4:8qBzΝ;m}e˖_鯿Ҋ+4uT8pH U\]~]*[m˗wEx 펃$A}FǏ1~oZFoׇ1\d2oQ.]l}x gB"`w%&&j֭ݫuJ^x;f ۞ZJ>ZjgϞ:s挶nZQ`޽{տEDDbŊvcժUӐ!C4d}z7 J Xvz]vm۶zաCI.\?S˗/W ݺu}]իWO~ ,p?h ͞=[=>cG *22z귝/5FotV:}ߌ^e6z}'O~َKNB%)IJJ?l˿ լYSQQQE=,ѣs\롇C=_~E]v-Hpl޼yZ|{1uY۷RF7xC?6mdPP:pWfҮ]ԸqcYFݺuJR t}i:tݵgϞʕ+,PDFFڵk͛ۍ{xx(,,vԏ*FǏ1~oZFoׇ1Z9roeZ+ |JJ$--8rp T ŏ]QC QzTvmM4}Kz)___0^JJ6l`;nԨZha;~Gh;_r/44T۷okʕ+?#{o0BIȻ#Fhܸq9shȐ!|q1DwM4QÆ ?88Xcժ_Wr|{"ல8~^yzk׮4:]J ێϟzKeʔ|`w7|\~~~v?p?֩(wf(zyCM4gމD:udkÇnݺcB!`wλݻ?;wN7o3>>믿?s9rK>*qE#G߯ … Q@@9/ z>b';wꩧ*?ENF7ׇk}^0>\m0'%%gʕ+ <|+|Cc}7z}?խ[W-ZPZ,X~(-ZモΟ?^+WVϞ=5sL]xkuV?^[Z6mΟ5k}jΝѣGuYԉ'4dȐl -{95kL?bcceO,+]tIgϞUll^|EYV}g6mZ!4_~g}J*i:{ݫ'NҥKZv~gK'OTXXy矺z._;wjԨQj۶m~\a7:~|+oF2~>a}7z}a {Aן={tkӦM:z.]T]pAƍP}E?|+k}ߍ^g8pKܹS111~KO> j5:\(fX9'0eyZG[f>6;9L3oi,6fdZs𚊭@_"+W?X}5hŋgϞjٲmpDիWOڳg6lh7~ 5nXZ~:vh ݻէO}rW^UhhN<ŋGmzHf5h ͞=[FQ3e˖{v׼kԩzj\F #39~KNN6:0nY,v.KJ<=KJJ1LcgXZ>|$ZĚ]dҔ)Sd6eʔѰaԮ];ZbE X%,(N@@@c,G$xMݺu%Iqqq-/ GQ_jU1c+m޼Y7oѣ7xCC\PmP@<-Z$"ֈl]rzxuԩ(i(`EֵkW͟?V!ҥKv rX:}t&%%z~zIR6ml'>>>k۷o+ڵkz7 С|}}NsՠAlY!;%gğX &IJLLԵku-D޽-Zp't;>3NO> 믿kرcJNNVZZN8Sו+WԣGuvmƍ%IZt5y$Z IDATdI7w|饗n+=}@6 :*U4zhI/wyV3fhС?\^^^/70WTIyYj>C߿߮ƍ4i$spc&gĚ,9]kʦ/AGG}1g:xn4i,s dZ9xMneʕիW?>x;J7 e;t蠭[޶lVZZK.7oʖ-kwO?Z&IZRJJ:u꤉'ڝӍ7RJѣGX\XXvޭe˖{9̟#F諯UREgΜQZZ4qD >>>VK.W7nT- 3EFFJjԨap$dY>gXIJ,),*)cƸ2e~qcvcAk;'ymլYS}?'L;O+WH[F{7VWn/2uTl\ - B ;:gb,XxwX4nQpkxڵ.\((^nQ+ū Xᶺv%KN:\;WpFFΝit ؁.E+\Vp) XR(`KQ .E+\Vp) XR(`KQ .E+\Vp) XR(`KQ &6mh˖-FP(Fp'j޼y{xx;TjԡC=p7o֊+SNI*U;Sڵ}ݧJ*%9o6U\9yu]waѳZztA5J:t0:$@>I(o;NJJRLLbbb~Д)STjUrvik:t萭OɊRTT~7͛7O?d+>>^ҏ?mꭷR  bbbqFI?L+! Xz衇o]xQ+WԬYѣG,K۷of͚ի_.|ꫯú뮻4d5kLeʔ$%&&رcڲejԨap9s>%%Eϟkj֭zꩧ4c yE?y~RZ5mVR.]\!(`R$((HWڵK/ڶmڵkWuV%$$8!R@Zt>:u>xr0"bԩ>#;wNf͚%CU^L&}'. lf^۶m"I:x矒U{5j(IҡCj*#o@)옊ܹsK. ྺtFIϟop4(Z]LL.]{*..N\֭zJճ;?%%E۷8p@mڴO<8î]d|XʕSÆ Ϫf͚Ο^;vu%&&aÆ{4`ͅۃ __;vLgΜbQ twwު_~b1L&맷~[еkkg+t۵'NԼy4x`=s+**J4m4ٳG&Iz҈#$Ú8q⏊O?#G(**JwqիGyDZ_7oŋu1ǫvںԿyz_ Jcǎ}g߾}^|EYVIV뭷?l7_&Mt%8qBeʔQHHm\ժ3foQzz*T 8p@ի5eʔl QztYŋ5d=3֭[ ǎS߾}-IP^[j֭:tZhɓ'+!!A^^^Ullbcci&M8a$EFFW^і-[$Izmۦm۶i˖-U||g4iΝkjժrN<Ǐcǎ(5nܸshѢEϔd '9_(99YfYʕSTTzjw[xdd #GHkڰaf̘A+8R$==]<W+Wu]ڵ>5kV@/Bk֬ĉզMn}E_~6nܨW_}Ujҗ_~m K.W_}:uhرD?^k׮ոq4}BB ְaC3FƍSBB>c}g{C;vTٲeo yյk[w O>ҥKtRuA>ԩ#٬SNiܸqڹshܹX,߶my=êPn:M0AwԩS[o=+s*00P7onƍڷo|ǂZj牉NwjڴiӦJIIQ@@$|?Ά 4e)SFoxo5w\͝;W5kOYw Q %ֺugqZZΜ9I#<#G]1c6WժU;ȑ#֞={ԩS|t}X,v,WƎCi߾}ڽ{]!Jx@M6լYzj]|Y7nƍ5~xo^#F%gkcOOO+22R-R5~xkTqW\\"##հaCܹL2޽K/iŊ߿ԩ__;wt5-[9OիWmԘ1cj$%%O>$j߾mbŊzYfiڴiҥ6C֯٬]Ӛ6m6oL+8%ԕ+WlX[҇~ѣGkS5iDtŴcǫqƷ}ts{WtbŊzWb M0A<ʖ-T_^ի4W^d29oժ;4:d+:=vX:o۶nkǎ^HA2vܼyN85tUIR``֭[ O{n9sF׷+^l ˗6ddRXzGoڎSRRԻwo9sF;vPǎs#..Np႒+f1TADE<VE\ڋK֭*"pb+e)AD61 $ddO?pƄdΒi:3緜dIIgoa7o$th8YVM}`+NC_AAA h+ 7t֬Y O?ݨ=''GWQQ&MkVÇWDDBBBꫯ>/BIҤI /tXI4hƍ{6Z]ԓ籧JRt… 5|%%%i)~ii…]{'Iꪫm7 u:Vxu߿k VAf>=ϔQF9?nŋ $8p@555|tvuacOsqɶ;/٬cjر|r-_\k׮Ղ Xڶm>,ժ9s8[,Y,׫TnݯCu:5sa:~$iȐ!кM:U#G$+ڎ9"Iڿ$K.Թ[Gj߾} W\r|}}}mn6IRyy2'gΝz$I-Rlll6;WꫯܾoO2vX*'' [nUFF Ç{ =}'I:tv3YFGun/))ʕ+Gӱcffvl0=k_Tyyy>@"z%K;_۷OYYYnWNN}ɓ(s籷|Zdrss%Iv]_|~H.\&"""$IIIIM:z}ݻWVRZZZzw$ICUPPPG^fuq-]T>JJJtw讻j+$~njʕڰaC+111.Iz饗|rgZ~z)Io[ kz yo„ 0aۧe˖iɲX,3g6oެ|͟?_2***l֐!C6;g||n&}~#FNǏ;͘1CZb{=P~lamݺU˖-ӧO\zG}Կq=zt=aі-[ >\7ts%'?Q~~6nܨn7 {z4~xڵKWqqzkΜ9ݻG蘪*gYCjҤIr|``Zٳg233뮻Rdddo4jGԩSqF8qB9r sO>:.t0Xmf7|ln[s} ^;[5rl d2 cw3zTI? xϼyt =۷Z$$ٿn?ːT] >wnUc5ܱ9;8" " " " u=ŪU|]@ **@'WdR~TSSӮldҎ;>^wuy_@w}… [On{euXWL&6nc :Xp.LOž'Nڵk5b >Х``ƌuIYžO=裏bxBL&=~6'55Uo."y.KII#Њ+t=8q?s?׮]k /ԪU\A:rF [gΜѦMi&8p@\sx(00PJKKSZZiÆ 8qCTQQѣG7n{1=3ݻo>ݻW6oެÇ7Ff9ŵ^@DZ+F?$'noԖUVi3g9L|U^^J;nׯk6K/iڽ{^xl-ZHEbcc||]l(??_w}v^z%1VZZŋ_֭رcmZj ={hΝwj۶m5k.B 8Pzp! O @7|$СCte t-ܢqZn~ӟgQMM/^,ڮӕl+55UT^^l{L6mҗ_~+>>^of$Iխ>?kƍ0`^&f _98 I:T3k̙Ztb W/4>77WO?֮]vOoF%0+>>#ᒫYǕk;C&}222$ :¬uoIFNv.R%''릛nRuu~6ݮ>##Ccƌ/kŊJJJӧUVVE:GK?̙3:ol={jjj^&MjߠA$I?яdF_O<7 <㒤C .Ђ 4nժUսޫ?X/4zh]p eW^ȑ#u뭷ɓ;}<޲h"hԩZx~#G$VUUVCfΜ1cHz!i޽{%I Ͷrw}jjz75kwixիzjEGGn1;eĨŠ+ud2/Tmm]#F܏+Vː7zw'*&&FE25j{G{nM8ъr,X7|SsΝ;eX:}l6gl6gճ>lKjԩs*==]K.Ջ/6lbcc)++\-##C_Wgdd?WAA$!ݮ-[ĉfYEEE/uq͜9SxéS}v8fX5jTwtCg^@K<3Ij+~~Mt?X.O>ꫯtRm߾]0`j=ѠAٲe}YkժUM~i?Y۶mݻO'!.ڵk~^/YDf /ÇѣԷo_}ݚ3gL&GkhJmݺUfYvc㳳{neeeI"""\ٹsN8!???]2dL&qF9sF׿4gΜfDxaڼy5n8 <ع@QQ٣t%''O>6lX5룣3O̼555cjĉ]xӝR]9L<4b \s׎m $ 1(55UԿWL}N@555JLLԄ :ޕ;v())I 6mZo߮6Gs Ź\qݺu:}4{N:~}tzZ⩟םO?ѣG5yd7 YI Ie?eHѮm ;^1~XW}\wܮ[{j$''ɓK; ջwoz뭚={ Ԧ83hР&IըQ{<-Æ k6\QQ ㇿtt룣3O켵$6V"?QTT&6wn/7TUUi˖-_d8OorIj҃$5vv|[9JTYY͛70 ]}Պr>}۷O6MQQQ6l[yS;p0 *==]TQQ6lؠK=`OU^^뮻Nzt6ٚIRppƷEBBMj۷+99nݺU袋Юp~W_}%ɤSl6e7c#F489R*++gi̙n/7@>|XiiipO>z):: 1fYYY$طN999aaa2ͲJKKk6ZmڴIJLL\Z[ڰa oQ&ɭGoVkxVpK.D\rI}N:󟊎ܹs:#,t?~eĉ2 Crxo۾}JJJԷo_]ve>U__?XիfΜ)no:qJԫW/f_F-l8ĉMtAIҘ1c>[?Ǐ+00P3fhj8vmڴI ߮`.zΞ:uv2 eڽ{$n=o`HAInݪcǎ9DU^^fWxo())%IӧOWHHOoO>QjjX'u=GgZ\R?~z{ [ڻwT]]-IQFF}+88XSNu~]nj3~zeggk֭ھ}V*++%IѺ[d67>Bg{ڦMT[[+???߿_oW\}z:x˶m۔&l8nݺu.FFFo8~}gX\\ 0F+YwtBl6ݻW{$YV:DEESPPێ;XNO~Çرc*..V]]bccuk̘1X,i:>}e*o(**r>vq]@1..NÇשS4~F{W*!!AGQnnJKKUQQHEFFjJHHp@z.6ǖƚ\ls07csۚcnܠҠc[$a9&JJCrVu$CR$|tA[-=jṣf;UW6p=2UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXU~.aڲe@;wluLyyiΝ:uΜ9hWӦMS`$B3Sfu9C mהcu9S``BBBrlϞ=Zl[Ic -]TmVvvۧFC @9WqVͤ>M躡ZpYK𽺺:l6l6***%(99Y˖-%I}Ufff wSmm&Oo]_|bbbdtImٲEW_}= VM>*}bQͤSk|] sl6)..ץ4W_՚5k$I#FЂ 4d~-+++ҥKU[[{WϗÇ.CCC5j(5ʣg" AO~T@xmv(Ǭ7+UUUK:zh%$$h4i$)''qUXX1ch.h+Hcv_n װl Q@@Ki䪫UW]q6l$͙3%2'.-. .-@M2bV9Y/2 % UUUU8~$)66VfY555ڶmvڥ|ꢋ.̙3jq>" !9eW16u nQXX(IQFF|Aedd4m6]V?}Q&c|tfI(88X=6nܨ͛7륗^ҰaT\\G}T>nfFwP;?n|"I/4`2e"##իW/M8Qo r>Jsv]ժUMMU__g2dXdX/ժFsL:ll_6 tCzs]U``Wg}e]wݥSvxXIR@@,Y"ڤj… d>|CM PUU***TUUjanVUUUΆU@LFWhT6 tCS.8V.r%%%l>}z描$)::e/XwnlppnpB媩qnPppdZ :֪ZVee*++﯐d70X7`VuC5,sBCC}=Z_|ݻ$X4hP+^[q6a0aQaaUSS#???EEEӧ"##,(|j2dZHGWTTTSSb>[Zt=K/u.Fke.@32&22RÆ $m޼e'OJꕺs`hsCSUUfbccտEDDϯ7SDDXfUUU)//OM³t,]7^ִׅ*..em&IzwlիWK ՅߔR0 i siJJJTZZJn[bʬP8¬aPC aUShhϫW9s -\P۷oWee$zG~  C C튈qUMEDD(//O " HNN6lؠ IR``*++n IDATt3FW_}u({lUU UXXTG3gΔbI}.$''kŊׯWv*++eۻqdL}*++տM6Maaa޽{uA%%%),,LƍrkڴiMjNJJҁ;vkzm> Gڳg}] Xd*?9`???nQkݪ\oYaaa$M2EG$ݻ׹/0M<MIIqEpZ]]-ݮ`_Rppvu 8qB4yf? 1eVǏ2tPIRUUl67tCġSZL_>虌gH]^uET__ZVV%,,$IG詂ԫW/IRZZ P^t4bhС:zҜb^o t>a%͛zڵk֯_4kРA5gΜ& 5~[N~JKK5|p]~;w7'Ք)S$I|򉢢yk޼yZhQ1t1]q/b]šSZnU!ɐk%\ asX*HT޽DH4p a޽/eL&f?O.٬+Ss nDK,ԩS&ݮ-[=~[sOq߯GVee>3O_W_}U>hZZ|vܩ|P;=}u@`8p:kh`9dXdv{XY}u $&ird^I:~+ժJÆ jUEEN8]v:tÅyyyBDݻMs-[o sj͚5JIIQffկ_?]馛!X=[y衇4ydk٬nA999z״k׮f=O|nIQQQz'hΜ9j5hy{nIҌ3)88X^zyq쯪e={3f;^O+t0^9e|+54]SkX!???*$$y7`Ϟ=ZlΖ`Zbv|ꫯڵkk9 Vt+V0a^{56D=Z{l~>Va'ahՐlU. k}}sUZ/f"lMMykzrLl6ƺRhhhHRBBMh[}}Ç+%%EV'O~TH«]Uͤ>M躡ZpYK#uuull UTTKjQrr-[JܹS˗/WPPz!M>]EO/+55U{kh'?=6!!A֚)84LfIrK->WիW/_ IΕJ***Zh7.?y%IqqqŢX]{%IǏWIIGKk^EwiE啊 6Myyy.åW_}U{<#FO^yV}O7p(VU7x~iIg" BgB;?Ėngt -+L0CՐgQrȗ>Vˬ gwޭ*[=44MԼ i[®5a0 egg{|G@G1ͯ.@PUU"_ѬѣG+!!A/z-Mя;yk^Ι.Ӝ+g/| 9~|Ԝ~8===iooÇ}qXw2VJTʡCcM:gxx:8p I|iYs6xdy|#]´y[ߚl۶-o~aÆ$G.2?;#V5RNGipF[o5{Ir ׆ w3Ir-^W%9r?zg]wݕ|+^ю;ƝdZ(Fo& nݺtwwK_jZ6n8⪫8axx8wuW|_uٙ+"Io}+6lndd$[nͽh}۶m˗T\~UG=6.8b665yM/2+Vhv.fŋo~3ׯϒ%K; 7ܐ__[n%zAё$g;vuފ+7!_Ww+_|qFFFrW:`+ ゠B!ˮ]t&W8ޮ]FkvfK~r=d׮]'> ZP(+_|ԹgϞϺ<ȏځUp`8s7ζmߟuYsYgMzsEe+w{,r9^{m;lٲ%{MZͪU(/~~6CCC\gxx8uttdŊYxq^җf']l ibEY\>}bw̻Ї/|!|̥OLQ=ֹ)5nac)y//hLRߙg@[nM^ɕ̌n)7o>]|8z>jVHz{{ݝR.!z7Zfɒ%T*)))J)0K}Z`nM57|^RŋOlݺ5s5L9{\wuimmj曳iӦ\wu?{ۼysO$?ޞ9~i| IIz~_'lϘN5X'xTsZw2q圸 x)gaBbb8thh[73449~~Ҏf4jKfGo߾}ݗM6eʕy;9.$^xa>/~qrw<׃N^CPH^׹(@v1cWOfٱcGZZZuTձ]WX^vnG_9ukp#W͛7#vlذᔭc%I.򴴴L:=_vmyF?G+ëb1Y`AJR6mڔ'6mJTʂ :*0{W4 +k.ښT>^gǜr$H9qgzV1v/mCJlܸqFC===ٸqcb:;;STOU,ϵZfyݚjsPfJ˗7iv$#<S[~}%/yIEm>~~fltbRRT*Jlܸ1ݧlܸ1R)J%]]]L* {ui\{q1+;uVTyݚjn{ݐΫp+˩T*Ybiyaݺuy _o'?qy۷/wyg>ϦX,MozSt4ɘZFaX8Pd&S_3^368֙P׿3nݚ$Yzu+٩qZzZj:Hf`` z=Yzu/^rO?B!Ypa͛7j\NXLT 0zB'BVх$JKQs.]f`` 6mJV˲e˲dɒ̟??mmmiii]^gxx8KwwwyѮKRW'v`yul+ƆAֱccH388;z}\Wױk]\.-8*N`\VI4Nb,Z(RTёj edd$###jb1r9r9ikkN=Vpu+0WLx!ƜƣX,VVT*\.v_ۅusO|L Vc*:1|Z(FëNTAɂ«\% pXAֱW' HBc  V01x8v_fc;1:Upuys+ j#:jcuW,:J$4j#quĵUWӑ+s0UuluxkM0 <cchudN`ltlxuɮp:`fVlvYXQ(Vf+3J% ``F 0XQ(Vf+3J% ``F 0XQ(Vf+3J% ``F 0XQ(Vf+3J% ``F 0XQ(Vf+3J% `H^=ܓ__˺uwqGʼMor 8S?`r:"_{%)J.f\___Kv?ZnKkkkK p<z|8 6iwwfy[ޒ /0IRכ\;(N=fԞ^yFFF]´z衇~6k׮oo`T`3г>n-O?XH++4>VvmE8gr9;Zp9}/ &OkZ> ZZ+ )J)JimmMKKK͛b8nB-Y`.R2to*nB!˖-˼yw FDžX`nyٹyٹ.XaΫZ-VJGǩtuu\.gΝMPЉ7Q(LX0űW7裏u|޼yT*Ypa.䒦@۷/|pXkkkFFFsܹ3{o֬Y??ʚ5kX-!j,\Um…ٻwo. 0޽;_Wߟ$ikk@zf+'mΝyޖݻwRo}k,]4j5۶m׾|3ɖ-[ۿ?/|c9眓wӶt0WkZRfUՆ޽{FpU`vɗ dyk_ ny<^;]^嵯}Q5?yᇳs|k^ ^zٽ{w~~.wuWտWYtiT*p.]z9xq<yǧm4`jcCjT*)gur9J%Z-j`wuY_tvv&9rW:k׮M|uO\uU-[4"f+''x"mmm?}S}^;#b1]w5szjttt4)uttVãu0{gIj $괶fxx8O+2I2<<:I}-/>|禛n;'I6m4^qtMV??ygsE7)7'fǶwGp GIu8I=/_ttt^gdddk *@200\rVXߟ$9s9Ϗ~/|a~ϫ_U֯_??̹瞛:y=Pdɒ ??ƍ8}{WmϧffW0;xvksNRzZ6 4$IoooMǎ)&O<~iiiɺur%ټys㮑p޽tww^畯|eV\yBkVs//o߾_K_R֯_۷СCYdI>_~'Cs"_pN ?!G oxC/^׾oF?,TdUf$Ikk1絷}ةZwdd$w$8=SGGG.체{9:r3<__<ΰsOkqlEKWr\r\.-\;̏$ I6lؐ}=ښ]ve׮]y衇#n;eus`5ܵkIx`iDuttLz|e֮]{,I҅`T}lhfmj:qU`jc4o޼⾡lrݱcGz{{lٲ)/U*㮓$\rI^׎;VV<~-[eۿ/_2 gK)׭7$$7T*YxqK:R)˖-k^tttO$_o9\pAcӓ}[oָϛ+J.\z饧~Luҋ_$G2'3<$NImGM>Jg9μ=3\J֓?afj2z⭖ub8=+W<[̈́FҞck^TN"SL}WW"r9z9c6Wc2app0ovZvm.|?\uU'/7߬Y3JVNE]:t(smyg$+WM:!$933!q.0zjZjZjFFFr`K[9 BZZZR(rСf3CK駟r͛$k֬i꺋-J޽;ک5^񺧃=>{;ztIv\xk׮ڵ+mmmꫛ]g VNʛX"Z-x;pʹ;w; 䢋.ʯ/Yzu{IѸn/|!###Gя~z(]]]+VS Nwَt=rkv?[hQ>$ߟÇ5NOOOs5~l߾}\t:̪֝UR*rС'H,_|Z֜ 1{;u.aZ<Ie˖X,fhh(_s뭷s뭷殻w~?~ݛ'>gyftΡCrwo~s6oޜ/忤^W%I>я=殻eDB;vwTo[o͞={aÆLr-jZ}.NBaɳFMmmmj`v[n]r/}iZ-7n}qUW^0<<+w}w/NۺSW\$ַ 6~I722[{}Idm۶K_Rj.tvv>5g=63ޞ^0ƆEwwwdҥٶm[~73v[ ZP(+_|ԹgϞϺ<ȏY99s+Ʌ^O}S7O=bwOlذ!W^ye?g,/{rM7'?I>я=yO44>1ZFaX8P<ƺ)M68yc8f4flq3I^g 8mݺ5Iz&W23nl޼9tVZfdd$###MwwwJR.첦Dz6nܘj%KR\.\.T*X, ,qj.YukǟZJe;PN[7xc)wޝ뮻.Y~Qwikk?)w}[sӟI'vKK/$'IR~m£mcv;ٱ<9{33'üTXTXTXTXT.^VdXdZe\]ځdl<==e6]]vaZU^^*W`ddXT^^.OOOdBYeeJKK]]JUUU󓗗]T.t1X@UVV^UYY2@Bj* Z.tX@y7EjUUU@'SUUEV,X@^ES6@s`-fX\]:) X@L<µ+h1Iqm " " " " " " " " " " " " wl6W6Ք)S?. hwWV<]ݻ+$$DC=#F8:z%I7oVϞ=o:>>>^?5|pokyv^|E?^?4sV /cǎVo>yxxHJJJRpp?)<<=K++))IqqqO~^{MVepLݻW999ڲeq]v)))I׻"+͘L&~bTSS߾}۷}YW&:|$)<<\˖-sqE@ֿM:U.\rfFUIgKK+VtlxXm3©v]yyyھ}>#gi… pe-ve?~\T]]jM]]F7o~󛛎ҥKUTT$I /0fΜ9ڳg9'l0OZZ:$IjGM# n[nnnիz)v}Gjɚ0a+ֳZ/~aW=<}(<<\-СC:ynݪ˗/+//O555ѣBCC5f-\P^^^:ώ;[o9yIW_9'NhÆ JMMյkᡠ 3F-ÍwzK{vժ?Xח_~T*<<\fғO>)w#V'NW_} .(''G ĉ? aÆ{߯(-Zѱz4eI͛ꫯ:?y򤱿[nڻw/))I[n畝<1c.\sZ~iرZ`ƌ0>##Cׯŋ"OOO :Tcƌђ%K|yY|/_͛7kΝJJJjСCOhG?ұc$IںufØ+WG5 ƭfګÇk۶mJNNVffBCC5d=Ӻ뮻ki޽裏tEi…z'[Xp# Nr?dȐc***j*رa{zzӵw^-]TK,1l6ڿ]k׮)55֜@w$bZ~TZZ )22!z3)))Zt.^(Iٳ,ݻwkLͦ?ed2gٳںuԷo';;[v$iZre;Ck6~U]zUǎ*((Ul㏵fUUU9+--UzzV?Wuu\:tHկ~c6yM6ɓ:ycǎرczl2cC=dEKJJt)M8xBUZWyyz-mڴTj׮]z6z4]VV2LL,*mX;v|`l{ԯ_c?RwwwEDD3l6oӧc+jXXNq)44TfYrsskyzɓ'O>ݻwɓ5y_FÇ>S``VZ-[?֗_~8-ׯkʕڱc6oެ={׿tY}cccvZyzz꥗^Ү]em޼Y?OTPP ֞AMMV\IR_uj^zi 5h>}Mfl0aqOaaa ufdd跿mj>LCxWAAAFrҤIƾuwq:|r^|E]~^zf..]2Ϛ5K]jwmϺoֺ~UwwwM6M Tyu:~xOII;cW?ُw:ʺunݺ&G?Q'O%I~gtilz7'ݮO?Ts$9Y;kZeXt?VW_}%I4h^y??@WV0jl/wÛL&͛7Ozw~=3j;$+9sq\Ϟ=xb_nqo+11ѸLÆ k|[oK]7l0vҤI/~'*$$^\\~~)88Edee3;V/,Iӧ5zhIN+W*88XZz>SIA?O/Ǎȑ#USSctHj?]XuhmذARmP?1WvvΞ=+6ckkK]GUllڟflꫯj֭o6}t͝;W}Uzzڬqg+c_oӦM3BR .4'''w:qℶmۦ\clW@ѣڀ˗e;m։TQɓ'UXXÇ;Wݻw՘ݻwFIC=a绑d҂ «R ?2ڴi***$Iz7TΜ4i9lӦMT{mkFhG?O:۷g4zhK˖-s̖0~l%%%ӧO7ݎFkH#*վK,1_p?3z7ѣGkP-___IRUU$X ލJKKU]]nݺi֬Yڿ$)//O%.9~xEEEi̘1m>pqi;w>eggk=zN{キM]HӳgOIrXʾ.8bĈv=Wsdee??z^TYJLLԕ+W 6??߸vZ;Moh̙"""p:ɓ`̂ tAIb[vȐ!F]ׯ_ww]wiذaxnu9֫(uFݭ~u۶mڶm[())iqU'@Vz!}G裏zjy{{֬Y奥>%݌3+00aLnnmۦ^xAm[?ܫW/ջwo}zwtR-ZX¾=4֙5++K?íbXK/'3v}Z`^~e}g:pΟ?6%)55ոݜKM&7Q?X7_?w^IϜ9#qL:gݚy{L$I/^Զm4o޼c”)I5j^}&h͝;WΝә3goXr׮]3ftU޽˗/;, ߘ˗/Kj<˗{ks}Ƙom)>q/_-zisj[p_uiK]s/6 777-EVpۻ_K!*&&a駟| IJMMղet=(44TŋokȐ!j\_~<<<4`KfYIII_ujy$]/9y7Nzt:HEFFjzSOi0`ڰ_|K^z%:q]pAӧOE%vl.utR^ZU\\\ҡCmaZK/ؖٳg7?8qb7fvYY.\7ސ.#xA͛7OcƌQAAΟ?o,OZъձc$I z4`S999r?hʔ)6m.gΜѢEUWWs5JOOiilf0鷾-=Fj8p@tQEEE?N8at-))1xzzjذaoZt/ӧOK}/$JR||^b޽{7hq?LYd2_Wc&ikO<֬Y#I~bcc%!ښz)UVVjڵbѡC'6# &Mرc%O>}9>M&.]9shƍJOOWff>}h„ {c^~e:tH'OTNNu޽5p@=C=zC-9Ow߭-[(##C&IaaaKw~_+&&F۷oWJJkĈZxq <0a߯L檰P!!!0a|Itc֭^yM6M;weX4vX͛7O}CyzzvhcjƍJKKl֠A G}5k̙3U5l0-_\%%%zgTC>}j˖-ڳguu]!!!>}ϟooݻwkΝJMMUVV맡Cj̙jSMͱ`}Fpxܹ7ֺK?(00uL&=s?֭[K.)--MEEE Rhh&Of>3@\]@ G톿ov[^ƶ56T~mSz/nl1;Paaa.Е幺tb.p۷W"##js$%Hm 쒬w~WvԾymjLS6e;n1=teIJM# b/f͚rS# -vZ%$$f~\=9r +@WQTTUVn]}Qee%Ifҏ~#W Vh&bccuy]vMAAATdd͛K d2W]BNENENENENEW hhlvu 褸6@s`-Iqm Z%Al&<==e6]]Vqu d&@s`b62I}4Vj^^^t݄|||2@BX`~~~@yyyC媪ru9pOOOl6`l6_>>>bjfsuih&IfY$ ڄ+hWf%pS&W[ IDAT; V8V8V8V8V8V8V8V8V8V8 sHl6+ I***rq%@חN+((%.d'睄WNENENENENENENENENENENENENENENENEN;YUU}ǫUsCzb'|{Jf͚%KݝUp_7nlׯ_ƍ+VSe@'/4]O? Xڽ{$iΝmgΜ9ڽ{7V`[||<V 2Nvv:~^g`S`S$ĉzߢ}F?ƏhGt`t L~~{v@! 3Z'//vXTXTXT.4gWЁNEVЂ t})<<\t%ڵK6mbqq@ύۅڳg>ԴiG}ԸYfiɒ%rwW_N&88X }ȑ9rbbbrJ幨BGnG}njƍrssO?nh OW2d^{5yxx825fϞ!wȼ+Љ,X?'xBk֬1R2dxW 8fyfs ylذA._RK{ァO>ե]NTTq?ԺuTPP|} ܮ!Κ5C<.]u؂>}Z***4l0 >\&Sԩ:weXp;Vݺuk-~%&&jĈ}ٳ;JNNѣGU^^˗r|GΝQK>/:TTTJ{2d iuM~~~޽F0T۷oogA9, g}:oϞ=5k,=:/!VЙ3g5ĉ:~$d2Keee*++SVV#8deIK~PxxC]|YGU~~[/Q3׏koLKhwȼZ+ZRrss$iii:~5sL 2D&I6M:t y浨*%%E={榬,ܹS%%%ڼy{1sڵkt]zUԽ{wz~Zy֭[e4p@} UPPdwChC6D]RRD}׺z83gB5bIܹst3gX֯ێ;ݻUQQqrlГ&MҰaÌ!&IÇܹs%vX,ͮ!//Orss߯ICJHHhCD;;|6nܨWW^7o,Xp:uq־iOg祺Zl8q͛0Ju릐M>]!5e3Fڹsq/^ iwkߵk *\CwfYFK.嗏.+Z$11Q=z񹹹FW޲~z[>|0`@5j$ٳ͞#$$D{VLL.\6븎z~Zٵ碢B!!!0aBWZC $UUUγi&Hݵ|r[N֭ˍ^JJbcc]Y*tK,?@Gŋ]]V f+,,ԡCɓ'7똺/ToۍΫݻwo֜v]iiiqÆ $AZƠAo[aaa>^gkּtv}^.\ I;vlGթxzz6zY,\6&%%E+WTMM+\o֬Y ͞=h+VBl6ڵKv]wfv- Urr;[nϞ= ,OOO-X@MMNNVFF-笪jr?LmڴI3gέ :uvcXpuM6MgϞՁt]pA ĉճgODwVVVݫ'x!`oF^^^;wk쫩ѵkҢ:܎***$^ׯ_׶mtiJMMՙ3g%))I'NMCCJNNÇ)ҥKF0nWAA$)""B{t˗/$7ѣfϞe˖gi?лn!`?hpۺ3*++/͞=ۡ^sѣ&Nݻwb\dznZTSyy$58oooI7Lrr+wwwܲiMMMUEE$IӦMS```ό3w7Lַ;wN}Utt13gDիn)!C8W%]kQ]A{n%վ7oէO)//OV~~vܩŋFG$LڟѣG[v\UUU7;vuˮ@W+VhŊ.pk->?jt$={\޽{жmt5[ַDСC:{z7S<غWk\銏d2b2b͚5ۧg6xUTTh9rd:uvӹs.7V``rssUXX3Q|zzF}N܎<<<$v0`B… a9sfב29WkMcVUׯ_WbbΝ;K.i޽={v[K@'AM:{4h u]->nk˖-ȑ#5c #׿i߾}W_}E5+'韝4onL1u%&&fW[t|{JHHPFF]t)u]V-wС:sJKKn:Gaaa SPPPڷo_njVWWRmYf5ڑd2iĉڱc]sLݒŃ2 ̙3'O*))IǏ#whu!_|`L]wbQJJrss{キAW`=?qeee*((.ԩS:|5xVE;wfSDDBBBz~WOGĉ5aegg+==]/_Vaa٣2M0)~?ґϋkee 踺\vJ$羑lV=׬Qw}rbcc~&I)mCCCpXhQ\y啱p6;cJP e]m>`lٲ%}˿8ڽ%k*@?||ߍ}zvo nϞ=_:~ 7k֬ibɒ%1sXhQGjߩ u>Ϗm۶ڵk㡇[3όs{0o&Ν;vu/| 7!:ꨶK.w1s̶8@piM K㮻;wƓO>^xa{7m022{lDD,^8:꨸{bΝ3 @`& ⮻_|؟gjժ/~bhh(.\g˖-}C3ĬY[֔??~8_bDDݻ7ڵkcƍ`xӛ}{cq뭷Ʒcկ~5֯_'xb|R>`8?=~7c=G}t| _2g׮]=zؼysp qWĝwoo DDėxc֬Y}mr|1wXrelذ!̙o{++J}/K/w ~'@e[n<>+ظqΝ;W^~:^|Ÿꪫb3h<79""k׮.("C|_}lذ!""bƍqOwqG M^Go~{x^~{{S/˸y[s'ԵwG[ IDATc}W;wo}[}?8ew)s{կ~}{6~ "MɻN7ݻ7}ٸ""bΜ9qWs5Ν;cdd$̙/B|_{. /nm2:`}'^BG_WbÆ qa7###O>o~+W/|ocΜ9q饗㎋bDD,[,VX~x͛7Gъwկ~_#"bqi57㥗^B/M6]w[lyݻw_K,Ѹ;~\s51{(jժXti\{1{شiSlٲ%?#u+5ytTXkьШ)@kjۿb[lٔ(Jя~47nE[XfM< ׬YgqF}˗ǢE""sύ(֯_?z3f̈nmʿ:߻wo۷/""6o6m#<2N98Sr/:m`` nᆘ3gNSzꈈXxq\yq)DT}s5w!LiӦ( /ĩcccߓ[/~xtIqI'5~StfJ*Z 3gΌ7?w?dW_ַm5kƍ㥗^c=6{챈袋""b˖-}Xre\k<:w#xxꩧp Œ%K/ozLz̙3ώ*N<Ħm۶o|㔾\SO<޵kWDӲebժU3'?;/O4FFFrmpj-*0 @Gԧ> ,:*9(__{XdI,]4v{qo}[cٱcǎXvm~/nj3o{DD MgyA{_k_cٲeq}cձzԧ>\pA{?x18#b5}/&Ūc&FD|<]w]ǓO>;vG}4}Ѹcɒ%-Un @GcǎXbE\ve~3gΌ . xXvde;o߱ϙ3'ΝXbE#{n{Q*b9=غN7lbb%գ:*f͚Oĥ^Z5ugƙgR)}ٸ馛bǎ#@N_J47{Wc͓&?3l۷oGy$u/8""֭[W.hʘ??~:>Ok{?eDķXvm+Q*bƌs;찼 r!m۶غud… #"bΝqwz5 Bwy,/?֭;(l<@[.^}U&f*RDE74zꫯ??}CqI'ņ +""yM<8c_>=Ѓ*<^}OXre\2fϞZJsΩѸ;b޽)~;88\rISXhQD/>E]+Vw]Ǿ}?"^Xn]رcVڽ{wu]ߓ9طPǩ=2""JkP`z,]4;wnva1::B!nxGyd̙3'>[&+J+ S*.]@ߌ3ⳟlp qgܹsc޽1<<˗/׽uUZ,k38#͛1XdIr-qYg5@D,^8.8ꨣCшwwhѢ5kVp '9G}tr-񶷽-ΝGyd,]41{hX/ ~FDĜ9sMozSw'aU.TuKOˏ3WosnDuZ_R'ޟʿ"<@kܹ3~ED3fhs|߈5k~xuEDĻ6ZLdg&o+F&wjq¾ VݭUBqqJWecE럾ꪫvJYFhիWhDD\x tbwb׮]}w B:ʲoqpX65-0'WiLV&kg;ղjr@ƘBg < kܴigGDiU]1aTq3rՂffmnO(6j Ym*s Uƥg dLoشiZ=".(B! 쌈رUV=|C&Yլj--ZeZ+eS+OXLX*`3:Wޞ N?3cE֔dsKZ@1f"/"ƁJ}«/oO+oռc9mL-j'UmdUJXڲ$+UKM*?hK"}]39& j&M+Wۓ*WBYDͪ':X>8; 4QXJ8ϸʩiU\}ٓNiyjXKqp(5Rڲ¬WyT 6R}Ux5@Ho«0lWJc & Y#U]ڜVWk]yyCs5kLT}OhzVZ.ׯVw+CdMHv:!Zy۬j1 z4 Q;V[o44zS=Z2޽2:aӮbmtZtZ*ά5d:]VL2!e!Z֨u~=]%V\)ZFۛ=ֱ$;!zh MXRƃTVmFS«}<)!֬X#:c_)㸑uji㛱Fux5BpB߇ 6{f/5pe޵Z\m:" tN fͩw6s0ZlWشҼz^SuK޵*m,y~~׎0dlVд\6 tD6j3۬uIj+.FBkfk_ZZm^-k mvjkRq+ou+T* Bi󧳂qFkuK5ml m&ӫlEUW6l:t2[uN tN^k'[,L[f|ޝuJUVI*B|nܻe[Bh^W;`~xp H*N5$^A6bM^s@3y$bMuӮyt:"^@b}ujX@«5lXm@sxJf'jIDAT)NG'+ ?6SNGR :5)}t%SWWt[S)jƒIg'z@e'_' 6_''҉ANSllN}_;u_ѹ!NWhlN~;yoNv޺cu{ {wtC0صO7ݴW:_7Ai]KPqzuݭ=5ڭ: {/g/CWBl^|{8xOO3vHBg1@XLW;d@W;d@W;pdY@u]@(;.#|~3.%;| ؛|#|t#&|t">"̈gvXc‹$y&hU& +ZR`" '!U&|H+y*-!`H'<@*A`{4(C?Lp2IENDB`easyeffects-7.1.7/images/easyeffects_players.png000066400000000000000000002426301463533416400220620ustar00rootroot00000000000000PNG  IHDRz OsBIT|dtEXtSoftwaregnome-screenshot>&tEXtCreation Timeter 06 jul 2021 17:20:24sC IDATxw|WFӽ[ e{+R@@e|Eğ, C@DT)K2%PV J^I6t^6Mq޹{>} """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*J~""""""""SZ9 -%o}[_1KGiu$~o"""""""&w'Ǖ,U)ja.DDDDDDDDe) O "]ޔ܈ DDTϭY+z fYi6ɟ'-s"y QfCDDTRU+Zn#];ǐ/BJY8sZ=:93"""*-=Iu1ŨhòoǷK4hy1Yj*pVCecS q 2 Aݍ^^] @UoABP,'"2<) ǐT6nނ 6 1ơ_>Ύ +a3a"V,bQ~qW+ϗLL&C^}?j׬QV/btgŦJ*>eCz c]]/'$Ou+L6 K[bl~[~ۉ .Wy<33}n.XbiyK {;; 5zvLjMYx0,۶RRRtט EpPҧY ;LkƷIBБɴ##b"xyz0O"1wr dnܺj>U0psu1xYYYY91nމ 4Bky3/'O0#{ }a3p- B/?>O(ⱒbP [4Cu2ʞ@A8$%'Ix͛P*OHDjj*ݏ\.G5o@&dJvn =r,1@wWNzwttŁCcߘ>5#ܽII4?y5?d2{s4V Ոk.[^/!1 /F_Eؾ{/nމNNt|._W1X6"Blde\caؔAJjo;Q÷Z*/옆=9 OVO&gԮU2 aW#вYSlGn]8{?oJ?oǞ⭿\1iNDdieusB!#$cs} Chp6\{&%'cޗKqr+rr׭iբ99s;+WиaC#MBP*QzvFw ==}}AVZd$H$̹sPThP~ÇyNN>()W :FV|`nw2飇E3qo6 \ G@/ŭD`{3<1* _ػcG<P(0xkGHIIŽ[oނZA@m?w-&4Z- q]d ܼ:B n \] qG  { "OӍ)T%%yIH@o/>Cbb"j֨o1#))guff&""o~H1V L+Wf֝(8:8>%|fo< ~Z[|c׸a}w n/V7n"(0){/jրJUpB = To^ضwlv5o> dž-ѾB/s~`gk V#T5k^ʃ, gL1y^}Qq%*~:> Ȁi2clrңt`kk @Wy{!fz!QF ;p͇=RR퍅砺/`o;`R8;##3IIImT,]5~+x{Çhצ5̚ [DEA˒rwå+aB_~XSzu]峸bOCT dj$$&ٟ;2`y/a~ngaQ9_. rhZrd2,[!쪮qq~m:iY`)}b$~ټlޖa .c݆_;wjP;J]t?noOOD\ZRI%#|2{6^d|4k~Yvǟ޵3Y6=JId}&%%5JIIdzkw0lU*>1),v5lO|SEWDT7lޱK8>ZU0'3.gff">!m[O9M~B`قySlDDT4Ly`˟O֝(L=2 7oAo/|i{K(;2zxF /bQB7ONT46[ jՠT*(Sg҅ мideeE1qس}+2331Lt`!]{~Ƕvb BZZ^>33~?1o$w}4!VYga%:`݆_'GG9v~ P{'*jN]եK<5Z-ݿo%^AD僱:v6(. YO|d}<1/*3^]$m[GcמW&^B?xOva;amHOOb#++ r<8ݺtGx Eǟ7H曐]܉Eu__(JTckӳ'_g#0zp'{ڤϓ(z=|^NF] ru6(RNm[aZ twֱ-ޟ>gmVml\?RUU:J\\;[[C@ 󶗇Raggg`^"O~ڢ^Hdr ~G@ZF:쳗kog͚ 9F/]Onۛsc?O+Vqy:222A݉P|BUS]l?xӐ+ک؍U?Y-[ ;{[\qЦes/gfV lmU&`?A@@FyVL~ml۵AmqG)YNyUT*hQ*5|=huSKÇ8q46[=۷&W L(UO兇p"5h^h._ wE Y!"*iqnnǏ`uX@ڒ5,hZd27I2 B}Skե};a=^^8tn^R?=#afO֠jW=lEGq7xx1^E+f}<V+ըظb;_,X✧7N{1FdhDDP]_mL&̱Y<9E{9oΙi gw2ĐW`࿋аAr4k͚4FHl޶OwÖ;環T*jMx{Oеs'Gw.{ ?s\ j{.UqG|I@fF&Tc$&%MTJdee!))W{ݡX.Crrj;jZGqQ#J}׭B fwƠNm?q}^Ow >ā##5 ,r!u7ΝagkOwgNe[x7{YH)rgcxϟ\tSL2ky uja 7W]YM pmWGOI @`Pbǭw' -=ڶnjU}8>.^|ƋbkCQW#Ehڸ1O^:c~۹ J|sX!օ9 ggxXYkطNa[ݷrvDd^;50e8] ժv]_5>Vۤ'80^샟7}bߡy2 ]ڷK}?6~+\1>W&!("1Ypqv¼iSS;Jƽ߱m+;x?mچ6mL&B@V֓^D۴֝KOfQPJ_wy`cŧ/ \7[ʇE\kW S7˂Zs@`ܾ-z`O|HIM(uE6 ښv$Siڨ!]P{!QaO^pwsž삧tԮU[4ǟ+^_xwOz] c ޻gY dwA34""KľPr[~|")m?77W,aBO]z ]zu4lP_2^Py&}: O̹ RݺtRD Y=? !6#~ڰNLԪYnnthӢ) ıpier4iXUx㗭;T>X`l'n޾ggdyujBp`C ߪܾ Tr?x{zK8uv\7o ];goWrS!u. z;(r4BCtϗɀe _ԿgPZ5̘Pȟ, cn&~Сm+l%s*YQ(cl/]CGq-n /< \?wc\ ڵjQ`]?apw+0kBOyBag C "K0<&Ga3Dou=+[ "{`!{rz/s?IFki1.ήP*5e&;uEHp͟wwRIDQ72j6Iɘh9 (MWZo)t:JKIo _8[8uXRR^}sW9s~ZdO,m3!"*)Ϲղ{3vv _ _KBk4*B!y8JDDdJb0fs^U5/""V)cU ꅠATmiٿqQiYrq{uaOQ>l"""""hxCKE ɉ prq5W*^rbJ]6syi$FVBt*$AF>*eѻn \D{3V&A.WBYJOyj"$ I P[:̄+DDT<( ,&RBUߔ,91AF9mS^ڤ<ⱵGzF2ҠTسjdfBRQE,:L&BZV;7j-US()RLɣXfd̼y0o]2櫯ºu0i$ 0@2vرM^^^x饗$cqO>1#GĥK?"00P2]v;w$Ο?ݻ+xxx^2h4oPz"%Y^T*Hί"""$s~zV4i.\hrb,Yb4X詄Zhڵk9?-- yv$h;v PVbc$Utmڴ]$cV^{LtիWٸq#RSSdŮܹoѡCɘ=z &&LQEBY [[[899IƤ ==L1ŽL8;v,6֭[hݺ8p!s ""{ѣd̾}ʬSV\]]fʆGÆ %cT*"#F+$c~m,]L_VЯ_?ɘӧ]NPd\ff&lmmMQ͚5Ô)S$c۷)#""""Lx`JCDDDDDDDd%X!""""""",Y z =DDDDDDDDV""""""""+B`J(-Y-$cbX!""""""^xlذA2f1cF`ggLV,ddd =DDDDDDDdqqqq/r͛7oƌ*&CDDDDDDDd%X!""""""",Y z =DDDDDDDDV""""""""+B`JCDDDDDDDd%X!""""""",Y z =DDDDDDDDVBfe('*v''|iuUD 5{J @ @=Ҭ=z+)]P;ռ}o>,2'x7 WnƗh}-;vBsp!>Pu+sJJz.=8MV *h8R qcchY{8r,/H}x-2ZPC{un'^ܦ :8w5tΝpQ\IՔET26Тil2=W{'/ON߸>v?zCǶ"$VDpBMe6#GGxY6> O E܊M/2VT C`Mµaxw_j̱k|l8|Q^sTq;tY.a >ˬ};9rڒu0(8L.Dž C2B52ib!dۖ/2 F]@ Fx`!(C#r>C puMM2xD6K!DVV ᥔ3`)bOg_c^,"|uW'X}=ag~ ELZ?ѕ=G5C!Q?B!*ۡOJjxyLPO=zS$ 3>*Cf<-=SŷIyŁEF6B+kSՄ'm'|ք[wqnBvЪί2ֱB5ȪFPXz&q7gMgo MYYY+E#'}L~cUjE!FA!i?\crn>vTZ/"扩*xs!dƊ0:/k{=}Ng=ؽ4:/k;?4t5q2:YpMLWuҶ%$mt5FL|8AWSQC옵GO-{n Ovǫ#+o7Adq o}&}7wsL{s iY<#qwpH ht Pi ܺ#ք&vlOFf'>n̞?Z{_hңܾL݂c{mѥyHfI!}eNn!nOᮔĆ;o5>݅Α2{BUu !*#+mVGqAtwam|'Oy9A,\M5NۅvH{p:ti\MS/Y1\Rh߶1?= t@mt¢et í#XjWi}o [2S5P9Unで[#6$? rw.G+v5U?ğ; MwB [>cƘlgd5|memF.EvTrމ)>߳7vx`%͚d&야=RJlq!گb-K⬐!G {D+[9 Iж^>rjXbQ4mdۚY =QwwsK`;cm݉vG~pc c\d*tܮY"+7* [ط÷-} \sCz@\k(&| pޭt ּ9>*H}|cdfA:Vj3?-7s;y)ѡuBS[fÛǁm|!?{'/;kpWʑ) !ocB1t`mt =[:ֽ\  =mzi#cz!g8bNZs8vF\.VQ :z!֏ ٯQZP?yCN!%Kwg\<fC9qkk?@!.:~oZNc{ h3O 쾝 )QKc[S[CN}*kpN7C֘Hmd['Y9`m{¶{ǵM}KZd7EM]Kw*L<#4ߓ}֖nGGnB42j}v]nrwic]7^m$;Vdei]}ZmBN!ZR T2g=AfGX|iD#![=k@i_[x7BDIo=iT.l[з !Hm{x[ٗnU< ݏ.N*wXE>~mp"ڶo#pix!YtᦔaB>nlT^^Rk!o-([MUZ>g_Bqkwot&Zm'`p IDATŽm }[v6t{'Euo{x/ݪN!Gk:BK_1*/k{u$kV)Jz)j9EW-~,/h5cmB!b/>{k]B'm?#+YZߥ[N%ѺoJܺ@p3m;  U>qz6y ML|< m'`&5 榫;!x%djNҵ 0yF޺Z` 1喗w2)Νۛ&Nۉ _²53 _v}A!G]Wd$PE\9 `8JpVݍ<Rtݪ_pLy28>y6rljwud2diog|>DV^~k{V;>SGIJ}8C~sfG;Fm.kM„w<:TAq׃a UҶ-3m[~G{QnpՃY^#zdnPѿ.QU0E e^!1$YKN6N-4VdJPq'ъƋ^cB?ۨu|U#T97 !mgIw|TU?ϝIOz/D@^D+݅PWQֲ bAAQPDPiz %NO2} RDysϽ'3e֚n%ҨܷZ7/""K΁_nkTmYTGe*Wٱ""Re R-zdmxZkf#Vs`K$ fŀKvmu]kIH{ڢ\9㝗UyF:uYn뿓oĻ~bPcmdݼ'%H]yk;YwMez]UtPk^jEO)ߊrVjx[ܲ{UD$x*ɵ:Ko4m=M|Vu=M]^Sl9/Nv$kiK_^%-k@Lr:F^f/nSeێ?|n͓^gVy)HXM)'D'jGe|Xꞏo8'84,,)U޾ADDE{jnym_Ң&x l4\Qn' ȁ2M-r~Hmw^V9{wȖ-[d˖-rZeeq874rs4y }JA>=@^kfE [w;U^tLy]ugRTԗ/8??YMꯕT1'.Y&N:Vڦ۬= >w>Mƻp+ ط-UovG337y|KQyPZH٭I-SWaޥ Ut796^ºtj2CsPJΒ'!gZz?ss4mrocw_kZtis.<ߒ!""gvٲel/%686YGO:y.PF5Ug[wv}`5f=-G%fCbye儣YF-%$Z }Ehw{4}[u4Q7>,WRW]'oᐄu˲Uhw͔. \vjKr3®O8̫}Ϭj:(<#ҷo_۷ 1ҫw3zk=gw|r 1_iy&3'[mu#Ѻ@_X/t<_#.Dh,syka193rK׮j*VesF>Z:'.1^T%Ϯr95C^ԏ‡f@P4{CsFS8Wn-߯0y;w'gn-#{M-ĺuADD̆^gO{ED.7Q,ck^Qg׺ljFŌ>)@{KLVz4VS[u~ط孻TX?w&_v- 8[_'Xa]u79 p-k;'9We^pz,Hyӫyϼ=TvWỼ*7ʽV:U|gxڦϗOjn/7[G4GGw ۘr"@= }1.*݄ Vc_?l5Y{& 8;}+s:[?2EIߧZn 9}NA Opx*b3':H+/VkpdCdsH1{?'o&%ڀ Δ!Vr ^{JnoԏP"Wu ^| t]Jqoy+_^t8Ulچ(y%zxΨ+VecX-\˂Jm-z pW1XQ@{0cpcLvk iCq=؁)~;?=!*+ޛ3~8Y!ҁMoZ h SQ'5ܷ\5oVKcs S֥-Qioʓk?;;^空zF]n83XHfUa/AjYugzrًXw7ENc8 ʽҁn0sF8r?5QdyԢGQ˗d%.ÇrKouv1;D o^눙Gni#eqsIpv͙S2iyps5_zoq-Wt^Vb(mqҩ][b*&FA8#{JD^4F68NWG`;]&vsUV q=Os6Oײzh{sdwH^dНxgIa۳y7IeT/9붆R9'NG'GO6;Y]-z<۲<ż%"`z.l>Gү5rj}::"N:]v8x-1ɋg'Kɿnp F9[Z$Gt{swexAѸ?Pmuqui-Kz]z֭Ά.*v )<0@ڴ.n+{)8֓K׹|*npu-T=p &;vy틝g.;]2|p=#}&Ç=iw0eqӽ,lpT~)MDF Ez/Nqrm>S\a'Wr33Յ{c@CnOK{QJ㛣jny ԭou*?U^e7h8JRJ?qJ䅞7q?mfLRqRU|TP^uE[L&RvlY/3ݶk9n_Ɣ/ݼi0˷:;s~ݮf kTg` tݚ+;w+lw]`n<־JɗUݖm{߆49whY=: ɗ1`j]H&L˫Pk\MC[We}ʦLU>VrZ!N}]-ٮߋ<ۅߋ?bcR\wY=VfD<^L|yDG&$òO>֓Enۿ+wMh\/yYǯ ^u[s#ѷ[DDԇNLH=k?eng3{bcol>G2ٖy-w!Xk?դܐ?=)ހ&S-|OV\}x648e2ۇXbZVp޽U{ܯQͽbcCP O;QO}m=K7׹Lye̫Ǧ"m0bOl1vmClD@,ղ<*Rҏޜݷ{fNQ?,Rm W+y({74Kg^=tt6Ćq I³χ@ݸ׼y>.qƒ{#Lcƾ?Vc{_3Һ.o$fD 4i =EDDDDDDDT= @Ii2&ou2=DDDDDDDD>"""""""" ,WŌRft!""""""" z|=DDDDDDDD>""""""""@`G0CDDDDDDD#!""""""" z|=DDDDDDDD>""""""""@`G0CDDDDDDD#4WTw$%%!==uݻwGpp0D(JnhѢj$O"""""""_@yl޼y;w."""*[v-wVZG;v Vٳg+ΗW1C^BFFFG??9ȑ#qwc޼yp8PӐ: P裏j,,L8!""""""?=2O@}eLHHÇ~?~Ov>//(,,t-s8nǾ}8<>>¶f05rDDDDDDDWl㫌l XdkXLVo߾zڵêU\?=+Vɓ'ѬY3$''l6ƦML ={6, Młw}hذ!~7;@\\a00yd̛7j_~8y$Zh0aN:={5 """"""b2.umꊘ~L ՀݖɓUoa`XcƌbA~~>t:=ݻcС߿?<@,[ zrիW/\0 Xj^kӧOG>}#`HJJ###Q7DDDDDDD={۾lLr,58' T נ}`@ JqW(z(K \Cbf_W]۵h1_i>iiiHJJwuz!曘>}:`hܸ1fΜ>WDDDDDDtM@g/IH8] 0/F)e9ga4[1{zwGZp,;0),ڔڀObjwxT q׀<8`o NZ]VϡCӧOW_}Yb˖-ܹ3&L!CЙD|{6BE#y\YooѽVYD!7>^ Vǝ~>mGsl֨S+[f4lgܟQ)$py r嗥@Q;ݻl6CD܂gwvΝظq#V+ZmNϺgb[;rO1 8FjMAzjl~7FxF{#"Xm,r`48^Xv;8>Tqۢ݀L+`;8JYN9t<h޼9{*:LN`X߻-1c 9-- SNݻ)SXىtG&9-EV抈4Gl~#$x/]˞c끟J圢f`oֹb(`8[ԀJGeWؔP̿B`muw֮]nݺxGe̙3)Sî]о}{Yl6{111E˖-q_~)lq K Y4oxEA2/n" 0n\B`*;@@ 9{-P:Cy<4&iP:.z\c(}m/ D~/Y6m\UϞ=ѤI*.ӱcG$&&bܹnm̞[o!!!n͛7zʕ+q)K.umd\wuxM4{gw}r˕u#"""""vdx@Q4jm;vy&F VK@@i SD[x yLMeyZ 33_v~M/=@/lRЫP_}sb4 *EV !1GP/PT-|4TCPBFaO%'@]sp bKYz䚩DQg0()M&V'>% !k%o 7,lY:5yͥ#[]g..)Xd)MF09bD>4:D3Q=6< S8g `,V\VsV."""""kTfzWA9p]RvVÀpgc.ZsOdeerdddqcȐ!hذ! nӦM5jTRy^~׮]@bbb.s=IH8]\/D`1d9^FzFFَei{ʂl|ujF] %I* IDAT p6 S8xΙZsaɘ9s&V\wѢEX`A}-`/W&M~z=ɘ={v-U=sT+y,b> 5o4> 3 z-mͣ*9>P?Y8: hX D@]ZF&f.Cfs3cM (:S2ٌ{'Ǝ"Umaa!␗We~V{AzzzMHH@~~M1v߃p8ޟbiFIIIwuӧOcΝ̬6;wbݕZpNصk]ϝ;}nZ(:9iϿrvb3:4@th:ؓWX5=p<ÙIQP/Y=¨QìV`0bϊY (QC>@l`=DDDDDD5nÆ W""" ]V+Ǝ05 @ 2͛7?\qx 8q6m^y׺[iӦ馛Э[7/ȇ~|7>}}2d0uTEEE8p ZnѣGI&xw+o4hիW|P*))-܂VZa„ ԩtq{n|0͘6mMkgunz" FRpmCmm`*y2KC+&#-@;@^Q$}y(,,DPPZ!+V駟Ʈ]вe*Ys=SNzVbh/qA΄ˈ*)0tf(i~@1>{y (Q6èabY9ꜩd,vՀ )~DDDDDDb$&&sή0:t@^^v_}~4k иqc;-)S`„ 4h 00/eZ`sAQj /PGʼn'p  +9s&9RiiiHJJW_}C=7|pӆ p_~A׮]=>ߜVE=޿.s:Z_|5FB3TTC$AnY4R ;w@nnaA p %0:L0-0--@0(REjQ3k:@DDDDD?BRaԩ?~<ƏiӦAbC敕q]q~J[ 08EQ/#44s̩tC!88n˧O|Ç*eZ1j(pBt mڴA.]0sLxG]S>ݷk.?ϿTbAi1KzV %BXPlsrd)bBæ 4pi"fA |;IDDDDDW{1sL9s-=/j`2KV#99 {(WRSS+]\a蒌 X,Վj_cϽ*cpp06oތTuI lWfc-b@Ah8կb**ocg'*ٰ `6d*T&K!LB,E0[Jp]@B˃+ y:@kJDDDDDt *,,Drr2| Nٳ Ehh(z)m ~ѣf͚ZV\\\mz}SO='N̙3e& s6 ϟĉ+]ߩS'X,|ng̘:w ݎM6U{ѣG㭷ɓm6 8]4ibcc`^ |8:u:_DPPΝov[-Y}4h|бcGcժU4h0ew}صkڷo5k 555yTTF#FW_E֭cwu_z%$&&bȐ!8y$7n\ YvV-Ģ0XY[.Nn&ia(8 ~sy !^]͆ ]tdrk-8[\<`ZZ*g2 Xa]U#%%Te+,`@ff&DIIIHJJr;}4D0 n#33m:2vHMMlp\DnyJ#""""""VnS?]a]/IH80A2OQQA)ɤC@|1sIn]7 D -8YsSc-Ƞfh4^y@R2gy8t-A&X৳CQ١8P$-yAIJa/ Ztwj;4e؉' @HH6mfѢE8p nײox8#K.bV7|rDDDq8Xb6m`ҤIt A`` Ν#GnV>i|zz:n ͆UV{9(O?FO?Պ`Ĉ… QTTFł{]:[矱m61D~O3L:* /VXVBлwoozסC7 .?_[lO$BCCgX,t #<۷qqqpM7aر,<ƍ~ʂhD6mWj5rssѰaC4k`ժU0@NC˖AU*n;ڵcشiѵ$""""""*=,XS) \<^j"SJ ,4]PxkO84CO(@p$& 2-l"]BBxÇCQ\򢲩oݣ|L&v;"##=>vU4m|Pp~aݺuظq#Fjsq?-o֬kgш'N^w-nJƲe3y:#BMUk2Sz?l(\{JN^Cxʬ[ °aܖ]n[;]\69j@x0`6nx@!"4iRhٲ%f̘Fݎ^zɫՄ:=TYQah8BjҰ"!$Z1LE޽+ӧ]TiZ$&&V^^w \_a;v Jg:y$Eq h DנAjUn^zZx7QMcȞ={+'44Z;wĐ!C0b|Xf "##qi?ޭh",Ym۶ٳg_e0a >YYYعs'x 3gCB@@򎈈nǺuаaCtԩAZwyk̝l68q"g7/Cjr!""""""VS(p R槆3-M:_}5p,JbccѶm[k׮:EQ\Ftt4RRR6mofC6m8qnժrrr{Evv6zΩ4h'""ڵCff&1cƸCF۶mQ\\dee#GD^\jhڴ)?3gΠ]vӧquUլY3j 8y$жm[4j{0HNN`ȑ())AN`0PXXnݺlHOOG=ܺ>}ݺuso^{W,@JF .x;z)@Oo Q JJ ?tECDDDDDDD#!""""""" z|=DDDDDDDD>""""""""@`G0CDDDDDDD#!""""""" z|=DDDDDDDD>""""""""@`G0CDDDDDDD#!""""""" z|=DDDDDDDD>""""""""@`G0CDDDDDDD#!""""""" z|=DDDDDDDD>"""""""" "JJJBzzzw࿸DT.W???kջ"8y$Ξ=Hj *sĉݻU.gZykBRRΝ;nj@VV-["00j.=DDU7oΝ ֮]ݻ_Rѕ^srr`1qD|PWמO>gFZZBBBPXX^?=6mڄiӦܹsWk w}] YYY7n`0@Dpwo#""/Q5p̙ 3g;vU^f3-[y୷ުR^^ٳQRR|L&_#Gţlkxrt!!!B^^V+1CD~m$&&^b `ܸq4h-Z~ɘ={vm6,^Gĉ:z+6lxKHɄW_}%%%W(לLdggcɒ%r-a\?/Z ,:ݏ.=DD5عs'Ο?_a]BBǏӧ]M&9헖pTbȑ#`p[m6l6:tQڶm EQܖcϞ=ػw[=;wnGll,bcc+䗗xzI&aܸqhҤbϞ=0։N:۷#33mjE\\ 77qqqͭǶm8{AZZZeIKKaZ=*{FFvڅDG'۷oGll,L&۾UOkCaݮf\\Sa;v ;;N)*IHH@~~> bcc]n}='N\ߙX?~@]1O?4h@l▶nf#<"*J"## 0@ k;̙3m۶(4oܵHJ%111eph4ҨQ#9v+^xA\I?=zZf͚IΝ֑^5jTayw|JPQTҠAIHHuI˖-ERIΝB IDATsp8DDd2ȑ#_5k&Ff̘ל\bDV/%00P#/~z6[l J`QE&N誗gϊ^NjNpQꫯ+ @DGG(r]wfsmsIСKTT۠Aҷo_tn7LuSNNtQHLLtYD -ZV+AAAh$55Uz)_۶FQj fI $,,L>S)))ͨQ$00PztY ""ODモPiܸHǎ%))9i"ӥ1.1F1Ҙ4r1CD>駟Z-nu֮mL" 6tILLK߾}]tQzZJJJJ$??ߵm۶*""YYY*aaaCN.]܎'.CΝ+j-&WS=.K.KeСv 9uꔈ8;h-[HPPPG!,""G^/7oc \r˗^~MDL> r},((m۶>n۶M4ʼn3 @>S""_(rYױdڴi߅{VK]^=3gk+VFBWyz&O,5(""E/}]*s)??_I曮jJvv,1׬YVׂl5j("ZVFH߿tm٥;shZW=v2e/_a-"jT6ɓ'v9{4nо}{\۷oGqq+CbGhhkyNдiSױƎPxSϝ;׭HϞ=ѥKT*`ȑati%%%c֬YGrrT·vZl~關El6cxꩧpA޽%%%hѢ>Z=lv3Od !C\;0 .8!!!ӧaZѺukc֭nL05m#<VSNmc~v-Z`ҥD`ؽ{7vލ-[B"99ҲjhZ4oܣ}?UWK,A@@fΜ JEQХKh4DFFaÆ7o+3f矯ۋի~Ǐ1yjk  88w޽{1fdeeq&"Չ.SAA, :to ??aȥ4mvmYTTxyyyxga",, 8ׯ͛78믿ɈqmYfaF56 p8x\ˣѵk9:* z_~%̙e7vfw}Á;>2wv7 z3t,HSQO=AEEzbw <8NlXOECD JBI $oBB6,F/3 ٱcLԩS93G={.ruI=ze]{WuW_p#9s(>>e|I=CzꩧTZZ~JHH=ܣ{G=}Y=3G]=nժU*(( :T6OK C й瞫m۶) @ʇ O^Խ{w]qJKK5x`͘1C-aJMM^PP ws9'͖a4hf̘'|R Ӽyb j]{yS۶mv`P}ŋ5}t͜9S٧ijϓa4~xjj߾QCS߯g}VG zѣv -8NaaawQe3FΝ;umyz4ͩba(W=̛7O)))駟$UW_YW{նm[z9s樬L#FPEEEZ`SeIΝ;OO>dMHHرctR8pU|Q]ý\[Ӹq㔑qճgO6m^xVsvk|;Y,JEruyj:{V >z@̙3G_~Z]pڸqf̘oѮ9`?RՖ?s($$DNSGn.]3W_L*$$Dt-(--MӧOrNΝp8CW^ o߾:tƍ'ݮF/iѢ,X+BZM7ݤ:x;v:um֓O>}ǜx꥗^Ҕ)S /PEEEZx}IRRR5|:uLT߾}O?TzRqq^{*BCCuy Uddƍ?:ԥK}uz$i͚5̙3=<}ںun&}Zpڴi)U%%%0`@67}Ν;k֭eZh"=3rF?y믿Gak@s%$$_v~+&&ƳHij޽XY,Us۷M6z۷oqaСC啕sڹsڷo_5<Ҟ={vPRffڶm[Ԟ={_rRQQQQ:0Z;2MSYYY2 CuݮyWttBBBtxi58Az~G5~[բE }ڸq Ðir8pF!0t:5w\/X,r8 _N;MRex1c =5WjC5 pϴ|r= Lii^}U{7MSk׮_|!Izǫ?/jUyyt颱cfW#˯_^>hc1c׿|<t*..RTTƏWRRYfiϞ= TqqN;4r-Z}kg}V~~~:ujS7N W$ChhhХ >>^\reCիrssUZZ{Gqqq*))ќ9so駟ׇ;㘽G|YVVVZurڶm>s}JOOr<--M}nFS999zWosV^^3f謳e]2͞=[x≣yBCCf)##C׿駟ꪫ:c8x2xa>|g0ԫW/iF˗/$[nQ-duM7tuXs\9snZ˭^Z%%%ԩS+WT߾}cgϞ{w^zy?^[nUIIIwb-ZHv]#FfSHH&Nrm޼A癦]uU!11QgyRRRNJ]~M 8e@#2MSPRRQxʢn>3kN;w>jR͛7O'Nvװajp8K/6mfi֭*iiiھ}{r5nTk<֭әgYe^ݮ}7 :0 v%''W9733Sڵ]JOO޽{O=##C}i*T+]g*''kV2RڵKeeerz`%ԃ6bQ=?P7??_+WTDD=ܣyIc׮]#=22RQQQٳg֬Y'xrfҰa^sEEE*_#yfӧjR$js\{:UOsrx 7 ???UTTXnժU:x.~5N$yµIMGRDG;i5:y~rUVVZ_tx$}3<#&˥eҥԵkzܱcEFFL?~m~*Sz*==]?"""TPP?)꡶ɘ|۸}v{JKK 6(==<'c?Zn]P͛7O_k) Z&G=ڿ}y7Aމ֐;|>*CңM\~е^+ݮoF_5vXuر%%%r\*((PttVkyk׮ѣ >=S@@;<-^eSֺu4qDEDDHիW/\^Ss@#رƏjȑ#6RZbN?tmذA6lƍ%I6m҆ r[qqqڽ{\~~JKKaz.I9-TVVm֫7ZJ;vĉ+Bu<jfiՎeffM]+**_|KW޽uwSckFz//xh:3t94UӚիWcǎZfgoW\)ժmzz^L)p8|r:sHHVRSSR^^bϷu-P;wnFzS߉\U߿۶ml6[^a.ӪUTXXXm2M8QJIIѲe??e缪pϭ ԎrpT/j*88XRe/M6ꫛW\Qm_EEMc*((Hj\e뭷k<{E]vճgOK,Q@@bccU!ngϞ^ Nu<'Υ^wyG{HMMUii )OhS󢣣t:-[zڻw$:t2<<\ PϞ=#Xaaa޽fO[lѐ!C)(00P7_VVք惠$;;[ӧOWϞ='ݮ]viƍꪫdZt:K/yz|^sn ڵk=vgx _ڐ0ju3f=3zWԿh՚0aB!u-w,XS6mС{C}?4\=Զm[+$nZڸq=U\r%z`iΝ=iK]wuz74guY{O ꃠ(&&Fڵ;֭[kҤIڸqU^^XM2E*DDD(""B֭r~hh#0ԱcGر5z)uQ[nvjRAbQǎ:aUZ} дiӴd(44TwuZn}\TfSǎ=!Qnnڵk~Z=Wc&M~A۷ofѣC :0 M2E+WTzz6nܨ(3F={= PrrRRRr?6mxO>X,Z~եKGiii7L]IJJ҄ n:m޼Y 4hPgP7ff3$Ym~$B$ 0Me/\ >p, 7PAAn 0JRC[ IIC[f '|lSrԏ֎;t7uS-4 ˥+OJJJ[nZf"##ꀠM">>^M vt额;w0 C ": pRl:thS7%"qA#z|A =>GA#z|A =>GA#z|A =>GA#z|A =>GA#z|A n7nr2[U^V*ITXDZLPeX| A9YںiR :/IrT`2ҶiۖduN-E=4[rdsRoGV+c R@6jѺ k*؟IdF|8nޠyԫC R~u`R7o8-<1z@= |Oz=ڛ[xftuzu:6LӬfԱ[Ol\'4v4[9YgPhxdC[XDڛԷ`=ޓyoq-=zխR3q2O/}W&U3l 4LT޾S vy5wWnL٠Lv/kV=zn(e+UM'e+VdtVkufF酆p e,/V 0BC5>$g.>XаCݲn TBORr6xխ{Է`&葚nڜmTߺJKTT!OQaKբUbSN5Hv]:uS-r:yvmOQIM}; Fm+2*Vi[7v9qJKݬXnӮo+iӰf9vܺNaOeȳI~v:'֬֫:f>Lx/N'ދɁ{q8y^8:W?ٵ3eSsꚦd鴞g( q5ˠ+h8XN,U#((HI԰l: n6fL]zU5ֺ 4Np75G:El~=ڻo_漫G= I***n&/92IZnχarVv&1EY5+늊TA-vI='@%:C6??m%jt#5۠;DG]=YՎ}w:?ns]rE+W5Es)W?YVedd(W?y$RC$IAIL|!1MSNSkWG,!5_R?wzIowMb^t1JhZ?zNmj<,l67^Jm*{40JRC[ IIC[5Esw[n})&:ZNJZ xN4u,Gv1 3 jm4LӰ^LvAm"Ij}+rDG5~q;s$I_o$uܹ)p|6YZԺUj_+WbU#Gh᢯$I:) `>2fZ 㕹{mHVdd y.]bkMEʹ+$钑WJt `-,5ˠx&Kn[y>uWW'fxo&4p =>Y=ihCv:q4geeeZϾ}!Ui޽5ήM'&c' 4b -\PAAA6mZ2;vМ9sTRR"˥?^25k222dZeZ5zhh"viFz,>2n[F6mxƽ  SQaAS7CE  kf3nݪ^xA_}UHeee5kN?t=zW^yEn[ReX4}tI?gyFgy̙-))… E?ҴuV_Ut{󖽮Y=a(2:V{ku"Rdt h/^~SBBBe VBCC5i$z={(//O&LPHHl6.ro(((Hlܹ-Z$7uUWyzN0 h*mۖ&STXm[hO@L88XW_}z%$$O?՘1cd kժN;uN-\r٣\Ͼ-[3jr:ZzLqqRSSue:vt"IJHHPII'<ڶmBCCu[^)33phݺunݺ) @{ҥK/{~A^x$U6l>c޽[Zlڴi={n[~?yuAEW֭;S^8$C'.)@RС-D4_µiӦ]s5T,]T;v쐟S֭rԱcG GA#z|A =>GA#z|A =>GA#z|A =>GNԅ$z.pJ:aAO}OԥNI =>GA#z|A =>GA#z|A =>Gٚ5kTVV&ۭ͛7kUgddhÆ rU۷OiiiݻwkUܹS˗/vM6i޿|Apr:r8i^7߬ǫe˖:t+))IK.URRz38CںuN\p;m&ISNNn&S=lu9Zu)R /nJ!5!TMu%9s'7kI~^e$SrnYe U{isߺEݻ+11QԢE 5JK,Q~$I?ÇW9/44T%I6MӧOכoJF҄ O{3gO> nP{8LzZX!l+%{MSJ?oJ:[Ul]B)-E;wuN+va>eeerV8ӧ+vepSt42 Wo_e~n@^i$%&&rUעEjbcc?kԨQ] { |"v>\xŷmMSms{AuY+++KguQ˔kŊվh2\nWԢE*ۧTs9^xYYo1 nI$I*9I:-i2LCGܦ[e%e%r8^|ٓ^G,$ҞZ9 2DÆ Ν;T[o2:thm:tnp >|Zl.Hr}Fk_be9ivA/fgB#_iXeNG#īܥf3q8*/-W-nЁ"SҰ{ϩgrr:r:L1{cz(TƦ*#[K~U~~_IhVL<a,1?߭XBj׮zmbvء iҥZtƌ!!!A^xbbbT>==]=\#jvAu9 hM5R噵!8M L-Ӕ =tUS$I(wpvrttgӭܬ(Ϝ=sZ=4]3~%)..Nlk{Մ 4m4͛7]̙3A .ЪU㕐AOZZ}FnՉ삞U[?˔ׅi(+]#q[FhZ^9R=4*-/Ũ|nz$vio>{ڹinn\.nlv.۷O֭P.ٺH~Pse(W֍$IR!**sz8Nd64"F]zv>ԃ-ӥٚԇyݓ'%2گ6롰rRf֛ڻ{_Sђ%KXEDD(>>P!áQF)""B#FP\\\=z)kj۶n喣^駟Vjj2335yd=#c˖-Sbb:,Wz7y/?'yWf}~ 8P]voSǎ5rH%$$^3gWTTT5tPOTRRAC3fw^*'^vOrM}|yyyr8`~~~j۶mo]jb߮ѣGkњw&JKKUxPkgfULnӭpjג=EJKKĉە{*<<\2eJ2U~߿{* چjƔ)S,Ͼ2[ʄut:믿ݻwWEE>*|A 6LԣG\.}w^kȑz4ajTرctR8p@$#; 4q㹰O Gr͕u9oD&v՟aG {,,l6uYo ,0H2j IDAT;FjtK-%éR,8E3UqAqeOvW.v4|b)8Y S|||c ̙3裏ꭷҕW^kF\pRRR4{lyΙ3gڵkO?]cǎUaa^~Z0n83Fgϖn&]|޽u릩S*$$D?ԯ_?9sxz bbbtM7IWDD&M뮻N+VP׮]`ڵ˳y-4b]r%zձcGO2d*׿e >\۶mS֭]&L 4շo_O?Udd$I;wC=^z/6j]7;F_`< Ð= Pv?}::GAv=1 UTThse#6S T䕛tP UXP(+'-G6M~~vU*Y!igYw<5ajnw˖-zѣGkƍ*{|Ԃ M6~M^x+߿_7o\pϗF?y믿j՚5khZzn}wG'00PC՜9s[o+R)))*{{z9s%I?ojǎZh;vT ͛_|Q?̙#ۭ:x{g֥^{GiV Ǝ-^X"Ktt>s>PaaaAsn$O]RC[i5÷OmP|ӼUe%Ӕi.DY9Zؙ^'VAuEdZk {ndsyzxE//¢eM/bQ2)ۥ5_N:3xJOObQbbbcTO0y8///OEEEΦvO!kNS5JLLwqQ?gvpQ}料)7Ve7nLs˟-q55%sIP\@%ّ}gasb%~Us:;}Ю];099>>>uFsrrh,%1- rotF^^ ]GB!ڴi]ZZJO";;pssXgk͈D"$S((,,45ӍJRx{{?_EEEF}b1-&KNN8iogB@ee%<==JpuuGT666pssy4,cu u =j&\cbaR[ee%|r>}ΝJgÇoɺ> PZ@̞=G5PTF`` f͚X sߏ?A߶mJ%?4fEED"~i 2KTT@ZFuu5|}}1~x`zP*ׯFmmP*&ϴŋ~:?3Μ9]{֭[8|0  ХK̘1è~D"Z,Yb60fB.]nۚ l޼-}=zTVV( {B!MM@g%ԙ66M|õftŝp IpJg)rف9`*nfTM.CQY ^Y%@Q^g& y8 }5TU&/ }v _3x`>}{Ŵi酅HIIoбc:[nԥCP֢׮]jhw}[LBP}9J2ymnPTXd <<(..ơCp- ކI0i$i1;=z4t:0c i1/ѭ[7vZZ8_|]vE^^֮]o{cl2III͛sN̜9V'OԩM(hǏcxWLZ-Zo!jq5ݻxgNȑ#1hРzCtt4= GGG?~O=v T7ob۶m8~8FooڵXt)\]]jqM4 {M\Rlݺ6l+"!Jh>D"}&On+|( ]5(Ϭ8''B#¹,uѫ[6~/9DV*  igw?=zC7.@A@QC]BZj:}M/Cǻt !/ڵkw zy~1wFz1sf ԩSl{...سgy{A۶'̙3n7rӧOVhZ\p3f̀78Cpp0Çfhm3f̘o>)))t H$믿C(B$aȑdev؁ 兗^z P*Mtkk|"F Ο? 3f̀lR/n"Xx1RSSZdz]̹|2&M7xx7LеkWiW\ܼyŘ;w.|D 5ٱcC֭[VB!AHR7CAWXzv_ H|rF|x 84 ! X H$-únub_{yj;N'o|_}yMϯu 'n @aaQ WKmggg1d" /xTUUMOKKNC.鐙by ?nɩjZdffua!'' >Xr`RaÆ ]tI~ٻw/,8hFFRD"* h4V~u2\_)))fsq$lr?[~}ۍJBII~xzzСC4V[gnh"t֭޲&5VdCwn;rzmU۷o#--ͤbS0<["Jagg$ <)))AFFy7\l///?yfuu5RRR%c yyy6_ZZ?,-WPP"s\VB!vݪ?3oX41sb F"'w%]邶^r/wt;:n5 ˫q;%ĵH6ռ5&c ѪU+磸^yĹq[y_GХ_F:tg2g|G֭[1x`_>(oy 8@͗ 6 887n܀D"AUUF#G6̃k$66/_Ɗ+ׯsosTWWc 5MVUU 6 ;;666PThժ.\D,?ZP ^)))&˚d ɓv„ L^BQ9DR ggg̚5q9rވ@ ̟!C`aҥpssCJJ v R'Þ8q"ze~^ Aؘ ^ smET"??h %ݻw>Q9CxAXX.]hyꩧ5L,]byN7bFi6oތŋי nڨYNNlق+Wֹ_svvP(DJJ \\\-߫W/;vhKJJH??_/z_o6_;weкukR14TUUUVFS5Ϫ[b… V(y͛7cMB!Oj4恫ɥ8y=c8spܐ d"bp_<BcB> sDʠcUNիjZ\p۷_LG{1 jsКȚ=ЪU+5"QQQH$H} Tizƍl2$&&"!!oQQ 0w\5VEuu5>c@VGC@MBPjժAu"Jj*D"$$$テsb(JY,P(0m4mz6m͛1m4̘1p1ѣɽRRRkgm۶Ç:ׯ_ǜ9s; uHOOk'''TTTO?yZk֬-[c޼y| 6`ݺuXl<==!pu@MยcG!b1 =7>z=t:z=wm;8+q{{{ڢEEE@ pUS!lldpvvlmm,?e˖7^{xjtJ2jyӣGDqqQǚ2M...8s ƍ8z(z(??* :t@VV2B6Nq:v1PvڙmoJGGG:u FΝ;1rHŞ={н{wK f̘w}wϳ\.<tk۶-ΝW}HH"##QTT777z4z>NguгʨJV|p5ܹ~~~|}YXGŅ 0k,I >ioߎbbb0#!!))) = 2x`xu =tc(..ƯH$|S `ҤI_GO=N>JVL WƐ!C0`~ĉCB$:$K MZKxyyט=BBB7E"&Nh֭[BbXj*++!ѷo_:u\x! !B=!XcR O(th4h4ˁP(X,X,n$ 83f`Rp$%%A&/6u' Lc;{q_{ |> Cr_???/n@ YTT***0شiQPP`T[EEI4T \L/O3j}|͒Bܹ&L0Rヘ%̵ K3; ;PgڵԩzO7ĩT*eUUU-ucǎ~a8wN>SZ9G@M_:hݺ5N8@"Xբ~V'qFݻ8yzB!^~e|gѣ͖jrD"p &V Á=z`۶mׯQcCCӡM6ѧO={֨5VAA\ӧ[',1k^c1btH$ 00ǎChh@Z1ªK@M;gUUUA.cС8s py̞=۪:B!ԥ<#7=mD"D"Gm͚5h۶-~mD"t:_jj+((jHLL\3ٳʨ={`…|@d޽}5d2lذ |f0kZ2֒dfG*--3 T*f3爩@`u溶aѽ{wT^bؤB! jseee 8;XCc1+N8'0a6o >7hVz=nݺe~(,,lT}X$t:kq.]jt/5ݹsztͅ/233j4ȀCzT*2{̙?;wċ/O8Ǒ#Gxylmm6 I -\]]q5ڪ :!BH}Q;2WUTT޽{/-BtgΜ' q?[$HRnl1 /@ ]É'ꘛ ZӴZ-޽Ç]FV?Qiggg`4ۇZշ sQRRb6hömPXXW_}դ;vŜ:u 2OjPPP^۷1h Y{JE BpWo˪D">c%ɚzEEEHMM哵7D^^݋ &-1{B,͵js0pΝFݫطo^{5b۷hq,Xl׳~!::ةT*(  ,0d25 ,@6m\}t!-9h@ ,@\\NaÆ5Xǎ?2dR)N:j/V./_I$>ٳa|[P^^ŋ['ka΁fЮ]pM5ʤ!0m4\_~%Ñ˗/c&/z_}z)ҥKw+WLUUbcc!k* 7n@@@d2vmň8xm?~ SLҥ yhp%5uff&_Ç=|Wr\~Z:xKKK8Jpttİatڶmƌc>z֭鉅 bʕѣڷo@nݐ<~nݺA*bذa'|~8?!!! NnN][bpwwGBB233lٲm믿FZZ}&7PԩSk.xzz]lll۷駟nm=||֭qYL:w B!!" A{&$h4.dRRRb֣GT*11c@TK.H$t/浿즦"((;2EEEPTKSQQ( uHIIAppI> ???kٸs***s[[[KE~~>0a/QbHLLDNNMiZdee!77999F tB...q4 >prrBHHnj5 X:yFF|||)`ggtή `>)s3c["'B|UVQxGaժU 9D_g}www̜9B!^p ާ ~t>=B#Gˋ<B!41 Byz=nܸc6wU!Biq(3! Bo߾GGv횻*<~~~pttljB! E9z!B!B2C!B!B=B!B!-z!B!BZ B!B!!B!Bi!(C!B!BPB!B!@!B!BH AB!B!=B!B!-z!B!BZ B!B!!B!Bi!(C!B!BPB!B!@!B!BH AB!B!=B!B!-z!B!BZ B!B!!B!Bi!(C!B!BPB!B!@!B!BH AB!B!=B!B!-+@!ddeeףG?tJ K3֊ܹs@v vUPP$ׯkhǭM!99ӧOsWX4١m۶]%B! @Biu᫯ɼ#GGP+T?EEEtw}P5|2}Xj233rd2]sӧ+jǭMaݺuؽ{7޽U!Ŕ)S믿 1L4 zBD]!xzz"''W|駸}vsW/Uصkv܉˗[t|Oy'VZRRTUU3fLsW<"j~!T*UsWEa!44EII 4 nܸٳgn݊orB=Oxp)S`ذa^.-- Vzx{BDEEa֭GDDd2@"`РAnG |JesWEF^^oOOO~zΝǦM.G!(C!@aa!~7̋AII 11*z#66hLAכ񈎎B0V7oܹsuqѴR\z׮]3:~:t:Ν;sΙ.]ByyCl٘2e Znm2z*j<RRRpdggh4#::&눊Pxz*233-%33h4VݻߑƘU˴$)F .ܹs2Z=ey5y&\?CqUr/^D^^^v/psss-Aii) Ν;O{ HJJz"wB+PG  5F!-kٳg>ϟhZ6k,& _&((-[0㘿??}Ãyzz2@:wΞ=:w̜H$b>>>2Tb1/L(2???l4^c>>>&ܹsy&#͍0;vk۶-,883^c30???&ohv1jP(ddrߟ3fooώ?Η9{,f3XDDnL&c/H$ٙ Bm֖-ZIR8c'NdZ/s֩S'<===4wee%0`H$FNKb2***bAAA ܹ3 f)kkLL kӦ ΎD"/^\]]ʪT*& :<δZ-ssscNNNlLT?~>d2v̙c2[622d2vIXԩSYVVƢ٨(&Xtt4c& m޼t:c~-8۲e =\vbc~...O?ٳgDo@󙏏ST1ƪYZZZ#_W}R-W=eyd666lʕ3466i4\~2:<6~xqlFAR2d 5V=ei&s/lt !%# P-By1߹sehժcǎطo.\J~=#GĄ `ccGGG~z.]o瞃# W_uիBBB T*1ft:{RĖ-[etҌ5jڶm˗WAIVXx1nܸ+W@TM6ظqCݧǑa3ksaĈ}  4 ڷoggg?h=ӦMm5kb1RRR̙3BCCѦMر2 :W\+Wжm[b{QQ4 E,ߪn)=Uyݾ};lmml2pD"xxx֭o7loV駟O>x1:߇~777ʕ+v}YR&By4:!<$eeeFN1RQ___t:iF9,JJJԩSpttPރFpuuř3gqqq֭йsgLtt4} "cP('@"ӽpv1fkk L~i7$n6':>v ^wwwCֹDb~r/z-2{6 7`ܸqС37ހU<{yݾ};,]byJQoqԺuk,YK,;#UVaʕS.]BYYIlȐ!5BbhlW^0`ܹLFcC'$$]tĉT* 7رc8III&ڂ8|gׯߣc8 87nĊ+ Jh}o&ۇ)CСCj{{{9sYYY8y$֬YM6!778Ζ$SNK/B\pm۶k)aժU(++i= >N!iP-ByHEM߸q#\\\Ps*+W#۷oŋtɓL*cΜ9J۷oGUUƏZסCj4$-B@@b1VXe[nٳgܹs())1;b_Kd=ehY{ 33(xr]vŖ-[l2mjz{pwwPBrS[d ?*%!C-z!!ھ};ƍ)S`y&6n܈_~mW^;v,>T*lٲd8~aҥV /ӒgϞđ#GǷjJzzn%8s 'N@(رcXr%_۷'NVPRrӦMv֯_X<3| !%i9{1 {;c`[B!4N{{{DEEG]B!^p ާ @5 ݽ=B!Xc ݺukB!fQB!+-ZÇ7F!UPB!+h48;;/hB!~B!q\>99~~~flv:qh׮HMME۶mM!c EEEujΆ-,nr(**;ryOOO\.7bTTT߿uT*QXXRCNN8Ǻ!NNNprrjh1󸖔&effB,ԑBȟ(C!M$** QQQ37gxzz~͛7qc߿?Əjw^\z2 ܹ3ƍtR|\nDxw :p.\+V֖~ڵ UUUj4Ƙ1cÇ! VٳgC$5c wFLL R)j5 cZmI&qe:6~D"Z,Yb>'&==[nEee%t:\\\K/յIǮ]L*n*j*b[\|X|9 229s#%! BH{gvc ^^^=z4\]]Í7ck!!!(,,J’%KR۷c֭裏L uYhQ-KZ\tdVŖ-[0rH :իصkBBB HKKÁ/k׮ڵkb޼y-wAbɒ%­[uVO>aaڵXt)\]]jqM4wZZ7O>xgPUUo_~%>CuCիѯ_?̟?2 J7nܠ :wܠ!4/C!q1b+3q .\̙3 1}thZˆ)NM6_4W^^η1HHHرAAA ểKHLLRlP9V .`ƌqF߾}q|4HcܼyŘ;w.ϊD"B(6sZcǎA"`D Vر[رc!ݻC߷gŸq㚻BDBiF1 ((bK!G߁ЦM̓H$<~^GUUt)--5HtܰaPUUB ^dOjjIvݛ:ѻwo5nnnh9^$0QLBiB:$@ @۶mZ-QZZh899aYRR[XCdddh3\\\Mvv6bbboggN:aݺuxѡC߿>lU||w߅u.SQQ]va޼yh߾=cؿ?֭[GI !QBP]ɘ QIsNaѢE&e␞Ηo'1ѪU:1ưm6(J̙3yyy8uV^ ֖Vn֖DSW/,,[G˗MkZlܸCEV,Xf8W۷o(&& kp ;b>2whZ]0?** ˗/D"c زe V\iYTBӡ  &-Tz111X`?<#BBBmq'OB.C*"++ еkW\xb*B! G9z!o/Ӎ@aa!v܉ &K ̄GC\\n޼ up$&&bԩ{jׯgsy'ߠr>>>Pi40 ˛ؾ};0jԨ&[F$8L0(X: D{ɼ,-vX,c /"r'&??G5yF?Ѡ |:N:[ BijC!'(JY={D~j˗/}~ɏP(D`` Ξ= GGGb1}Ylٲ1A("))(ZFee%rB0œ@dׯ#!!˗/!!ҝ;wsh 隩f-j4=)) ឫ-_$R ,@YYn߾~|'6e,u X`è!Z(|N!N3۪ի |Z?~~~d2d2Ixs>ރFee%z !IG-z!Ś5kеkWxxx@" ##7oĤI  j_Aj`H$FZ_rgϞ|ׄX"g+WO>GVV._ܴiӰrJ|G^^._q={66l؀u˱x'6{'U}3e la ("XkbMX5""MTPiKgaa;l/.;;3;|ޯgN3}[zJѲھ}ȑ#iq .}zu9d2iڵ7n_Θ1cԿ=䓚>}<֮]Yf5_iӦiܹZo#s/[2 CǏos~BBJH{W\ѣGKسgzꥂr7N~?~\ͦѣGnk*--m~~~ 5iҤP3 Cgos9GaPEEEW\aÆ׵Z:UQQ***J/咒4zh9rDyyyJOO׍7ިv!eddږ{y<M0ANS;vPllrssM'N<훚 ٬>[.Kr\:uΝKn`24ydYV檮Ngn5*uzњ4iJKKu!v͛7Ocǎm8 :c@۷bI BDA!z"A@ = BDA!z"A@ = BDA!z"A@ = BDA!z"A@ = BDA!z"A@dx*SaUS}]$VBꓞ>2# Ayڽ}1JNKWր!%I.gʏڛUCGS8z@gܪ£5tx'&Z#Gfdfvoߢc:jL&SJxWG vZK5n6CzָtX:% Уa;I֨g҈Tp tc X׫۷hqX2 Sjckf2cQ͡ĤN<tT'f.@ U]UL 6*(?#RրARt!@ÐΘ0 BCFQBbRː!#ƨBŅk>YY{ԫ@QrI249u?Q5z^J ! :i*.,PRr,Kwd]9%4,?&#K۩(;T( S '$5T  @𥤥xIQG:^R>.1AQN$ofjkTUQv!OUEk'_zTДfӀ!#/Gn!ҡ}4`(lPN-3{zzy^١^S= ԇ=4ZOځ@YV 5^Q6ޡlWͦjQU={ u ^pk>x-E"|Z^q89nl:k 5 C{vjȱp8X#@5yt|r=Z?Y6ݰX9nbbcCP#Sq8/O\y)zT {"=N'@?g;]/J^|_E@4 {=!cw_P XWzٿwR&1QZъNlh7I֨(٩;bDt#ؠBT\\dIRii)#jAB[6:pL&ntMӵZLu 99>ii*.ȕܻӶF ߾NEIҙW[$ :48elXJ֮ۯ̌Vu>f]~.{_4mP"6i޷hsݪ#GJJJ >z:;*V>zOꎻikVI]P믓`-#ȠT:K6-=vLgL^qJ=4 |"tYp =G=aҡCڝo=nX~TTT漂)3a>ҥK￿2׋/y<[oURRZ=3:|,,7}Zll6u7lՑzӟ.Lف?q5zbTUQb\ .coYhT]]yq_z'z%¢x@=L_|QmnFK.O~=:xvW_I8@rd2))9U%E' %EJJNd uQ˗/ɓ_RYYYm.dv]z饲X,wܡZ0sQnS\\V,Xx+mnw׮]QjjVe˖Iy7h" pޥkd2d2)1)Y1q:7'$5{*upob╘/;S3g%''uyG;j y,VkP'jcn+772,%ɤjU^^~hݲZ1bݫhl6kĉZvmzdӨvM'N:p&N(I7n ZZb>66VW]u:eee魷ҵ^+ɤfM222vxdѣpz7o=s9997>}n6n_Z{;M6fiذa,ã{*>>>P0=Nii\.6o,I1bƏիW':k֬х^I93gԫ#GW^Zv5vؓꭷw]s l֛oLmݺUw}w7 D;$$K%&!)ataO`_ BYF۷oosW_dI fڿ4a„6\߼yl"ǣk%//O˗/M7r-_\z"A@ = BDA!z"A@ = BDA!z"A@ = BDA!z"A@ = BX_kW=#N ֮NK4= BDA!z"A@ = BDA!z"A@kG ֮NKA#i(hAAЭh!t T;&)Eײ A!3J;:U\mЍ]XFe42+!g}jkvPӇ5*J쎰Hõ,^Nuu2 bcu-n^6oݦwj@v?8Iҡ<}i**+e65ꗙ3Γ9Dd{t$>K;rv+&:ZT[W'ЈC5I/{|?9aгb:}jb%IUl֢:ܳ%ğ̓ރoo+ۭ~AK%Cer{7jEs$Iպ_W^ x[n_n^y JII$;v\a+.׏~P}muv};?^Ԁ+Θdeb()I[7xp*M;Fƌ$;pPkYJI_i@v?/+>GV oNSvu~\.# 2XϘ(˩?^wkZfמ}rDfR-_kO(k-[4i‰-kφh^0g~}ee+3#=Fj&OSnɗI$_hʛK¿^/ Smvin[:p*zҿ^xVTSSSְC4dP~AmYPTTTm^cʩ]˒{7^$yYD==lMrVxiYgW[dr:Zxقn.YggMY&'U]S-۶k4US[+ǣ1FE6=sǎPV*{WT*haD{TIS:@;rvuh;s:&Θ0Y=m9صgrnlII8(ۣ*޻:v$9.ݷ_%%m(aڳWm.sB1111EEahYgvhٽkzۯMoܵK5.zif;vn[6onmݾCsvReUjkkifm۱Ҟg{^|ϧ~3uTXѳ?+KReebcct r:=RF /fꕐf)5%YGn +1As\ ީe;]׫U<9iA:,m;d4d@ەдg)o} $+-fKu2d(6&&Iv]\nKz*(,jlm]MvkkrtՋuN]5h@Vϧm@weB}9vUTVl6k֌sk}x::x$ߗTRzL11ѪVD]>SݸInؤ?=+.[~$ߏ6?UTTjM-֔I$I;v+o-QVF_mٶSfIwzVuum*+U]K.ս'$D*+Z$l~_Y_>'7PJVLL 

    (_>Xf>0>ۤ>>@Л>D|>(PZ>P=7.iռ`(@<1D[Gj~}1=()@@w D->c>ʾ>Lv>>Q>԰>W>>}>i/>Sh>#>W>,U>l>I(>XT>#>Ȭ=l>*$>H=n<>>>c>4>^>>y >>H">$>>p(B .Cw=t >Hx=p @h==8= =PNpN=@.mF I/=PK>>;=dѽYtꞾ޳ c c14 9ܽ@F`{a=E>"ȏ>l>JC>M>ȴ=;K4#^@7pHA=xo#> =kjTམڽ #i `sľ8־þdǾb 7{W;ξ"ؾ 0J"0y;1}`p4=Hͨ=X(>0'=p}X5V[ɾ0)༞B ˾$ܾ|$, lHᄌ4 8 4EWվԄ:dHE>+c.~VTIѤ;%w<]\N!кnW\ᾺTJ,;[WM=藽Yqƽ v@$ H@j#= 8X/d6l7s>>Z>B>@>>0)u>2>>Bx>>$.>$>M>3>N>R>>27> >|>V>$>> d>Y:>؃a>R8>#>><?7!?O?>>и>>>R>H?U?#?u&? "?%?F!?i(?0#'?P#? ?B5?6?3?"?y"?Z3? V-?d0?H6?'1?d;?ψ-?@)?N-?i?%?Tj?J?* ?o ??#?~;?\H?!D?bB?_N?J?A7?#?P ?T?2??{?8?l?)?/?n ,?4"?j?v>>*>:>?*? ??j>2F>X>Ԅ>H>Z>N >>T5?s>h>2>*=Ҹ=>4 >`>jE>@>:>j>D>=pc=` =P:>>>>>pfQ>C>藟= /=>!>x:+>Ш,>g>t>`>8Sz>X>=0 =c< ݼK80h7ؼ,=ȓ={=F;Жk,KMnm(b. u,n:BIƾײ*]ƾKܾ$t ھHUپڵF˨lՃ}]WwZp/ 5qVFоľ:` $}> >B2neJ4z\Ѿa<L=L`=ڠ,`m(|8pN] \A%* 825B@lg7 /Ē-@("/8R.4)+L6GB=NXzQOZOm:u 34B0~$2HC)M@;cM8:=3)*m,/N6]5kH{NiI~AVB>A1Z/0K0 1+A$5Vh$B'rP$1x>8 }F zS ` Ke(~dP񾌴BIJ0ƾ{ھ;r龠+>Ͼ ˶xpClsIDf+.e_ Sͽk:ýhR'T(TxHT輀/l8v߽\;@@&@h>\d>zi>`/F>WB> >8=`y==``=01>Q>P [>Xh>^؍>Ŋ>9>֤>旹>>|>@Nm> ^>L>>x>.>r>ߟ>>6>7>3>t>>Њ>>,><.>m> ><>>` >K>1>0ߨ>h>>>B>\s?H?(?W-?Y0?(?? 2?$?Z/?5???8=?i;?g-?"b?<(?>?^@?e;L?>]Y?;Q?hU?,X?Y?J? D?jiD?T?Z?_?Oi?Z4`?[W?@?&?Y? c?Ԕ&?8?GO?W?dMR?rI?:?`U?M?gB?=?+"?b?n??A?]?f7?v?|5??0?->&>>!>>>l>z>u? >z>4>>>>&>X>O>!>>;?>>H>l{>V>$>A>>>>?>ng>:>2>D>L>>a>f>> > >z>p>h~>>(>n>t>>^>>j>>><>>.>>>>~>F>Ƿ>>S>Z>?>t>>tq>H>DyK>zC>>==>=6>|~C>D|>ڎ>f.>>=؞=@W= =~=p=0=S=D==hL=@J=8=$>`3> _>j>|Lr>$1u>T{>7I>T(&>0Zm>\TE>?> <> V=K=ɹýO^; 뼸TT'B6*~TON%x Hؕt\w^Ty /'@R 㼰|d Dxݽ dG*!Rt>=> >_=x.>8vTJƁUP"T Xȡ@;}C Ѿ׾侜s㾖_;'Nr쬾ơ.44d 2<(0:0=p22=u=X`0qP*潌|3S2DH`瓾q+|[<Ǽ-=pA>-D>^C>hO>p'=D=(ϽHX⽐4> 0@&=Ht >XA>8>d >УZ= "fzhPrn v@TL< Mn=0ێ='I=lLc8>^>xH>Lc>܎M>0(>(===(== >p)>9/>P!>>F>x>I>4>z>(>22>>m>rt>Jؔ>ۤ>4>j>>=???>$>>t>"d>s>^>H>P}?B?0?T>>K>>>_>Ъ>=P= >>'>S>}>ļ>+>8ǯ>>>pw>l#F> C=p.=F<<5 >0>b>nA>4q>y>pu>)K>,E>T>=ض===">(/[>>b*>>ZD>X> >>>>>>\>b > v>~>F>X>?T ???'?p-?6?6?8'?4*?V#?% ? ?>Q>e>h\>2>re>>D?;K?6> >>$>Xލ>̐>x>`3z>ž>L`>>R??\s?5?q?X>(>F>>Yu?]>h>>p>">z>">0z>*>v>8>>'>=>>h}=p/==Z<0!=0=`=x=e=S=ؐH=@Fhy bj&ӾM۾;ɾŘ|X7#1=6=pޠ== kF=@[Fh'`Hֽ@,`f"2t"&h%@><5 a3 x`+81>Y=P;=N`sh௘ =(=N==+=*r;ߊJ^6!=@ӎ=@=#>`&>F> >.!>y>=l|=\8PP[8.< SM=><>H=ܻQX44d(4SF8cپr.~fs+88oip꾄 %;H˜ $QgpexD%ԾK&-ߜ,yN,yI@ʽ 0%8q@[7~pɽ d}0Ͻr~5"===B=Z=<f$`I <>=P=`=P =A=N< dv@@b\:j<@'<'<;PpP!`7o< ==A=d>o->l6>0> k=Х=cM==`>E!>=0$=>5c>>Ax>$K>Ԅ:>3b>FC>X>G>>@>T=PD@<{=,*N>L>h=޼Er{w 1 P6ɽ*9\۶Bjžڲ^JhԽ03= P&=<r:1qս oz;+}=H==h_=X =\0>x)%>>W>$>.>`>⇌>>> >">Z3>(>@>(>R>X>>>0Z>M>J>>ཫ>^ڧ>>\#M>D>I>@>>| >L>L!>pP>l>n>Jw>tc>W>p=h=P= P&=0`=`U=ؐ===> >8a%> >= Q3= c #@olHyto3#pV< i,=\yxZˡؾXkZ:ʾzJphԂSɾnzLBjžܪ EЈ:t,eD6Y6$0lG'#X4؎ ZXF 4b8½P@Jh){@g`/z= =5>PP>N>n[>O> >=p܆=\< P8L,jϟ6< 6/@)dD#XVl^qzn/Xdk9|-m(/dpy=P(===3=== > $>Dy>==PV=9<<@֮<w ʼ[gE˽fʽpZ@ <\</5<!;P`+FZpqV<01`?νP|g Q@[$?;0VP,ڽ|H0O#Hֽ07@"<==0=P)=NQ=g< ? ¼==S>l̍>q>&>d;>lz>`>S>|>> D>>$>>>>>>\w>*> >$>". ? ?='?2)?ʝ&??C?v??O?0??3?+?6?S?_?z ?3?2>>|??.?'8?85?"?Z?>>>L>*>>C>0>@>b>>>j>~>S>pj>U>80->P >},>TV>,i>V>>\>>2>=m=<; kF=`/=\>k>>l@>x=pZ=榋x䙾L~H40Ͻt0%>;z0" ֽ؎L.@L= `GX}=%j>6>v>D>c>ā>j>z'>=6ʼM^>F>&>k>|5>?=c=~;&<"= y= Vt==b=x>=P[=Z=\q>">%q>XA>X8S>g>,v>Yg>I >!%=0pEҽ8򽐣x@~ؽhͽ k`\$1u:gfϘ*_  a\`qx$+Zh۾ʠ yn߾bþ:wqZ챾 EԾI{|ξ(¾B񚾐W yYdLEDE,x-x+?X:|5<[==6>`O>!>=t=I%6>Ac>y>\>u>$>> ʏ>>m>>,b>4">ˣ=`䆼8bc3Q0=`=>T >(q=f`N_󩽀PLO#x",s&|BDhNξ̾ndX7}kT䄾J d^.Xl(&ɞ=R=U==[h]vﹾRm˾ɾþ佾pZDw1),ܱfrùPV\ɾ pS==` =E/= xq f@?,9O=x==Ǧ= N =@mҼ$j^ +hPY==>>=H=f=I;@OD"3`&ǽݼ<=@:=(?=O=Pa=@b=` T===Hv=S=~>5>D<>P>l>`>,#>`=pˀ=X=BX@ Ľ@'aNL`ANjP嚾H7Mt,X47@5E1 ,T!h&_ Cx~f}.啾.F%lFž!ľ6þ<~ߦft0p(l}(<<0 ŽcY(ѽ^5d>6_>`)>B=08νF,60)@qr.k;,|`ɾ>ξƾ.yHɎ&:ܾng꾶IlHy|5ؽ!#Tz( `YXf$>p1%>> =`=-R=p<@8-5H`; ={===ؑ==8=7e<r;_4=x*=h=8=@+=y= =@<@u˼K?^ ¼o<%==H=>t:>%/>==Py=_9^{.>(/>>`=;%`UH%`@_hjf:̾R廾4 f󦾌}@`^Ȗ}s<.}ҾDkc@%M+.FPa*4`/ V_-R=fmDNGINJ"E7:' $FC,F/f)T hܾ|Ǿgmþؾdaj#i &)CF,j'.12Qj㾂VѾ2}N捾n8d&a``ƒҞpUTHLl&@G\.T[dtz wF+P wl `JwhLyX02 |84CĄu*Ңf'[RlpS̙ 0R8 _o0d<<&PK 4.+nT}r Ш0<(zil'zNGd@zk޻ <@<7<<=`R=J>m>>B|>>n>Q>O>>>ı>>~#>>Ⱥ>~к>f>>~>DN>lC>pa>r>>8P>^>> >m>|u>>D>9>>/?,??>A>>>h>أ>Z>>y>>>2F>J>JC> >z<>*>v>->p= =P=>=Ћ=>,B>$V>S>lN>[>Xke>\U>5/>0= 3[=Z; :+; G<=v==x >p'>Y >U=(V=@$= =`-=` :=[==8>/#>D!>.>@=@$~0 }s`{<=&=t=D>p>d(>a3>-=>L>xg>P>6َ>(;>$Q>P>d>pB>|>L>>f>xZ>}>,,h>@[>@Q>`<>*>t">02>>?>t,>7.>'>=v=,7`p8ԛp&@=d=^>6@>e>>HO> >==N>D4>\>>>f>X>>$c>zk>>}>ʞ>ܪ>hI><+>B>v=>;>1>^>#>(==X>7>E>[>|g>^>oB>L>h=%==胻\705 vfp;}=Z>κ>Z>|G>` =g< vf ܽh"6ý`＀NEU>tSe>I>>=y6->\S>rv>3R???k?v;??>6>BЛ>>`w>w>>>d,>\> ?!?j ?W?N>>ӟ>=>>l܆>|$>_>u>>x>&>>v>>>>>V>o>>$a> 3>8y>m>a>h> >>lC>TnX>D>>pc=-=pO=@~=S>>Z>y>n>LPL>#>ز=0@&=9<蕅=Dz$>\Xy>\>W>|z>XXE>`<>E>^'>==p!,>D{e>>s>>>>g=֋=,= ˜<@v<`:=M==;=0= TZ=<8޼X ;=w= >8 .>?>PB>4>> 6>+>8">>P>1>\d>>TZ>&ؼ>4ܵ>>e>,>>l>=p>KI>`e>h>ʗ>*>J>d-`>tO1>` >XG=h=|> > =S= i>~̆>hi>>0>c>F>E>V>4>%>E> D>>fm>>j$>x g>P>=@Oz= <@H=8=ܯ>%>=@c<v H6ɽzp(:P<=Q==;Jkx8;ԅ{ Rt&0TJQڒvO˾޾ྊqоr|b<\&X0tU+Xƾ"tnb8(4-Ҽ50̻ʼSbPЋa]+@#<]=02>HA>XHL>P]>=AHf߽#.03 402`/zb\C?$"Bz`NBp<7h @0)xT9 0нl@ʁi@ؼ?p3kH˭sǾ߾pEܾ*ʾf(6bӽpϾ(ݾ\V$߾Bʾ`ƾxϾ8۾BpھϘg=DV,JN;!s Doξ)ȾJ1;Lݾ0?l\gNn;z㦾~ߦHB{˾rԾb;xmjV|u$;`P$8`MɃ푾_MN|?X09rToɾ i^'־r?E)᤾$ʾH!Ծ̾#XZ h|pr@{(/8tv쐒hG(ӕ:p(; h߭W ļ d踞޽))$x!&7Uf^к? pmdP"=`4= ;{40ksfЪv*첞dOld&ǦȱPνH꽐=pXw5`0e%H%8@i`՚HﴽP_콤 #XȼC== ===X=?> B>D|>Z1> d>Ӧ>*>&_>>䩲> T>RI>>>³>>>>Z> 4>B>֣>b>8d>l>4>x>VЮ>O>>R>T_l>I>\t7>9>-O>̱m>B>Y>>>D>r>0>Jț> ">ɷ>>j>3>q>">=B=h=(=>8>X[>^>D>lE>=ؐ= 8=`<<0;= |=X= >8>pZ>ji>Y>>= ` ?;~`N>XG>t>P=< Ի5˼Zbro>З<T< =`W<;@I;<;W =`b=¸==MD=D<57eY>.#>˘>>^ >@> y>z>|V>.i>>2>l>2>==@_z0;U/PHܩ<<;K@Ѽ `d4;b<=>0D>z>N>TX>І>vÀ>>b>h9>tR>> >JQ>I>K>*>@.>(-A>XYR> yY>,>>a>(=@=;F;;< *<=A< rX->p >~=4=#;̼ics*5=`]=٫<0B@Ģ,你lf;n=9=\=0i= C:?ɽ4HglZl܆}\p=Hv$>H5g>>?>*҈>`Ň>ք>>N>8o>e>8h>>L>>b>n??Ja?b?A ?S?o>\>>> W>l<>`)>-(>bC>]g> >H>Z>qj>,>=NJ=p&=@F==x}=躸==F>0>^.>(>>>>U6>*>,>==7=x=؂=w=H=w==*=,<;]`X<@=xJ$>M>PT>8<>>0>Ы=I=% 8'<;P:=p=R=8_ >PP>M>>XH>0=@pٽ(ּfGP==@I=y=;P}EXuׂ'l3Q`q]{޽$.2܋&6ؽyu=9> >>>.>>xj>$I><4>X4>AA>5K>HdE>1>>@===h=L===Ȯ=`,S=;*= <<@}<@04<@$<`<Ш,=Z==8w=>>+>T">x>` ==`b=@ol=u==Z==8p=@<$}༰YKiν) 8PX3d&HBU7^m xxn+I0( -O֙$t̾"CT@06ǾЇaX3` ǽ8ؽ%p{pײ۷duVŽHۻ巾ཫPz* &pp"mt jEl%D8`@̛KT<<)@[(0F RY/EWlL‘2!ƺ$@Ǿ4vž$y\ Z|Tnb}j$92LNÓIJ١:_ ͤ肙|Lr eS} ە4wҾ8R|LоH2 6 ʭHJNL;@^ ½ BR8^ ھQn0ᄡ; "?LaRtaDh\/4l#xઋv(kh|oRcǾ߾ ̰ؾ Ҿ˾֦ƾT9ƾ"˾,ѾվؾTѾO<)@uxw @]5PŽȾ Ll9HD prLr$+$q%4 ;14Dyؾx,h۾пx<7>P0=|=e=TH>,>=`Ĕ=Ѕ=F wsX(㎽HT̽ ``pŚ\<:U==h=*=a=B>h]=NQ=;a (%8ů/5 nm==>н===(=PK >>,>=3=̻ ꁼ<=1>X> >X> > ?N ? ?n?T?>?? ???)?2)?ô?C?`d>~{>_>.м>>Z>>J>HU>+>x>?*> "\>̼> >>F>c=z=0===1>ko>͑>>>T{>>x>>F>>*>R>Y> >>`_>J><>^>M>X-> >>H><}>(>@mR>(O>2>wB>H]>r>f>c>\"t>:U>/>=P>m= ,<J0/=l><>>?>f>V>% >#=N=<`}< w= >|S> Hh>0Q>(:><=`Ӏ()z͉eE=\">T>hV>Q6>h=Ȍ=@O=(==8=0.>P-g>>k>0>Lq>ز>4Ft>S>(a`>R&>i>>HD>ȱ>>p9>====>T >>X" > >>C>Xq>0>f>x;>g> >X=`a>(=>Y>j>h>K>`-,>@">9>e>zX>>S>@>^{=ULd>`|>xn>N>= >p;=0'+⽨tP: <z`.>5>(*===HP(+4+)Ƚ%]=9>R>Dߡ>>ь>r>:i>.>=>D>>F>b>\>>P>s>$.>J >0[z>8C>` >ڿ=M=pS1= <3i`<*;Q<=<@ؼ 0vDDP~#(꽘@ aܽT VJ>M>#>`S=< Ѽ!pxd @>!=O==h==J=^PfY˂XH ֽP(Ϙ0H׽ڽJd ߽xϽUnm 7=<=hHE>H>D>>4}>\>h~J>oB>;>8>ܰ%>, >=X=8 =|=0>{=D==`<.;Җ?($ic##bN<`<9,;^'Xp !%Xڽ|P-6`  BK}8ֵЇ[f@hxdgB #ir_䞾$s$R`4NȵM```A FL_80OYn|ۃkx~C(+'@I,=<4ps#"h.DkHNƵp!ƾ(<ǾDľ 2Lm֑P.tMt-Rx j^b5H50"}%-DSlS ;pP'e~Ơ0g8֣;pa૘=0ɾܡӾ8ξ輾 <2foZ8 p錾k9{8!̽x:+4 oоn"Ӿ6(<=><>i=`ʽ(*d/P~8F|#fޒCVýɽP<ӽ޽ҏLX"u05P\Ž (:]6>PA>l4>1 >B= C:Xý!=]@}K$ȁνߑ=*>w>>a>>0=Z@+T!@뜼=>,,h>> w>d.m>y>f>V$>@>d>c#>_=0~_=L< 2XI> \>(bm>h>2S>>~ߦ>9>쀳>>J>X">>a>ʰ>D>g6 ?Zv?%?>(?/)?%? "?ф? >6>쐒>ؗ>ā>>d>!??4>>o>->==T=P=px= >+>F>H><>l3>H0&>>X> >>/> V>0">>">1>^>4S>C>\hr>Wh>z>>Ϧ>e>:>>lx>^?>f>(>H|>}`>"!>_=='>(J>zp>D݇>*>>>>ю>B>~>Z>hA>->>>=p?>87>|n~>2˕>g>b>"=xd<4 f,5ǽ>߼ \=.>b'>|!>ؓ=7<`nQb< BGD#Iս``ϴ< h=o<.;Lয়a ==p9>n> >>>>>˲>>P>.5>>/>n>>l>->>>l>$q>tH> >¿=Ȑ= ڈ=h=8o==h\=@=xq== = =@gp^Q-| iѼ K>Lo>f>\>ܝ> d>@>(>U>R>~>T'>h>L_>=`a=0=<<@< +=NJ=@=Xϻ==L|=n=@==ۜ=<2Ht@ U կ@==C>>|>|>>>===@!Z= >\M>u>tv~>._>H>8=`0< KԼ;Hʁ=p>4>O[>$o>m>\Z>^@>,$>/>h>z>1>|i>@k>[;>l>@=A=ܟ>TmK>s>>L >G>M=S=EKX-=к?TzpϽD>( yڼ)Ņhͽ 7F@H=DH썽`.<==2>H=>I>t\>nw>Jǎ>d;>^>ڥ>Ê>$U>|>}===>L>>ı>O=]=Ņ< :ǼA 8fJ8Xw޽ pýn 9ܽ$@X6xMKDNPD4/P9,38B5A(@⽠02d4QTdZw~34$1uЉG =X=,={< %=cv==hi>8,->7>;>$1A>^<>\!>>p=T>\>?>P>@>L> =(=<_8 (I,$JXwGv$EH0OI}iN׻eDw(|( O1#̈,{ؔ(ս( ݽ0ܽܝYx '*(`"@h gE Jl!.$%xl"V݀jmN{l0'[tN$̺ 3'LxVL(M3#Dp yƾ.ZӾ־IоBľ&ؼ8=,þƾ8ξھ

    M㾺˾Z̮ᕾ贄C}bK0N^V XPDC( `qxH?<=}lm168t/s ׹\b9< ~- f `4H c0|] ׾LoH7#5D6@9087tFP@V4V`aK$H,k?Ȍ"|)Y{ 3DFJѾ;޾A޾̾ɷT'¾ؾ^#do޾t־jɾz~þQ ǾӾӾB^R7;R rlȾ6 s&ڴپt^ԄD ߾ Rʾ2(q^J=?=0F@><+T>x>_>$TZ>K>L> V@>F>0=@<Փ+j:І =y=!/>u>*> >>X>>P>>>X>h>X$=hΧ=0=̈> D>>Ɛ>X>X>b+>:>x>>Fޮ>(>z>>>>P~>Rӡ>>j%>&>T>>>|I>V>L~>T:>>= >Hk>>R>N?u?J ?>"D>>N>jX>E>>6>(>4>z>^A>C>lv>hw>CP>1>>L><#>4#>x>d>$>h=WW=f<¤<< =P*>8N>$>[>:>>>\>h>C>r@>rs>>`>H>P>8>>x>>>VZ> >>b>s>!>O>>0>LO>k>|5>M>>>m>ܵf>Z5> >0>8==[=(==(o >@!>|>P =[=OB=PW==!%>Hf_>l>05:>[=L&ig/1ҽ`Ç=\>fT>u>d|>PNf> V@>E>= =<`O= >tCl>F>V>ޯ>0>d>>fZ>.>bO>u>>X>c}>t'>8R=Y==d=@#=pwW={o=6X=$"=]<H9qj`mDtXǽ8pЌn31<q=> ;>/>,>h=q=<;`<@;==>d>XD> S>4>`.=m=m=>H=|=;޽>O,ʽ=&<>G> >>~>Fܔ>#>(v>]>\->p=?=4>]>">nR>-|>L a>XzQ>N>XA>PM%>V>=¸==@b==һpS1GeF@.9P=hy== x=@=@V@轤9 y <=0! >8(>@!>le> >>j=q=P=x֠=p=>l&>:>2> >n=@#ۼȴ཰;#*x S⦆ H i3E6 +̬,4O#0b`/=P>?>,dt>hp>;[>̾?>H)>,$>1> 6U>>L>vħ>b>ؗ>Dp>D">K=gp' /'F@<@ʁ<;n<"=pO=<@gs>Hba _:r@QH@Q==,pȽ߽8뷼P6=@==L>0=p==0C=@=;ؼ2,@¼;<`=@<6:@6<0y==&(>T>$k>f> I> C'> >=(+== 0==l=== =x ==Q\=x~ýL4 q^Oy(Pd",k 0t^T|7R7WpCc-?"@ЛZ_̯S0ֽT=6===`B2=@֮<;q3@μJLpQK*2$VPp<'<`J====J=; Ly4k쁾ؐ3(@뼘tTHc檾ǾͲ>h~ʽVNQ 'bĥ(Ѿ*d=پFTzl0 PXݚ^ʾiҺپysP&J=f=<Yi{nJ0,ҥu,hLAbVF~nǾkоӾϾ~jʾγ>\˻?jG_dl1j8~t_WL/$tuN 2<֒<@c?v ܽ`Hʽj~Ҽ~'\)ؽFJ"bOҾ@Kмپ{ |@|4TT \:Ā |g#I%c,]`lDE|'Ej@ Ƚ(IҽF{(4?ɾ<׾$ݾ5޾2оF⪾槲2¾0ѾD%ԾPȾ>,f|ML,\ {zhd+F( ܽ_޼`Y0>@6>$>t=Pp=y,XC *(16xNr犾(xL|&$^h#ƽ(䛽ŅfA\8V#,<V=И=x/=t>?>ķS>L]>4$h> q>P>m>Y>F>38>>P==>Lt>>h]>d>6>Ē>^>?>*>>h>3>Ɵ>J>x>}>^[>T>p>>>lC>>҅>T>8>2>><>p> >D>~>>V>tǴ>>4>>>FS>P>>ڿ=G=pu===,% >V>a>>@>c>D'>=H==L,&>>X>v>n>hl>P>6>R}>U>&>,>>>>23>d>1>O>= J=H8zڏ<0H=p==H==Ȑ=0;=7W=C==0>>j=hJ=}=hG= =[><u>R[>B>">P>y>>+>>r>Hf_>X>dV>yc>P}>x>U>d)>>r[>3> )>/>X">T> d=X6=>,;>Ē >xm==)<<<<e=@=t->45>=P)ڋR7+b=&>?v>>>W;>=::P3~hܽP9===g==0O=@c?<Փ2˼J<@=h= >(>4>.>R=| >lg*>R>t>P}>e>25>=p0=<`4̼P]VQܽ 4dh0wx˽`(``.$ BC8O* S@综O;`<@F=s=N>)> =H=e; 8@j/@x=== >x<>p3s>>V>x\> >ت>T>X>Y:>r<>0&N>_T>IA>x3> 8>C>peD> *>D>==_=W;0[Fp@iP pp9[`o=H=X>=p5=  #h5,q 2pMA< ΒL \S8E2pc:>x)%>pE=<%0*yIwd]%t =D0= Qd.m>ઋ>$->i>(>|=:| r2Md<@Nm===H=8A=7W=}<M螼P(!xI`U V B=R==D>=(=Ѝ=F>>h=@=x= =g'@K=n>B> E:> =pI=``]ƙC1=t;>E>]\>:5>p2=  L 4DQ8 ;彀ۼP(==,=ȃ<_UcI^l3f3W>=g߽x0@Iq;7==N>>*>o>@H=Ќnl=4OIHH)h~ʽPx,oH߽+PMY]>@XLd>lD>Hx>TK?>X= vf=@εbJ>l>x>*&>l>^`>>.h>> >"P>`>u>I>>>BϨ>8>>>]>> $>}>>|>tM>nR>>"@>>>0Y>> >*>">>X>e>M>&p>ƪ>XG>ܱ>>L>Ͷ>>(>Tu>Q>dM>,d>>V>(>-><ԛ>Ko>$>Y<_4 c8:=<N>V>[>B>{a>t>@{=z=O= >`>ӝ>>>(=>T(>'>\h> u%>=Hx=>TLL>~>h>>Uc>ā>8=W;P. @Z;щ= Q>Ls1>/>X7= C=p6ʽ$n<=Q> >ɫ>Ы>Fg>~#>(>0b>2J>KI>@r>,>Vލ>D>Ģ>y>>>H>[>R>P,Z>A>8P>I=3=@=Β=0=h>`/>>>t Z>Zp>X]>T>)=n`p'`G lV= =6><>>>=ǟ;X) ==E>+=d=P:(VʿPiq==Xk=2=9!`㽐{@\̽p xi=8>ȍ>d>M>d<>V%>^>4D>a >=(>s>v>o>g>: >pU>(= D>?>м%>`==^=(=X>>X>>> >>A>Po>r>=>n>[>>B>>U>{>:>Xw>ʿ> >Ъ>4>6>D>>A>k=b=<<0l=@=|G1>)O>H>3#> 5='==)==P>m=F<=`={=0\= <`мP)lx0e=>/#P׻gɽh"%6eL{t}/vVn <(=XA>D&{>>◅>Q>=hT>@h>K>:>@= <r/l!0w(կѽ@=罐ӽ)cC[<8=D>81>,>Z >==3i=I$>C*>0>$+>>0k=[<_< =j~=ϟ=ZG= <0y=л>\O>`bX>TP>MU>o>>lg>9>pP= q%=b=8A== <D .<؟=ئ=x> >xN=xV= ¼?Pl lʼ=H=C=^=:8Bt`@H/= >L>9> >p/ = h۽+<X=Pq=p3=-7;Pu G^h]|`r^ӝ@ᑾlDwQl.XpYȂ۽aս94h4_T*0|F$ pϼM<9==[=0 >z==;K5h3|'?p@ 6-h߭ Ie < <<żٽLV떾pNoҰmHt0PZ..TA_x7nRʾ˾㾾ʿvnUɾ辸D Hgcξ& ¾bǾ*־YG 'Fܾf|t猾LBmDzXH[,iVƖ檾 p릾8ph7?o|8Ep?t=ƾ|;.j̾A˾$Q;v=ҾD۾QZ XƲƾ,{旾HR>p>=С@=1߽  ն `p0eY`*909:`nQ 6;_x:+>8>7>2>1>9>Z[>f>ҙ>a>|><>2!>>ص>V>>>J>>>>$.>T>>>>:>p>:>">>T>>x>> >>>Ъ>I>U>*>F>>Ha>|4>/>C>=(>W>6>> S>~>f5>j=r=@A=aN=xY== >X5>4hL>lU>XH><0>d&>0y==0==d>hO>E>>>]>f>8h>lG8>(!>`r>%>D4>K>(d>X{>B> >w>$dS>L->X=a3=pP c#a<=4>G'>BJ>]>8[>NN>@>8 .>|>H >b= >lF+>O>k>sv> }>f{>> >(>[>2>`N>>G^>F>x9>?>6Q>e\>X>R>LQY>X{^>P>x*2>'> >G#>LU>%x>0{l>?>> 5=ذ==50;Җ`IE;Щ9=HO=Ҫ=Xf=>><>H=== >E> d>_>:>$ >(=<@A_d"2@:<6=t===௘=x=>>>f>>(~>>>1>ca>?>,0>$1>o;>R>d>l\>E6>`=;DЕ _׽E"Z<%=<@5g 8v(@U<=`<@+>D8Z>Nw>6>.>>O> >S>z>~>C>L>2h>H>>>ï>F>0g>>>>~>>(>x>>O>A6>d(>(>HV==>`>7>d>< >>o>h>S=E=@<@0D}XopVX~=4|u6\v9X]Ԃ @ɽKHؤཤ(n05"<ڪ=8x=0==ї8qҽAL;=#>@Q>_>d]>XJ>k>C=@]HE,=P=";PX̆qքHPpB.Z;=>W>D[s>_>+>@J=W<8O .<@==0F >2>PrX>$o>m> Y>PqK>O>_I>-/>|j>>/>[> @>>V>>H==<8:;@I,= =4 > >Ѥ=\8s@;.pǴ@F<>^>r>tF>=ȼLw4cΫzI愙sP/pp ǽguU}ĕ{X %ѽjTՓ ='P>mPI0뼀1<` &=c=;b=@==20*x-b.292lCP$E/S*~띾þ`R߾6D뾸׾2"ξX5ƾþҾ \Ծ0VPnXH|T2TT;zPn$0z J\'S#g±|$Q3WFbLT|B+j c;֒>=@< 3nxč=,&>$U>pF_>9>=<8绽\5UgB;0#[==(=Ph=<`TпEB=p=>PM%>h%,>1>0> .>p&>B> > > >@Q>$q>>}>A><_>>>>>>צ>±>> 5>&q>)>P>>>l{>>R>|}>X>>>>n޺>>&>v>v>>)>4>v>ق>0(h>OW>xH>+>>]===b=l>D>tV>W>|H>>`*>{o=};;e=pX=71> "U>p\>;I>`>=@ H=k=a==̝@>!>j>*>>J>sa>>06=>ܡ9>$ws>.6>41>>ʭ>/>=@[F8@mҼw-=>\Z><>>*>>d>+>=蹫=`.=(o=5=O>+>R>lt> @>:>>>>>8؛>~E>>>B>p>v>8b>P>TJ>xG>U>^>8tE>41>d->,.> =>̯S>hn>,>ƥ>6ʼ>Y>$y>pC= ]L W^⿼'=7=H >@[>~>|n~>`>0$4>\>H= =0==0>:i>D>\o>,>>=ܾ|nЊTIս.e/>>=hp( <8!=l:>.y>c>`>n>`s^>P6>.>|F>[>hJ_>SW>}@>> =@<H>ؽp(: j<*=g-=8>Tq>ִ>F>6T>„>>.}>z>Ls>x>>->Ƣ>J>a>d>>E>> >8x>^<>H. >\t>t4>x>x'>{>T=>L>-=M=<@]<Ⱥ<8=D=0;=%==@4h< Sux\a`  jP 佌MV<ԵtNe_4Eyǽ8ֽI;*B>0U,}(h\p,D EA>X:> >U=@ˆ<ƼyG W=X>6>P> j>r>z>(}>LRf>>E='<5<=>U=>>>X>t׭>b>H">@yü@횼@3ͼ3H$Ὤa/p#zv|8j ҽl`0mcʙ8N\5`,) .G l׽Zu` <0B=@+T==@Ch&8.C/5p?;@&l<1)`O=uʽڽ½,( \Fw8pL]ܟSAUWOPDP@d"ܲپ2T1e | v晾px}d$tg?&U$~Rʾ¥&ZҾ|ɾL @⪽@O`<<*+ fT򬞾,ТҖlT\LJG h̾GԾپ޾FR㾊ھԖ;DľJ B͎x+s@8Zf&:xg)(Ľ _+p<<@^<@\EpA𢿽8p 8`*!ѽ?^ؐ=x>X=Ć)9lU.U 041PIŅ<06=pɽS\2ӾҾΊL e,{F`ԍTWyN" )4RǓ/h~ R땾r?߯ĿD 1|`ϴռ S4oXM_PK=(=!>8H> X>,*N>@7>> >0= ===@4=P=ZEi=`p=膙={=@=A<d:D<<_^=\=8u=X >d :>Dd>z>Ux>b>D6@> >:>%>8Ƣ><,>>>(>>f>> >0>6>>>p>p>X>>z>>ʥ>>B[>@?#?+?@H?r=?>>7W>@' >==#>4Eg>>u>h>i>$`>@W=:ɲ=s=+>`@> )>=C1=%ٽTн!%0.=k= 0>;>>=ݻHAA=h#>tv>E>>">>DB>(>=ȱ==>dO>>u>r>k> >`<`o^(I =/P>,>Pn>>>l>^>>=Aj=GI===x,>a>(>bo>>S>Tχ>>$>E>>>LW>1>l!>x*2>4TS>,\>R<>#>(!>,>_M>0]>B>W*>?>y>n>|>l>V>pc>@|>|u>GI>8g=2=;jj:0=X=Է>_>A>l>7>=@'=+@ <(= 0>( >=&8xfZʔ(RpɽH;ȳ=d>@>=C>>>B>>>1>8==)=={=s= ە=~= =P.=`<<; <<4=L==@;=h=<=f=;=H/==81===a==Lq>9\>ʋ>X>r>6>>>_>>>>h>>g>>>J>>`>N>>T>>u>L0Z>P;>5A>q\> >>>>>x]>Ǔ>X<>=A6>,.>>=i=x==5=0====<0ټ:G<Q=Rw=f= i,=`=<!;@):pP\ U W E=k=+>4yR>+I>->==@)= &!=0=====(><^>~> x>YU>(6>6!>>0==:=>zi>t>$>4e>>>'>{><)>PT=SWΙe<<==>&>$,>9c= Y,g <~$ C'H߽`p%=@]<@9Pal**޾JR̾0h\T4cv0̈NKdyhMyU; ã< 4D;P|h0H޽}(0/9X:Ipǽ,I3|z־t۾& ~h(Ӿf6؛|gb p 447D2HbԾ߾Oվ Eeg@BȾ徆JྎmоJǾ8ľpžVǾR}aUP'LR䖒LT ӽhɽR#FtFȞ)qN=@=3>h>>ъ>>Ь`>DF9>Th >(ĩ==@[F<ٺj;Ƅ<R<=pT=Z=&=ZG< ּPi 4hK Ye)^b>>dԧ>` >>`0S>(>6==p >Y>>$ >1>>>~>Z%>*>c>ڤ>f>n>J>h> >y>v>>g>?$ ??b)?t/?w%?Ay ?&>Z >p>0B@=`j9<=\B2>q>>z>FQ>>@=@<. WI<=le>44>Z<>,0>a >Q=@aA>ݲ>>:>p>l\>>=~=>Ls1>J>̯S>S>XG?>>=L>(5>}>>x§>_>s>x(>pE=௘==h=>==>lu>f>Ϝ>v>Ğ>۝>ܰ>u>+>۲>+>$a>>ܡm>*>==*>E>=c>xa>^p>%>L>>>N^>B>|>.p>R>;*>>D>f|>>$>I>,> =XH 웽`T50; k=y=[>>5>{>HQ=@<bG X( ܽP4[<`i=4/>>>X&>,>~W>Ê>Z>,>0>===3==@'=Ϻ0Xx0˕P{p&$:@-<@]==&=8_ >&>Z@>DP>|ZQ>HD>(],>>3=0%=x~>,>> >> >>>>V>Nq>NŨ>I>jy>fӴ>b>>>U>F>Y>d >>G>>hLy>s>>B{>Q> 5|>0>X=0=@Xz<@'===`.=@&=1_=h;׊#xdLž|I˾ ^8;4'潸󾽸h`ϴ<=P>@O>g>_>?>>0=–==σ==S=`#M==@(<ܩn`$<`J=S=%={'.>2>j= x=w=x>PT><>-j>Co>0>E>>n>꒒>Bώ>⩘>Fu>Db>=iqXϻE콰h`w>g=`C< o @pԽ;<ϊ= =IU=̼t jҾr*^ݾ]ɾc`|@2Ӊ`p=Xydb[=`=З=@&zH\\{UUXd ɂ@q< <@εͽE41hɾ˾=0yL "q3v0lPǾ>ʾyT瑾hv^T8<@׻<<7.;`-6p@综鏽GɽXz@~<ߊ< 0ʈ+p.H{U 1žZbɾxm-,텾xϲϾN?ྰپ.¾{RlLPlȾ.޾R,8p3 4cבA]  ִ Q' ~D侸˾&hiR͌WI0ځ@n߽lAֶ9۾%nBl߾L y 3vd(2 lR2վ2yҾҾ~Ӿ2ؾ\g徸*侄ǾvKgBX4ӽVҽ)\oЙ4n T}xX]T2_da,OPLLh;sJƁWX۽;t==3^Cjsx>_$佽i?p "ڼ #ϾҾRM+pRN=5= g==`eK=@+ԼP]ҽ 2!71l&۽0k;۽r>Vy>B>>ĵ>>bp>ӂ>̿L>>PԔ=":ri (ʽк`@KF@d>P=====<`ˀ` p Ҽٻp=>=H ><]>L>D>y>Y>L>[T=Ѽ0 4( \= b>O>bK>4u>>N>>> >T:>>4g>R>.> >U>Z>v>T>>O>/>>= ?+??{>m>\>=u<@<=\3F>>>>>^>>~>8>,>`=Ԅ>0>w>{>Xke>+>=x=(;:"<>=(=b=h=`<=9`=( >>>[>G?l?ړ>^d>.>eq>0z+>@>6=`=P=`d=hX > V@>Ta>4o>v>D>c>l>Z>>T;z>v<> #>|&2>SP>ԉ{>i>v>:r> >>|>>?>|mq>d]>ȒT>#e>>ҁ>Fv>>\ܧ>j%>V>B> >\2>\>r>4w>>?=?.h ?>>tq>>_P>>@>=>>Vk>_>Pp>+>{a=#?0~0^=>:N>6>Ĭ>>v>Ĺm>$R>,>> =P׻=[=@R<H La@Z@< s?=+8=0.=p,=aN==>n>}>Jڮ>`>>nf>>N>xM>> >==@ =;K;4<`<om6ŅOl<}<==u/=_=N=<K<=¸==T=`<1#Rsh½:8=[>:>>TI>L>R>>\S>t>x> >\>b>@>r>>ic>>>e(>d >5>sP>K>)>=1򿽘>MXnhk^$"<௘===E=P=Z71%W#?&hV޽B5$=*K>ݾD|F%6d̾Ƭ2BpbD7x(½ 4h <<=PG=O=09:=2<`` 8殽R齴$ -v5X4'OҽXgP\=== u= .=0(=/5NC>)R>a>ȑG>H >=8=*>pA> \>h3>d=>9>xM>t> =d=80=>$- >7=XýH{hdlCK@hr=NJ>Hb>,=>x>ٖ=@LS@><+T>D>->^>X=H=H!>>D=k=%=M=`=`=,=p=j0L` -<@=1=<`0Uང.+K^ͅb.wV=8Ƽ=R= >P =@܎>=0DZ=ͼP<ӽ *[toDb@Q@F=L=p"d@<3.8Bt;Pp=ܵf>L>a>26>ؕ>m>>>>ɘ>2>Th>!>=((>2>`>t g>n>^`>M>_>N>> %|>->=l=D<¼od=p>p5>Y>Y>b>Tu>>R=D+愻@-n= =>4t>pX=0=Ơ;p<(8Y.C> T&>XU=o=D#[T<2\=@=h~J>>Ԟ>9>>>~#>Ĕn>,>x==h[=H2=8={==4'>Tn>>7>|m> ?bn?O?P>p>@o>DA>`t7>D>>\H>,V> y>>>W>"ٕ>.ϕ>o>@Ѩ> >b+>~y>ڋ>fj>Ղ>ƒ>4v>V>>z> /? A?F>/>6>L^??N>8.>l>q,>`r>L>[>e>y>>m ?pb?*?8?>le>>~XϽfP=6>>v>>X>k>&>fj>><9c@<==>>=P֮=pz~=09:=p-=p=(>\EY>!>0>ha>|'?>\ >ؑ > >X/>d[>Q>u>ɷ>>>%>D|>Ԕ3>g>`=$,>py=X=1=s=:~=(==XD><>\q>"@>ɟ>>tv>/>=P = 켐`? :`=|Z>=>4A3>:>h= r<`0]`p1%=9>Pw>hG>>` >̯>v>>>$>$>>>>>䆙>e>Y\>h>44a>~T>`>8ƈ>μ>.G>~>H>X"><=̼ݽ&$-<&=x>=Z= Ͷ潀N0XP45<'<,7: WHxJLN eƾ俾M`~d<vg-7IV< @] (phGBwɽƽO޽н鹽ҽ{;._bW;@8H=42> f9>0#>y=<0#'GR[4U6~PcrMĽdDI`\Pp80z+@<@b=z=B=xX= =K>ü@<w=Ep?;۽س`A%@ `,Sr=s&>@>+=ν_n٤엾bxg0!=P=8-;z,F (E&f8|Vl,:{,os oD0˾{リ !<ʾ$8fњµ6 TZt,~ϭJ١R@f d=u?xrsSξ̾ e3^,6 (<`O$)|%%hGrܪRm˾Jݾ7޾ھӾGBfޒt+ ¾ھJ޾$Q;򌬾@z0Y`dH8Ogt^Dw+_ 6:@Ģ<=(=(r=RpϽ)D6'&8 ټ=bT>l[e>p><T t(Nھվ$.2+QjȾN޾<>ھž|Р}3etzx"̾&߾%꾂|TȾ^?#8PhȽ`i`A%OB`0ȽM 21\`E6ܝ` ajbqν-*⁾iV%;cξ^r|;l$8nS<\;`W߽|i  $o9h; Om(>Q>a>P5>^=K<<=J> >=v=O=p#=F>4>m/>h>$>>$;>jT> >>0n=<pW@FPK ,$᤽Ddo>}>}=qǽRk+P嚽R<躸==@!=cEг;R&:5@5<`q=8==Ъ=]==g=@F===~=U= =`ǻ=zT=@ ɂȢͽٽh]˽ 3۽Pl to#l.X.DpDŽA@|<W=h====@ε<I@4*`PEJTA^5t=hl==<"H sƽŅ9=R>>,>>F>F>j>Z>}>2>G >PA>\>ܑt>Z>r>d>>R8>\>>> >4>q>$ȩ> > >c<0ʈp =4>'> >>>ۖ>,>m(=% uY <0=ly=><-n>&w>;b>>Sv=jhǑ4;t===80=<%<,=+=p >R><~>>o>D&{>AK>>H=@<@<4>K>;>>%>>AU>,>P=0 =( ∼W<=f>r'>@[>j>> ^>dL>`=<]===},>b>g>$><>D7> >:>f*><>Js>܉>>@[=pO= =+>lb>">α>|[>Ե ?~3?$?3> \>B=H̛0$4XH=*&>d>S? ?w?N>_>=^ =2=M=)>t>*>>>>>K>=@ҁ=p?==W>H> >>>> > >>d>j>۰>Z>\>B?w?C>>n>>Ŋ>P>)>W>D>t==N>trJ>`>f7>z8>֦>*>Z{>\>6>x'>5>=A=޻@Ip3s>I>P>W>h>">d>1>=pu=HW=4;>Җ>2>=>?,?>`>۰>γ>P>T??T>>2><>>b>>>>J><>>>>*C>=g;=.C8``:P(C=p}=@<"(bm+,BJ@{1@^밽餽DTnc2#(r0P<ҩӾ¶m{A/+4BA(*!DAHuj\hrНt>FPNxŽ@fP ̾Fy˾ѫ0ݎ0Ts$EMXza.9C3濾ݾ.9vƾ3Z[969mbá:ξV&ھ^0o!`սXݚ`/z^XϽ`O8#*lu 8PShj18ѽ"M6e=P6>܏&>=0Zmj$֪)˾Ծ-@O O< =9=VڽhADGƾZɾR>+K$=nTDVi˾F!Jf6(o竾Zuhb$.NYNDW[} 4o4=t44{B-c(bmdd(.H .;>@ڏ;J;~:p<eu Xa>0B>(=X=px=8>tp>r>RC>T=@ o=F=|=x7>0=ȱ9>^؍>B>h>43>0]>=P^$IIVQ3<O=~=üȪ^=Q྄ 8 R >H+Fdb(ʽ<=p=T=x= O=} =; Vy,`-ЬXۀ@j<'!>> >>=@nإ0Ͻ`l7= =]@z0X@ f<1=!<@r2@.<`= =ƙ=

    _|_搾B$^p˽f=S#= Ltv~¾yǾd~Ni C'08$c5Hv6վ<2þz|$2~t`>2052w@` /0E~0x򶾄{Ǿ߲V`p2ێPQؾtྎ)Ҿ4}+hH$dg4ľ׾&Q羠̾xeqb(-޽1 h\r䒾]W9,X͡=L>>!>s->9><<&>X}=`< vs<=0=`=0Ft=D=/= >` :>pT>>Hܮ>h>>>"><(hT;P S8=sI>t>8_>>A>kF>S=XSM 开<`A=`< VPt;#a/8"$`X',7 @뽘U0!A=@=Y>0\>{}>>Ec>o4>=PX=\M>d0>lT >==h=W>|H>ଋ>1>W>>b>ߘ>86>U={=^ =H=4>,>>F>>*>I>Ƭ>>}>|;l>> >>>>> ?JQ%?R6?c6?hH+???! ?J2>T>> x>`u>s>>T??&?@}>?Q?@Q?D?e/?9?J>(0>w=h>>& >C?4)?ŀ4?P;?փ>,>$>L ?*?V??3?x >ٶ>H>1>>>B>N>(??P[???Ւ ?L?fk?$P&?H0?Lr1?,?Y"???>X>>>~>>F5>>䪿>>R>8>ܣ>U?0?v? ?? ?$>>z>m>H!:><(>>>bn>Q>J>z> ?V?? ?>ݰ>&>K>(N>>o>=} ??0?j?:?t ?$ ?u ?)9??P?t>u>c>Xϻ>|(>>>Ԩ>>?H?p>>~>L@S>= ˼ p3|EtȲ=7.>$1A>N>=@#ۼkl#F,~fπZg21j+Dz ޾後پz䳾K\.ֽx匽`s(n2,{8\WZ9@'r5 gM0osxžȐԾ¾l{Zil꒬FݡlH(9$$HchЧ_վVF`پ&OͅȾn1e { (ľ>юC$j !$\Df+0Y`.Xr䨥zG ɂ\"tP0鏽 j ȍ&"0)+!Y"HDSp2Ԉn4-"#5c%ҷ >{H 1C=FEP<.)@{$p cxt/پʾ¾Yɾ!㾘V#n,H3Y( Vʾ8rƙHAڎF精bꂳd8~\dQW68`ؾ|ZK d>I<(lk/׾|ѭ(ڰʾp_辚TG\Oy/g$}/#u<+p<㜽Pfd&@ 0=`t7>>P [>j=p9\1, ׾À PǾ 2N pRԽ B5x<㹾$þf9.dnQV.D7wv(ܾ]゙r޾|V5=E!>6>>xa=R=Ќ=XD=e= kF=@<ج<=P;F=D>=0'=_;`'#1D0f= lS= =6;;@<<0=O*>6p>>}>D>Lh><>=@5<0.(սhP0=F>T~>zJ>>rr>La>>==x:+>By>>H>%> >>}>fL>T>:>>>M>t>E>+>T>x>*8>c>G>'5>>f~>>>Bg>,$>P=b7IR!<==6>m>³>Nw>8N>p> B= 7S <==r=@.{=hּ6!bIq`5@==,>J>Ԫz>Պ>;>>S>pc*>O>h}= Ͷ<и%hHcB,k? 8L=(=腌=<8y<}3#>C> P>f>2>Ą>b>>B=N==AA>]n>1>H=R>,ѕ>̱>>8>>ŝ>Q>]>@Nm=XVzF.4DV$o {>> >|Lr>=4s}#񎾨Y` Խ8tŽٽ\P\SоOԾǾ~guU彐n~=`t=PK >T>@>=0 =@At#}ZdnjpeD@WsЋa=T>G>~==<0Ƚ?`=()>>>׊>xm=>= ּ(ݽ D.`EY=(L&> L>M=>= <о :8=r=ܟ>AK>q>P>-> h>|? ?S>>җ>D|>d>4Q>y>0==>|p>>䨥>zm>\D>'n ?I? ?ގ>>=PTt=N̚@=->Q8?ͫ?u_*?Է%? ?Z>#W>+=G|[>$}>*}>JƁ>b>0>` >\==>lM>>`>>>z<><>x>>M? ?D ? ?h?0>|>0ޛ>pyq>HH>X;>L>x>d)>~> > ">G>^>>>T>>\>>>>n>̉>8U>@6 >T= p=s=X=i=>Z>ؿ>>~?N? >D>.ߎ>Q>1H>">P>L>>L>$>>>D ?V ?B?8>?~??>~ϭ>B>y>R'>:>*<>\T>I>:@>&>:>>M>l>pkT]R>Q>u>o=؎9N倾2B.e ctd&xD䮾RL̾ھxɾZ2Dp MPGFT ,<' $Q*|0XS蹫wH<=Ah)ܰ%2 koIXc*ʾ^, ;оFfo0xЦq@k0!IH2T c @Mxjz\A\N-;T^ZԾxw`"hI(&C V`@w0г\Z~ 5u=X%==J==r>w>= 0=P6`4@<8> >Y>g>lb>>" >e>c>Ƞ3>;Pȍ"žr0澢Zf5Hһp >i>}>YU> >0=x;P8r>(>—>>T>>>TLL>> >>Ȥ= =Q=<95/Aq> >^>.>PaR>L">>>@/>WW>@u>p>NC>=PO =Լ0~_Ⱦ0W[0~= >`G>Jw>^>>>"ٕ>>ڏ>>>>>>>>l>&>>>Fp>$`>~>f>L >xO>38> P>Pw>Z>l>ܴY>R>i>x>v>P>[>|&>K=x88$5Pnؽh>r>>>4Q>=8d=@<:0 [q3f03Խt'QpblJb1Ͻ ã<˷=!>M>|[^>_>6J>x[*>>\ >=`.=,7P0!YƄيkc#@p=>%>G>=0=0KȔd<AսˣC`*:`>2<,->T>0=&r>xK>03>#1>>`h=X=)=<<=00>M> > ?<ɽLT'LǾ"0\b߃B=a>T5>>=PyTG?ޣhɾT־ ҾɾBt_ocۑ\ϾBL~($(Oz;X;,%Ľ`0 0CXw*x襾|}оi6lYP f5PݽHq $޽/8 I𽨩ǽJǽء(HT.L∳T6cGzjl<!pP" @M<=>\B>[>i\>A>8v={;(䛽Hu˽|D0C#p1%AP==,7 >)R>ό>~> >~>07T>cv<,0Ѳ"q徾ڞ˽= >Z>y?[?^d>ϑ>V= ּ@8@J+=='> >=Kf>j3>Z>L>ό>D">Զ>۷>>4U>>Dly>> B=`A=^<Mm>>>t+>ȍ>D>p>rr>>>>x>So>_>׃=Eh(p`=f>\> >=>>좥> >i>dV>f>Ɋ>>l>8>>V> >d>>>#>|>s>>j|>^>4>`N>к>>{>A>T:>r1>>?>`>l-><ýRjgO:M Po=:Q>~>T>~>L>x=:߽X)@'dٽ޽Z 07`Wv(llTNC7Y(޽6}`<=r>M>6Ȉ>Hu>p >`[>=?D#x0.F@7~Cl=p&>sF>0.>=@H= 8Ჽǽ@н|G`GMĽ 2LSsR`0e~PL7(> EApu=\&p3s@93>9(>0>(o >==E!=`<@<@x}(Й=E>{a>6!>=|=>RC>D>!6>O;>T|>4>>t>;Iսl4ɾí2=J>K>Ə>f>x @>΋=L8 ?|H>@4l(1ԧS_zZJ*쾲;˝HN8׽@gj;;W;xY>؅{>k>1>8=_=70!I ,@g պ|Sy&V#xl6<8pk0@ <(=W>أ>#>d >==>d>O'>XJ> j>Y>> >>R>>>t|>,>>>>r>>8b>>ʲ>6>,;>@;< :ԁLpꀙR"$ >6>>>jw>T >@$Tjl7s"C9@`pkdGEq0%uLaR,&fv.<=>Pp>>_P>Z[>+i>z>*~>iq>_>#>8=a_v>v> v>HDS>\-> >= p=p@=,E=N=a =G;X̔m6LSsl|0fH/=>>f>[>8>>^->ʐ>>ޭ>>J/>>HFm>>>p,>> D=`=)= =>X>d-`>#>==0)>Jb>>>[>R>>&P>f&>=ߟLtr@ھ "þ^ܻD>R\>B>>u>-=–T^Oxӓr>$*_̠;[ܾtȾܪ`5(`spA!UP{@ 2;λgXerҾ6zYzzL&QE/t=T=,G>O=@<^@2 &=;S[==1>,6>|)=`XW8 JþL/;ľ4ۨTkeݶn<0ͯ= =%=( C^ݾyDؾx[ϊUͷ7U'/pA+2FľȮ0\%̈(9pӽ(<ὐVT\xݾ#|ZXd;폾!l%>TV> %|>Ȁu>$P>@6 >x=0{8=ph=0/9v. X<=(>M> >'>|)Y>>P>A>h {>>{v>T9,>?=!6mIZ@ >,>V\>Ԃ??Y>ٹ>!q>R=^{<.6=>P>8r>f>x><@нDS`=e>>4A>>y>r>e>O>>3> X>>y>x_^>(,=>= >>´?}F?;L??i>J>S>Ȭ>H>N^>vÀ>S>` >a=`.m=P<

    _=h='> $v>І>>>j>p>>:O>->>XW>>P>>6>>d>r=?&?B5?>'?A ?w?m?n?r=?>>> {>m>.>\V>N?Ϩ?? >>PC> -=ؗ7@oe9Iq=]>>>z:>pd>h>p!,>)q=p&ahຽ( QLϘо+S#e^{?TP=`@==a=>y>ۑ>\0>\A>ј> l>T >;<48uE7[XvhI֒;i=p1%>ĖT> f>0W>D4&>(=<[@x]Ľ P}伀B$@ jG׽\+?LH\eKLODH'ܽyP\E==D4>0F@>s&>>h0>0;>0$>h=Pq=ż ;ڪ >`q>[>qN>p>D>M> ]>G>0>06>ؓZ>dj>40>I=蕅|2wh¾$Ƕڟ8c`B=ĦM>^~> >%c>>@=_4c Ll|(~o( 2vϾ8J Ҿ#&稾$NXV_<@I,8ֽ0]`+%Xϻ8E@dŅvnK`]>؏= C>\ـ>[}>9>m=Pxi đ Ǧ.PI=>>(>@X>v>q>3b> V>4"N>4V>q>>$w>Ԃ >C#<h׾fp־ʾ wFPR2x=?> "\>pS1>Y=tFf7B }t|mhtx6t `֍`Z ȼpA=0H==X}=`==P=<֒;xd@ㇼi@d0h}= hSTB0 VʼP*=4O>>'>$BG>8=(;XۀNѽȤZǽ(9`޼d(|px9X|0VP6=$>*>?;>X7>6>4E>0V>H\>e>d_e>`@L>4D&>>=A=@=P"=|<<V>R'>p> U:>q==X>d>h>L>g#>Pq>ԥ>&>=ѽC`;徬ھzpvlL>,ѕ>N׻>z>B>0=(o?8<JٟJp\}ȞB@־4ؾȾʳLkkP A!SpR*U5kFdr pjݾe" ='==$xb ꁾ& jC(*T-~w;پ>վ:DA@^;^;P\v``vMh}ۜ`\J@<`ge=A=g4>X>\>HD>|Y>x=&=7=0[F==`= %>g>͉>ܶs>> <7޽ pv<ԵtX& r2|=@6 >B>C=`0DIWwЛnԾ::Lþ&R P!ejk޾~Qԑ 0z ll41:(rfnǾ,TF¾݊P=x>xQ=0{=I=`޼|zl )J0Y`il>pvPӡל|n~Ԃ ⏽Ie=@<=L >>45>pUK>QU>`[>PJ5>f>P=u=Z<@4h<>A>!>nf> ە>>,l>9>\P> >L'>tV>s>3>/^=@hs&Pp=`s*>hH>>v?8? ?>{>"> =|`:=>8>P6>>E=`콽[ͽHʁ@!A<@=XV+>Xd>>FS>+>$>LO>>>R>>ض>L>n>@b>z>H=2=]=p=`i>> ?&?2?J/?I ?E ?>]>Z>[o>x`>0r>z>2>>l>|'?>l>>>)>f>>4>i>>o> >ڿ>x>x}>j>!>4R>w>h>H>Fi>)?__ ?ܮ ?j?>??J ?+?g? ?)?b>A>p> >>>>>!?> >w->Y;(>r >>>Q>PY=O^L(>XPHݽЗ 0$r2LSs`+4ڛQc )ּ z=PC>~>B>g>s> =>p=`pF>P>h'>D=^ #*4{!L<50; 0\vQji|at?80< =x>K>H=0&=-=PQ%=7=<⿼S[@@6t 웼`"< X=W=$`>Q\>(Rt>s>U>q(>0w> 0>x8>@ >+=8=P|=͓== p=߽a=褋գ$ i3 =l$S>z>pz~>9\>8>=p4Eg^rJ 8nF޾Tξľ>~Һ2ȾҾZEپҾR ;Ⱥ`ռPhҽCLN2GQE9`qDl]p2fgPܯ8_^<=H->,k?> 3.>D>(V=@-x 4hJ(ʽgHdŽ) \@jixHxrdgxOeNb$P<~.ٹ@"@`|g>`>L0>=1Pmh~~8alD`` 4v_X3FL(^ppZ/#^*9;g=v= >> >= =PN=pA=P=h=X=P=>Q=@wpн%x<;>>>Vϡ>N>@>J=@<@ |0x_@9޽=E lT DpG80]@?=p=v.>,^>.y>:>$ǜ>~>>>>b>x3>M>==5=<`x<]=%==@4>>>>`i>>(d=K==p=hN=() >PA>X%g>sP>`=EUSM>vD] =Nn>rA>P>,>i>,=E c4ľ誾ٝ*⁾ċش[Ծu`ھ\F1ģZ0S}{g@whh2nL>ܾ)2ܾ щ$PU<g=Җ==Z@7`Hex}TKs,oႾHʛ ̾PѾ^¾H0(_F ӽνtl 0 (z齸ؽ(ܽd j95:>Dx >=@=л==P=<i8(sv@B^->b>:>Ȱ>z>o>h=`*9=@~=X=>->dJ> =>8W=ЪF=_ ;͌=%>Ē>p>PJ ?@ ?_?>>T->௘=M开Ơ;OB=(,=P]=<}`*-R@LS 9?P=H=H >R>$Vt>NՇ>>>vo>T>H>,[>>>N>`u>r5>=@=M=ԕ >8~>|>{?vo#?3? 6?fl*??>?>Z>}N>44>>>*_>̑{>q>у>g>ԅG> 8>P_8>?>XV> B>>P>>* >$>xL>t>4ێ>l>@>A>y>>˽>O> >p>7>> >pV>߼??F?T ? >>%>>>Vߚ> ˜>N>> ?6?\>8Q,>;P EX+踞hy=|v>>>>J>8d>=ͺ½*4&۷@' _4 [&~8NQ\:[=K^>\>&>S}> 5>h]= <@Ǽp`Z`GEQxZPc` a=>|@>tRX>=D> >rw=8dsx 8tŽ ̩`o^dދټ~Ľha2<Xֽp(v =ȃ=$>6>|5> )>ܿ>=v<=7HP:@K==>N5> !H>8d>1|>v>@V>\6>>H >'*>N> A=c=:>>x>2>|>Hw=pApZ㲾P,ھR侼۾NþS 5⥾6tžjVʾr%Doн)cehJ q/޽ A-Xw*CB"qjV=,\>T]>X}>y>@\L>H. > g=;p&x ƽa8w콘0 #38trJTT.UX _R* c5="=ر=觘=!%=7;08-@R; ==>3P>e>>>s>XY>&_>>}@>$>%>\ >̫>!=>>;>D>nb>0*=hh< ̾ g8ah=)>L>pu=>0>j=X߽00nx;lxO80[`!GdlF_8p?l@N<@{=I >>L>==x:=<=Pxr==h==wI=I0ݽqǽb_B=^>0o>>> j>8 !>"=n<-DP ν'K>4>x(> >J>f>6>c>T.>x>=Jp=v<ЅP:|a}6=@\=02>!K>~> >z{>h0>@O=hHP\h=PƵ====P9=<+:\OxpVVhf=|u>,>>m>>(겄ľP򭫾fW_Hľ v N۾̾밾:ĈtaDpvdm>H}:>=_B=`fؼb[};9`ܼ@|<Є=@5g<}$#RѾ ޾d;{ȑǽT4\>4e%>=:JP^žt۾jϾ餾x*f%A%S^旾N}h-{p==>8>, O>E>X'> >>>>4>0==l=m{===">lx0>`>>>|>>>u/>@=.Q=థ=`=>d:2>|U>ph>BQ>8>آ=D===Zp=X{=+>H>Z>g ????>>K>7>hH=;D$?:g<@Ƽ< 7== =+=0=`LE=&=PG=@=$ >D>F>+>>қ>>V#>Ъ>Z>6u>l>*>I>ט>:>T=> R>lU>|'?>Ԃ>>L?L?2?N:?5?3!?&^?>2>l>(j>h>J>h>Đ>^>)q>Z>L?F>05>\)>4e%>D=>pWe>>>>>A>>>2>>i>TV>9>3>$;>P]>>9>H>,>$ ???+? ?R>n>ȋ>n>V>L>FD>j>Ld>?>>>'>];Qc86P)5=7I>I>*>$>tǴ>ܝ>@>O90Zm`a\ &=.X4ӽ\QLP\bX6f`'c=>@' >h>hN=k=J&ǽO׽Ыӽ5ĽH#Խ` \3:`1Ƚ0}R=h=ȟ&>p'>`=M=@ ɹ{ Hֽ@V  04`,Hln0[zyU|P:@d>8>8>L>9>7I>7^>{h>S>%>=ߟ==`Ĕ=)q<0k0i"$<y=<s Xh>c9u,l|B@=*_>>b>P>@ >0 SڴپSȗ "U>TnX>8>p`>Xۀ=13nm?޽#&G*`;R jꑅ+Ŧ&c*!Еt`܍$=>v>>>r>>>2>8b2> =p3=i==(==0E>K>`>i> =psBZȾIx|,7< >hH>P>%>@=`H Uxd:2Ш, #0}ҽ'y(P0PcT0k= =h">l:>܏&>6=3=V<}( >( == 4ԥ9<)ʽh=мY>>°>>>O'>u=@0,D4\5OZZ=̰=hL=h8=e== k>>>>>>r>-(>k}= gXսA H@F=D>dh>:ŕ>}>>ٖ>O>pC=):p&[==0=0#[= <`d>==>`=ӻm 5fMuYBa7I=4">^>_> T-><=@a gzG䄾zi[bm("fax-u ]C& {轘Խ?׽h۽0mٽ |؅@N4SP##=G=,5>9>PPL> 6>^ >=k=Zb=8=Ԕ;`躼`+F=== :Ǽ `v~i2z߾Nh־ c0B A%p?l=XH= )Rx\"8?v=86(h1о ڑʾ~Ͼގ;nɾ,¾ᅾL;fܽѽĽXzFE4SlER\.bng˾:־KɾTxIh=X%3>$U>8P>m1k}=ȑ=V=h=pG=$>(\>hZ$>X">>I=X==e=@.=<`J>z>>>>Rӡ>Z>\w^>F.>7>z>F1>t>܀n>$tL>@h>.W>>r>ӂ>m>J>T>==,>ز>>1>? 2?V>.Z>H>l>$?:hHսlۻko= = >>Z=1<9@j<;==>D|>淑> >]>6t>>X> >Lȵ>m>Pn>4C>(>6=pb=_=R.>V͇>D>g??)?F)?@?R>>ӊ>R>->LP>\v>R<>W>_>[T>7>H >-> >Pq=z=E >]/>@b>f'>Dε>R>Z>>*>">Q>=(r=u==N>Hwe>Ʋ>l>p??>&>v>H>x<> f>l>J>>0>^>(->P>>b״>~E>?>w=x]Ľ(,=:>n>,> >'>Q!> ,<٫ 3.c=qPap6 X cy\\}ccv K>>N>q>"a>|{>I>Lcl>Ը%> B=[=<@׼Z<)Љ=J>pxd>p(>m=Hܔ|9R|^b)KTX4>>rں>$>m>pT>=|P¾~ԾnU˾X#៾ XسRǾʾ4ܵܯj,b@VzPo彀ͽ8WI< =H1=8N=<1FG|zV\VVPj0==,>I>ĦM>0$4>=s=1jXTv'V[v៾nTLD7M\L|=>`O8>*>@>(=x=t=j9<";I<@m<`!3==N=>9>d\>~>p>/>*>J>>& >>HeR>8 >=7>5=>:<>*J>4>Q>b>t>Xl=PWp(qpxqq,o>Pd>`,>H@>Ri>"!>=@x9HxtL(䁾Dd(;< (ʽ8愽0 P; <(=@ |==`====R>\R+>,]>z>x|>?>H2=;F>>h>lT>X=Y; 3۽`P)q8==ȵ= D=pΧ=`A==<`<@*==P >f> >>>w>>>n0>w>y/>=?^ pZ^<7=Y>>D>X̔>9c>ԃ->\ >4 >>{= i,=}`,o@{*<=@7=ȥ=i(>4O>F>=0=6X4P—P =L>>>m>(= 4o:<쾜վ ~ž"龒cG |ķMqB:ȠA/`$Pjxrq*~oƾPF4Ȉ<_?ѽ# k0뇽<*Lk:Vϡ40>|H>>`+> SM=>8@V KԼv<`<7X"n& T3оKԾZSP# ׾ijpսX޽8 !!/<4Ex@"PԾHw*Ȳƾ8-3P>Lv>>t^>x>S>B$>pX=c=&=|)<⺀B$<^=0>>q>Nn>zX>>>>^>b>,v>,KM>#>`==hz>(>>>$ ?,>>\DL>=Sƻx== >6>J?: ?o?L>q\>A=@W0D@ㇽ@ 8=r=\<|aP#`lT_l>D>.>>>F>>>l>->R> > =l =! ={=(>H>>F ?8`%?+?5#??Vl> ͽ>f7>@LS>Թ2>}(>0<>p!`>\Wl>Hc>X>%=>Ȯ>1=V=P==,)>{>5>H>? ?>?3>>->F> >;#>,+[>ԙ><>f>|><>_>r>> >.>Tn>*?W?>\">҆>>ӣ>2>{a>P>\}>b<>O>\T>=Xؽh$pڽ6=`>$N>>>>7>b=p|g£$ֈns(4(\cF`'p𯑽Ь`𗼠<_=f=ן={=`vʼ`elBl2VF+Ь`=>L:>E>0>@=XBhCh꽰8ֵŽh5 0S\ϽF`I@<=L!>\V>%>>:>0p>v<>_>(=x=D=x=p=,Z>h >8>@|>>]>dZ>L>k>y>T>>np>H=PU!;e==8=)>>х> >@C 7vZ.Vx=R𽀈;J>>ǟ>>T{*>@>8>0Y>>>> l>P= &pֽ-H@E5x<mЫS(=7 T>@p==(==PN==R=$=^=0=xǴ=A=1>#>X͡>1>> >&>>>Lp>sI>>0=>p&>*>2>F>X>x9>г=@;tx. "¾N*4^\N=.Q>s>>>h$>t >; ЇdL瀾M0H^ e8޻ߊ<<= `=`=(:>4>l:>l!,>>=j:9c۾Lp `>26DͽʝP9=\0>_>(@a>0<>ȕ=U=@XxtPk(r+<@|=== D=<9< m`==p&>x>6>F> >>$>Ь>B΁>>0˕=&1(>)>4> =k=|==>r>=Փ<0'Z=p=p=(=( >A\>e>> YHxr>eU>>:=- @ܾ1 ĸj&ʋXN-dK Bٽ!\P/R[z.p}ţȱľxξ"žn!C̽`A<=캐݅Ht KPP›¬&<Җܱfh5%hD K5-ozTze \(҈=Է>OI><4>0~==`0+L(l 9 ӽ`@=H== >T'>F>^>h*m>R>T=\.>5>p=woBt虾Jc4R#ej⽀֒f=*=ug= <@spvJ6<̻=*>H> T>:>X>궸>>Ně>>E>+>pǴ=@Õ=*=_=`=0>։>z>%>=>>ޥ>ڐ>B>Ǿ>>HV>8>pa>$q>>T8> >? ?x>h>ܴY>=P{*=H3=^5>Ȟ>>_??Y ?N?>4>ȡ@>x=<@N rػc<@<L<য়@;`A% 8;== >`]>p0>>>^>i>Һ>J>>#e>\->S=8=R=P=8 !>>߷>ʠ> ??w)? ?O?6>N>ج>>m> xL>q/>">s>#==`f='=~=>XE%>@N>{>>Z> >^>,>><>>>>D>>4>>L?>">>1>$u>z<>>>? !?~? ?+>֗>>0v>HI>lE>">(V>G>g>ljQ>(= ꁼ6< E(h)@=v>>>fl>>N> e=O^0r*,HaX-&9GIأS<]dhhhNh@(bm>LV>><жW` ( k݅к)NDj_>w>=q>ܴY>9>>t ><>y=pE==={= =c=p=P=>0>>a>>>t_>'P>=`(@< <;Pi=`=p=31<Ž&(tAt,L|9RDUd[1Hܔ y=>,> >=@@ 꿾8iᄎx^Ѿ'ľ&ؼjvNnþ4ʾ׾sЫӾM0HZ?ɽe`hr==p=H$== ∼xWЋǦ(0=L>0ߨ>z>q>R\>W>Z=BipBkR lC$r()8Rh尿Qp ===Z>=!>K'>t>`>Ȥ=( =H=>$6>|ZQ>S>d>Dr>jb>L> V>z>V>괞>Z܍>N>=¿==h<=%Y=ܻd0x<7ڱwLh$N>lu_p.=Y> >s>xl>X]>= կ0lz8 ;>R>/I>e6>t(>$=>X=(;;txQHt>XUa3xNؽ@p-==,~+>dO>`>O^>bG>>pv=͓=ބ=(r==X== `=%= =;8=P==̫>ZG>t>>>>Zp>$<>`,>|i >===8>`#>&>}(>b>=$<@LS<;'PW=V=/>M>TnX>2>=X= Q>&>hY>@=(===(r=Z:e2 6 䘬삾@-n=tbQ>Ø>}>I>=0?X[ƾodY#!Jr҃\rRؾ@ؾپ#оzJ#5hB`Z$qx."NbH)x}T4ytΘ޾ʠ\׾06!@k8|)=X=o= )H= PȽ$TmK ]IU4DlAL]d98b̾׾ξ}@P)< =%>>=0V=@HЦ!@0`/`ǻ@A%߼JP;5<==m>S>P9>ji>> K>c#=P& (P/i7Nold(P/x/$pʲr S 'kHlTo  !߾ʾ|I˾w쾢)Ѿ/`NXddAl hxM˽&ѽBPi(Gվ:> ] EN]Xh;ڿ=x=0?=uԸYh@DxQF+<r=ބ=0=`輰ӽH M@=pz=R>2e>>4>$>>2>,+[>XYR>\3F>\!>==H= >>> >>k>H>$>`>z]>>6D>6>j>&ֈ>r>c>&>>>o>]>P>*>~>l> > = ,( =>> ? ?` ?=?6>>0#>`0=@VH %0!dx:œ^x պPK=pU>Hۡ>>N>Po>ȱ>>>I>9|> wF><> /=`=E\B=+=Z>L>>S>>`?4#>>>4>B>A==Х==;==@==U=`=8=ɤ=P=] >LV>+>>>>O>(>ĵ>T>=>R>/>>q>$>9>>5>``>Ѷ>>>{>>A?l>">2>}>7>L!>}!>*>)>5(>hG>`.>=L<6J~wlTƽPU=PO?>:>vħ>.>lF_>=΋i\򾱾$P4Yn.x$V[򫑾v㹾P`)TH#=pz= p=@<9L_S現d]VǾ*ždXP½ ã<='>x">>虹=ph==<<ѻ cЈh  gP+`f(W>|> 2>*'>j>N^>$> >X=ܩ==F=PȺ I<=.> P>{Z>rt>>L >ăh> >z=<=0z=h=x=p= =H>X>W> >$=`N_Wi fkt|8`񲼰= >&>н=<@H -v>@{|Yhj1|ol R -҈Ծp<~<M=1>XyD>9>&>=<` ,Hpn1D%nd.P<=LV>>Ř>>K>f=?=@X0F$`,/K'lT (Z B`&zҸǽ`]'n> u>K>*>>R>@ҵ>J>>>>$>Q>>H>$">NC>tsW>z>bĔ>z8>H> >c>bM>L>4d>L>>0h=4;@@&)=8=0=`MR=-d&|;Dklp > >> >PN2>(-=w2LO?t:%Y()DlE|78xF!Ka3Q=4 >=>0]>]>tN>hA>T)>(= =(浽|((_FRE%8Cͽ@=2>d>Dly>0v>da>?>>H=8q=pN=@'=@4=ko=8a=Ȁ=P===(=0K=8===P=L>>xB>`d>9x>I>d>XKs>X>?>>C<寽X"p&#PTL=ȵ=|5>^t>$> p>5A>Q>>>i=P=¸==8 >H= R@=oD誾AܾlY徚ξ\)[@=gB>P>l >`x]Dþ0-fjb̏N־޾+ e /3dҾ`Έtb栾z\?luKP8hhB v4侢 R(Lʾns>QE;<6!ϭgBq~x~zZ̮ml料ĄPIQ 7@X:;X;@9C#<<:=X=/> >X= 0=~@>rT>M/>j=e |X7|.k Xս@+Tp'hսk8ʾ $l3dL8?0j  PᾞPT(=05#P`S¾̾LHzjcɾ`ݾ:  X! Cb ǾBdnYq2$F@^xTni젋G4ľܾ,Kp۾ ,iX[,.p Лڽ(F`<<=$E>l>>[> >>>6>Db>T[8>$ >=P]=`R=#>8Rm>> >>h>vt>8>U>T>>1>0>H>6P>8r> >f>>?>"ٕ>|9>觘=ZI@j>B9>i>>>N^>[;>=`MR=p= Q<@{*<9,;q0h轰?`g `+(Ԣ`,<0>Q>r=>y> >֣>;>>~>\>t >~>\C?>>ԩ=cM=k=`j=hm=>d>>A>J>>Hg>>">Hy>HQ>=>(-A>T>s>V>>Յ>0^>%>H$=:p=<xQ>쳫>p2>T>>>J>U>r>>>>>>/>j>H>b֧>>$>>*>>>6>D$>|>4>Xu>E>%/>P*@>;W>(v>[>Έ>t>>_>Z>=8=3p:>#I>'*>&=<@NpDŽ瘽Hˎӽ$̱m a;K־yj'V;JƼP/QjPH޼F`(t ˽'0H/eT|@^<@u)=='>|">=)=DV>>>h>ޏ>襘>Jț>h>y>Ej>LvX>(0>Q= )H=`mD==>Dh>(=j=w=@=_= 䢼#C=>[I>_>&~>L->n> >0">= 0U,o\վ<徨Ӿ`qeu@ Ug=8q=p>_=gXܽ(>?ePhi*D1Ej#.^RԾ$|LR>l܆>s>N>>ޡ>bs>>ts>d>>.>,b>>>->01>X=>G>E>hG>@i>hi>Z>_h>W>cv=ٻ̛),~>ˤ>.Т>o>H =8p&ѽ2`?>QX=0F@>>v>xS>= =@qP4=# ,]k`? h| *|䒾6x)Ylu 7=(=i=9 >$>X=؍=== >X.>8s8>d>p=3(=(EmlnQ$.Ȟ@;d*9>dp7>.>#> !>E(>0F@>h:f>$ł>4>>^>!>@=x< '` (⽀@ J<}==>A=>hj>^>>T\y>@>p=0i=<:<<`h<O U<(=<)>>@o==b[=0X=pM=p?==ȶ=\TE>xz>^p>> 2<'޽ cݝUθu\c"x-PkDyžEо8ξ2ž$ڼꓹܰ6ξ H@h  [ 2fM֦-оP =[v)tӽ* t̽<Lhþ$޾ݾ,i$hЧ0W0DB݊<]&M$NxJ9@3p22Jν "|)Yy6~/><=>P<>4>3>2>h >>S=X=ϑ=@)< 8䔽8ֵ|콌^Jnw6]G`&l3+jhͽ<(Nھ <$$*Mվp| NNǾhIҾ~̾BDͨ H$8ʾJd߾9\.h))޾ne.=z8<,jy FP:>(༐#8誾ž%˾SQG'BWI)<P<@h@Dx@`,Ӽ ===`>$O>D>ȶ=И=0)=L伐k@'s=+= >L>l>><>B>f>N >>b>>i>n>^>8@>>>҅>>>>R)>> >>>>Dw>v>Й>D8>?>|?8?^>">)>6>@>">.=:=E=>}>f>M>#>0Y`>0>=8=l=P0&=D=l==o=`<@? ֽ: H=| >0F@>X>8U>{B>S>!= =>1R>Ê>>j>@><>n>]>>">̐n>l>D|>~>>@Ѩ>>¤>>P-g>7>/#>xK1>L\>T$>p>>n>>ޥ><>XA>6>=ġ >.C>>>>ܽ>>y>>~>˃>>>|>>X>e?}?>7>|>d>>>>f>$r>ċ>>9>0w>RQ>+>\t> >80>`\>>t>h>>s>D>=@9,< #КMjd@>xT>K^>Xa>}U>pG>#8>#>>y%>+>_>8!= =`7ͼgNѼ@ʻ_<=0o==> 3.>Dc>Bp>8R9>=H C)XWYɾ{4@amn7˽h35ģӾezZXEトܾh¾=ͅK$N D8h{$a4 HuK@`y<&=8P>40>>=_޼,{lZJ_km"D ӕKijXZstb(gLL)=(= h=X̔=@x=`=;߻0/4Yc>">>"ۯ>W>׶>ù>f>8>4w>>(>8>$ȩ>.5>ޜ>쏅>hv>k>n>$v>h8L>=<`hraν8Sƽ({sh=>.$>l >Xh=VXн@'4dLPH!:. =x->LT>F>C>:U=Hݽ'$@^ =|=@?8]dO)Rɉ@;<|==x=<@yx,̽8绽Pp22=Ш==xo=H̛=@h<MHwн+2$=^=h\>>4r>>@>h n>dI>LQ%>X>h=><^2>T>Th>g>O>0> >p"=`=<)==2= y=S==y=>d#>1>:$>A==X=G==v=hL===='=8r=D>:>_>-H> >=$?0WF%ug<.=m= v>=`x>xQ==(҈=><>ü(㎽PȽH<8r+z֙Jڮjh"ľDF˜z;b;VyްپEpb Ry`0db՚09n/d J`(=.־:ݾ̾c,􂾘i$vfP}ZNTHo QFL< Uaxf7f|=\x&ͽ`Gsz`tHBhdо?˾г0HGՅ`l7`IAŽP`/X$v ={>$>>(=P=[=@#pJܼ\<{==>%/>}%>Ъ>Ї->'P>(a`>> > C>؁>'>*> >b_>l>>^>>?0?Z ?>X>:N><*>>Ө>>/>*\>>Q(?>)?B*?9?n ?>>פ>>^>n@>H/>|/>ܡ9>|,> >9=F=/=V<^;`{60U拽ؽ xK@.踞=P>*>E!>p >B= =)=@$@j>>|>и>N>>1>Dc>*>|>=>+>=>\C?>\.>>P====[=X=> ?>taD>(>W>H> >\R+>]>>>H>ƣ>>9>VU>g>vm>>X5>>c ??C"?$?y ?r?(?j'>xL>$>0y>>v,>W>>>S>X2>мY>P->X" >j==>TO>m>o>p@>P= <Z'`s^ka 6PJǃ=x,=%=<?'hн$!,JPh4}(Nt'^`B(1@|>WP6X _h@(a X(rf-qq$y@WqPҔ i~g< oz==%=  pB+-<}ɽؼP6==p><0>d'>>P=c#=<)==(=H4>7l>%>X݀>x>`u><.{>W}>Hu>Ta>nC>`N+>>=x~=F=X= =>F>>m>)>@0>Y:>\;>(M3>;>1>hM=o>=U==*"\y@ռ;h;v(1꽀uGLkA|4oR1̺ E˽HD=V|^޾ Мg߽Љǽ(#@* "([ƽx}@@40`o^= >P>X>>>K>HV=1;ٹ̉xpm<7==tNѽK;P{N^DjШ,@LS4=@h=x(==ft=`G=<<|<@ |= $=,Z9>b>Ij>b>H3M>k;>xB>V>s>H>t>0>g>>di>2> >=9c=H=>7B>|n>K>==`{ X&"ʽ @+T=\=2=`Ç=Ph="\=H===P>TP>f&>)>U>>Y>d">P:>h===@%>+#>5>*>k=5= {0cļ@5g<<]<`du8½{t˽@5g`& >>_>w>y>z>LM>>>>0> >>v>4DZ>p&>h=ٝ=HH=y== =x= (Mg%ܯ_愙ØhGN槾Jி6٨nD́|Wvm@Wl!h29=D=P=R==k@` <)=P=(=h_=ˣ=]=&X==%=4 >>'> "(>p>==]==3;+hƽH޽@Mk4@o\bѣؿ;(ݾK >+J254@ ڰ E 0 t6z;4þD(Ѿݾپ_о|Ծeܾvھlھ\Cپо\uľ"AŲЬԃpvʾ4ξ̾)ľU۫@jʥ~݌x^Q^ p(=0I=9===@𠥽} (P)l ೽` e==0]=== z==V=h=`=p> >(N=H=R=PÎ=h==X"===tM> D4>XN>LT>`G>i6>,>P)>&>(> T=x={=%/>(r>0>>I>~z>ӹ>>:>1>t>>6>>L>X]>">T7>$> J>܄>>>~>t>Hw>۫>Ղ>38>=xԆ=|n=hj=pw=hh>h>1>l3>0>P:>D>7>%>$>x=/=Ȱ=@)=p= !>2Q>}>lT> 0>>k>h(S>Q:>4U,> 3'>->2>t>#=Y>t<>9>x>U>3>>>o> > ˣ>z>,7>P>=E=X=h=`=a=-|=*=k<2P;<=g=Hr==h=<>\B2>L>,nf>4o>r>p>Hf_>R>DQ>ȑG>X(> >X7==8=,}>N>$>ѫ>P>>>>>`>>N>>>|> {>>V?>><>4>,>>{>Ri>}Y>ĕ{>4>TG>oz>0WF>$- >8ֵ=<`ͼ`d k0 4 @!<˺@塼@q׃s +*P:8)$:5&U|mqZ2B?V$\Fʛy\$0hD0cQ"S(9fܲspoKO8_Լ`xH0`?޽ȲƽXP0&==$>Y>h> >n޺>_>ĺ>ŭ>> >f>p >d>ę>W>B>T>f>~#>L"{>q>>2>>4>Yc>`>=gW=p@=8N>c>> >b >>$Ug>>=vPO~NJȃ&pP  t`7PV,^tS|@L"x<]ƾ^澦̾"CP"d"0xEإmH慨d9 엾v)< |rxgA8Ȼm==#>x>>1=P====%>LuK>4U>kI>X"><=V<@0|Ž Ž%0a%H;`EY==>x)>lW1>]/>+>'>>*!> 9>_>b*>`>rr>4>ԩ>ߘ>6>Xu>Ă[> V>Q>$I>M>$TZ>XT> <>->8p>=8=8b=X==d->p9>>=04=:Uj@\LnfQ!Зe<0y=X=Pa=2=<OEdX9=`=h=>pB+>M>X>|V> _>hc> K>)>>IJ>> u,>^@>oB>H'>h={=<1@{1+W>e>LRf>m>L>hX >P=0o=#1=ȍ=4 >`/F>e> "!>p=Y(E ˣ,Ѿ-龆T־2䒾IhѴ}ھ"cpmh4vž,'ᑾ\ZþþRž>ʾrȾ^Ǿޞƾt$굾^r?bLf&yDudL<]%>h >l>xغ=`k*=04μP|7(&ʽ8.2$4KDcnLu6~ Ҷyt`Ѿ'H P ̾LPlrƾlM; P ` Ծt|XJ Ѿ*վ$cƾ8XjXC6QIx@ʳV>┾HglҖD=ȯ=pXr=xtdk>Ԑ>>>Ή>֔>>H>z>>4>>D>y>>>_>d>Xke>|>É>nB>>#>:֛>No>.>R'>>.%>`O>>R>>¢>>7[>dA>6Q>^>>y>?.?*=>k>$ڼ>9> v> >(>¸>j>'>Զ>Ɩ>r>>>pA>Z>[>>l>>>~>N>&L>Z>B>=R=`f==+=8=~==x8=|=5=H!=j=8=m!>%=>h>Ȟ>v>>?>Zͻ>D#>L>)c>dW>|JX>]>`>@N>+1>Xf$>З&> *>Pp>>6i>(>[>&>v>>J>j̀>|]>=>8>>=><>?> >>>>=0F=>5==2== ݯ=4=Ȑ===pH=(>=&=[}=z<WH<&f=X=65>ln>챑>A>BϨ>*> ͣ>؀>>Zݚ>:>|>"R>^>$>;>>r>)>2>Z> 2>а>n>T>~b>mN>?> S>Ex> >`tk>?B>>*=_="0A3hhKٽԽVý,TW 4.l&mۊx⺄xovMLd>&ֈ>꒒>&>\h>P>F>=>?>tRX>|>o>M>3>r>.X>D>|H>P]>@b>U>8>>O>=ڸ=`״=x =pT==%=ٲ==z=N<?tuV[+``p^Q8ɽZI:<`>4>>e>(>=D= )`; ݽ1,=g= >;>( >@==@==P=Ax= =>h3>,LZ>\u>Q>F>Z>;>>>>f>Vލ><>>.z>>ǘ>(K>t>N>@>@>K><>4=f<=0D=<=z=@'>5>`/== c V4P@ B;(u=\6>ca>|>< |>܏Z>*$>8Ƽ=<~'< =X=T>|g>>fl>~>&>">=0%u=N5=`#M==L>6<>L-3> >i=N@">hmD>_>tuq>/>:<>No>ݦ>B>n> >`>V>4> >J>&f>8=>2>> ><<&>L7>`/>"> >=^ Kƾ2D7 ᕾlTи%v `Q*~hJ`! 张CR@TLݺX[4Ϙ<@^=з=X=h}=$=`<` ' |ϊF̽U0 ݯ"Q<-n|兾gh %`<̽UB`zl H'L?FE>w>n>ĥ>4e>\>}>w>3W>N>a>4>/>L=>}>zw>hB>$>4===1==>T5>4xE>pT>]>Lb_>X>@H>8>P4><>N>Xn>^LJ>֢>>)>>p>B[>'>>>$P>>գ>>֩>>$b>س>Fޮ>>F>> >DN>%>>>,>L@S>h>(^>T>]>pc>`bX>GT>x_^>T^_>K>XF2>/>D>$!>E>Pq>J>Jț>`>8>8ƈ>#>4x>w}>>>q>>D>Dkl>'>¿= <`šШ,P0Hd;<=<;ۻ +(rQp @?=>= =>ütp@hdJ>f5> >a==U=x=B$><[>]>H>>h}>P>~7>N>(>֨>_???}?)>'>>>̿>>> w>><>Β>}>؁G>hZ$>> %>;>pg^>dj>O>*>=0x= νL+9WItB}/d 0佸߽ad0HUY__W$Lx3\G71(V⩘.🲾LP|xBpfw3r@þӲԐn@@߻K@k8@뼰XH~q3``yc<X=`=<>dB> #b>p>Du>Lw>}>>Lp>~>O>p/>P\>By>ܙ>)>N>؋>v>X>(J>hC>$R@>E>I>C>4>->^5>4C>[>0r>s>_>@>>=H`= =ȃ<N;`PPXV06h;;D#:?P6ȭ0p@LKjf90ϯOdoľ4ľ(¾06H~*Ңl0wϜ"av匾qڰЋ8RP8>|(Ntx*fbhZR>@ypὰǟ@_C==>(*>`r> >H=4=Ϲ缠߼o;@*=p==">6>x,L>M>=>0>,>`">P;> @>h==o>tr>(!> >@<=@Oz=a; !U<@<@<t; ` T{ ꁽZ!@0=(=P=->C>8> >J==xj=v=0==G= 5=xr==h==V=a<!;;]; < =`l7=`=ռڽ(l;0$4ɽ[o>yB5@hx78늾C}UN=l<\ O 8Ux]6n;'I=Xh=0v=ұ4>la>L>G>F>촸>T>(O>`>ZD>(=>4g>,> >>>pt>E> >"=B=<@|z0:GٲXV߽x~2$54\fX",K*+>"԰āތJR(*Js4vNઋ+Bh{l|:nBாjϾ p%'M"a^P뾜-˾񰾐ା۾׾F1e Vwо'‹niX]zp[}iq\VX.x>߽+n9@|<Ȟ<H>px=k=_=d==u=v== ==Y=@D<h#_3}t@y$],нw;`A<`<`h<q>P〽ν(½Bfpdٽ4Re$. ]\KX(3caxlEؾ0*bо(ĩ2XxF87+Ƞ3Kch0ִ6*>d >h>( ==P?=L>&><> 4o>t>z>2 >x{>|h>Y>S>Y>O>}(>x =pXr=5=B=Z>>x>>>>t:TvYH<$=UU>lHy>h5>v>ꂳ>w>=1>T>N>>uj>t{>b>=Rc1>?6?r/>*=xQ!pI=vO>C ?T>Ѳφ.VϾW>j?@(?-?v!?p>Ժs>@O-2ځz{Pdw&∽ෑd<4>P>r>>4ʢ>k>L>T\>X>TH>$>06>y>>ZX>?T?`)?(?#?L?(?`?\?4?~ ?H>ܽ>J >r>"!>[>qU>=<>S>/?4?)!?xl?>L/>Է>xӓ>-D>@= k@N C=h>=-> p>h6>⛹>x>>z> >X݀>p>Bm>d>>d>3>Ls>N>>>>Ĥ>˃>>>6>4J>?>+>=>\A>> f==üTV:רrn@3:վR侮@侪j}aHfa }Ǿ㯾't<6b|Άghl-ppi[7+0@H`X|YD"X@hy h̍ߦ<\P>X2>jG>><>A? ??lH>">>Ho>7>%>T4>C>(V>4p>o>>n2>>Dz>b>H0>>Y>=H>Y>>̭>>K>*Լ>Z>,> $o>=@P<J(J(J X5'I$ (,{ڽ0~_`%g`أӽ0˕D!42G$ o#w L>@< >f[>>>>@I>>C>`ce>;*>&>]>]>>(>@n>r>i>>\TE>t1Y>8ց>.F>s>dB>+>`=H<;Z~N;@=;J=X=Y= =@x^;<`A%=bw= >6>2Q>$ >R>>>>ln>7>=R=]=PI=>VQ>f>(>k=  LV28oZE\Oо!#0c. 11,!5{88*x= ԘxxھѾ׾~¾ gBL觾FrcľɾZd@rU/ Փ< <ॅX>(K>B>O=j$lJp\;<@=TY>$>>(=`<2= f<'AAxgP=`=-<` ;`z@0"N=6=>5>*>[#> ==h(=`e=`@>8k> >׷>>.9>>J>>ؔ>h9>U>>@&>0)u>pX==0=yǽ0ս±Z8wH#Խx~C$=:*\wΩׅ`o*ozŽ~ hYKx̾Bʾ Ge ""𾞣ξW$72 BG|kW撾>]4Ͼ̯Ӿp۾+ȾıЪ6s֞hI(7F$y]\TorNbξ|׾jGҾTwy0iY`] q@ӜtpT-*P0H dRLo첞f[ҬJ.ΈbĔ%hp(&r濾ͫl(>L(;, B$E7}voپiɾ,9~־TᾚҾؾʾž.GD돾P("uTj$zt)$"оپ,޾\R8۽@@@eMĽ0/%. !ȽǽP9P/=>W >`b$> ,=((= i,c=-Ҽ&h8'WX\N\<@B=I=>>HT>(*=ج=(=1(>X69>>>\>F>N>Lh>;>>>:>{> >R>Gc?Z ?6@&??H?^a???~?j ?!?r ?}?Sk$?N"?6?~V?B'T?_J?PW?T?K?W?W?QQ?M?i9?o4?~4?7?.>?߯L?Y?%U?Y?`?RoX?9.G?9C?L?@I?I6?1?0?@7?]G?_@?,? 9?~(??$?>rǚ>|>u=p=h n>> >o>>:>ڥ>vi>3'>m!>>sz>v>Xp>>>I> A=@V漐+8ئT@?8=d'>tT>_>8b2>@=3ihpPWWpQ=E=8=l@>>T[>t:>O>g>z>>>3>l> >]> >X>> >XIY>4$h>>T>>|8>>>Pn>k>=X=q==1>()>KW>֞> f>~>X>z%>00>D> >qxOoҋLp0{l9 "e==l)==u/=ЉGpƽ4P> >P^_=;z)ž޾徆œCF.ἰZ=7; 8=(K" 0P/@hrZp==\>Q=f<0C@"f(>(ysb|(LV)D3+PNЮzσ|&`*,شYEf𽠐H|Le,NľоCIJ`5=@=@Wsl'˾[ᅠ޲hþﹾ|8b\FPT@4V^2p9x:ضgI8-H)/DHP8ǯp*(TGmPh8xP@KF<=$#>8V>\b>H@>,>d>ͅ>ġ>4y> X>>m> 5>S>>@>*>+>Pn=%>A>$>>J>ȵm> >WI>>8o>h>8>>@>8>Pq=x =H>@x=?=,C>UU> >>4> 2)j>8D>p >k=N s ?Ax"@o8-@<=0F=<=G (wTal22 vؽ0>{@=ༀ=:>W>¥>>j>PO>tc>>P?6??J?.?">;>M?f?8?v??BF?*q>6>2? ?׳?? w?i!?,?^3>>E>>DZ>vr>&b>>?"?41 ??,?f>N`>D>1>>XX=/> e3>d/>`>=,>x|>+>f>>>)>Z>~4>hϚ>-c>Pj=Q$$U,CHY:, 5ܿ$ݾ־Ƞ愾jx/)6^üHT=8;{ 0(5 0"νP)80|Hl{c(վ߫럾ҋTJԽ 9@k8pp R@0yXhXd xrxس̽tsW4þtgcB0Q <\ھ梾4!P ۽  ^(0½P9,d6 s 0:G8н E(Co:zjdR(BʾRǾz;h ׾þȱw>=(LJx@2`AHC:TV(ohHƾxJC8S ޾mɾv&F1ziH'4/ iy8W¾f׾6bҸ&"뾐n|&2EA.%4p'P0ܾҾgɾN.\@0$_` %8qhU\ :FhLybLwBR,j2C(:ǽQj@Ju= d>CW> >(>/>0H>>?z?>>ֶ>xl>\o>^>X>$)>=VQ>L>>N>o>>Hc>'>>^>?xN>V>Lٻ>Ҩ>>2>?>E>D">t@>>a>lE> >@Y===`U=J8BD\aX4:ݼk= V>$Ug>й>ܥ>B>$1A>#=H=D==p0=<ء=^=0ێ=&=8r=@<[=(==%>R<>j>Lh>M6>ʆ>>B>.>}>t>F>}?@>0>>ڴ>>J> >R>D>S?1>j>|>c>b>Q>>H?k?C$?[-?B;? 7?.?޾?{6?>?s?R ???F>>>Zh>w>2> >K>>4@>ʼn> r>S>Z>E>D6>\>>̭>5> >̱m>f>4o>؄n>*k>E>2=>|(>7*>=;ᖽ[-Ҽ hWW` 䄾pP=0!>=`9a+E҄Tl\b$t;yB|Đ:Lip2fyB͎Hod3Bvp=@~=Ģ>x>P>L>:>"؈>lZ>J>u>!=@6<[}û$v@Y%>tA>I>x>H%n>>&;>4>>>>ş>>$An>t,>=:y@H3H0}ĆHdP#w<x=Ш,=>l >>@>x>>@>Ō>p>t'>B=溈`Ff=h9h5HCk" 䩾Vþָ;f쥾xFȾT}޾:þQξ ەØLخƾ׾f*tu;!FvF F#~y#<1%# `'hF޾@ʾN H@pȍƱvоʾ z uY Vʮ$FS JxZ퓾B_}@) =="=<,<S[=<PսtO<>tDv$W#A@ o}``N_l@P@>sͼ;;`<>t9>|;l>fb>| >=@5g=\`p-6NGTT`^h=~EA1/½0@zPU`#X;U=0=8=8- `K8SpZࢿ<]  \}> w>>>t>F> >Ƌ>n>߃>ͅ>>u>t>x>*[>t,>B>Z>>*>O>>>>T5?~ ?Q ??.y?&*?i3?W3?1*?V?>> !>Tχ>S>L>M>JƁ>Hx>>%>c4>>=H=@= =>&>S>蓅>>Rn>l{>|>V>S>>BN=F;`4̼?z< 7=@=(=q >hj>\I>R>=Ѳ<V<' $ f9^<`!rpFj~/5;C=p=8>(==>T>=<<(=0W=Hˎ=@=_x X"@aj8}|A0%AAЉG@9gl{(F$tL_0Hݡ愽t~VIپn6āH02h{xH cXBqN?gi{xzW밽ЉG.xO({KP?B,9:pOt gp꙾jϴ褥ppU[4@7Rp0 *ռ3)K@ > =(>A>ضs>g>N>>f~>>>_>T:9>lZX>E\>d\ >(==:]=*=I>>Ć==D=O>>P7>g>>@>p=S=t>[=;=0>ز >0=Q=@~_< 5 㰽*=<[ >q,>2>=X=X==`x@'>8<>:ŕ>x>r>/#>h=>==h=>=31=>/>5==:~( >:>.X>:U>z9>4R>>>>>d]>0h>0>R>|>.U>i>N>>>>F>\>pܺ>굫>>x>4̼>N>d_>Bk>@>> ?i4 ?> #>>҅>Ѷ>F3><ļ>>]>3>Mj>^5>>Đ>:>`N+>M>0J=0==!>h)>">p7=p>h=`=d>i\>(c>ko>>B>G>8>p>P>M<#8-y#;׼L= w=0;=<~`np"8 ս8塽<@!Xw>v> <XYpyH0T؞/lxZ)ϽE(tP>D5 Etr;=`),=H====E=.Ƽ? D0``;ЫS>gB7`^$ء9+ýj&ʽ۽HWH;_Ƞ@KT16`AYSP$ 5,Cs늾_h0.Q[ ֽ&_4Wz۾ƣھ@ܾ#+}06~@:`'lvR@>p5@ ^\%!&|Y*"m  dkhAоW/f}$bbZ 6@ɾqǾxTj\~W4;qHɎM녾*&ehMU/`3PPx̼֒amGd[b Ǿ:ֵأڠdn2&<S VDU%_3}8vV10C ܽ'a ;b<@A%0t+ 4#L.@;0`Լ Y<`.=D=H/=O'=x=X=HV@=v;PO ==>'1>f>xOe>$_>ȳS> 4o>х>G>>8 >T>f>T>>>2>>&>>T>h>>_> >?8???6>#>^>J>?fL>^v>>>>4>>H1>~>q>>0>~>L>m>@]>->==`Q={=v=K= >K>L-3>`aK> %>`hr= T>Jǽoм0}R=@k==>`)>L<>_>8=PvX= =@Hv=x8=<:pXrp.ln@(-NR h @ݼC< lS=(=PZ=y=(=* 3[j<=|n>n>׷>>2w>q>rt>^>j>\O>H#T>$>ט>^->>Эm>h>I>41>>;>>=xz=C[=`<KT<0H=C=>A >(<->h8L>?> >H= )=X-x)"𐬽撽݌սߘ .4c P L8xK\|; ã<= <@&;@M`Xm!le r0ɽ`==xJ=@=<6&ЮiսfPA8<:=i;`=@R<b<`hUpu+EUW^X=*3P$d >Yx} `b\O99˼9B=P[=X2> >===&=a=@/< WQ20FC$$:`<41<= 9@I:m< 7>c>=$=@D<n;< f=P==Th>Xd>`0>2+>/>c#>< H>Hgl>7v>,v>@]>pc>GW>LH>d">0={=s=j=`=%>XG>|78>?b>͘>C}>DGF>2>l/>m`>Hܮ>j&>@>>r>!>F">Ԟ><>(P>2>*>0>K>tA>?>̿L>&J>p]>s>>>ۃ>jE>X#>>c> >Fg>vO>h>>> S>>">`>^`>>2>՘>L>>rd>V>m>>>0j> >{>Pm>=>~g>J>>>>R>>`a>l#>=07=U=0a%=0!,ov0ep&ȃ)T|<)(Ux@8Z0;$_ɽ_½xHn ػO'0ѽKI}p`P\'j兾< S`KWHW`u/f J[ͽ$_MPKZ 84(>p\b$p5@7"@`ya <)=@'=n;NQoep[=[=>N>=Ȕ=H==<Ƌ@Ͻܯvh7c(,XV+L08a\LJ,oP[ャ,Ш,0D& |:,9:hHEwMԶV%Ҿ/¾)q&olڞ, ɾ^zZT Bnd)?e*n/l|nBǾ4߾>վάƾTþ:_푾 AᅾcA׾¹( HZ]農! v8^0$޾R> `2v̽nc< ZA -Vx/z)پ6Sƾ"ʾz~̆<.ϕ":*XnþJt%Fs I^,i -QLVX"@x걽xt,BM(-(D^CT0@HF# ,8-@|<<= d=]=U<`0P==n==( >i!> L>>c>>(i>sP>d->,6> >L>x=jp=6f<`<;b=@<QA= =>x==ã=\=x>ZC>>X>2>>m>N>>T=l|=Ȑ= h==S>}>h`== == >>T)>Z>p\>sP>X]>:>쑟>o>TH>V>I>ؒ>t>Y>{B>F>@>`=(a=A=, >g>U>׾> >>0>s>m>Z>@>4D>=c>o>i>TH>D>S>k>P?z>|y>>t>u>T;>>̫>4W>r>nɀ>u> s>wP>U6>>c=z===\ >N>@r>Fp>L>I>>@I>|>*o>E>2>&>Z>ʮ>X>7>|{>C> >Xe>I6><-:>]U>Tk>HN>7>|H>>oM> $B>(.N>>>i> 2>6>z>@lE>6=yG=NJ=hJ=h===H?==>X>@|>b>>ȱ>.>t>2>XW8>8 =Y=h&9>PӇ> ΰ>>X>>b >>>>@>\>=W>L0>f>j>0Zm>>|g>=U=z=9==V=G=( =XD==I >>>>>ܝ>p5=X=|n=Y< @8;;<W=C[=p=Pn=ƻcx9.ʽWɽx7e`LE=z=F<=$<=@13<,:P;===0}=L= lSphֽxƽ v<'<ϘюxI 5` Hh`|h X" P:`/z(!j T,7<c;ॼ!A`:?@\E[P(H>>g>">=p=p==YU= =) >Ж>S>:Վ>)>ё>">s>]>X)>=藟=(r==l= ]=@{*<r:@;k=0l=i:<潀 Tyah4=m=V.=e=]= X=L<DC M@<@Nm=@W=H=m=E=[=0̢=q=L)>(5>SI>4}>m> >X=p=̆=H=M= >5>>>R>Hwe>xS>,)A>0O>Tc>\q>(>xT>=Ȏ=X5= 0>L>PN>x]>~>BW> u>b>C>QU>SB>&!>=~=!%=H̛==س=0=6=`[Ddp-h罨 D> t̼VpxY0.)H$L<@ˆ=|==|>b>(=-D)^@b 7`@d>ߑb۽`p%D# 8q8lsӽYν(սĽ0ϽP\,P+Mdlx ,>+>F><|>J>p>ڡ>>ԏ>8>>ֵ>D>P|>R>AA>7>x.>8ff>T>L>&N>Dh>Y>>>8o>K>=>:>R>d> ]>La>xZ>:>HB=`=0U=`<< =p>z>~>Tj>z>~>pxd>?>0> =`=@̛<`<@ =@]= `=О==PW=,<:< TZ= ]=x=0>2<>8>Z>p>==`w=3=ֻ`]<{;H_B<=4>|t>H>ꀙ>b>lI>.=< l<8=<>8^>_>V>->Z>,>4>bp>2>z>[;>@>>,(4>>>^a>6R>>d|>H>.C>$/'>=(=Po=a={=8=:p=pm=p?===XD><;>>>+>3>6>P:>=f==N=j=H=>=Z=<H9PGwݼ:B==\>pDE>2>/=X=ij>l$>#=O<ã; .J>o=i<ㇻBؽH5=6 `P؞ǽ9+tZZP_lo8>$P\di[v!snk~m6!ؽ𢿽RǽS轜XyDaUh:c-8s8Й@(`q |;bs*@lx-ٽ5/p-艽@6 `9<%=p4L=p5=P=`n=s=PR2= 4h=`==="=p4=4>`a>ȵm>h>#> >>9>*U>==`>^>Ј>D>>`> >¦>̬>݅>\O>4> ~=]==\>P(>7>/> =^=Xˇ=0V=s< P&=h=@}>\ >l=\=n> >=@g=@&t<@CT@ fX>==+=RN`PýfN+=ؒ=t>+>T>dc>(.N>4>L= <@EY<<9<@; [>%>,>~5>(/>&>>e >Z=P}=a==PH=6!= N =`<}`ѫ' L 5P_ ]<T*t{hO.uV^`# `4̼\P>4"$0+p22X=hz=YU==v=<@ĢPc8½ϑ<"=;<<<~hj` $8fxʽ8q`֧PozX4l/ A ѽPԽڽ 7@z$4 19so𥾄tzl:gZ 뎾h0z_,]`<趾hL¾~۾0龜r hϚvЪpǾf־N 6^ܾ0ʾ4ʾFtR&¾̝ξ0!x XD:& nI\ GE`bQܾ&aƾj2Svs^R,z`;"h[ed<0ʽ@սԽpt@I@PP݌<s=?=>P}>>b= =c===p=x==x==t^>V>lt>|y>>>Х>B>ȵm>\Q>q>9>>>D(>H[>?b>#W>n>Vh>؞><>>>>T(>۰>O>>>:>z>m>`d>Xa>m>TO>>=s=œ==h=b=>p?> $=8v===(=P]R=J=<0r@pWнXH0 @L9`4̼`M<O=L >:!>>=C==\= ,<@u+p<x==p=(=>ljQ>z>٘>>И>U>>>> > >>:> ݶ>>>>>h>m>v ><>>>">>9>>>C>>e>k>n>XZ_>H>8B>P-><>>8=e>> !>ps#>p->l6> B>GI>OP>L>\&>=x= <WPOg;Ι`Լ WI;9<@':(sF@gs<=8=|S=/=#=&>Y=x=@8&>PqK>g>>HB>>lޠ>>L"{>`>I>&C>S>Y>W>k>>jކ>x t>b>f>@D0>$ >0\=`= =xZ==c> >Lp >>">2>A> K> B>7'> >N>I==`==p`k= - =`a ¼@p4[=h==Ѝ{=`%g=a =:8dw``z *`j fPT 5u^@Ws@CJ~hͽ|XU0B\Ć<S<@C<*<0> p/89$Bv[t.&;rh|eDWQF1X0_IpId),Y(CpvJ!G׽f1x_O^\9;۽hȽ0 p!԰" | >> >0= =>==b=!==>p>I>&>E>#>͘>ߘ>>P>h/>X"><\>< >\>A>D|>>'>hu>e>4r>X{>w>F~>x>ő>{>.>Pn>v>>d>">=y=0= <<22<`/>^>\}>>у>>c>#>b>T7>A>& >W>&֢>t֠> >͹>҇>>ڲ>t,>k>\>p>>>>\>>t>Q> )>?>>Z= >0=xM= ޼=Ri=d;Ѽe <_4=0=x= p<养O3 N{Žxӽ`ȽtY(&0#&+@*$ )X6@ڿ( ܽٽ@HĽ (_(_0(;p& 8(`͚;Pǽs'L-DE,TX"1^;<=%/=0e=>=\">h'F>P>9>>.>C>m>>>y{>V߀>T> >`d>S;>h;>L>qG>2>,''>hj>HG=@=\>0>> u%>d:>Pse>ی>J>y>:>u>+b>D=>[ >|>XD>=6=F=ܩ=H@=З=h=0\S=<N:<==`c=X=>e!>L >@>>8=蘬==8=ұ=@c=~== e=hM=h=>ܐ3> O>ĦM>xV>j>l>\Ff>e>rt>^>xz> 4o>tt>*>ς>> @>H|> F{>o>.>T:m>^>|Z>`>,nf>GT>B>lP>xb>O[>H>=6>8">d >ȴ= ܢ=z="w=c= j= =@==X==H=0#==h=٤=:~==X3==n>>=8=bD>RQ>L>/1>>b'>,;>,Z9>->i/>mG> V>$E>H0>X!>>p>p>*>d G>Dc>o>pp>P}>>>T>z>>U>DW>>>r>J>>a>x\>>J>>j>J`>A>8>F > >`>?I>h|0>|>H >>(>|5>y >3>ء>@|=}===3=Ћa="=` =< h<*<@`~@hKPǽŽapt(િދ4QCrn`pk}u@x½(佈2r<;<8 =:= i==<`6<@ <^ ;<=hM=t>&>\29> 5>,8->->->$)>S>X>=x=g==b=h+=踞=x=X==`:=< r@@Oz@W8ԛVpT>@ y v.@%u\|7 9Yc+4Ž޽콐YdC X& S P0}p.0'8>ʽJ tȠ3h)P\Ⱦ 9xo׽kͽ>ؽQսX0@13H`Q`I4:`< =<+==-=@)==آ>}/>9/> >=>p>3>+1>~'>@4>'P>P^_> ^>0V>}Y>aq>ك>p>0j>"J>d0>p>b>> 1 >P]>T'>(>x/>r.> #>>> >о=A===&=8Q=PG=ߦ>>P]>lZX>dJ>D8Z>t>4w>rm>r>xQ>>21>>Hb>>RI>>ov>y>8>^>a>O>k>l><.{>V~>Au>o>0r>Lu>)j>(H>t &>>^> =x=l=P\=@_ =t<nm<@T<;GW#0p7sP^_09:`&`'`Y I: }Խ$ `)JY\0S|'?pA r`寽Vwɽн ޽`*x ڽ*@] ^䢽JǽXD̽0׽`˽݌iqh;`f< ==P#=<@<2=P=x ==8-=@u=0>=0=ج<Q;1k߼ м D:~p7snŽ9 )=ARmℾ6a9:放[f&lƾeоnվuܾu㾼G*ハ@ = t 4 /plξ꼾"r곾cjǾ+оӾqо@ʾ6þ迾I¾Wľľ,¾:nP)pɴ.󻾶'ľX ߶rL!F!^6`, “fKB4>hjй̙H"{ UnD}I("Ԗ.>қ?򾗾V#t>žF<"ٕ"qx]Wx[N8&+8PD ҽұ٤ɝX ={`P/K`y`Z` gجû<`? =)=ͽ=@=>$>0>>(>|I>>[>b> >$>h%,>&><">>q>?>X" >LO >>T>Pn$>$> d>>>R>0*>X4>X:>E>\DL>L>*J>fC>84>(>%>V'>X->Ԕ3>T4>6>7><.>>@> >x>{>l=@ >*$> 7>@>A>ZJ>hV>R>ĄA>x,>л>o>h">b.>Ԅ:>(`S>gh>_>S>R>+>^=() >x)>d&>t>XC > >@>PT>k>\u>+l>~b>,t`>g>^t>lY>>x>~p>)j>$b>p]>]>0j>s>yj>_>X>O>G>C><>1>8>AU>zw>>z8>>8>~F>ܟ>>J>`>2>t>>س>]>|>t>b>Y>^>Tk>n1>o>>>V>_>DV>>>>n>*>2>>`ǻ>U>B>F>>P>>>6c>ƀ>$s>҆>w>~>8ȼ>Է>M>[>v>ޞ>⼞>L>> 4>ɹ>t>F>I>,X>>\>0>ԋ>>d>>$>xax>d+F>n.> >2>L>Y==(=X=l===k>ܯ>T>h> >9===o=C=٫=h==3=+<@<<@H<`Uh>D > >p>H>>#>t=`= =X= =:=(N=J====Hy=S>e >h>w=`== 4=>0>%>`(>|%%>x>>H=@7=~m=PT=n=x==ޒ===pغ==8=D=aݾ2ؾܾj꾘\"~[8!~DP,龼yپr1پ0ܾxݾJݾrݾݾnݾؾ`;^䪿dþ:Ƽdorb¾"p dB$蛾Ꜿ f(ӕ81n`|\\]VwPX@h0vmKXGs=jeXxGhAKP]<hl@r<>t5jcWTG>2'HaX)pC8.5 %h 0xx8彰ƽ@01X`ǽýH0^m0HC@4!x`$>8>?>P A>x @>\A>D>I>,KM>iN>@V>g>Rw>}>`e>>,>{>s>dOl>f>ic>\>4U>R>$dS>X>Ta>,r>s>ԣ>>Hw>Aj>Dd>T[>ST>xNX>$^>$e>r>>L>B>"?>V߀>(r>e>`a> e>1q>w>,v>|z>H>p>> 0>f>pXr>ԇa>Xa>h>f>Dc>tm>T>Ӊ>ԏ>ra>2!>>\>p>8Ǖ>>m>>~>$y>@_s>|g>H$a>a>a>P]>Y>T>H>Hx>>0>>G>v[>s>K>>>">\ >B>R\>)>)>vo>g>0D>>6>6P>>w>uj>e>xp>R>@ю>>>y>J>*>H> >U>|>|>Έ>P~>+>t=>>P~>V>v>$> >xK>b<>l2>f>k>$>>>좥>Զ>Dx>`p>">6>Lu>|>>4>(>r>&Օ>pQ>֒>Ɋ>Ӄ> Z{>0r>X|k>Ta>Y>l$S>J>K>KT>d,S>p@>)>+>>x >= =?>$>X#> T->\0>X.>t>+>n > >8=4=>=8=x֠=p==c==sv=@LS=Q=jT=f=Bw=b[=E/=L=+<_ בr <<@<@ =B< `<f;K `-(⁽ ە[chIȮ趄i@U8V'I*[!}@})ּ&lhyՅP&>xx+0Z8[rPuKE@UYqppmȍ瑽Hp@.{r[O Xp_^HpBؒͽXg˽hPVycZh@ܽDt" (ֽ8d̽(0P֮8Zǽ H&ؓڽ`½⣽k0ځHˎ ?@YoOPpvJ R@B KT@p ^ü@@-<`` =@$=@=@= =<+~> >>, >=P=8===xk====>7#>L7>C>L.@>x 3>ps#>X> > >x' >>>> >r>!>!>̿>>=h)===XD=]=ld>\ >>==p=P9=s= =X=h=P=p=7=%=^=@==p==h=`=ɫ=|=@=z=I=d==`h<֒;6/;m;@_<<<<`<"= 7=r=hi= = =pd=@}=x_====!====X$Ʋƾ оvվ9׾۾ᾎe辈sJ.)A%c"f$re<\ 󾰷FjXN]i<t~T6꾤߾<ؾԾFѾHо|9ҾҾоҾپX{޾nܾҾkɾ^/ƾrƾǾTZžؿb鷾zdlL"lS겄ͅıمzlhk `P4CDW?l3?d;?@\CLGDyKxOTYT>p22>`B>,J>L/M>K>@H>lM>ЛZ>`>Ce>'i>c>,]>Z>|V>|N>OB>38>X%3>1>l3>4>P4>1>6>pA>lH>K>2X>|g>i>̏a>W>|(L>C>2<>=>J>:U>X[>HVf>P.t>D~>xax>3e>xoW>l{W> R>J>^G>|H>9H>J>X8S>`bX> V>T>V> V>8dL>Dx>>7>I=>$E>G>9D>B>@lE>K>8eY>|i>s>oo>da>`V>xN>K>U>ej>T|>a>>>e>x>PK>:>>>>>a>>> >Vϡ>r> >2C>>F>>Ћ>&>ʊ>(>܋>"/> >G>̙>><><>Ȫ>J>4>>κ>>G>G>v>X>ډ>%>>E>>@Y>>6P>t>ln>0)u>w>`t>x>:>xJ>j>B>;}>f><>p}>tTr>pu>$x>\}>> >P-g>'^>q>~>tn>M>4>x3>0C>:U>d\>gI>;.>L 4>Q>Y>:>>Ȅ=Y=8>Զ >>==>}> > =R=2=X ==H=R==`=ko=@h= 5=K=P7=`<J<nm<@QtC긽ͽ(׽ؽ{ƽxSptȒԽp 4db`y d4,AٽhԽ)ȽĽ`ȽYνP\Ž󰽠*;н(ѽ8½6y0˕hX{@ϊNPz@ $ >H;N<&< '.=iq=Z===B=0====Е=X=\=e=x(=8====H=E >H>L>2>pa>$>Ѕ>D >v>0=@=@=_=h=j=` ==>0 > >t >M > >d >(*>h{#>t-%>|>4 >(>=P?=>ԥ>> >>>>T>T>|>d>Щ>9=x`=ء>===>.>L!>4>؅=(=<=p===PŨ==v=S=pF=H==0o=r=0=j=0== ==>>3=(=I=x=P=x=H=_===`=4==i=P.=S=X===8=(=&=`p=-<Լ@ .@P@=< v<%=2=p&=Х=p=4"=p,=,=pR$= = = ]<z<d r (/^@W @u@N8'WQC𠥽m(hlj@Ľ8ȽPܽhK$=l %0()81>OLUJhl71t/?(H4D`Jx`yL8.5 (?~X\CXȾ о}վD־ھ뾨z0リ"2yj uFGL"(&,zg Xq Yz _[徤⾤N/:< :r߾t ߾ھپؾ`rѾ@IƾƾZȾ(򝲾q쐬ϫl3,> ŃzƄ^pYu؅{?vy^pq{rqtÀTZwMUKYhd`d@JmH ~ǃ|mqXP38' 4(sh!6$Q LhY,<KԽH ½X p@13}6@Ԕ@DZ<@k=^=t=N=0=k==I=[}= ~==='=x}=x=X7=~>%>*>}/>p22>,0>+>$>:>`>Ж>>>=>0x>>>0>>k>\/>$>&>F5>L>3W>k;>J>`.>L a>>>>s>d a>d>0y> >xt>e>8ff>l>k>In>-|>[o>lH>?>O>W>S>@*G>O>i>th>T> hZ>e>_>\fX>R>lM>*Q>1\> r> t>5>u>> > >JQ>R>">^@>$ >3>ӷ>z>>H>>>(>4B>Xݚ>>\>[>>>`>>Q>>E>r>¶>`>>>Hʛ><>u>4˯>>>@Y>҅>@7>>ڞ> >">p>$>0>>>s>F>i>ڐ>ʍ>h>H>—>0>P~>$>FS>> >Hڔ>jh>6>>*>܍>f>~>jx>>>>h> >>>A>:>(<>7>>6>H>>l>>X>n>pc>t><Õ> 3>;>z>Ԅ>H>>ҏ>Hq>hB>إ9>0B>K> R>l@> ">/>pc*>kB>xO> <>e!>1 >=8=/=u >>=p=Yc=@< *G{߼\;};Z@ b^ü`J<.0ܽPȐ@:HQ7Inm<pGSƻ' U=p=5=B=ȭ==@Q= '.= p=`=1=z>J==T >9K>K>8/ >>p> >>@_=6>$ >==>=ķ=8=`v==(= >(_==s=>41>D>\>*>H7>p9>lg*>`> !>x4>> >C>>(=2=>=ȣ=g=N== =E=(>=K=`i===`&<5ƠН =Ш,=pV=9=,;<p=%>Љ=OB=0=௘=8==@[=ȵ=04->3#> =<= =8=H==L=(=r=C=P<=|==a\=cv0 <+F<=pA=)<@olڪ:p;=hH=@-np{~X3ƽLa xՓӽټZ=5K=<0W<@]=*;閽p0PFh y6(%yUDWLp&L)i70ؒͽB.(6PnؽHBhG,54t|i  1K|Shāt/پҾ #)Ⱦ0%۾d Ծ&¾ƺþyپڵ &ܾѾPϾH F tFB o%x   qTCU|m 0>VݾپZ־Ǿp1پѾփǾv;Ͼa篾qƾپľVXD`HA>˓b$;+Fʁ2㑾(NtpvJU𭑾xP>m8vTk\Bf8~4ځZbCdHJƁ:KI DOFZRч@>/svmR(h/` >Y =?$(P νXx뽐tY`۽P|ynp<`,p?>X=?=T >pr= <調=>8=p=0==/> y>`>@=@p=ܴY>\r>BX>o>0w>8O>du>g->=>cP>z>Ex>d >xŚ==X>>L=>;^>&+>0>tSe>TД>>;}>i>y>>P>>$L>=@ >P>>U>2>y='>n>nx>~ޙ>q!>>x?l>7>>j4>D>{4>>>> >(\>,Mg>r؆>݌>>Ӥ>P~>V>U>>> >V>>~>l>>Ԇ>>X">⫲><>>z>ȯ>U>~>V>8>J>>>t>$ו>=>>,>P>“>>~>9>>>ơ>>>2>j>x>Vh>N>>>K>B>|m>>>>>R>„>>0>lf><><><<>9>6b>Ɵ>>1>>ï>d>Lׇ>>>!>P;>>>$>Ʊ>~W>[>>B><>lw>c>>ʬ>>L>>b֧>_>>>x[> >F!>Np>>V>sh>`q>>Ɛ>8v>H>=c;>8h>&>==>?>FX>(N@> v==>">`>xP=pU=蕅=x(=o=|>e>=%=g׼*< 7>LC>P=0\@`yh=л>=@!===0=˾=Q=<^ <=|.>U=@<='<^<,k >>Zp=7L=`,>8@&> =]=8=@=x8>X&@>> <:o=7>^>=@<@i <0F=0>>=?^)$>xo>(=";`f<=h=`.=@F>=;'<ƒ===`@=<;pQ=='=`U=@W<|=p=X= >@)> =,==4 >(>Z >X===`S==t=@<;<22Jbr@žWﰾPĵJ/j$̾ ɾ6þ4ʾ-оBZ̾xϾ\ݾ־ڳ̾Ѿ2ܾ&@B:rC> f&侞?!}Nevx>ڰ 5 < l'ҕ ||BϾʾHEЊо>ؾZwľ¾I¾8¾Ѿhqƾhʾǟ;Ҿe K~̋(Ȯ@w>Jwx0LOtjO2 ^XV?bx}Xvn>=௘=$=>h[1>#>=V=n=t,>m>Hy>$8>&>0}R>XP>\3F>>Q>z9>>8q>D=>6>$>>0E3>0b>\>\eK>ȏ->pc*>jE>ZT>Ҹ>=>D/>E>>>Z>|[*>>;e>%>E>_P>hO>P-g>F>>:>t/?> f9>lC>H>>ʼn>V>Ԃ>{>>ʆ>Ʊ>Xv>Lu>e>p[>Nb>g>T>0>x>8>(U>`>@>#>]>t>`P>(>> >۶>4>|~w>6>>>&>>>F>ܞ>DE>>>X>>>Ԗ>DΛ>>>`>z>`Ɣ>>8>ܳ>,m>>Ћ>j>V>ԥ> >>g>,>ٷ>z>G>n>}>|8>|> >s>m>z>(>>ڳ>+>~9>D>>>B>,>>j9>>44>>>ެ>8>x>>ċ>YN>F>$>୲> >J١>>>t>6>@k>^ٚ> `>ܰ%>,k>jX>>VG>*J>zi>q>Z>xJ>8h>(; >H*>4%u>h*m>>h=$>=@=T >x=$ >ȀA>">hz=/^=@%==,(>>p?l= j<^<<=F==3J̻VJ<<&<2\ ``6=S=m=mͻ=<o@x @p`=$>=C8;=׻0;Tp!ӽ`X<= tLjE! ׼=s=PWSo 0?B;TXU"$0ֽH0x:+vAhֽXS$ĢM0[z84ȥt2kPbЮ9Q|H0ܽR鼀?(xd !87ЉGpp̍= > e3(;l>?>>L<`c1=`j`}ļ8=g>Nb>t=>(q=@=`s^>6->=_ =|&>,>}`=ؐ< >z5>U=@i<ZG<ء>L^>> =8=m,>; =صf>=>H=J;)`< 5u>Pp>4=xԼE=J>x3>=/|!GW\H>@N>'>= =ڣ=\P>xnJ>C=P\E=xm====Ч=h=`=ߊDi>Pp=7;=H=p=<_=(>z>OP>*=tPO=|6+>>>H=ұ>>P=`0z8=< ¼`š<< i,=iHc"+P〽0$h nm߽h0ܽ^{ E`OOƠi:DU% "0]<,Y,d' ߽ ?XTM0˽03 ضZ NDpϼ[\dKȍ3P@( 齀Ij־Ӿ H:R򆾠Jry{:ķĶƎ؉4}|V |Ӿx[v0 d. J־zz+ݾXϾϾUv{Ͼ|ξ8#`# z%: wq F4gپ$wmXκ ݾ叾BӔ 8 ؾZܧ,r.pھV۾ʠ߾!Ҿ,׾Hh{8xĆZe @&>$4橾5%/ص:)ll YeЄd0 yx;lز(lTAhz<38,~ǟ0KQ56.M/đ *ռp1%02ǽ/b0VϘ VtA0[zp <X<*bC@%݌ @F=$>Ph=l7q>3^>D=E=@,=t=`&>HU>5>X>><^>=U==>ԏ>z>%>p==U=*}>V>+>@%> >7>M>0v>">x=$;>?>Y>D><>>iq>>w>dK>>d; c= >D>ß>Tj>,>>L>\>hG>A>L>ט>n>y>=ЪF>:>>>Vz>\>Z>->4>b?>B>>b>>[>T>M>`>L>~>j>p>$>>d>`R>^>b>j>>l>|>>ʎ>X>>>r>B> >">C>>>96>З>\>Ժ>L>3e>0$=b>>}>fL>ٜ>x[>j>Ř><ԛ>v>VH>2>|>@>,LZ>X6m>2>p>{>>fZ>>>$.>>x>,'>s>xN>o>ҷ>~>w>FT>(>>>m>.>Lȵ>e>r>n>>>>r>hF>P>_W>:>\2>ZW> 2>O> >3b>>L>m>`=G=40->0E>>˟>R=C=M>>>X>>>Z>*==@I=9<}(>0!=0`@`<>47> >`!V,mL=>>7'>6G[ px@ZG;@ٽOI `Y;uH!0;= S<XH@n_`l_B<H?<>E>> De=İ=Hͨ=xQ==#&=;$=>1=>Ȑ=zT=X><>xI=T9,>j>=~=P=,>PN2>Pb=p=>hi>H=0ځ= `="=H>R>8>0=<@N= f9>0WF>x=0%u=;b<,H&>>@:@>a=BwX?>pu>x> <@`?pax=u>ti>=X+>V=| =">d,S>H>;(㎽ < ӻ(p=}%>u>@=Ѻ8 3=hЍ>82{>40=ݽ^S==6N>pfQ>}=u@<W=;30K@k=%>F`Z;l7Z=05=L0Z *5P.h}2,'e!=X;o40"N@Wsͽ 6%==w<$H"ѽJ=a=06 ߾RӾVW,ezYO޾l~O.c:c` xl8+*+۾ 1 B |ԾXھ&f( KP0Fl c v\ɾF횾HXXž ܲپ:Džrʾq6e/^R8 {z* PtN̾l\51j潰/^>Ё߂bpP-4407^@k8ؽlp_gDؐkPI8OLt`J e@ol%$ 5dA(ҳ|{psl;1+Ih ;7׽hbKЗ&@,r;(lJ>ʽZ۽@#ۼk@| ȳ=8=ڏ;3@ռ^=HF=x-@`"@=؄=Y=qj=KJN5= =@=y>> X=OP]\>Z>= Q=p}=a>F>7B>ln=p==i=|l0>(> = > ݂>`>>C>=p>m>">_>3*>?*>44a>=>,>V>[>r>< H>bĔ>>-x>>X>F>>҉>P>z|><[>ED>e>Hݻ>v>E>Jۻ>,>L>8}> >By>ji>VH>v^>>>>> >J>>p> ?'>џ>Z>>Z>>~>xL>V>>H>>&>a>7>Ϝ>K>@K>G?x_>|i>A>>v>i>>>>NN>Jc>Vϡ>Է>F>`>q>\"t>Z>>>>4S>~">>^>T>K>B>|{>>>>[>Nա>^ >\ۚ>ό>n>>r> >ǭ>>@>`>p?>t>>(>0x>=>>80>x>4>$An>“>>>6>>׃>B>H>z>>>8]>@>Tb>1>>쀳>2T>pZ>|>X>(>x(>v>\>1>p7=pU=&=Dg>yN><h>>G=x]=j=`=p==Pk=[;@!<=(=hVQѽ02'x)$<_U6\R`N߽ e=N=P"8p]@<@ㇼ.0࿊= =p+L=`=d>(Bh̩q`ԃ-Rp>`½x|7Ƽ='<޽l=>=C#6X bƼ=`=`&=[*=](=7<`Ʈ=&$>4>`j>x.>S=x;b=>.>;*='> >A= 8<`o^C=y>p[>X&=t=`<0ff=$>"X>$>İ=n =@id> =qj<=/>W>y(> =a =,>>(>eg>Ȏ=`X{=>Fv>hu>0<>p= 0|=$R> >4>W>5>Hd>4.>,>`p=x=,;> r>2p>LV>C==_>JQ>+>t'>==]!> ۂ>y>d@>(=ʝ>_h>1c>@!>Q}>x@y>=@P(VJ>=;5/I SM=n5=`^߼20= <@V=8b= M/hϴ(ĩ= =Ԕ;@b S%Y=lRǽXy5/L4@ϼb<񲼠ۼȼ V jxx"`8P;F=+07@ ޽ ȼ Ӻ$ ~4Ple0"6 t?l`ǽdEl4NӾkH"@?xi V޾̎6վ%/䖒־"!tӾ+JƁþ* ׾ս`ri韾M۾sᄄǾhھR);DþU򌬾Ѿ0Z+zѭގ;XؾXe8ƢҾ: Ⱦ-(hǾ*ؾ*Լ84Eg\ٚ&->ʾ\B̾ѾX;u¾|$`Z@:t^sf亾||]c̮z~澲 ҾS 8.ǾrkCWdʾQlu40D y:>nžޟӾ l ̾ھ>վ\ꞾBΛnܿP8v}p?¾@㻾瘾aԆTUnbાjn3HPhU`~Lnd[,D"\/p) 84> 6$s?%˽`Eټ`ͼ9 "؞ rika H-Wܩm=˽h:\==pk%yc Pp =0>X͡= ¼@&===$,>T]R>u/>P=R== >s>4>{I>pt=0=K'>H@>ljQ>>$>s>Q>8wl>>dg> V>2>->>&>_>\O>j>>>$>*>K>>4>;>tr>LR>y>lj>~ޙ>\>H>L?u>">>vÚ>Z> 6>?C>^>li>Ĕ>>̍> >">r>>>t>&P>1>*>0>z >ZV>>|8>N>>>>x]>>h>_>Zg>l>$>>>x>@J>R>L>->>>>.> > >>}>z;>Z ?>V>֤><>B>+>>*>>>>>p>>>><> >v/>z>>>V>?>?}>ל>~i>R >">>>t>=>ba>L0>>:>ƒ>>>4>>>f8>:>|{>pA><-n>>>$A:>h>P>ȥ= >P->@7>| >==PƵ=Xi===hk=#=@04QЭmKTRDp>_hຽzP6Ps1߽̽@':=Ľ̚l;@ csͽT0#[n<0> ƽo](=h 78K$ǃP+ͽ(),lh8SĽEh `0`;X+djp۽˷0"S\G/  8^x$B(`MϽ,$ PR齸D(+۽H/Bx2_4XBܰ%bJ ɼ@&tY<Кͽ:7+=W>8=ii;`i=`]=%=0!=`E<@@&=P=0/$?:^=s=0[=u>=x>=()> #5>h_= ==8K>>}=(=pM==z>>=`B==m=@a<=>">>c=====4>=x=@_ <n;8=k=H1=<<@<==8p=\908:ž&ž̾nԾz; ־"FyƑǾPþ.׾hKXY쾬Ҿct>žJᾖwɾRK@ܾ<޾(_ƾĒJdž-Ⱦ;;`K¾h Ardxӓ:Ĉز(j@vJ᰾4c$b4َ6>Lāp:t6r[HktgljbTJfLd5xܙ-uDhL=h D́\3zbJI戾$愾vJa/}tr㫾٦LxӾٷþi(ȾzܾrϾ@8D*fL֔3XݚnTch@|v&胦$OJ/"ĥd W_h[(< .+Ih߽j@ϽȔlGɽ}%ͽbxÀ ޼; @'+*>?;>R>Z>Hj>L>*>P-g>">N>nm>Dc> k>k> >>>>^?>>>һ>/>">>:s>>>P> x>ĥ>%>>>L>->">>>x>">c>O>)>l>>H!>(+>>.>>:,>t>F>nD>*n>>2>Ņ>>>ԋ>>8>u>pDy>*>ތ>R>p>P\>@h>)q>L>~'>l>x>l>I6>TO>L>?>l<>2>0i%>H*>^5>9>6>=H>Vb>}>9>>|>>>Ξ>0>r>>>Lׇ>H>>0>V4>z>>>hX>Ȓ>ž>><>&>->6D>>$>M>>=>?>(?>P>>J>>lH>>͹>>*>>i> >Q>~>>v>n> %>T>l>>4>>5>Ǿ>2g>>z>r`>D|>P>Pse>,>8">>T><.>cI>8N>`'>>x ==T= >ܩ=f<=@n_= =P׻=h=PuK=̛;'׼ \xKXz*Idpkj`Z4C<5L^+I!\h/Jiꑅ @KA нNNllz~w؂Tf5d-+0<+#LPojiOĐ:L0#?=[Pн*Ͻ2@Z2>8>x==`W=S==>%>>؁>>V'> )>>4=@<)`Z=p=Pw=`== >L>@~=`>|:>L>Ԩ`>Y>:>{>>>>F>*>">_>n>$>J>t>z>>Ъ>*>>>>;>F>t>>w>>>>@> ?_?L?v?? ?V ? ???` ? >>F>1>9>⊳>>I>f~>ϟ>h>@u>DI`>tc> >>P>=pn=@{*<_½\00yRa(Xh/t]J` hT|6+,Ua\`ZOP=/<#d3_BH0`ܮ 0Dȯh{#\ p *}GLb_,Qh(0%HXz%7A>`,<f`*$̽h7\ P9,@\LЈn?v8k(O+8Df+t-8 !O;+}rm6}`O#X"%X4@0"8oHT̽սbl4'90jHrB dhF+(E Yduz߾Dn#lFž$/$Ⱦ0F`c|nʧο.ܾ澂i񾨌J@ ҷ N ۾ `ɾxվJ2"JZn.ZӾh¾ #U¾ǾtȾrQ˾$ʾPǾV,8Qݫv+LhV8%Xn t<0ܛc+Z yԽڽ6@<S[==Q> ><>=l=>3'>'>=5> >Li>!>>> e>f>Lٻ>p>>|>db>q>*X>w;>>>$>.>>O>:]> >-x>ȵm>dZ>WB>#>L=P_=к >[=Tx>=兽}߽@ |@=`"J,\0Dd\@bpxؽH׽(]< `; ͽ4paL.TCV5`c}p1%G ,">I>0q>>>>{>~y> >>?>L>>|>3>>}>>>?8???VF?JP?C?8 ? ?Q?n0 ?=?< ??h>B>V?^?E?>P>a>v>nd>t >H>H>ž>\d>w>>~5>>d`r>DU>d;>>Л=H=͌=< =;4k,7 Ip8Ƣ ξ G۾f׾^GnJԾĵӾj{׾P_ҾN[`򾼊Ro>p߾2Ѿ ˾޿,^`8}\2mL`E`8@Nm==L >h{#>xbi>|b>G>=>>H==K=,=F>R>j>>>>Hw>*>Fp> >z=d<@Cj9<_4=PuK=R=Pk=ЫS== =@A%<^<p8TӽꜽX@y<l;<@r2<@n mpa c(8X4!8=:ા t*҈L2b`ؾ=% L e6~K`cЉ>־/оlٜR2LR~%巾_'xֽ`0K=S=Pk=P={>HG=X=B=׭=#=<=!<@d>$>dV>p>|+s>m>Xa>80>=4=B=0 =pR$=0ێ=2=!=\ >آ>xH ><(>(">h= >(=$=8=Փs<׃=7I== >>>x=X=h==h==>C1>>H=`l<@+Լ2~߻PT=`y=Y3>O4>Tj$>h%,>$8> s >I=5=0˕=0v=<@< p(>R= =Y:==:=*>k>H>>ٷ>XE>>H>0W>T>ȸ>|{>Ȭ>(>>>9>>}>>M>y>n>><>d9>>a>>N>>>}>3>>>>??v:??h?+'?`p? S??l?x ?W?el?%?r.?&1?B4?^@2?5?4?-?-?*?&?Έ ?a ?|>l>">>B>??,(?X.?N'??n0 ?>0>.ϕ>[>0&N>2>?> C'>h]>6>ٝ>˦>>ȋ>t>lV>=:ֽdH h尿@8|X7:0$4,9:2J$1uAȆQ싾P〾ܡmx h0x>x t!c&Ʌya2XJh7 >==E=X=X==c=,>&> e,>5=>^>Xi>^>B>84>>M>0=0=>H7>S>,>0=b:Hܔ8ԛދjx8p;}𡲽8oҸFT rAҾB'  " +6f<#j<>4>(>%>X>&>,>3I>Q>x\7> =>wP>V>0jf>|i>HE`>e>}`>V>]>`Z>(U>dH>$>>8O>X|k>hu>>.>r >M>`>XP>/P>z[>,]>@o>:>r>!>> w>,>>^> >>>>( >|J>n>Q>䪿>>ʎ>+>ʮ>ޞ>ԏ>m><>8> y>d>f>L>+>=`A%=żl|_^;=S=`/=X~=?>a:>@:@>FC>h@>=P=x>.>>p=a== >HH>Gv>Tx>Y> >h==`״=J=LQ>f>2> X>y?ס?}?">>> G>J> v??B"?,?~3?0?%+?L#??r?a*?r- ? ?a?D>@>>κ> ̰><>>~>f>\W>|9R>F>p1%>x;=3<p = XHоxX(X 0qؐB־P^ݾξ C0tjBΛ0͕ڗ".2˕ aU0C + c0yl L@ t ̩VtfZH ̽ j'<q=>\ >*>PqK>,]`>R>+>,(>8c?>.>`">p > >H > >f>O4> Q>`>Xh>(P> 4;>$>>$>4>Iq>>r٭>>&> >46{>h= fh)Hꪽ@U=(==<@Gs /0^m(Nٽ:d{4RDооpƾ*\(}j[+8>{a wThv匾oxҦl(vlTgF(/g@B@C#< .<Ȟ5>yt>R>\>xm>:>d>|8E>]!>\==H>T'M>>S>>>nU>V>j>rT>Z>\yx>Lׇ>->^A>TJ>>> k>rC>Hv$>d>>=<)>%><>*>pVX>:>R>> 2>Z>h>8 >`_>ω>>`>w>>Lu> w>fb>`2m>.>W>>>H>U>&a>dp>=>8 >ĸ>Z?& ? ??g?2>Np>k>dB>C>lI>ljQ>4x>R>p>"C>,>>f>l=<4:<(q=*= 0>TO>l4><>@="LO*(Eh[sz"j$nW4g\ـPD[ #XAL}F Orj)bc޽ p@I>Q}|1 T<=@|==`=#==0]``g0eY]N=O;>xZ>|Ke>S>t-%>)= J=$<ߊ< ]=؁====0m=PO===i<[ &<@ =І =`<E;`7< =P<#iX/Ik<ݼgnfѾ$ T *07Ծ'ľ龾ĸv¾*:Ǿ̋Ǿ>ؾz´_}bP(J/E526>:3#Vd Ҿ#ɾ`ǻlN ¾hǾNp^ǡֳ( O& u,nCHḇmȴ`S:xp` ȼ ?LQ%> c>(=?=q;@< =;=H>̞M>r>Pw>xn>Dw>>jx>>J >n>胦>\R>Lȵ>>2>>> >2>? ?4?b??<) ? f?&? ? ?3 ?? !?v?Q?6>4>4>>>>Z>'>==`DL=*=إ=4B>ڟ>p>>6>Ʊ>r>>^;ν`<:rt0GM8)\ Ĥ3|Nl0ks,^@Hܝ9@x ڽA```,Ӽ˼V:PR2=Pm=q>oB>D>K >v=0@&= <`>:>Tk> >.W>>Pq>@i>@>n˚>Ͻ>$>E? ?W?* ?p>>R>x9>pg>t]> i>:>">֥>0G>b >>n>>>f>0X>V>ܿ>ϑ>|>>^>۷>|> >L>*>m>|A>%>,l>XC >c==x=R=pn=2=)=Ā > >>=s=13?нxnJD20.Jɨ@k: s?=<@[yU᝾D0hL,8tEsǓ@Ѩ@j`(ɑOvxm=Pݽ[! =G=t===Q'd㓾wO}4O/DuhG` @1Y=Ь=X" >,>>4#[>Dh>@Nm>#l>Jp>Ho>hb>8J>xJ$>,>9=>8a%>n>:p>:>B?҄?K?ز?:?Q?D>p>>>R>> i>n>Ω>>#>>ڎ>2>fl>$P>ت>ן>>@r>RJ> B>8==iq=[==P =V== G0Q0Dk@7Mh你8 fҽKuGCoX/ c$<(<-E p9 ,r|`65@^潐8r@13p;=p#=y >%>+>K'>`>7=v.=qjP-м |<(=k=>)>`G>[>xpd>ov>X>R&>P>Pd>Y>\w^> c>0\>`>~m> }>>>t>K[>B> u%> >P==Ǧ==4S>O>4R>(>z>攒>,|>W>j@>$/>X >:>= =m=`=C= =S=>A/>cI>R>D7M>0(>=pc= <:P`K8,+p@j+=&=(J >lx0>0>8=<1؁=@ =7@%:g0܁}Z6!hW dp3[BJ4W VXA(˽ b`(;@¼FJ@0 #1) &Z<=X=>`D=po= ?< p@H@DZ< P=0=>q3>,>x>0\==@e<;$><@'==`&>@;M>4p>Fˎ>r>>n> >>T)g>(I>->h>pY=8>`>X.>8?M>Di>!>>4v>ttd>|IK>">==TH> >̈>&===> 4;>'*> > >U>k=<ȲƽHcR'bbr4Hl; <Ⴝ p@Be'}uLd#L<C~6k0μ` 8wн<ż4=n=஋=l=v='s= *=Ņ<;<-<N=0=P=.>V>v>">>iq>L.@>\>$N >d6>Fp>ϑ>0>k>x?*|?(>>rȧ>DZf>P >`T=pf=>D]>>>.>VK>"???(>>ɷ>>?>@>n >>2>h>>>~>E>.>V>s>J><6>|M>k>n>y\>YN>oP>x g>b{> p> R>1>>P:>h=@( O>#*>z=^= hD2 d,{p G'(E4bHq[P0pyq@ h >=== =,=P^=J=H!= >\0>V>c>SP>>`=U;`.m=@塽 =C$;5=@=ԥ>tN$>:>>>G#>=A=F!@&YP8spO@@&(<בPNHǘH̛@(½@,L40-H'@$pL c 8;L)2hJ_: 1ꓹ˾Ծ˾^cv4WFQ80aRှFxYIf&~$̾z P~Wnо ʩDe/^Dj̍{|t@];PDORtbQiG9(0P[8Ux4@p6 N,)uI\"0P^߽ڽսw½8绽pL=l]*⁾ۖbZܧnԉytUU2+X c:$p"J &+C;#Wz ˊߜij8\"tYWWK#Э;~m==h= >V'>lh7>05:>*+>G>ͽ==Ιμ`Q@%<0==x+?>>>l>ி>ݾ>6ʼ>1>>>>>>D!>Bp>h>Tp> $v>:>Đ>>>b>>>&>r>rQ>>b>h>Lr>>J> >8>q>D{e>p>!>m>j>X>vխ>(=>8>T>u>Ht>I>}> >l|d>tC>n'>X >->pDE>ha>|n~>0>N>vT>s=L<Q`b`8R0X=x(>R>v>d>^{>3>=8=`躽,|R0==HT=@=#?=0!=(<Z>~>n>J@>>> >>>>>@> >>dn> "U>jC>C>\ge>dҍ>D>J/>f\>$>R> >F>І>4V>x:>l#F>(i>R>З>֙>(>V4>x>\V_>B>*(>p>>+>U(>ܰ%>h6>hO>$Da>xpd>̯S>L:>\c1>0>`#>q><>>x;>,k>=>,d>?>ps#>=X=?^=C[=pvJ=0*==@y< <<<.>3>=QY꽰NCs4`}(<0}R¿=HCF>|>j">>0#[=PJ $JgPNf ;y꽐z0DHۇsͽH7`] w)qCt > #>X#>==f<_ ˜߽0C:<P7@j9($>>X2>p=w= /=ȓ=ȍ>X.>,7>7>P֮=2<=&߽#hYcbrIn>j">J>`>5/>=pk<8۽HX0FȻ] 6U>P>r> i`>+>=0V= <@':`.9>H4>4>HR2>5>hY=@hr<jދ;@< ==Q=h&>hP>@[>hI>%>X&=P7=@<eʽɽz4p&==X=0=0>Q==٫<@LӼ*UPkxH[TpYp}`-@ .<F!*fpVXWD,Z9,U?b_T,08P􆽀<?=0o=q=@dd lfHD"0F^ (= =`v=<K>e>tu>{>$k>0&N> u%>=0$=eu<ʝ!NQ`K<@'===<I<$?:[:i:<< Y< F=H_=p=X=X= =8.==< િD!| Ȕ@jBi2 m#=H=p >w >=+8,j'\n0`qD\D@J9tHutӽT(ھ 쾄}ƾܐ8tET xF(XNܱ|ƾ̾8˾j~!TP 7ngWpA7޽ ( 3.4K'M!C*<WT0oav`@̾lɾľrXpT'HϽKļ!PƵi(ov~\Qfk<ïf d)<@LS=);L<u绐R@L RwI0U V_B0Z9N(,F ̩R𽼹84v.p`AؔpEu=l>8 H>`->xK=ؼ %j~~ϭ5^rv)b۽RTh0yp0.x>߽g<)?׽,< =`a=m= T=dl>>i==r==P==>9D>1j>p> >->>6>`>Jt>z>K>X݀>\yx> A>ߜ>(>{>> >>4><>8p>R>HD>T0>x>s4>m>q>V>n>XE>_>f>?B>\>@=؍=`=h=>J>4w> >V>>>n>t>d<>=0=ko=n5=>= (=pF=@ U=s=(ּ=>ZG>T> I>3>л>8T=-Q>V5>>6r>dMR>8="<d;1==8>`v>ꑅ>xj>t-%>H=A= j<;"<@6=>$>>e>1>:>f>Vϡ>R>Ǔ>vm>m>X6>=8=g=x==>>>3>>>؀:>2>$>>>P>3#>K>tt>t>Xݚ>x>ɟ>ڠ>l>>@=\Mh'"mo<@b==ȳ=R>===`E<]D< &<~< o =H=X==x_=` >}!>>=@X=\=<@(-=pS=؞=>t;>X>r>>>>>T>8>P=p=0=bi=09ZG ;`'=(=4>xm>5>>&>f>>~< 79Զ?0 Ž04鼀bqν *(/1%Ct:`j==a>P\>p >,===P=;=@u˼h(M罨ı1 Ѝ@{P Ι;<Ц= 8=D=P=`l<@s< << V; U<Ϙ<] `"@H `5XϽ⦆ǽp:iqwI>8> >j=_=yc=K;`` :g=P==J>d_1>H>U>z[>HH>%>xO=0X=x===HO=P =b;3;<396>0E>X&@>6>`(>[>D==j=>2>IU>p>X̔>Rk>΋>Vp>l:> %= =<8[l>>2>dH>(OM>E6> >Xή= Qj.>%>`=*;K4u80@뽨c@ؼ05=0i=(=;LPp@)PY|S` ;$=0I> 6>>X͡=p9=<\ͽ@~ؽŽh@½PZ@VfX-Ѽ` Ѽ`& ɂG:Q;;SR\R㚾TH7>]g>>>H>No> >>>?>(Ԉ>r>T>l>|>&>: >,>>1>O>>lu>ܐ3>>1==p=/#>N>q>j">~#>NՇ>D~>o>,\>$ O>X>ضs>>04>lv>*>B>>>b\>˃>C>>xNX>7>,/>*<>PT>Pd>\w^>TU>m`>o>(o>Lh>&X>(B>Q>߂>>>TG>= =@P̼;s=d>dO>ħZ>L#>===Ⱥ=8Ƽ=p=|>i(>$s?><>`a>=@=烼VPO ׼˺@_ ==$R>d~>`a>>>>D>>>m> >Xߴ=L=< <J:`j<r=x=D'>8K>dN_>e>Ld>Dd>Ij>P u>>T>L>>1>&>x>(B>=p9=W@hdp 8P=0= 8>4w>:>>|>\>†>m>J> 7>8>d :> />+>(o?>9K> f9><)>7*>,><(>Di>>@>t>$.>:r>*>0> >ZE>>lD>Hw>h'>=٫==t0n7e=t>31>.X>r>K>`> >*9>0]>@=4=&ؽ p 3۽拽P= )N(]5R,j2<;`p=_=P=@+=p=ug<ʪ8 d+Fzr~#e?P/1(9&=觘==6=x== = =M=#= =E=d=n'=!< PWP40~_P-h<?=p!>,]`>f>Ъ>ꓹ>>ׂ>C;>!>=<` :P[P>>Ғ>>$,>8o>>1=O=^= ==&>L>-=9{ڽK <4Qo4'8ʽh$ӽLAMĽP⿽P\pJ>˲>BR5X xpdFlGpVia4`u@Od5!(-A ܢXϽ趄K1ļ_<0DZ==P=8==Xާ=P{=s=8=P=p<`X<%/= /=8=0=Dh>F>Ժs> B>v>ni>lT>l->d>=D=t>L`>d>=p/==] <ؑ;6=y=$>(PZ>J>Đ>}>e>(;>8=`,< ,@mR`',S Gf:@5=௘=p=)=`[=L=s=`c1=ӻP{o}Nό ’)]xL>l 0݌5K@$8,-ȶ@ĽX@8,-}-]辬w4޾Jp 1ljT=@=&>=P=h= f=r@ѽ7#SB=2 =0yR|)YAA ciսBp`Ӽ9, O<^5=@=8=Y=`==@%=@<6(,d[1Yg8̄OW@nQ<==y=Ї-=f<0(⁽{|S!xb˽$pp뾽'콰1@ <===pz===!4'tL=JV4Rw,7ʬmoS8/0V-R`G4߃H?Zp ʾL> "QLx>3+, vb8`M9|~̆FԾ!Q GuF  R}nǾF@xO;(J "ԥ9S %|/.ymtׂ]4qc cd=Y,.ѽ[=r=đ>>;=Pp=\<ਥ,F ȳPz 9p3=%=>x @>^G>AA>>>D'>>x=|>C>K>~= 9=L:PO׽;0g@߻7!p&X88v߽ؽa OX !>|m=> hZ>z>І>0̈>>>>k>(U>`>l}>5>Y>2>>>> >^2>'>H>J>0>>$>@F>v>Q>3>4>>`>z>X>LV>tSe> y>h>Η>d>>t >K>>DH>o>?> >8>P== =,>H#>9>iN>(c>hp>l>4b>g>u>"w>mj>XO>a(>=8r=@DڼYD%<0ͯ=>ĦM>m>S>>=Pi==< =2=N= =pap۽03~ @X(p=,">pv>ٜ>H>>>F>>:>>\yx>G>ȏ=`j=ұ<=ߑ=?=L >`U>>:>&>أ>>.>Pl>,>b>r>2><>>m>0.>x;=@0<>x>b>p>z>Sh>F>t>`==+=C===к=[=4 >|>l>2>$>K>>`QR>w>r>D{e>Yx>&>s>>v=D==pM=8-;`-``EY7.;8=h=| >yj>:o>Ѷ><>hh>@m=;|n Da:\.qRHHēaF>$N| QO#XgSc<`|==Ч=Q =ټ֒8н_hͦ LQ `/ )==d>Ԧ>( ====@u<@o5K8\M@u`a0뇽]p訥`]$l>8>~>>pZ>L`>=;Ⱦl 0IeV= >ЊT>L|>(~>_>7>x> = =ؽh09*p($u h̼%Ha*tdUd.ȥJ1꼠I2ƾhIҾξx)k@Bs-PK?`zބȋ{3m{KWL>S>0I>05>0>`/=)>w>И>e>l>ɑ>Ȅ>f>;>)>R=p==$==`==x=g==3=S==x=>>؁>+>Ь`>4d>LQY>7>>f==p`k=<#?L~'f:@?r:`G<=0:=h=؏=\=@H=@\߽ IJP)PIXA@ۻ0=Y=p"=M ,xclo$/[\1,ŽѲ{<ۻ\@XNz҃q5f]<=7>h {>:>Z>N>F>m>$p>pg=֒}JX齨:<=W=>h>0==n===F=4>>W>=8ը=)<@=Az58^`drmCB`0D===pb=nC=`p,xֽ( -P8E0>w |H>L58뽀ƽP``>X>>I=`s===寽Pȓ὘,<[l2\4cI$$4RE"@ H===@= =LZ9Z!*POܞ(ئxXЛڽȑǽp½l0>]ļ@`<<@m<-R> >,l>>Js>̗>>(H>tL >ȑ==$>;>&>B>>> >>>>`_>>De>%x>p>z>Ņ>Xf> >FB>=q> c>Lk>7l>"_>WW>P [>i>̓>n>:=>>$>:>6>>\>@>ב>I>@>\a>0>U!><>t>꒒>>>>:Ƽ>P>>q>=>=&=q=Z=;==$>>>>%>=8=zT= < %== >4#[>>>>Q>>ϟ=`#M=z>L>$>J>d>?f?0?@>>ò>Z>Tx>=K>J> >>dH>,>p>V6>>ޥ>>d>>>r>y>,I>">\d>->H>>xb>>H2=Ō=<=J=ѝ=9=l6>u>e> >b>:_>t>ߘ>r>>Ɔ>Aq>@[>xU>(V>=D>\ >H= O=P=н=>Xd > )>\Gs>*>4ʢ>:M>0>0>K>>#>+>>>0#>F>h=0ځh4Lof؁=XV>v>w> {>"> g>z>l>@J9=##˽آ(], )@h}qÅg(OM (P`=`<跑=ұ==(=a=M==`܍9$9Khlkd&dH˽9:=j=>><> =Q=g;8   @G, >U6E>:X>(N@>t<>0=c<0Egz8$8B8Qj{@`=4== ><*>>?>&>{ >4=@><@⼀.N/02ǽ dmX<]"-RNӇu\P"н05?=`g=>h=#V$]|WHܮ$@Ǿ:`̾ xB4|Vi\vR8~Ln8d;[,Bp0@mR PT𲸽|X½e 028=3T7)ný[h=|8E>>rǚ>>l>5>=W<%@iз V`=>$>tB>`ce>xp>8[>@>X4>t/>8.>E=>L/M>I>8>|(> > w>=pݓ=PHA>`]>Pb> Q>:>!> >D=Ѥ=< U s;`=<\=p= >d]>=t;dh H"l)P½b`pk=ǟ==-$!>=>N>Lt>>l>hi=<`kνxVY`yȎZxѾn꾎 Xᾪ"ؾ@8ז X@7@/W: <`@=0=\:s I$^[._XVи%x<Ž`V{5=Xݚ=8=X=X>,>==`<@a<<< .ݽiX&,GoO۷=7>~>>l3>t=s[dAX}xDU䉾YxXhH8J SMEB5<U8@ < J=0W=0ܛ= = oz= *=` ;@;!7нPpt(Ǽ/==p:>=>^@>>>z>>><]>D>2===o>м%>q`>>>J>I>X>;>|{>>K>6>>>l>D>u>Ze>Ơ>m{>cI>!>>>+>A>lb>b>>>>>>:>">S>d>>d>|M>D>>lM>R>42G>lH>fb>>> S>3v>Y!>=`ǻ=X$=>4!>pDE>(w>fI>E>>8h>$>۷=8=%=g<`{<ɝ=Ԃ >|)Y>lh>h[e>4]>b[>_>Uc>j>Ԉn>ܐg>Mc>@o>j̀>W>{>R~>>x>nC>n>>>ly>ǭ>R>|ϓ>t>Ә>vL>$>>>>>">">o>2>h>@>(1>2_>>Dg>$r>j>{>t>T>j>\Q>,r>b>W>Q>S>g>nw>إm>@b>d>r>>„>u{>d>X>;e>!q>l>Mn>~>X2>~>ӂ>H>lT>?'>2>X>G^>z<>>,5>}>f>=>>j>&>.8>>>H ->='<̼p"Z 5==hKl>">>>̲z>j>D;>=U==:=z=-=xHL@$<๫<<<\@d|-7<=</m3i=P:N` a J,.ѽP0U@5<=h=y==p= =@=`š==r=W;=@'< ;f` 웽] m6<@7=:=Y3>g>)j>d;>!>41>;>P>Pj=:<@'0W?,~žxԾrQ˾~yZ/W0=>8>M> '.=н\5TH0΢6 p,6 ,ʾ۾پ˾,~̆p0LtH 3 ؼ]6 u?½lPd”d"wLdd±=1=>$Q3>L/M>`H>l3>&>He>>=`-`==`<w`)`G;|S=?=>D[>|ߌ>>j%>p>a>X> 0>Pd>8>(>Ko=4h0]`yhP[2w-=hϴ=P>|%%>85>#1>h3>%K>\O>L@>== <= ɂD>Ph>d>D>>=== <3i`ֽRੲX \XH@Y$@!A$?6f<;绀qjRμ ODѽ@-$E_LHD3h)ȽWȝ۷D!Dބ`Nx{lнf+P,{8 gMÉHAE\C¾ϾZG[X.I޾6|ܞ& R#VݾfnѾ(_ƾ$Ƕ¤HBƾӾھҪ྘1'hھXʾR:h$,džtԾؾDHӾ<Ⱦaܙ0|@]|OdNPb༄ݦ굫BWU&O|mt3罠ͅ80!A^hམ-| ft<~=ȥ=Q=@̛`>&>>^>>x =k==l<:@4p,%do^DЬ`P]=`>H7>\!>x:=?'<P䍽x vx,̽g Z[\tΪ 1q$ r2 G ==>>(>q=Q=="=\`״EĽpG콀&Co=!>9c> >>l>Tѡ><>s>z>6->,>>04>FV>z>y>!6>@>О=p=c=V=$J><>>>z??8??,i ?>7>>*9>_>2>5 >Н=>x;>`>y>,{>r>l>q>p>>A>>L>>>.>xm>b>>6>|`>lC>$(> B=.߽XhV`< =eN>Vz>n>>v>L>Q>_>=`<ދ%@8->~>z>6>&t>j>H>>:>|>VJ>=?=y<0U=p5=<;>.ߎ>RL>?6??V!?_ ??P[?I>>x>WW>2>`N+>liD>ؔg>r>Ta>-O>,:G>lh7>&>2>a\>4>>>>8>>w>>a>f>iN>r=`@=P2@=`<aAz>n>Y>>z>*>r>@>dw>t>|*f>WI>w&>F>\A%>KB>MU>S>F>dA>L>K>8 >Rq>>ķ>8P>F>X>ѻ`ݽ'.XAp&Hʽ+P9='>uG>lE>=ॅ瘽8*8%s#,oPGT04 cp?ssh58Ƚ`2᫽@_z<r=ز==hy=@)@ ==񫽈P 8 ȽZ0H= =f<>W>J><#>¿=@"X6r``rѾ8 Ⱦҹ|6+L|`'<;paL$VtMu(>6\ :s @Ӿ?㾚1L־+<q&PϽ0iZǼOw3d)s-'^Ǒp0y .<ɉ==>h=`/z=V= vf=yc=T=s=|{>E/>p)>>`=8= RX` TڽϽ!<>dd>x}>VY>&>>0>>Y>H>Ц=;ҼP`Z`Цe7<ʸ<%== =T6>k>===*==q=$<;`-]Iqy/˾$ɾF̵l&J(0`=t>>>#>0=@X`ԍ Q:~B@o8K%+,\F뀾(yO[LNE20\S $=ɲ== >$E>l{W>L>g4>Y>`U=@< bpFl+i@ԔM=4w>x>->&>P>->P>F>z=g=ʸ<<_<@"@ lSpph7@9==>b@>|H>8>> Q=9跑,8-_sk`[?Op4-@LS˻;<(;<&0ν\? A "bCKh:0V9l^ӾXݾȾxA$ǜDFھ1ܾؾϾƐ1V{˟Zّy0xHf_DHd3"0kt"dAlSKG+1pm38R;=0|=H@==p{=0[F=<` N{I!0~<=<>( 5>_>]>@> S<ѽ\(sF WT?Mn[h9%>XD> >Z > >==>Lt>>Pse>< b>U\>+l>j>DJ>+>>><+ >d'>v>@%>>%>, O>>⫲>*>r!>V}>_p??(>Zw> >Ҟ>n>Dk>(O>SP>DGF>9>@>wB>2>,<>n>Ʊ>y>hg>Sv>>^>V>>>m>x>&>llk>!>nN53,0½@Rxl=V>V>پ> >>t>h&9>`=]=P===A=X= Q=R< @H ʼݼ@SM<=,>=q>^>>6v>`>Λ>D>*>ܠ>4ܵ> >>9q>8>(>==;=PM%>gh>Pè>V>nR ?:<? ?)"???;?>>>6R>\>x>z>Y>,0>P;>` >,6>v'>4U>O>R(>>R;>>>v >>$>@[>>>w>?>>><>,>;1>2>jJ>w>Ҧ>ɤ> >1>3>A>e>>>du>(|>#>xm>hG>p6>peD>F>>Xh=u/1z@4{=0%=&ֈ>ʪ>,>2>8a> ~>=`N_=ƼH.$ȌzŽX܍kPaR>,=n>k>rm>f>>>̙ >h=j~==@J<`}ļ0ێ1㽰8,-`-,b۽='= =4>0}R>L>?1> > =[<ЪFؐhx}dBxqܽ۽G޽ýJjo;31<`@| >pg===x8=^=蕅== >@5>@b> >>v>S>:>">3=8=D;>f>-|>:Ĉ>,>o>BF>Hc>.5>=-6= ӽ$=07h! h8 < =0=f=(=þ=XX=<@FaGнd& pt0dB$ 5(> E,(T ݽUap@6ؕ( 8:wH ,b]$ƾ𾐛Rg@:ھ9tQ, @ptt"yމjZؾBfJ+#xJ$0DIbi΄&]YTzХp쳾K%ɾ\ξ Ѿ0j̾2|4뇾U%`@FSw`d(U{48XgaNG;=U!9@u˼`<k<1<=?=1= =u=n=Pm= =f=0ͯ=}=Q;yhP'I:@ Ͻ`ॽ^ =X=m=,=O= >l>H=@z+B>,!><*>==:===@.=;>Dq>@q>R>L>|V>Z@>n>,><.>Db>>B>K>>>Ҙ>v>>8i>E>Lt>>.\>hX>>>^>>|> >`>>>榋>a>hO>&J>P>RQ>@):>> d>Y6>6Q>e>,i>_>,]>Li>k> Q>w>r=ѻ@mҼb:< (;=X= >wP>:>&^>X>>=o=hY=ln===@j=(=5=`d=׻@ .ʻp`=8 >8B>/}> >+>Ѿ>>>>> >>w>q>h n>9c>l>^ >F>Ω>>23>>>>> >> ?Q???L?2?n>b>,Y>@+T>>`=f=T>8>0k> w>v>4>c>5>>>>>\>>r>K>>Y>m{>Dr>~>#>5c>K>P=`>\>r>^> >r>b>>“>>6>&f>5> >>v=K=E;D80Wݺw=>c>P>f~>\˻>\>E>4>G==<;@gs< = =ʻBHO<0ҽ$=a6>P>ܱ>f>u>>`>>0ݨ=@8-< QX5X[`vvDj_D4pԽk~==T>2$>\ > >=8=k= E<];`Etm ,pOdhe|FUUn90q==xJ==d=`&:>lN>c;>D >!=`<`wD¤;Py= =q >?>g>`>[I>=>$>=p|=Щ9=<=P=Ģp]྄A!%g; c@\jC} (}@_@oXuic7.I`Qug0rhǽ8v߽X%x-jXNJYĵmF8rM @@Vfʸ?W>L~>#>ҙ>>k>ؤ,>p5=@< Jmh K (J b=<<*=`u= =@=x={=#=d==<@B˽'1@1 ]ȴ`47HG*PGڣfýѽ4b2f^Oԥ@i`rc޾ [+~$蛾t|?TdNS:ޞƾ&վ׾3Ҿ–Ծ徸~>"~ c nZξr虾SHd;@ %=h x~C4r:%ɾЛھPOT #vӾB$Fʁ7PuP8"_콰l#F_tG eb8רXDLpҒdZ!% 㽠hV]᤼PWf TZp"P}lTjP嚽=ļc;Җ;`͚C=H=0x=z⼘J>Ȥ@ෑve<@-n=H=>q>>@'>X5,>LQ%>J>=;ɝ{%(I(a` #bK(4ux`ˣ@k8`X9< = )=y=@P'>DhE>E=>|>P> >= = =( >\(>D!>g>ز >G >\>==d >HV>s>B>R>>">>\Q>;}>Qq>̟Z>O>f>>9>>l>N >`>>P>> >"ڢ>\>΄>Fˎ>Ԕ>>pi>{F>`[>y>tt>VQ>l62>dA>t>>7>>*\>8;>^>(=>= <~E<=P=h >l!>8@&>pR$>>>p=:=P=pp=0H=P|7=##=<:ǟ C:2;)<`:=x=8=%>X>g>>>!>*>p>>跫>И>>(L>l>}>B>|ߌ>.>hi>>o>=>Z>ت>׹>>B>a??:^??g? ?n?`0>vO>x:>B>P~>(r>|Ke>_>p>>(>r>N>l>\>>8>I>x>>>>f~>> XZ>dqD>+>@ >D>j>=>+>S>Ho>w>&ď>>jf>l{> `>=>>X=Z=f=h'=`=:Fʽȳӽpd`Uj;@6t=t="<>q\>J>X6>H5>>0\= q=@$=%=< ϼP֮8x,(Apm`G< d=?>>o>s>nj>Ƅ>d>j.>h=ؗ= < ѼU8B5P:9*4h&>==[=WI<@GS06 "=6lBEU UgkX6D&ý>$>@' x`#MZ'- %ԢHF8Ƚ([׻ϼμ<)v5x&<0 q tԴ%d.#87@/*0$x ٽx 4ŽЉǽHȽ0ĽU艽XcoT;<RH_c(;˻;;p=0_z=u=`<O}i<=p>>I>>䅌>z>LH>\">b==ҏ=W<`OP>m0e-DnCp=Ro`T`ͼM9ql;(;+@ܽC1zYpUzne&ҸC O'vͽ\*Xq>T>m>2>>)>g>x@>w>=f<@ε 0H4'1x;kF\5x0\@0@<΄=p=Xk=z= <ۼU48K@X_ VU?}pb$ OL@ND==96a/X&xm`>ʽx½XXxݽxƽ꽨8뽐`)p/pL:@<@W<&>V=W=@=t< Oҿ '.=i=Pl >*>dH>pVX>x4>˾=j E>Hr>b>6>t>>`>J>@x>X>E>0WF>^C><4>#>>>l!>9>8h>0E>>d>b>??>>M>a>(>>z>XV>ĕG>c;>0>D">8->= #>Xke>}>>>L >>Rµ>>e>ޝ>>hg> $B>>xX=p֠  dJ>hG><>z>nR>_>0>|I>>=(==m=04=@<@j<:+ =X=TY>tN> >f>>L>>8>>m> >u>>dn>BE>e>d;?>c#>>@>6Ȉ>>TL>?LN?!?#?f"?e!???2 ?>>\>Ze>>O}>8uR>)>>ly=>Fb>dqx><:>>>ή>T>x>><>H">԰>0> 5u>̮F>J.><'>>pP >>(*>E>Pn>lmx>ؔg>Lh>>2>>1>̠g>W>$]>oM>t+ >0={==Ȳ=8=H=(=0H=@j==ͅ=e=2=0=>C>P]>`2m>:~>>s>T[8>=;jͽЭ ½`O9 N =m=xP=>e > =x=ȁ=A=2===q;1 [`Ç8_нt (`A8z<{==(=$=Z; 6ptPֽX6P+ͽzt04o4ѼG0`  S8@ɽ}z(@ٲpɽ(Ž06! P < JG=`Y<܍F<~m=Җ=C=5<<<@5g< ]xF$ TB>0*>='e=邼'!TH,^m2~yg̞MPGF8QW|(L1l xӽdŽj@zX"̾pȾ><[kv>{>|Y>6>`=pB=2:޼PA:\d&\'d`q=q>}`>>Dw>,>1|> j>3W>%>J=`b$=} `<̽(o󽸌 4QCZcv<`K<@T< = >1>>x=_;`A 0B$J~j̍*?$=W;@ﴼmבp#3tg\r1b乑!(U1`$<@ |=v== >>$>@p=O'='X<_?t/szZ R`Gs=4v+>>">`>>T>lHy>8 ;>8== Y<z8xY8ýdt.2XWȐnrܱflO(罰1x T2<j@Gᖽ8x+2Xh➾fjHurrƪ8Ƣ^ƔZt~␾ߝN皾\Zɇq4q?}f,%l1Ɛb2Ͼ˾)( @70͕tp LǨByrT29aj^dؾLz;+⺄Qo-z2FNatu߅͉CFt,ezkjޠ5n Xt}[}{tܲseg\3FH0T4`0X xQHO $Q3Y@c`=P=`Z<ʻ0=;0˕=>J>s>>P>>8>V~>_>4*>=r((h)8 h\r_}TN"ƽ0>g;;<<@ =П&=J=@k8=<|@D<4h,~ꉾRp}tz<=H$=>>>>P|>@=ޒ== <䢽򱽰9 @X<8=`>>N>ho>&>>>>B5>&>8>>=>D>>^Ȯ>>PaR>>Y=<Ѳp>`>>t>jx ?N* ?£ ?] ?>§>M>2>6q>N>@">h>@G> >3>>k>>>ȡ@>>>跫>J>5>r>/>>g>Ť>o}>iG>dJ+>\>=0e=<@<= ><{<2=pu=x>vT>|>`>#>ӣ>>>Vb>(>===Hݡ=Z=@F=pC=x==`==/>b>w}>>zҠ>F>b>D>N>l>>`S>B'>v,>>|O>l4>"<>'^>̛>>>p>%?hX??}?,7 ?=???f>>> !>>Hۡ>4R>'>,X>T>0D&><>pc*>ܲ?>[>&>ڎ>>x>>p>Κ>`N>>ac>t9>س>=8=y=(=e= >/>B>PD> J>(H>x4>2>9H> e>~>l>I=> 0>ĥ@>R<>d>X=[=ز=H. >6$>l!>І > ">x>E==p=X=H='=E>x>pQ>T>=@T<`.<s _>=&X=@%u3i<W;-@' `qxh}4-,:Ql|net-YJJJN.h尿Ņv ]ܻһc<i< =@V=D0=<6!= =԰-˽lw#JCWQ=l22=Z==>R>05>(K> >0F==`Ç< vf (_7X"zZFݻ੾&MxcPpӽ@8d0ʈ @ 8=(|֗q"¾;ؓھ.[ѾL鴾wd~JD#`yPx:]kɼpVXP ν2@oϊʞg 9 <<@s<=8p=К=H6= >x>>@=@=7p?PCTH ,CP=ࢿ(=u>h<>X>\n>k> X>0>.=`#=@_zPذ@0h %x[*l!,0>6<qpI==P:>|$>2>p=0v="< ؽg,`(X&ؑ@tTWd<_B=^=A<@IP 轜 DmcejI1=5H6:ԑ l TˣzY,>zC>8>>=<)Q8+*Yv֏TG|yfCܠ,3.L;HIijSuUHwe߅ZY뫾n ݜ"pڠ/b.P〾ToVT8SacȀuD/H@x6$ypZJJP+M\eKD[Ml@u_xVd" ̉:ցiTX-ǽ8iռ;`<<;:`EHl0X#T-o4Hhq\tr'>;>XO>$X>d-`>\V_><>\>=U;犽8Y&;8r=`=,~+>P`y>> > C>D>>>.G>`=>_>D>=c=׼(Xf$$b|ԩm3xPBi@TL| >y=p!=@[= <:pb =p1Y`<,aflF_E=2@ʽ Ow<(=h>pu=>V>T>8> >)= < +*>`<'e=X=>]!>`&>><>(d>~>jy>V>+>D>>~>\>r>p.>=L=G=:=P)>wa>nʍ>@Ѩ>5>>>p>>b>>>D>X$>`>>>>̬>x>kP>)>LP>>>,>0]>>>H>c>>hL>>>">J>@x>||]>R>8U>ЛZ>,}R>y@>+>$>04=z==8S=\>7>`"t>>N>>ʐ>|>tg>8J>*>>x=> >2>(>v> >>s;>h>n>>>L>LQ><>>D>>L> 0>I><>>Ө>p>䪿>>vP>̰>Q>x>a?!?q>v>*>O>)>>?> >8>>?>:o> `>s4>ܟ>0.>TJ>;^>4q>*>nv>>>4u>R>{>i>F>>>(=>j >5>4>@7>@>,D>[I>|N>TnX>xg>`>'P>Xd><>`Հ> i`>|A>[4>`.9>Xw*>Lp >0==x:=8=>1>\A>xA>L>}`>cW>06>< >U=g=`<-z9ΒRQ/5H߽  PJ2!= ,$31h3@8ʽ5dy=1=X>=>mU>F>[> =_B<@b۽|3p =5==X#=A=h'=P=(=-=W==8==PI` צнePl h-LL@[?LBdB*̼%ȿ !Ƚ޼`=T= !> E>0H>,> v==@PHXx`DL%;]=Py=`/=(=I={==h===@<===௘=x=p==*(ݽHݽXϻ`SƼ3#>=(=`DL=Y=E=@` <8hYfYbm6J<$^r<}bl1%䢽@ ^5lmh #\#817O;$BLUt`N19ЛڽP8)c96^᤽нP*^{뜼@]P9< n<<`{<+=_^=I==Ȼ0W`hhŽ0ؽ@ݽHW<>tbv$}c}xtkJbSF,By@DWPzT(OM@V|;굫$أ埾(> tH=qJ逾^`|D|<u\xk,nftmel6fĵmLh ɂ6PH%xZ{Xa A:d D<`$y/NOo``܏ZCa3 0;=l31<):Ksa~?dKкc󾾬ҾHb۾þ|hh7?0ıX `KxϽ^KкP3*)D V8Q`p[L,<+Ty@Lӽ80Y,@;ug<|JU%9XQ5R bǽİ|د0PH@O8A>3e>ؓZ>^C>Xf$>=@i A>I!>dW>f>j@>d>S>@">@>`M>0E3>^ >>>M >x=׊L* iz`-,6+ ѼΙ@뀼0*~C;'<xA>&~>6>϶>c>j>>Xd>#?>*>ȱ9> ^>;}>->E>>)>bN>> >$> >|{><\>?>>>~>=>H>d>p>>s>_>$I>F>$b>֋>l>>ZT>k>p>ʎ>>>ۑ>?>a>>s>~x>>dv>$k>@>><=05= =#>r9>8]>B>>nc>(L>y>_>xS>`>#s>O}>=q>Z>Y>l5Y>2>>6> >XB>tV>x> v>ѹ>Ы>@}>>4>>ଥ>İ>>&>>>R???Ps>Q?h?l[>x->8>>>>fm> i>>D>><^>R9>&> >F>>>y>@Y>\>9>< >->w>->Z̮>O>̞>܄>ԗZ>V>g>r>d>M>I>^>$y>蓅>>gv>0p> >\>Ì>8>rŀ>>܋>bԍ>b>l>86>hi>>8q>DD>:> >H'>pS>{a>I> #>h7 >c>ld>@=X=gI=P0=Ǒ=H#=8==@ o====5=xj=z==Z=@<P|lv-l;HpI=DF$H/eK}" wco:i9c`tΏC@ɾvݾDkBFʎԾ;_<`;l$RtL P9w07oD:趄|l9d"a6Q(=n}zK^`~M\w^lLBmܐgXke\J(CT(ZndqXprh̀ZdX>􍾆+fLG2&(d~W|l$ŽߘƒpǴ3pн(Ƚ!`HﴽqNHּļټv (Z  8뽰LJ <J=`#M=P=?'<@9,vʼѼ@pk<<<+p ] )ϽP|2cꂾ쁾P}@~X4dW p9Sx匽tu]riY0_ `Ç`W;}X(ѽXH.Y3#-8Ľ ];=);@4B$@<<7`@4$щ@y%=pE ====PT=B=1=^=~m=b[=`V=(== =0>##> >X=+=@== =x=hz=Xi=`U=I>p=h=< f@jr2̢ R| RP'SԽ߼ f<9=;`輠{靼ұdo4<0< |<_<P<<l<e</=$=H=h7 > >DD>`)>x:+>h@>f>>ǃ>*>6>>>tCl>4V>l]>y>Z>xu>e>g>v>ҏ>8>h>jC>\C?>|N>L>P4>t>dM>L>[>k}>8H>!>t>+>tS>6w>Tu>Q>|;>I>$U>@C>$$>l>$? >|78>`A>T7>A!>=X=0=y<=_=`@=ز=I>ܡ9>h>p>`bX>C>N>Bb>T^>DI>C>l%`>N~>x>_>O>V>f>9q>ԉ{>>g}>Dr>m>o>x>FB>8؛>>n>,>? ? ?n?:?_>?? ?N>U>> >>8>&>$>T> >>6 >>P>к><>>6t>@>U>(>Hc>xl>b>">*Z>||>H[>81>9>LO >|$>l$>>{===<>`<>>J=j=dn>@>yG>9><>tS>f>̏a>>C>>N> >b>)==q >\t7>V>Xd>`2m>p!`>9>>p3=`=*=pe=h=,#>tc^>,>x>h[>|F>ԕ@>=>3B>!D>~<>9> 1>%>>~=ã=a=@ U=p(=<~#ӽx`哽d=);ݻ@):;==;b<; V; W<׹V;4;#9W0 Ԥ,#y(H>Cgēa@PaD8 ;c;XU S4Pq\ ὐ'콀?BxQ( ȃ`& =x)==@j=H==Th=8=ڏ=pq=(==`~=p!=(O=h߭==p=d=w=?==U'#n' k@5԰H`<;](XԽ н4#5 U罐 #m/F&̩&q\̉<~䇦~dZvþ_оΫⒾ"2퇾ԙؒ긾j̋P22@oe$rꄾw:\w7xH 兽M;) D->(==L>.=؀>=0=p= C:;+=&=p=<v==|O>u>R>b*>~>$N>R8>N+>>T>>h5> kz>>c> >>ư>> 6>6>h>Ы>>V>>$ ?TW?>>><>2>*>j>R>*>>m>Z>W>===> 9>J5>ߖ>e>^i>i>b>@G>x?=a>T>R=>(>G>ԙt>>$i>v> >Y<@ 0P=q=8>0>22>Hy>j>9>|>$>K>h9Y>lo>pt>?>%>+>|]>40->4>/e>>>܁{>]>{4>W>h[>:>h>Vp>Ч>P>v>*>> w>pǀ>>>L.>h>0#>>fH>@*{>`d>~>|{>;>|>l>u>z(>Vg> >T8>@> ~>,}>#.>~̆>pٓ>+>||>>䗅>(K>޾>>`=>>\}>tg>#e>|&>=P= > =7=F@||)̌nۊ*'(Ŷ ˽hڽܽHvؽh>P h> }>H<>E\>T7> =@=Ї=U= E=ǘ==>==/==Ⱥ=>=~ >>4U,>Ȁ=B ˽ʽL:ug<==9=и= >>=;9q=8=WIt==<}]Қ羒 Ͼ81koܟ/޽X68b0Z98XXlx0gdw-c;Wp 3Xs3Vz۽4p7UPc#h&]n`!8Ľ@iX gPxF:hNѼ?¼X<`ü=9=∽w(m!() WQϻ?P==Wn5ddWVJᲽ@"<"!ExnfP:9@J<lɼ70yxν㕽HO "#؃ὈQ\` |)g׼@@&<)<F<`0& =x=hΧ=x=8=P(=W=(=NQr> 6> S >`'>*>x)%>8*><<&>!>>M >P=(=( ==p4=t:>H;>(>%>g=X-=^==`S|b 0Ћ><<s<@ ?=`R==p2=8=(;>8]>^>t>p]>Z>@A>x>l3>p)>$e>\EY>=>=8>DZf>h$>Щ>E>>>۟>2>^r>T>D́>Do>1c>n>̼>>>$>9>lC>N>>0=p#= = C=J=0V=0x=p>ҷ>]g>T>L >?>ni>W>`>ԖM>P>XW>L">+>0*>p>G>Y:>7>8>hX >Co>l>>pa>@=0Y,=A=L4>_>Tk>8s8>F>DO>9>>>"2>lX>>C>><ů>>覥>.ϕ>`p>>rs>Xb>9>)>f>>I>R>,>@^f>>8v_>TT>wP>>x,>O;>G>l'z>>nt>th> I>ܿ>=x=P]= =p=@ㇼ@<== PzVʼȽ@iD!4^Xfraս(@!"x½.ѽp:P9Ш,۽Pq兽$ pPJH==Ѕ=K>X"=4=d >pV>y%>h==u=L>9>>=0i=OOнX=`xZAB8 ィppWe@{6&!?P8qؽTZ+hIR4o,:LȎV?ýg?$.4*܍@oMȎTJ2@)>@;<=A= =>=` ቼ .h=@>$c>@e>p;>>fm>܄>ut>D{1>D2 > Q>4e%>>P==j >>\>P= =f=ش===7#>4 > >>0μ=La>1>>4D>e> yY>?>|F>(o>><>!D>8s8>?W>>v:>*>s>Au>}>JQ>Jb>1>K>xZ>d>vÚ>¥>K>rP>>"f>P*@>pA>> =<;p=ic=\== ;VP6pFwнڽ F(oS@׽BIf<@<`0p@QB;t<;ڸa |F4;@6= ==( =|=dl>+>9=>_>[o>P.>H==!>>q6>N>*>6u>d > >~>F>hG>:=='> >ؑ=l=;@F<௘<:+<:@;===>=`4<i:L;SHν $ R==0=pu=x|=X6== < G u upT>WWzѓ}LN2P;F Rᑾ츾4ȾᾎپrԾ*K Blf*Lоjܰnݾ8۾vĐ\LήྴվINpXþx5<ܾ徇 R{tDܾ:˾8ʾF$V&a47丄ުvM˾qξLXNAv0ݎYxœW}<.{Q}%zk# R`Xc />'wdTVr;lbqľ;iҗpBž;֓ȱzǾ׾=J%<$ؾ }# !jßt ;RϾxƾ&/Lyワt߾T۾ ɾh⺾0 3.5S`>Z>> >>F>Y>0>u>'i>Hgl>8 >:+>JP>2>*J>C>Չ>\-> >>=(===Xy=ؐ=E>T><>{>/>/>,k>Dž>@j+>=&=@>=ॼ(UL"%E=pH=L> =@A==`= Ӻ+l-|"(pf:R=\>K>`><>궸>g>h$>n>TJ>ʮ>A>Yc>so>f'>@>P>&M>л>R> ?h6?M?E?Ш?k>S>!>>??$,?~ ?Ҽ>r>߬??Ȓ>J> >D>: >>>?\?o??4*?q3?()?)?5?hI8?jE?!?]-?i)?Y-?~W7?\vD?F?;?04-?/(?UG%?!?.6 ?P??E?/?"?q?W"?2?@1?]&?I?#?4v8?L6?%??M!?@/?#?"?$?,?\??Ql?`?³?>fm>|7>Po>>$ȩ>>By> >>V5>f>l>hT>0P>\|>><`L>4V>du>> !>>*M>^>l>xMK>=6>=y=S=P=B=x=b>>~#>x g><<>8A>\"@>|(L>L"{>gh>g>[h> _> 1>X->HV>,B>>h=B>1>K>{4>lU>'8>> =@֮< f=P">T>yt>J>JQ>x>>0Jt>V߀>X>&>(=Ri=x===\=o`ǻ<`Ç=>7>^>>Нt>h=靼 QM$'\s*LlUѽŽ @x :`B<cM"$ȱmɃtHtՓֱ$¾Ծ4uܗ0 $ܾtЗ ʾ4VpݾپNܾB־Zm؉.ߎ苾5游8v:EɾFv(|F̒JO" <ㇾ\{잾><^Ӊ@Ug}V뽐UZzTPŨ`tu軀p;9(o󽰐 k`=Ј:=P=p7s=>p6>@0>$N >PJ=J@;Зd0>x=pQ=@gp5YD`r4h'j (]X#!7T%3( ܽ4,Hf gӅ~)о>~l4˾}ھ8dھ*Լsb˾r@ž:放DU(վ奄d}l[$XJbAнHQDkV5lE jYlpTrld4dL .Έ;v~UNЩ9\臦=0#[=3Ь`ȽXǽ 3ĽFo=[=8=*=V>#>`">8=@ <`N_==ؑ >P:>#>>d>8d= <@y"UW:+=#8>(=T=2>K>,J@>|>>>x(>x:+>~== ><}pY3R>HQ=^=>6==@< ;Zp,ǻ X=蹫=h=<`N_`.m1u;@=ЊT=⿼8= >'e= G =62tӽ>Q VY3找X%gD ־1Fx羊羮)Pm J)ĔݾFUjl9^ lվ2ݾhZ.B2HZveqȎT$E1@C|G1Ž,H]6 㽰Fu=$4)_<+PS?=@v=jp<vG=?>(>>$,>W>t>XC >xO>m><>tT>B>`@L>>[>Np>0|= w=8xy>$!|>==| >1>l:> Y>>$p>=W=0w=c==8q>C=@֮<^ =.>p:>=Z=8-E@Qj( ӽ|NQ<@)<{o= `ֽ(ֽ,@s1< `@@ջ_¼hϽS[ ;=g=9@g:<;P =<З< =L >=K=<1=>hZ>Ta>xG>,\>̌>6>)>44>yt>nu>ܢz>dj>g> f>|>>>>7>t>o? ?x?+?8>?+?*?d ?%? ?w[?XC ?K-? ????]c1?>?H2@?(?#`?p>. ??x"??H?t ?r&?8"??ۍ ?4c ?K ??c?&>@~>u ?h?(~?>K>Lc>x>U>`@>j>(^9>k>>_>>7>>pZ> ^>">>>I>XA>|S>LSs>a><>N{=}6=P=">,.>o>*=8=lu >lU>>_=Eu=@5g<=(=n=D)> f=eg`Ԕ<1>`Z>=@B==@J9>->p=2#?Q=zb |<=U>8=`+F=`š=>=r=ϟ==7t &>4>p=3=xA>ˊ>d3>`=>E> >| >=h^=n= T<]<=ЊTPYk=.$>؞=@ol< < 8^;:c<eg4ܾVk\f`'@ 5̮F9+(V犾υj0Ͼ~pxd㕾qt x6wǾe;g ݾپӾ̰? dǤd㾀i񾬹Z1ֵj(e2l{((eXF潐XUҽ3['ٽXc=@L>i=٫<&= g==@ol`g=?<#=Hx>]>0g=h=Db>8eY>B= <\=du>x> <=؎=pAx/ @TLxz C=@0d)>N >.>>= >>[;>=9=@>,k?>=8">>>>6>\? >$ł>V>З&> $r<>`q>X3>Ti>X>i{>R>lF+>4>6>d@>>=@L= }=P\=q>=pd==З<$<<Gs= >M=@O0.P<]W=ر=Ќn^@ͨH ɽ=h}`@"<@x4:`6< ʸt)4#[*Hۇ\s*E0%^∽\;@R<8ܽ4P0(,轌+l+#0.ܱ2d~5||ֽĶzT߀$8Lh @jȿ$xνĽ НZ0<}MpyD<3<ǭ Ąu0&@'TpwW?z.t<:PJt!h5ٽ|& VX kNT%en2~S:*䵾Ƴ"ƾ.>⫲Yɾ]. j̾."?ԹvŴPn쀳d'Λj~v䒾4|A7|.𔾠)K $OL |ӽp@'/н)꽠oɽhX@ +}(pF=VܼTҽ 66ʽ կ@̛<>U J =<@j :Ǽ`=Ž0*pF߽p(ý{ZKaN8424uR?bPx`ȶt gS;:0DP;sBN\t7 LD!vP<"=H뀽@&C` :Sx;1c<=քpڽ8>-><U>U6>q>G*>n>P h>D>Щ=>V>8>t M>7'>>d>Tm>dqx>&X>F>>r>TP>>Ȍ>dqx>R>A>?~?L/>ò>D>?E?>>t>X>>ϝ>>z>>e>h7>>>>L>>>̞>`>H>>>`=>:M>~>L>f>0Ig>,7>N>>ઋ>ő>">QD>o4>>]>T:9>>C>Lr$>b.> >P{=`mD= =H=p==8r==(=p\=i=8c?>x^=N==9=G=h==$v<`4̼=T>S>u>=(=?=x|=P?=2= ==\>DH>:>PW>==V>j>H=Rw=L7>I>xz=H=@\L>V>)=f;HB=M>=r=;=@;@<@==(o >wZ>K;>b<0;Ty;T>`fXѽ0ʈ 94;@O@0@VPa@ U<0C=y\(P{<߼8׽{d꽐529A̭99x4d>m@M==>z= E:>}>4>8wl> tF>==Ԩ,>F>P}>(rf>@>t>> >8> >@h<~`=LP>`b>V>rb>>N>x>ˊ>>>?>HB>/>2w>>`p>>>f>> C>>>pC>=1=>Dޔ>j4>m>|>m6>Y>GI>3B> "(>=,8;5=,7>4|>*> =&f=p5Y= >>T>mRJ=8=7=};<@<@K=(=h=dZ=H=p=.ѼHCƽ]d0=`O=pD"@ʁ< tL=0DP/=(=D#f =]=[=>j=w=>>=J<+=>X|k>υ> >X=r>>Dd>>M6>(v>r>2> )>H]>hG> I>%j>>>8]> >0Ft==7>ސ>@7>=c> >>>> W>q`>X>`/=q=Dv>>pZ>:>{>>Tk>^=g>;>l> W=0@Q>,#>@k=X>Z>@=ǘ@X">8=(ܽٽ%\=<`HνX5 \SԽPTG + @k8GɽT m`; > #bW HD뽐 `8^Z.4dL!-^ajQ0˕X:wɽ, T&{0!@BP&$cF؄nE`f<?*fQ8؅{<ӎYUЪF|%0Crܾ`rO\Ǿ޾pjDxҾ|;P*Zt`uF⾬Sо|ZѾFB0h~2Ѿj6#2  8۾Ӄ2"49_6~(-"PJtM,*Nॾ X @Iƾ9¾"U@<(ּ=hn14 ׾T`[\cP[=%LEH($JOp?ƽ`:\)x 4crpaa6`~8燾D̛(ÜnA}p4̌:;?=TI%1Й2$ #齸ν4=LTI ͽJ齜pz(Vx0~#lx}=/ 2*lZЛڽXO!rM0l̽н^P)3tp o;$xEnxYRjȭ&`OLjDXV+ `ai8;˽0 1P5ӜC[p}`Ͻ!@!A<_ (KͽHX=p'=I=06=-=`v= >@(a>4c>*>7'>>r>,>>>2>ܐg>|c>S>Du>䙹> >sI>PV>f:>2#>B>*>|G>>(>pg>>>X7>^>8>x >`>.>>h? E>R]>+?>8B>F>>>1>> ?j?'>9> ?:_2?,?nA?rc>`>}? ?`a>d>M> ??c>F5>un ??>d`r>>R> ?W>&>">>:>5>c> >$An>Z>L>B>%>c>->9q>>6>7>TLL>>z>6Ǖ>B>>=@}=y>`>\>(v>0F >w>><>K> B> >Ȅ>W>|ѭ>J>>X$Z>>T>> >0>Ԗ>߹>>|V>T>L>>kh>O=`??>>>H;>,>&^>>J>%>ѫ=<>3b>X>P==>k=Z=8g= I>8> > O=@d>@<$L=Y=; hj~L=0>H̛=< ˽ȠAԼ&Β kFoHѽ`<@< "xZ A=<@0,op;`>AE=X> => >$<c;DN>>4Q>y>d/>Ҽ)==p0>pI=:@>r>6؁>4 >TH>@'>`3z> =x>4>|v>@>>rȧ>|> 1>=2>5x>$!>Y>V>TH>V=`xb>[T=Vq=TX><;x<=====0k<ٽ@b?=y@>:cR>@> I(*=<Զ `fX=h=`<`= >=y;pc=>=þ>HH=З<(=X>hW>`<@!=: B==g =@N<=,>x>><*;2=R=X==5>=x=x=7< <`==?;@<8>޽>Y> =0=`H>UN>+>4 ><(j~@<̉>8q=8ch8ϑ=x=` #$@"@G<y@ pXyi`,Ӽ(HPx)%=@pFK _I|yXNE XUҽHt 𝘾1WfJL 7(;X܍ظm grd[p0|Ts_,ok؋ϟ~TptԾ6%PT hھ40ۖؗJľ6BھоpDZzk"CԾgþ:wѾ@?h⾲վ8eFw'xݾ˾>boܱ̾5׾ ^澼Zr0ʐpxI T{0Vb"h$\AѾV>ܝ9>Ɛ>r> <\;8=2<>C>>&>µ>%==<$ws>@?N?S>=">>>>Ht>s>0o>P>%>>>>XF>*>>s??J>|h>T&>Ǎ?P:?j)>>~5>>5 ?8> ?O?x?z>:>>~?º>>> ?$`?? ?mS ?V#?Q ?>>>*?0?b?ފ ?:?y?0??0 ?>U?'?"b?"3>o?$??L>>L>>?P ?}>a>>S>>f?)?^,?08>W>>?,>`|>lh>>>J>>*>Pè>N?8a>9>N^>>>*>Dg>>>>>>>Ή>>>l}q>ꤥ>>>B#> w?>>XE> S>8>0>%q><>$> J>X=x)>P~>Ix>U=>Xd>R>@_<ٻ,v>3>Th>h;=7><>0>/.>о=._= g=Rqμ@Wڪ׽vf=$?:ڽ =ph=7^>=@k0w>p4=P=d >*\>iG>s=%>֔>*~>>~Cf<8>4g?>=@w<50`R=R=Ι<к==`=U>–l(@j>`G=;*=`=<p1%؟=ؠ=`ʽdGڏJ(:ȱȃl=^_p=a=,0ʈd t.f8tE?' ,{96wн`<0= =ffz̼T0=@=` <˽(׽ h=H =P`0x@==y;Ц=pW=f>P >=)== =\< =h >H#=k=e== =<=a=>U>@<h;І=tP>ji><> KT==4>ܐ3>F>>c#>*>=h[1>iN>=C#P"#iHs= v>><_BY=%>/>$>7>b===y N =$I>>S[`b`=>Ɋ>(=yz#>,>佼xs=@==^=@ol==[}<@EYڸ=(Z#l(ýH.ƽ"@D<-napF߽AD퀾47<.{xRkxnJ4ON|f^ 7Ȓ\jXfؽ+܏ھrޛ Ѿ(J/NSJ `P,ھUޜ#徇ohϾ=up$ܾ^! Z4ӾʜJQR<Ӿd\!;( Ͼž ݾH~:,Ǿnwξפ﫾ƒԾ$0پdʾžbԾNԾ־쾾!ѾξD2Uƾܳ|㾼ۑR7̾Jr>:Hᾒ곑x6Ӿf`Wi$rFr_T |۾߾H,@]Y~dYHDӽ!߽d/Wx.;4S܌3 ݽ0@&0\l:Dp<ィVHu˽6WT-`Cx7Z0j,뼸9F㶾sZ0I߼ .;\.>>n= =0===1=,)>]>\C?>;< jm>:w>1>Q>6>nU>j>@_s>>X>`/>>@>e>>ž>>>D>>>0> > ">>?k?%>>ۖ>U>nT1?7!?~>t>*>?6P?l>ϟ>N>f}>>?Ҽ> >d?>c?A?5?<> ?X0??"?">d>>0J>?>?B?)[?S ?> >\ ?N? @?u>6>^?>?s>> >>4 ?G?~>4c>?>>;>\>j$>>X>B>U>R>Ld>ŝ>l>08a>/> ?>x*=`B>/>P> U>>^>dû>h>T]R>Vj> >(O>=`{>k>>^>=x?=*>T>݅>==xH>H>>>Aq>w==`!g>E\>PA>b> >ߟ=8=> >`A= T@l>pY=9Xq>=`鼀b;kұȻt gph>@=`D#:0b=m=xbP =HR2 -=>0=qPTt=~DXLz1-(3#0 ,4'C$;Ly`Hw^JxնY^ࠥ<39Kڐp1Yѽ4J"CThPly;tsy؀:@<L:@%x匽hS== >z']Y8=@!=F@%=<>=5<)= =$>?;>ɺ(½i<&<> W>|>== >K>HeR>x=K*)<0>>0=^;(Pu8>4v>`ǻ=>Q`G=;>ZG>訥= T;iq<$=> =ppX">%>&=CA > u,>@d><8 ;|C=%c>Y!>~&ѽp>2>@WhpR$>t&>ͼpyq'@ =xKp&>>(v>=`'p3= hS>K>= ꁼ ̩=T:9>P=X==п=p=^ٚ>Υ>h6>y=0[=괄>>?I>(M3>Lo>$>h=;.>З>n>l>v5>r>:N>q{>I= 0=T>RJ>L>>ꢋ>H>t>L>>>n>z>W `<>Ϧ>6>x= ˶>z>c>1>4O>b>>0z+>Q(>jy>=7>n> d>ʠ>8>>-=\>hA>Dd> >7>@9, Pw>`=<w=|;>v.=`=tC>h{#> =H<7.=8b=@]=]Hwe\P>hd=P;H0x=b$<`)e/̽==P轂Ȇ/ J=ļ ˜@Q(0|D嶽LPLxcƽ.S0eݽŌlFf g;xJ$8V"̽@n4|H>=6KTᚾ0v*举@X6a.OT%rdKԾ'iJer^ hk^L:ѾNspat޾D%Ծ̾~;:ֵ幾քԾ2$ξb׾B`۾Wodn` #\蓟H༾_j3 Ȳ־r>̊ K>>Z:`-=y>>ZG>r=>4˯>>~>bo>4x>,C>e>@>l><>>i>P>? >>f>t?.>>->$u>2>>Ǿ>J> ?hh?>>4>d>$>\>> ?8?>~}>?&?>i? ?>w~?)??ȴ>i? >b>n1?|k=?Z? >>ݾ? ?E ?L?[>>s?">̱> ??P^>>>T> T>>P> >>>?>>c>V>>a>\>ʆ>T>>G>@>> ˉ>“>~(><>x>ދ>0h>>E>:>ʰ>Ӥ>HN>5D>>>>,>>= =9>^>.=3=>Q>,>n5=@ >>$ >9=8=K>X%g><;>6<=p =PO>h&><=)>,v>6َ>=@vx>pix>=;<907 = ؼ$ (L=1=O8νp=p,=4+Ypr=R~=p=L '@<eI6ѽTZ+ "8 8U@)8 HTiw( ı|H. 7gLBm@&ؼ`6p,(Kؕ=Y=ü`nP;F==p>>0=P9,=v>>tN$>N<`*<@<[=rƍ>>}`A>xF>+5>8<>{P>v<T=ܿ>>`fؼ->>K>c=>(; =@&OK===>`A=`H`#=t1Y>qc>(=@N,i>>L=[=(^=@(->]>%>@=8=-D=P=>> ʏ> ==XD>g>Pa>ЊT>p>q=P=I>>Ph>aѻڋ>>>(>~=u=d.m>>{4>A >a>T;>E>:Վ>>>C>x=۷=> >=lڽx=~>>d+F> >>>R>'>a>x=V>ЪF>9(>`>G}>s>^>D\>>>B4>=D=<=HS >Z=|$>D2>(l>l;$<쏅>><` F>@u^*=Pa=0#',k?@@<44>#?=[ GW= Q ɂ&<"}VJ[x\PGI@_ج P]R,Vx@¼XA%XuxrPs1=fXp.h 𼸌8̼a386GW'߼`#M߽@Kƽ/케;P=t "S==J=`&<@hVMn=`=_=%>x=$=K>>1 = ">h6>Lq>=D0=\ >>>`B>ȑ==Hه>H>z>m>@>jw>p 3>T>>Zi>d~> j> C>>V>>d>H!>^>C>DΛ>H>wJ ?^a?T ?>>?+?#?5>F? /?^B>L ?NM%? ?8?:>>t? E?_N?>>8?͉ ? +?(>ؒ> ?4/?>>D>f?V>|>>&d>w>rB>>>,?H?>>>>=><>X>>t>> ><>\u>Xi>P>hW>H>ݲ>>.F>q>>l>,b>`>~>Nb>>>F>0Ig>\|>>P>0Q> >4>C>8q>0w><>t3>ز>җ>">=|k#>>T>=趄=>7>`q=x:=L > >`=(=>|5>Xy>hk*>|[^>0GM> =0;L>^>j@=0=@=`=d'>r=X=P5L.ݽ= I>ep>{?pz~m=`=Pս@P/=צ=F!;pP ص7xν<=pu=n] >E>0{8v[=xa=TaN9꽀A=zԽj*(t`=`(=xk#6 %|pϼ[X(+<<@*` :ٽP5=<8@ wtOX=22)8ЪF=< ЭJP(==ڣ>h;=@ ;=(N=1=@O`<>>#}>Apq =y>DB>(=>>^;&J>&> 0>l>`ԍ=>>L>H?=H=^>22>,=n>`q==e>>{>r>pT=|(> >l> >=|=)>^>>>=Ƅch=d>>tT><>`>PӇ>S=pJn>j%>>>pxXؓZ>>H>y=T0=<`|><.>SX>0>> D>(5>mB>>Ҽ>T> f>=Uv>Hy=y=PV=/=R>`>xO> >H=0=Z>)>==S^><>p>|kW>>_>>\T>->x>4>,*N>>:>>ׅ>>>>4>X5>B>*>L>85>0!>>'>8r>=`s=Qj>>EU>5=! F =p>#^>=ٽc=4C>V=xڽL"$LX=l=@z -5>>HN8Ǧ\29IqόP)оH>^Qfܾ4p,x t&־o8O*|r ;fξ>j4p` ˾lt Vھԥ潾 JDa b=˾fgt þھ|"3BξZBо7޾>վ $ܾ U;0VPTi þ?e*PD|L'6ajǾNþvŴ8o 1T psvy¾JaNNo;|Vy,H&@|78iq4hd4Ȣͽ8/tmhO=&<*<ӎ#Дg@T $ѽ:! 89h XV@IhU< e@<#;@&q꼸w:G=`pUA=\&>(J >k;H D0=8J>= :=4J> >B$_:0>|78>x=o4>X[> %=dM>f>~3>e>D>|Ke>W>Z>b>1>l2>}>@i>>>*>>5>Ճ>1>>?>->d>8?>u* ?xk ?S>e>V?\r?b ???>Vl>?l?~W*?Đ?fq>Ϩ?$?q"?>~?0"?M?@?>>h ?NL?V}>d>M>?>V>h;>%?>:a>6> ??>t>Ƶ>+?>hY>T>v>`c>̞>F4>F><>)R> ݜ>~w?(>,>&>>N>ؤ>ت>,>>>>Ȕ=`,>>lE><ˆ>`>x>6>Й>&`>`> <>z>m>ʐ>F> VG>n>{>q>l >Tz>j>E>IU=|S=\>~> ە=0H=c>|n~>09n>M=M R>TJ2>] >=h=XD= 0>>(=RN<L<`=d^$>`v=0a%b:=h=T=B<^ *N=>!b"===oh= >y,0V矼=@U=+=`p>L3>`<t`׽@-<ȥ0Xp 3 ` P^%O ?ЫS0;@q sIx=HVL$`筽 0ཤ6QoDM0{8XtXHppغ 8<0]`@7M-N<|=뽸 Ԕ<M/ 04==;ʼf1=l=&=@i=%=d<_B==pi=p5= =`&=H >x>;*=`>==Ю==`=4=`[>`=@&=ܟ>>>.=8a%>p!`>(>+>r5>=p܆=>z>u{>S>cv={ƼƄ=>p/>= <<=?>> Ͷ=Ѕ=&Օ>o>0 Vý Q=D3>*>>0 =Mt@E> =`<>\U>> $o>@"@R> >;K =0H>L>,!>*>@=l7=κ>>>n;(L=>f~>e>`x=>^>3=S4Ft>A==$E> =<`x=>>>Lo>=O^>>>6>*w> jt>0O>>pd7>E>ln>d>NQ>8>2B>>=} >hi>:>V>@7>1=8=>8>]>d} >ȱ== .=B=x'>=="+>@W=2=8_ >\>`fĦM>`O켐X@`eK==<8(g@<`=@< K2=G P۽dl˽v<=``>l'z؂TX@ D,]`8I\b$X ̉XC\(o?@<ڽ*Xdڳx)Yy<@|dͭHR>愾"+$lw̰ؓھp14HڔJq F{ضsw,\QmpҾLaҾpEc޾ba\g_@巾پƣھR9\Ծ ̌Ծ,-(4bԾtrʾȾ4TJSپ*0Wƾ(ʾl$ӾӾK s޾BXtXzھBϾRϾ*_GI2Ԃ$r2ʎԾjx2 @ 0f ־ܒl⾲'M&ҕbvy;KǾ2ؤƾ7 ePRӾ ɾNǾJL $ž.¾Bپ_۷4ȾjlϾq3Ƥ ! BF㾾т.]z[žz$`[\CsޏR$ f,|J~ķH'>N]pP`K8xA>H7P'WPTHĽ7La1⣽l lStv“c=xtjBpxPvX=0#[=l ˾*@ϼ>g;2@gN=@==@@&<:-R=<@x=D=@ <]M=>>#=0phϴ=>D>IA>їM>zY> >>>{>L=X5,>>8>.l>a>P>B>>>=X=T>l?z>>>H>">Ժ>??@?N<>W>H0?J?"?>~>0>ɞ&?Pm$?fH?d>f^>[>R??j>JT> ? ??>*?$???M>>~>*Z??EB?>\x>>I>`?.? ? >u>?3)?>6>L>`>?>zY>Na>@?>>!> T>>۰>P >k? >$O>X>2W>>>>>>6>>D"> >>Ή>,X>K>FU>Hhy>a=> jm>l>Ξ>v)>;P>)>2>x>ք>Xx7>H^>d> >@|:!>xo#>qg>b>U/=<<6!>\>=><\L>= Mn=觘=h=>4=(ֽ0==(҈=<55u=P P(=80=B %@$=0ͯ=$?_S== 4hp@(Ŷ@<RN-ܞF@qt'> ><8= >$=O==>p=^>>=P.=@!==>d9%>=`BQ>=<=8>E>H'>݅=p3?=0=lC>=`c=0=M >=P>C=Lu> v>W;XR=!>2B>`=,"/=>>> = Ш,=Xd>>N5>C;{=8>'I>7>0>~=@ o=>rq> L>Ѝ{=>y{>ߟ=8s=3=Hޮ=t>>>`?8v=l>m>T\E>o=i=>N>> >p2=L> =P*>D>S>y>B=a=䖒>L>Z>,>$;>>`> Q>=~>>ׅ>S>Щ>2> 0<؞=(>Z>X[>dK>>h&>nb>G>O>Z>=+=]>p>|8E>P=RN<>eu<=p >`=>>x|=И= <

    6>X- SM= >,<>p@=.J1\> >`W=6`;>L 4>`'=i<=!<G xS8伸f=B@ݽ$>8POsw0 >7޽Ij/I@޽T}DPHho[;L2¾`)a" \84e5x V@,(䩾B۾blC\ 0 aLs˾` b<̎Vnn&Ͼ]羺_p~b&`x| nX&Rn` .xC 6վƾW:޾Lþ~pXgLJ_@kChݾzg ZwI䒾҆fƒ@᡾wD 6PPq?$J^+4|Lخ@ε޻\TкԈn`(lUK`pP`2,i o$0z_!A`=⽚HHVh7F0,;`G=iO½;f>0(>-<C)L>ω>4 >5<@d>< =pb==p >>4C>o> ]= I>~>iq>8=\v>>H>>n=pH>:>P>R>A>>>>0>(>\R>i>>xI ?~ ?Jw>>>^?*?.>ڳ>N>Z><>>?D?[>@>>j"?´?t> >Z>4>i?|? >>[>l>X)?%$?>>>@*>%?M/?0>>>ޱ>@>h><>h>x>> >K>ޯ>X>6v>/>d>>>G>>h>?> ˜>$s>>4V>S>>:o>]>Hx>>DH>>y>b?>>>K>:>@%>{>Z>L><(>(l>p>t/>^>#>>ؓZ>8[>,ѕ>$>7>(p>D<>A\>8d>Fi>6>x>_>@<]=E>9>=;^PT=K>8 !>y===8=@>ɲ=8=`-`===8O>?>;8׽Pq<`=;'>>P^߽< ҽ=x=Dck=$<\<0_ o4@v<]D<'W= < ؑ@{;@>;` U!H=^LJ |żĶF>ȡ=0P$>`憾ܽ`;R20kh(Ƚ:`a@hսH"ǽ PTG P@H 7=(((a`Pbû@謽JkP*tuI=@R<ֽ\cὰb򜽸vPP10@Lӽؐ@x`=8d= <%/=]> =,o<8c=d>=0l==r=R>l>le>I>$>=>\>2>`A=k>@r>=j;=;>,&>==Щ=`>=Yx=z>F>b=y<$>D>H>k@<ħZ>~>%> 5==C>b=es>>9P<\>>h=4/:x=0> xL>D6@>p,>>=P=8">">bp>E> #>0>h9Y>R5>">`>=c>^>j>(pL>#>t>HW>L>.h> D>X= =ܾ> >|>P.t>F>ȳ=@>=Z>˲>>?>|4>Y(>|>>xpd>c>y>s>h>>Td> gM>>(>=c>>>$q%>=Hr>W>L.>>j>X>)>(=Lq>%Y> Q>x(>A= T==0=XC >Qn>Tz>0k<%>i=`aK>\a>=@Ƽd>0.>@< ە"@;='=0=y=8=>L=Yq3<>F>s=Pm˽ʽP{=@ >@[=P-罘b<ϭ= fh pcP|(4Dh)GxK1DBtL$a,Ѿ$hB^,ᎾU0ݾdJ)O!$q6ネ־[hj.þt;mj\CpTؾ^;׾;($þPξk8 渞0|<־y1*;Ծդv+ϾcɾžJ뾘`_׾L\4az|6ξU 񾾼3sNݾ~澀i4ܾ,*Oվr>cKԇᾼvor x2!l  &ؼE2(̟JɾelNF%޾ L)4|Ӿ2#NӾR:a~htվ HJ꾼Xz N|ھ^Dj_t֩J煾p f~2Rʌu,eeLTpvJ]=P\E,(hRlV$t|<]܌3I/CE2:h Զ V@Z0 ˜pM@XG>pS1Kr&P<>@WH;(=<4ȡ@NQpr> >`G @OPL>t^>@=PO4=>4> Q>pF=`;==xb>>z>=U> > >\TE>8>0]> A>>jE>R>$r>2>n>*;> >>䖒>ڞ>ǽ>ޠ>>6>&Ʃ>;>W>q?! ?$>>L> ? ?/>N>?]?>R >n>?M?V?D??\>n">C>>H?nS?b)?X>!>> ? ?Rn>>H>h>6-??>x>>O>>?>R>S>@? ?G>>>>~>1>2>b> !>R>r">??$>>>q?>q>tb>>`.>H>>>˾>L>><>>)>>$>>xK>j>$>q>>>H>l>>X>Hi>[>(p> >y>>@'>~>=`=Y>>@>8ů==D">D>$>==yU=R; >lZ>{=t<x=@LӼ 8</5==pS=, `šv.< r2%I= yej@<I p<W=@N<o^C0A3=9`@v H"Ӝ߽ h]˽ ,p/̼Gp @p pݽgнx:P½H Pb[Ȭ)uɹ<r.9(=qIp_^82= @*G@88ؽ, ॽ ,PN rm5pȽ`` u࿑@XνXὰU@=9=긼 <\<@===+Փ +===Z= ½ *@.=w>c=E<``0=d>@93>"=ج=;=pG=8T=\b>P>=`$Z==,8->O>==>=6=(=i3>hKl>>iq=p=,>XW8>X=p=h:>PU>p$=@^=Y=>,> >>o>l==Y>L>@>|%%>>=](>fi>`i>0>Л=Н=kI>T>D'>P>a=S=X%3>T:>`3>a\>HU>d~>+>$;>,^m>@r>HA>f >>>7>{> f@>P=6=G=]>}>% >(=D>Z>P|>V{>z5>t>XN>pȍ>ם>>>ȢM>,>,o>Ə>W>ec>w>>\\>D>P>l3> f9>pw>P]>,>,>(O> >>T>@H>x== B>P>9>8R9>=a>@>=(=T>7> 1 >xj=P<C=P>>{==X= 8<}p=>0˕=/zJ==Y='Փ;@=d=K: <9x}pn@s^ ἈH.ȁνv`sXǽ ؏&(}ʪ߽l _`q1@,a򿽆N=DzXHdsze>()ꢥlxdhOTɣ#N$쀳0xwpɴގ;$/6rӾzԾ⸾h{ȾdϾ0'hᾤzd^ؾ l >ؾF⫲& ^ʰƾ$޾hI ϾҾbE&~s<<3 X龧! Z׾~}F ׾إzJvĥھ4־4f辘5 "Ѿ3˾]d=]:ʾhܾ.VnB= J^, s2־ھ&3ָs¾UգpǾXpeľڰ|)춾5޾gi d۾N侰K ׾XؾϾhz$HAξ 5N=ƾT|_ 7.Y^\j2lHyجFTT'嶽CXdYX4?40CA7\UTG 0JP޽ܡmTd09kkͽڣ31@:J`.޼[p=ұ<h:Ȁ= L>|JX>H>f>$*>\d>>0x>$>1/>A>d5>>(H>`>k>=x>`=>q>>|}>>æ>F>J.>>D>>>G>>H4>궸>j$>槲>>Z>>>>>>>VV?|5?j?>Y>jD? ?R?t>>L?'>z >?h? ?T>,>d?WD ??3>q?*|? !??D?X??l ??E? ??NL ?>s>?+? ??=?,??~[>:>4?Gt ?p>6?+?J?K>8>,>>q?u>FG>>Xj>̟>>•>:>t>3>>,>*>(>>>N>S>>ʥ>ʥ>BΛ>=u>\fX>z>ޞ>F">>D)n>l>L>>*[>X>mU>0;>Bw>> q><>(=;=$>{a>tM>W> ܢ=0^m==P>=k=E=A=v=$N >#>'=iU=p,={F== = p=@DZiL;@<@<< Pk/5Pxr=0=`;ƼX `<@<`G>ѽQ7@<+,Pƽ 08w'|ЉG⦆Nʽ [Ƽf:CPnHSm@h;XuK@ oy>ü㕽8 q\/5/5Xս (浽oێ瑽.H[4/,hp&P.H(]ȳS`ֽ@n_\N~Mnp'HT̽(M3xO(],;۽@Vf|>5 )5P]Ri$J)^ rp6 @mR@&t <`@v.P7=@ol=l)=1ϼ p;8=X=`=<=<`ݼ &!=/=+=0g== =}=><>s===>@>DI>p>P=X=,>I>XW> >I=P>d >H>ȡ@>%>=He=PM= =s==`ge= =8> =P^===A=@>)>$>4>=Ȍ> >He=(=t>=`===h=Ā >=X=@M= ><>=k=)>)>o>|">~T>g>7>%>l4>!D>rT>^.>x=h=>Ē >H13><6>>R=N>ր>XU>Hh>]>m>F>>Dߡ>t>·>Ȗ>ʿ>7>>|}j>OT>7>$> !>8)>>==H>i6>\4>=<=%K==)>>=@ֵ= ޼=w==J==D==@G<< =v: *ռ} þv 4Nb߾LξEվ|}꾬T羆sоH׾)꾬߾4f̾ٷzLؾKվh⺾B{lD袾X hXF(qDYپ˾(оn|-w}Ω\:6XBW 7tHx 6}jx޾"T -Ir (?L0*ؾ@ξ,(ξ`Ծ4־;žѾ z*<|:߾ܾ_׾Hоh[˾žl~~hWɃt.f y`yX]<:@jTsF~~|}&E.F̏ntyt4$W`aK(bmDeL< }9|riWm{h hZAc(i<}޼XV08eH޽hݓ`C@<C=u=`״=XD==`*>B>w>%>$>d_1>`=>peD>[>,k>k>Iq>>> 0> >@>t֠>d>>z>k>>~j>r>.H>>>>w>@;>}>(>ξ>n3>P>l>x^>{>ν>̳>L`>L>:Ƽ>>k>ޞ>Z>fm>*>֕>b>8>>>;>x>~>:p>2>Ԭ>\>A>>~>8>_>>"S>>,;>2&>>>F? ?&n ?&?N??? ??0?I??gX ?f?%? ?.F ?`?40?4??+??'?,?N(?~%?%?p'?W#&??nS??/?T% ?Y ?F ?>>2>>d> >ͫ>>>\>J>r>&>r=>tw>1c>HO>q3>`> 0>a>ض===8=h<=|==~X>x&>` >H=`= >>G>4 >= 0=>==&===P=L >>8=X=;=\> !>(>%>,)>Dx >X=ؓ==H=J=RN=Hۇ=_=@ < [Ƽ:_xӽȵpܽ\ p 콠ٽ$@H  t+.4EN<`(,6P9,ht,,'[g}T|k`WT"Q<=y!tH#Խ8䔽 _#1$f;`=4"= ,<ջ[`:U!3@Ԕ:bw<<<<0=X=0=œ=xƧ= =0;=P = c=y==∻<HH;`; -_,{0DXC JLDӽ=Ē 8$hݓ ozG )|5HrŻ ,== >$> >><>e>m>Ќn>t>-|>>>T>t >W>T>䅌>R>@x>(b>(d>[o> @>ޏ>4>>>֙> >t>>F>Ӝ>]>T>6> >u>B>Pp>6_>̯S><>>=n=l==r=&=<<ї;K`&п 04`A@mRl@KFWID"=<`H%pUKϻ;<ؠ=8E=> ,>|I>I>K>xb>>>">>>ta>q>h>@J>=>^>>]>4>b>؞>ܗ>H>|>4v>zӭ>h>M>V>Zݴ>(>>>!>@>u>ͤ>"s>`>c4>>=@7= =cv#?(d0X[eI_`ԽǦw½8wld A!<. ./*}%̋-D;LU2ێJt{4]DGFt)d0нo0:G70c?鼀I;?pZp^QumhlB+FW;pp Wz`躽EP HF`d),5c0},tLdDؾ[LtFGE2<';Nj/"0flWN#P} "2$d()L X2ibھ̾ʟ rؠ!T;\ˑ0՝$P #: VʾjH߾ގ~Y޾:PӾоѾҾʾľľP^ž𠿾ƺF4PȾž7ľ׾6pBV ?(!$Z#,NMx9hDqdPRG㾮۾L^ ھvO˾fl֡mxaOn.ɽxԆr_:<`xQAX|̽ |3;*l)`MLӽ좽2wW?xH>Q`GwIi@<(-5=07Tkhv7}Gd2ێB<|4^tdk>n>zI>\S>>T> >> > ?j??&?Y-?Hu1?t4?v6?7?K@9?H6?&.?T&?Z1?z?Z?? ?6 ? ?^?K ? ? ? ?\ ?7?*??Z??t* ??>&>>C>x>ؑ> >>k>R>L?F>L>$]>3b>,mY>@[>k>q>Pk>_>/e>s>tz>xz>x{>82{>.>u>*K>">8>Ō>dqx><>>>~>K>?H?^ ???k?(n%? (?Y)?T)?}&?R ?]/?{ ?b"? ?d:?P ??">R>>>>>>4>e>N>>B>l>>h>D>F>ۦ>VF> >Z>tp0>>!=`=Ǒ= =@gsf@ | 70W@N{T`` 28O+8塽 ` n@5F..L`a뾽H ,(;p@X29ҽ`b|; I~2>HI>X7F>e/>2>D3>@>=:=@=2 8`@H@KFV<<;=@LS== ?<@<$=l=0^m=/=@+<X;%(ý, f9$.N 3[\SQYW>(8 () h V|z8o>Z>>xJ$> 0>hJ+>4>>>ʿ=Z=<]`/~`Ƚ¿pax](`9Msͼ )zh$=C=x<"ϺL;|OX]80``ͽ J;p;M<8r=@<==|==,> >p1%>LA>?b>4y>Lā>d>Ǒ>>9>(|>Z[>N>`>>&>W>>`>6U>=>nF>>">|>j> >>N> V> >>*>>v>Np>L>L/>>>0=н=>.>dL>m>=`===Xۀ=Xx==8= &<f(ּ`"@=Ľ뽸hXὰ-Ľ0 ir}`<9=M=f=`=b=HU=@m==n >N.> *>Y=>o>ҕ>Ð>"P>n>V4>H>d/z>̫>o>@>h>>G>E??`>0??t?*&?>>>>E>>>Զ>@v>O>> 1=l=HH=0=D== =ڣ={=>=@}$ 3!hwJ fDn R &^)6/3B552$/)#^!r&q'j&!hjf7n sc辴6TB~C|ȒgBZz|lfЛ^C󾚇8ʱjݾT[Ҿ;ƾTIP䩲fP72Ǝx|bVJtþ4f̾Z4ӾξپܾھNѾRξ̾Z3ƾƾLN^U>[ol愾2q@ %|epZ(qY^G<$=H_=@=DC>K>Wo>Lp>(y>4ێ>1>}>~>>B}>Z> >>3?S?B*>D>R?7?: ?f? ?I ?j?????h?N!?%?B$?e??L?$?=(?8 ?> >>>>4>>>ئ>*_>>Z>>>f\>>b>I>z>Ћ>>@>>z>Na>O>ʬ>>N+>o>e>>`>Щ>ء>R>G>m>7[>^>@^f> w>c>>>^>|9>,>*>t>0>Z>>P`>>|>>6>>>*>">>D8>>@>0>n> >>?c?v?C?p?GB??޾?f?f?? ?3?(>J>>>>>FG>>>>g>ދ>Xi>`>0Ig>d {>rw>m>4~> >w>43T>H>kh>XO>x.>8>>=ܽ=+=OP<DOnP) R`֏ z }nni,q<`Ly(;.[4nCo½قz`šϽpJ+:0@;e< =|S=(=>B>l->`>Dz$>HN>tu>`>B>x:+>2>8O>H|>t>b[>l>xpd>hg>Y>l@>%>>t>ܞ><>(=;}=Ї-=N5=-==0CM=@O<L޺\pQ嶽Ȭ7.{A꽸Gr[dWEQݑHc"?dϫ^ǡ|Xŝ\r~am fT9`h)`1qkWhTh' XT8N9'@HȽ׽8ըNCƠF=iG=o=1=(=0>4!A>E>@93>`3>>8>hM>F>Xv>*>N*>F>.i>Ҹ>1>l>> >,ѕ>L>Ѧ>>>pe>>V>d>p>D>>Z>\/> >=p==`=&= 7޽zTP`k*=xY="=y=>:>@B>C1>B$>uN>>>y>V>+W>l>u{>l}>a>'}>v>ֵ>h>$@>>>J>:>y>H>~>>&s>>N>;>l>&>J>|>z>ڵ>4>>f>XX>+>ל>V{>ȡ@>.!>>x=ҏ=H_vHvMqf@\PO^0`,SpGsĽlsIXk_ڏĥ X ܩ03p̾"DbB= ʼph=F=1<mnZ~<13;.@X¾,ʾѾؾyξL6ꔾtcW Vp:00sh3Xe˽Tis󾽀C0=X<>,> c=`C艽5r`Q4vT,6Y$N 鲾Nr s-Y6n ;C1Au"!: .r,!<>ھ7bExXWҾ*BSX^M1" p&ڏ&{& uk $G.0.G Θ X)>T8, 0: .,b{ZOP u#d 6']#20ffbtΩ>>D~>DHS>HA,>>Q>h>H>r>g>>n?$>>>6>nS>dq>d>P>T(Z>>`>n޺>̳>ʌ>>~g>K>H>>:>'8>3l>nۓ>*>> >>->|78>Hh=>`=#> ]>_>Xv>פ><*>b>>V>>Z>>b >T~>6U>Je>5? ?S? ?"?&?J#?J#?$?N#?:=&?a0?,B?Y?l?Au?p?j}d?֖Z?hM?=?1?t'?$)?J-?94?2g??4UF?7AM?["M?%sL? R?6]?g?*k?bg?gW?'`F?E>?0?'?g,?8?JG?Q?`V?iP?G?E?@B?K?:U?7X?V?fP?:N?HTL?WzD?h:?e5?n!,?.?V6?1?,?-&'?T ?/?^v>>>x@>Y>b>>l>F>>܏>#><> >0>ϊ>>k>>>=>>6>,j>`,>@)=X=0=Y=>N>/>b״>>t><>b>Xj>$uY>k>0>>|F>:>,&>A>>44a>0F@>2>E>_v>n>>F>>]>ȗ>,k>*>H>&> >A>0=P.=0>->5>j>=:<8=L>4E>0>+>|5>z= g=`½T%3LI:t6FbܮCIվ۾D8p'.ݾо۾;後پb Ծ2FھF޾2WྊھؾƓDj߾ؾkᾮAh޾V־!޾龢mݾZy޾оNo^~/}\S8GLSsŊ>p rX}ބ~l}̌nf eD{ezHS(~2ͯ<QboR&?Ծо& ¾ҶTptbSvSBckYg0 푾/ľj6p Zmx>/nbL込z ͙ [n0r lrƾdľǾVYҾ뾇JF >I򾜧辒Ծ0z07g$*1dֽpp~\">8=S=`H=x==`=g;=r==3>`=X=Ƅ=4=T& >G>4v+>H/>=@<@DZ<= =}=o=`0==(==h=l< <P=t=`<`lu *8=3xFY|mqovr ljVp lJD"|&8=3S,̙ ЊԽm`MR8 =<:+L@v< R= D=P<#====~=(r==X3==o=x==5=p=8=>2>e>jg>D>>~p>HTL>>p!=@-=U=>:~>4>0~_>P6>>`==o=`ǻ= >lzJ>s>45n> 44>X܍=:p>z>ĥ>%>R>꣘>"p>S>LC>T7>8>T4>c->8 > =}=;@a$p@bSJPZ+pQhz̽PTL,-=8s=@=`=3=<&ؼG=ٽPν@ =(=W== >H= =08-=@!A<b@@ ==l>|3>Y>(>n>Z>>@k>ã>\1>w>>\Gs>,mY>ԻL>X4>= = /'=h=8ێ=x==L>XN>y>ȟ>l>>XIY>JQ>0K>,H>ؓZ>8]>|V>$k>>~>$i>0>9="=8O==Ȅ=PK=Ռ= < B9㼀!^{H@|C[WW#@%@=pNNU hy ã#ûo;`->,><><>`=(= =L?> >5/>|Z>m>%q>g>">>>>C>%>Lq>n>->i>> O>X=)==L=O<~C8>h㽰b`@130O=0>bn>>Җ>4d>,">HG== = >hmD>Y>+b>PN>n >8v={a= =`C?=pz==P(=Ϲl cY*Po1彐4>#p@,a}P8^ؽ`ڽZ>`.m@輀g;K===9=J=='= SM=0/9 ])Ͻnzb@'@Ѽ h<0$h=2=`K1= S=;[`6>uG>J>N>^>h>k>$vf>P>||)>0>D> zf>@_s>i>p;>.>ȣ=`t=g=<߼@)`04=K=X=ڸ==0W>u> "=<}Pi(H̛(VX?P0`]6zpP@ =p?>&w> ݯ>K>F>PO>T>w>N>>@Z>>ད>f>G>M>Β>$?>_>4>ݰ>K>3>FS>fi>?>p>=$ >P#><5>HB9>d">=tu=h< <@ <@X+}hksĆx ڽDKo r2= =LJ>tz>x>pb>#>>΄>V<> =R=(< R<]D<9;<`R=4=(=ʖ=Q; @:֙Sn<YHJ\eKHHWtp,5q IXf$p`HʽnHսD pc*v>=X=y=>8p>0V>=F= g=`A<6<`7<@e<8.=j>x\7>M>4Vm> >s>`n>$X>f5>8>6>t,>==hk=}== 꼘֒$@}˽K$+~ 4SM>ýຸ𑹽PO;=`">l[> >̋>&Â>(H>= =Hd= O=P=4==,>>, >>d>=PK=@=`B=@w< r<==, >XiK>:<>hH>>0U>lZ>\R+>,>>5><>n>>>x>f~>>l'>=]=Ȍ=~>4iY>Ɩ>Ƹ>B>m>~>>>>==@p<@<@x<(=+>>֪>& > >>Zۀ>G>=Ї=L=PƵ= ==T=<@H̛8%OQxAX'4ҽʽƽ( xk;K*=a=8>`>In>0Jt>8gs>m>^>D>n.>)>$P&>@H>ԗZ>?>r>=< ;T==L>q>">\v>XS>====ҿ=X܍=P)=Ȟ>&>r=q=p>9D>U> v2>=B=0===P==8E=$">,d>>̄>:>h[=| =o<@<趄==@">y>~V>ɣ>F>[v>b<>,>P~= =b=c==0[==A=腌=nC=l\> >ZD>&>j>V$>t+>K[>y(>6=ɹ<4Љǽ/ s ڽYYi;^>B>l>f>n>>c>>h>|H>'>~> hZ>@>ؒ>>JO> 0>rŀ>>H>DE>ɷ>̋>7>$r>h>c>Zp> b>*l>>Z>>b>0>7>(=\|=@=YU==`=TW>hk*>|'?>>Q>I>T > KT=¤&X 1ܽ ݽf >X^2Z r2PO=8r=>@0>`a>LSs>X>$(>> >ȥ=A= B='xU<7}`L<7=g=(=x(=t==>#W>`>>~F> U>>'>{>@>>S>>M>L|>J>`; >L>#>KB>]>Qq>p>,Mg>,]>W>_>^>t/?>~ >>>`/>Y>\i>F>Ԃ>N>> >@>>h== j== =X=~b>H>™> >p>0WF>9=e==FX8Xýf"̼;b&>(e>>S>>>>ʬ>4> 9> = <%oPhYG½ȗtuf.ʽp/?>T>>p> c>>,[F>.= ^<Y<@P<G@q𿊽hXﭽPJ{;2=`=,[><>=2w=0 =TX0򽜐 v27'5,9:t)/UN,Q`TYeG f9>U w{pbrtn TȾ~jl󾚘_ (Bl߾r۾֔;rVqϜE@ѨOzlP־BXXT\ "?*.:$վL烾sd^X(/>H2@>I>(H>MD>6<>#1>XU>=k=7<@z>ꀙ>*n>6>>N >TJ>Й>a>}>LǨ>ѷ>>>8N>f~>eq>a>(>/=0==X>5(>U\>N^>Ը>BJ>H??V?\ ?~>*]>(>>>sv>d>Vp>>1>>>X>ng>> >^0>>>Bx>4Ft>j>>s>2>,v><;>̬,>[;>sB>]=>^<>6J>4d>z>]>'>X>fњ>Ԕ>>,>8 >>r>Zv>T>o>>3>>7I>===%==+=M6=T=8 ={=$>z[>>>^>Z>t>*~>Jb>>">x>>f>$ǜ>R>,|>|kW>^ >R==Ă'>%O>[P> B>ԧS>(r> ~>N{>}>R&>Z>>rB>r>d>D%>~y>S>>=$=+=^= >d:>|O>`aK>9>d0> K>>f>q>>Y>x>Q\>D >=2;<]x禽 V๫~߻Qu ((Ƚ(=t| (ܽc:~<<)<a(;ؼF犽+ȽhԽh ` =n==y!>5>7>,>>NQ>1j>y>!j><;>>@]=HpӽԢXhxX`pͽ@@)8_ڼ`<=>&>X4>1>=@<< HBЦ(䛽`!R+p<<@*+ꪽxƽ# @Ģx3`YxҠxҠHrM;&־ӾvȾFݻ2ͯ좥R,0ڄov(c-Kd[1ԁ(6@H")\B2؀:L-3DE@=h=H@=#=ã=@n_=ph= K< =pn=4=(= =N='=@"=X;aH8%ټ)h>P>$/'>6>X>0}>Z>r>ׂ>UD>==3===0n= >s->J>FJ>P4>\ >_=x(="==@F>J.>3>>=pU=S= =a 040 0HνHýнHϽ!P^߽h C һ@4$ >\==P<1@"@<==>|3>x,>L>,>X>O>x&>0>>ȴ="=<bE/þ=HE= >Y=8==ߦ=.C=g<)<`<)=@]=`=J===F=8<`;[D'&P0~_`<z=||=t<E+@XQ8t Ad\ V|͹̋f,ѯ4˯FS*BS^`@)\P8 <")ШP]n`UBw(B@OQD() hKln/l<,=0)=౲<*$s-6L-@%Yս($p*)Hx=ҽ;y,r.6Лڽ\0HOL[dXjXDg8hǽx(׽`b5D06G]zĐdRk.5NVr곾gƾѾ.վ׾*UFXt:] B޾`Ǿ㯾񕾠^wADxH@h UgaY0]拽0긽ؑЕ  p7ؽ0T@x2> r@&t<<1=`pk=@;=<<=d=\|=P<0 Xjp? O==x>S>^>e>((>5c>9>7=Ѕ=(o=@=8=>@D> i>pn>DYY> 6>=N{=@G=k=Y=1>A\>f>P [>%O>H>6> >==@<Pؕ 0$r95`((ֽRi>;1=>>>@k>a>2>d|>o>LCz>.y>>.>+>>m>p>[>ЫS>J>P:>x(>t >Xf$>P0>G>b>p}>8>"ڢ>>Ϋ>׶>~>>>`{>j[>Ha> v>>>` > ̖>Ʊ>B>6>,k>0>(;>>Hw>N>T~>t>M>rN>(|>r>Ԙg>du>v>v>||>2$>9>S>Ⱥ>>樿>l>nf>ɲ>9>>q>⚬>J>i>N>;I>$N >=i=:+<@ܼePOhϽh⽐u罨u мPS?=Q>OW>M>g>>>>6>0D>>[>>V5>ց>>>~>>tz>( i>_>t\>`>|m>|>~̆>x>>Z>4>T>>>3>N?>>2>V>|>y>N>xL>>=HC=(>>`= >j>.>6>Zݴ>0>S>x>g>tt>N>ڄ>|z>:>.>~>6>>8>&q>p>"b>О>˟>>0#>>@Y>H>.>D]>L0>H=shLQY>0>>}>^>2> >-=6=0_z=pV=n=8==H=R=` <@?jdUK<`G=0U=8?==@>8> >==藟=Pu=@A<@;^;_upWeȎщ ּE;@<=l3 >?>OI>e6>>p=0;=;r`j<=`q=¸=(==(=P== Q>#i>c>F>4d>=w= /'=jK;x@3Q/P=P:98h V%=@==d">3>|}6>@0>Ȟ>C>=c=.6ӼƠ<`4=+pT:m>S>Nq>>X>>L>\>A=6<=0*=_=>G>FX>P>9>%>E>N>8_ >ȭ>=X= =M=`i% /PǤRҮ ީd(QD"vJ82{8bL<zdP4>tA>9>F$>= ==v<=o< tP ۽Wн^mR0J}(< =;`-`:廾cξ!оW;پގ 侦ԾHþlX!pl< o41^_ǾR¾RҮ6B͎Fʁl6$>l/>#>X=&X=?=`p===I >X5>\>tP>@>؎=ɝ02ǽ` n3#@wiռcx晽ʽ -Dz0DދN2Rp{k`TJ.uK 2<%=#>D>ĸ`>0q>]>B߇>>:>Bi>>>>=ڣ=PU= E<˻ĻM;>I/> C>D>ĕG>h(S>Lk>B#>؋>8>ҋ>y>TJ2>=F='s<c;(r!F<*Y._=(u=,6>̭9>P=`>>6>>x)>>Y>@r>dd>oM>T7>80>u@>(rf>Ȅ>B>a>J>>8w>h>dZ><A>,>l> >== Q=(r_uc>>*>>x}>fi>8O><>,.>̫>8>~>=c=xk=S=˾==|>>2>0F@>tN>_>r>`M>`>S>>>> >Bώ>`o>h:>>L >>==9 >= = ,<< Q=P=p=h=-(>"\>Zt> >>إ>>ʗ>>d”>D>h:f>lc>h;s>V>`Cs>R>=>> =X =@k8=@<;@`4Pսs9D$!|kBvO`gJ,E ٽ(}"@d>i:(>=P=@y<@k8`0H׽z$? =!\x 1"Q<[}%>HJ>(|>܄>2>> >'== == > >== b<7PN4#|X7>(_FJ@HI= 9Uܪ~Ⱦ#׾ϾnC>} @,Vx)%sh͚dڻ\3>t_*>@>tm>9>>1>rŀ>X{>[v>Nb>,9:>L>=A=>P*@>t M>?>]/>0F@>d_e>p#z>%>;>@8>>n>S>>>>rؠ>~V>>{>B>t >f[>>d>ӝ>%>pN> >F= ~=@N=0=q<< D=(=`.=,>x==|S= 4<@L6>D>Q>m>i>赑>n>ڒ>>>}>>6>>@h>\N>HJ>T~Q>U>DU> WM>4I>xU>d>la>]>p>>>Ȑ>>ޞ>Dͨ>h7>(*>3>>>W>ƒ>>>`u>`3z> >>s>D>E/>?B>tc^>$0h>%>b>>K>?I?܁>v> ݜ>Nw>@U>0>>إ9> @>PԔ>9>8 >xOe>3>=p5=} 3I`!3 ļnN<@<! >1== =%=<#<&ż wy;T<` = V=hy=Z=S==D"=/=<@<0@&=@ӎ=8O=L=7=~=p=@<y<@=<@y8ApF߽40V < ɂ=x=t>?>$X>M>;1>=`&=@6 r8e=o±H@,d:Վ>Ө.6DR>su{4씾:ΞX,H2T>l`όs,i!YSHB"(o_B0A3]wSȽPԽxֽŽАpxde? !y,$- >н==HV= T;0Vż邼eu @G @`=X=0><N>>`>>>pB>t >9\>L">>> %= =y=F=й=:<C[XG8 d;۽KRY@<<]<@F0.0뇽ƽPݽL(ܽ ֽ(ݽ0޽ԽʸEu0,7(>0>v=h=p=0=2w=k=h=p==.=`=0h=`w=Юz=X=%K=<0;gW=@=`<>:>\>$r>,^m>mc>\>p4>p= =M9HPt> ܢ; <ұ={>'>"C>8O>^>\i>`>w->x =c<! 0a%CxIWW^ `"ЌnSk轄>$LHkMP Ap! 0?޽`s`@@ U Խh@,5Tl "(.XW85ACP TZVhX>{ѽ@XT=pF= >==pz~=1< <@H<<=-=Ћa="= =]= tL=c=@ը=s=U;IZ<=0!A=c==B>>>h >'>=] (󕽘潐71aN'*(ȽtZ^ />'>=`4=`XS0P <=?$ (Tj$(;$d$}8jXާމthHQ8A|W*h$HdE=|hW`="Jž̾̾žbⱾ9D"D(浾XwBx7|:_8'޽࿑_Jbޒ0(5F5 5(^99j.@()X$Zndg\a_\tQK Лڽl2@P&~L_@aac<_s wf,V;.p8HDӽS ˼F!<>Z>s>{>O>K=`k=<P;ugP7@#>k>h>H%= V=8x===(rhdIp"]>>Ȅ>>~>xt>S^>$CT>X> 2N>T0>DC>@ >x>+>ء>=G=@='>>4>y>PA>(o>jV>8>Vϡ>œ>>c>8K>Ԅ:>>L>c>hV>:>PÎ>>~i>|Z> Y>0\>b> #i>)|>VΔ>ij>ʞ>v^>Tu>?>=M(>`0>w->Ш,>K'>j>=`:=H: v8⽸D75K\k\uP?z,vTi\URU/ R `ԽsX[=ȁ=̾ >>H>x>9>l=~=Q<@ *PM8ݽ߽ 4轰ǽS[:_===p> =^=[=+==΄== =Q=@==P=; + ڈýPo0ʽ&#iL:1=0J=$>>8>S>`>DV>.C>H!:>->o>>=>]=>8N>m(>P=G>x҆>~>>X>(An>_> F= C CA Q;0=l>n5>,J@>|H>T~Q>pH> )>>)>t/>2>vM>rt>>Џ>M>`O>_>&= 0<0j~_׽Pѽ((!Ad;>`c>.>>>$/>>>>[>>>>:o>I>Ԗ>%> >$>1>AA> X> q>1>k>e>>bš>*>N>୲>H><>>vħ>>,H>><><>4K>>(==@===$>84>)c>>fk>l>j>">H=0B=<j`?dm>X>>`!>5A>Bp>D!>'><>>3>>r>|>f=N=i:h`,"x:>(cz>>>P^> >+>>ï>X>ʠ>{>$>B=c ,0@POP"=X= >p!>M:>TN>hT>JN>`@L>Q>F>[#>4s>$>>>i=^=L=H=p=\<`~hPk[*`@<Ї-==O|8'h|dn}*8cX 佽@;ͽUĽ}{hBP&t0B Kȑ{<ԛ f:.ᾊJz>N` Ѿ^~,}bC*ֽ@hKِ;<0W= <E N k!jkV6ƈZ{DHSt.2$ D2 pixϽ4S8.(Ԣɤg` Biȁν(ܽ.߽x6m y8AgpRXwPF/lT 8p V5ko៾6Rpcľ;ľ᤾lp6ͽN@I t̽h@hpP0Ƞ,0ZmZܠƾnܾN뾸9 ,վvɾ@þŦ9X|Qc4ĽB$q\=@|=|=t+ > >n>=+=ἰ]`K2P ۽P Sͼ'< <`<8<`<=@<@d<¤GW>HH>>@>P> >:=`H= 0kpK\%<0i==<>`>2>r >0=V<XY༠z==`Z>>1>ˌ>ZS>,k>_W>`>>0>>>3>Q>rp>xJ$>=/=߸pt0АHxɽͽhiG O[01>X{^>(~>z>>ZD>>)>>>>>>xv>L[>:>T >0>@!>P>9>\eK>|`>pn>th>Y>PQ> #b>L>fH>>X>>n>>؂>r>*:>|z>d/z>|mq>81n>J>l>P==@=v=;=(==D >0#'>D)>Ģ>=k=l<<`<| =0>>#>>>Z> 5|>=A>>h>%>0$>)> EA>?^>Z>>i=ټ4$BXWl قlw^E1(ԒpD>p5==8_ >> >>g>=V<Б@|,OhTV@25$0lE`{>$;X.@B dӽ߼_B<`C<@x<aZ إ0C9(Dw1PKoAv C[ 0T $1M0圾֪ꗾ jr'[ <@%<`Լ3@'٫@0'lpWelNȴcB.ViµԾr <'>@.>8>=ҿ=@=h`A@l741uhl׽H0սd<)hȽxHpax TZ8-P^_@@u†>>g>Џ>>->x>y>~V>r>V~>xPr>dq>+e>2>=`<@P8fHxhݶn;`-=x= >HB> e>>?>Bj>t->V>~i>>> > }>!c>H2@>]>>>#>8>=6>,>)>|l0>K;>`O8>5>؁G>8k>p>>I>>>z>>>䗅>f<>X=ȑ=5=΄='<;^TMĽ0ܽޒ`vʼY}>>Rµ>d>>(^>E>ĥ>t`>i>>t>fр>y>$^>Ԃ >+=<SMSX`\uýhD4`@9,6f>>P6>hc>Z>p>Ҹ>r>_>@P>$a,>I==,=@=#=l=t=(=X=u=`a=@<b8@d> = =l>BX>uN>n9>$>>2=?FX0@ҁpp0 )Ͻ@9"p~fjiľP_ҾЛھپ zӾϾRξ؁Ǿܸx)JT[p&5нP'n@oPn@ p@k8 P>`罨ν̽(ֽO׽hɽxнxQE ȤHdy`޼=(=2>HA>t;>t.>>̾ >/=S={=#w` zp3?&\(Q,B81|(½@w~m=8=>d===x=>\->@*G>Fw>0>~5>x>>h>> >z>s>s>P>]!>TX>>,>3=}6=e`mX؞k+L<](=pt=f= >/>O>^>3l>(>*}>>j>>d>>->Hb>B>Tz>X{>s>fp>$l>K>2C>\b>>>|{>}>b=>i>q>?u>ă>>">>W>j>s>W>\>_>NG>> 1=2\=p=x<`l<@0{l>Ŋ>>^>N~>5x>h>i>H}> >R>>[>~> >t>2>Y>Au>q>Td>1>(=x{=0=1=Y<ۼpXV@{P޽ PmM R 3[@ `a=]==j>TH>>N>0==5=@i=0'=T; I#`q̽$7 <-|!p ``$<@c=J=l=Z<^C<~5`-L(QqNpBipXEþ̾hJžXþžཾz$hнp15@:< 꽘ὠ½Ǒ Ҽ=+===-=Z= ?9``3Un`K]CN9l7sϑ rB"*C|^r錾тtn0O8/*l, ý𠥽p@@(ɤhн( dH`]8"+\c1.<ԷLN7 }ʽgI~<@ol=Յ= ==p܆=g==03P5HQЋ gl<[ C;Lv H)~hd+@Ľ@ S==|=n=P-= <Ч=.Q=5==s4>.> >.>>d\>c> 5>k>hX >==*=`==h=Q= < S|b( p XP[<`k=ê=y=">%>~9> D> gF>B>9>(],>m!>9>0===#=見=x= )==b=` =Tz>F>Hj>p>ǫ>.>L>\>w>U>.7>t>>E>;}>F>\->;'>">H=@V<Юzɫ h']ļpS=>G>Hf_>dH>#>>4">?>O>zT>|>>>x >(>\>H> %|>ħZ>B>1>0>/>=>:>K=@N=, ,@`0ս`5T你N`}(< =Iq=P== >S>0>x>>l">@)>$>>>>\> >P_=@=(=v<=P|==d=`y= >1>!c>k>}>L]>>C>@<>H2@>@>/>H >=s==Q =Н =˺07(uGLdO_@]y/H<0gs=_= S<%</5;`9@?8F@1$i>D|>\p>l]>$cF>\>=8_=D="= B=`A<@*>P;F>L>[T> i>s>D>NJ>&^>9>fj>d>h>l>0O>|78>4'>>@">X.>J>hKl>>r>t>>O>>>Ԩ>>>>>%> S>΋>~̆>> y>fC>( >@=@}=@+=P=x=<>K>F>>И>g>̩>o>Fܔ>>Z>}>H>>K>PN>Y>T>ē>ͭ>X>p>4v>_>jC>X.>Hf+>$q%>>p= f<BN$̽B.70D" hս(pGy;`E>З&>2>(pL>e>e>hM>>.>{>@W >= =7=@8-o x' >h>>H>==M=#<@ˆ8Lt \H7 <@ShKU!û@W<@H<ܼ2NѼ@[$H >=H=`^<``"@p5YyhPս𱫽ZDu8@Z#}$TЮ8踾 dPǑ]B. j矼k<`=0v==XG=i=R=p)=`),= =;0_ ؉̽@%0Hɽe@f0=/=X>آ>>'> 0>>E==a=8=9`=hNJ㽔-a\fbZec7b7ٽ`͚U>|>> q>*_>dH>8 .>x>>0_==`=(s==h9=6=pI(2Xǽi=Lὐ4ޙRwP<_P=h=>*> VG> ]>iq>t>Hk>؄n>L"{>8ց>}>h>̟Z>]>Z>`H>,>đ>>}= T==p>&><>>ܤ`>>>6>>>W>>,>^> x>>6.>~>,2>@!>>=2=] |[^>J>>>m>Hf_> f>(> >}>ک>>>%>m>r.> >>>Au>p]>9>,>HR2>v.>n >`՚=z\">LH>c>gh>m>pu>}>z>TJf>xMK>6<>9>+>$N >H=8=и=H=k=`ԍ====> 0>Ǒ>>j>">w>@_s>lA>>pE=hd=RN<@-n<"$= <߼䩽P۽pݽ" O<{={=>> =P=G==0==>$@->a>~>>Qc>->h=[=H0p!K. <`dzጾ&+rQJL-ָV88r 1ĐMNWExie'<}<U<,R hGH@-H r"ǂ2GɾZhؾྌ+AQb5,뾜߾~ξ肾cvYUP)y!\4g4$/w-YH􉟾N0c8$ 꼀L@<Z<*;5hN߽*.P-|HpDǟ`Yp@tQn@;>|@>87>,8>pA>CI>87>>'>q(>#>p>N> >%>u=h=P>@>`)>h:>7W>涄>>>>|>: >1>>M>>Y>`W>'*>(.>C;>X&>8D={=@V|Ke>>Ԓ><Õ>̄>T]>X>y>Ǝ>>>p>br>> i>nV>í>>,> x>t>l$S>p)>t>0>^>pc=@<௘`0u`ͽ|3(m%9;'8 Bǽ ea;=d>B5> I>hd>>> >g>(/[>Rb>DW>5>>>=P=x9=P==?=@</5<<Y=(V=p3?=О= >&<>dZ> d>\b>`1`>4P>\/> >(=<@>` DҽD0_mT*tۃt@PաS#I08o8?[ټ*+=h=t>A >P=(ĩ=~=<ػ`ͼlhmĽ v8`J$ܣqi*KH0(Ü4lHTDE,ӽ@]1wB$=h=U=@N< DRȍF`h&p7sx{ٽ0$؀`哽(@hB0@&=P =>(:> s >>I== Ͷ<pXr|`νd} H#ԓ&`o^^&;<<;O λ`< %=xl=T8>F>L>?>?1>->]>===X=(===<ұ<@7<j >8>]>pU>>,_z>pER>H=>}/>D>X==ʪ==|=v==(=x-=h='=>6>$.>*>PV>Z><>$@>ӽ>>α>J> >>Ь`>*> >P#>D>8==xH= SM=`H=P<<~C=@=(-=m>*>Dg8>X->> >(.>9>E>LRf>hz>,}>||>>b >Ƹ>Ұ>><>0>>a>%D>+5>PM%>"=`=ѻ`LE᝽.ѽ 06 (ýt)c%=<0g=<>̛&>V<> ]>> u>>M>8|>?b>0O>^5>> >===@F>0>,>>TG ><>=T>>!><>e>މ>\ >42>HS>Rk>$> ɂ>L>$>$= N{=_=='I@4pSs 5@ `` = N{==@=@==l=s=@=h[=̰=HE=$Q3>m>>x>"p>8d>ܳL>>0w>P=pP==<9,e]  V\˷O>廾8P챾ۦuX~M$pi5ҽKp22@K8䖒DJOTlrHI40!dmk'8Bbd f@(_;=> r>Z>|Р>b֧>8>>tg> K>hC>@;>>=X=lU>m/>9>;>>> V@><>@>`O>LA`>s>>f>v>]>>Y>ù>>ʠ>B>82{>g>hd>$Ug>GW>`5>#>$> >>H=Hu>8D>d>s>8>>Mq> `>P>T(Z>z> A>`q>>T*>V[>i>l>>>>|>1>'>x>h>xl>`>x>_4>E=@/<ؼ`xνx۽5Lʝ@7<<w=`i==4!>S>>&>Fޮ>>>>ة>>1q> w?>>Ю=@==h=ƒ====x==XE=@j=8=82==> >4;>Pj>>jp>hC><>[=p=@<@мЧ@G_X3ƽhA@ ̛&lҽthΧyɽ,H'*h < \=0}R==7<,7<6/n`躼_ӼM eXy8͂ f>]پd龶^Ff6.׾H&_枾ۑLf2`ᖽ $<'==P;==0=} ݽ(*l#F&\Kv'E `0ݽؽ߽ܽ8Q 4h|S`->@<؟==(=0\=k<@"<3P޽8{4 6_MسLT@h igtaDx>߽bh(:ǽJTj$ b ݽr@mR=L=h=8="w=Ph=P|7=`<`</=06=`HeR>sa>f>,nf>mG>>=@v= D=@)>xNX>9> >>lHy>(P>N5>>x{=@O=yG=U!= <D{@&O@ ׻C=xL=`==Xk=g=<<0=x===DhE>>F>>`M>>L> b>~>t>ڒ> >>>fw>ȲF>> Ug=$2w{"(ATC8s8XV+ЦHQ `u邻=!=/=hj>p]>>b>9>>VG>>|i>>>=^=x'=P===9={=4>>>q==>P)><)>,>>d>>k>j>ؐ>>/l>R>>=Hc=X͡=0B= ã,$>@=U=@a%=w-= =*==X5=t?8>-q>:>>$>x>Xv>p>`Bf>l>Lw>u>Pk>W>A=>g> =ʸpT>r㑾2 \Kwh*m8d2Xt: (Ƚ@s<F===X==X=@%ԉ{>*Z>d~>u>w>H#T>M >x=2=%=>=1 =<(==?=9=>Hy=x=X4=@>=#>$L>(V>#l>F>>v>>>:>@py>Q>H4>80>?>=X= = e=`>0==>lF+>S>&X>g;>x">==`=H >>2>WW>/>Hv>f>o>0>l>P]>:>>g>z>V>~к>>槲>g>|>x>`.m=89?'5 0HνƽUP=i@<<<`<Q==[>$><4>Ej>ւ>^>>*;>Z>>f>_>%>==PWs=D=%Y= =蘬=$=P= >s>0=h^=PN=h>$>*>Q>`o>\n>Эm>0b>3>=@h=_<qXg1p 你Nʽ0ɽ@LӽHʽ#@W:<8`==A===/0w@C[`ԍx+(ؽxɽ1ܽ ʽ`Ш,;@ãhX 9(5IJ @d====k=,>`=ǃ=4=đ>4 4>d_1>>>V >=`,^m>T{>i>S>x:>d(>=pA=d;_@V ∼ 9<^'=0=8t=0=>t>==Xd >t)>6>xL>>H4Z> x>">>>0v>P>x9>->>>y=@-n==pT==@=>^.>PH>Y>ԆT>C1>0>=<<,7=a\=g=d:>>J.>u>J>ڱ>J>괞>>b>Ʋ>ƺ>: >V>3>> >ԅG>p=@(<𮄽XX )$14/tnho޽ѝSJe@|<`=p=F>0>pa>>5>|>I>b>.h>`>`>7>>`c=xY=P=O=>, >N>*>]=>HQ>yU>WP>tH>@>tP>@q>Z>8ց>j>>>>>Q> `>C>A>7>\u>HD=H===b==>>t9>.5>$#> >\>p=`< T<@ЛZ>Tb>pCl>LBm>h)`>:> >@5>x]>Xa>||]>H]>I>7>8=\D0܁ Vhc\$ppCl/b8<h` <֒=к=Y=@=@==5;2S ,B@2D't&H 󽨜<佀ƽpǴsu`fX ¼{@ HMHb8ɽ뽠 2_Xvg)K$EB"(ȽބҪdd:28]𜾪1w~L?F8ʸYսϽѽ 罐@ol05z0ЦPϽ 8Ԟ޾`Q@ݾ$ Ͼ˾ɾHľJӜ򊒾$vf(; ŽQF;G9pEҽ|/U\|Zu&ÂPh^_bTTA7*_hi0t s !$ ,;79Kj~J难d:~8y^X-h ֽY?^ZunwV@;P.!Xu&(86Cp.2dp2,7xȽ0yvÚbҾf羒 WbѾǾ켾&5e*Q1P ,>0=H=`[=<`;@ʁ= պ ">a6>$BG>a>5x>w>~i>Y\>BJ>D=>8;> F>ga>Ta>\S8>H>h'>'>D7>8>_>t>G>>>,>đ>F>P>J==\=@c=%/== c>0WF>7I>TG>HTL>M> 6>>%>0}R>xo>,y>>>>0#>tƧ>|6>tc^>+#>B=07 =2㕽pc[Ļ;@<0v=Hu==>x6>k>ޒ>U>>D>Fg>>>N>H>dpk>NJ>@J9>1=>Щ9>7'>(>Щ9>Hx>>D>L?F><>xF>;^>u>3>n>&=>&>1>>>j>)K>*> B>D6@> Y>9>L>Ȓ==(>=H=tr>(o?>\d>T}>pt>O>>=靼h팽$ȕ͓hJe0׽Z`ɽ@Fd0`м40==a `a۽L"hVH Ǒݟ^ A>R8[ f9l&$ q(>=ق=ٺhH*;kM$-Ah@  x `šPS?ü~;##=i=g=L)=_< kzP4 4L$0h(o] OLdHĵ9|PpXe˽R@ʁ0=8/=x=>,m%>,>d)> >====H=H=*p===y=z=8=0ʈ=P=C=p===>FJ>_>r>hπ>l> >>>=Ι=xi=Hʁ=`|=+=w==84=C>>>V<> p> >>졘>w>v>XG>>P^=ȯ=yU==xÀ=Z==x= 2N=q3==[</5<B==p==:>dV> k>:Q>,>4S>`>O=X=bJ>`2m>D>>>݊>>tv~> #i>8.G>>>`/F>DF9>A/>\.>V.>H6>8>#>x]>pQ>G'>:> P>`>u>L>D>d>Η>>$1u>9>h>>>==8ֵ=h>?>UN>K>,w>>l߭>J>`ٴ>>>$w>pH>|.>x>x=8=8q=Z====~<>X(KͽϘk`üI<==w=Y=V<ƻMn@pѽ xhǽp  H޽HF$̽9t;0!=ȿ= 0==觘==^'=@<xڼT0=6ɹ͚@B0@-nv@+ԼhP-@z+M;@{*<0< :<%<<О=`O< (9cȒԽ߽,"X)c\ &?н閽`֒;0Z9=蘬=@=X=z?lM³xMbr>T,X "⺀<ݻ`~L̻Pj5XXo-b$Xp.2fо侬B侈 ݾ{ξlVݝ-db=Vk˾LѾ(M;ƾhZ=ڍVaqQnwvTqLTD-0Ƚh팽*@ ޼6X׊9pӣP<2><> >@6>\>*<>>`>=<==h=7==@=#1=X#=> >1>0>@>9>:>>>>D> >~g>8ƈ>ʼn>4>`>^>p>>]>&>p3=<;Q<;41;c<5==@=-D=` <@TLB`H:@<0]==tM>$>a:>xMK>T>Z>tZ>|:_>h>X&t>>6>,ѕ>4>%>Xލ> S>Dk>OI>8>lV$> >8 >8>D4>vT>f>h n>>t>6>,>>W> U>C>I>x> 1>b><>e>g> =>>!>v'>\ >=ٲ===6><>^G> }>>D>>b*>ő>y>W> =>,>d>A>ȏ->6>e!>j=(={=0_ (ݽ`";(*NP-gozx2illf򜥾2f𽾊xS^؍-qLT. ཀS0.Q`h@¤P#*@ʽp4 P(\t7ؐ3dٽ  `mD`ļ`<ft====pa=5= =h8=;Pkh؍ ~N|zX&|Eǽ`pjBf==l=G=@=*;<<W;[<`LE=Pxr=}(= T;&GX8,>Sd5x0|vM`šh^; پ޾߾n۾Ѿڲ꥾~ԺsS&@_0bJ;P=8=S=8==8=G===0(=ї;(E=ZP`yvt\ S:<'=`n=x=)=l> >n > D>>i>@r>оs>bӀ>D|>`>M>HA>P>w=*p=Z=n5= t< 6`C@P@5>T>S>J>6>>xǴ=Ц===4 > 0>\a>~>xZ>q>L> ">=:=`d->R>tv~>>v>^>^>>>8>&^>`>8$>0=P8=@6=@= =(=v>>3>J>ԖM>L>8[>y>>?>ک>>O>tǴ>>.>Ҟ>fр> R>ԖM>X>A=> =@==@=J>@> 7>l>>쀳>r>8>>R>\ge>W^> hS>8>lx0>S>>>M>I>R>,c>0> =o=@Y=PԔ=X=@=:==@ |=V: q-=|n~R~a(V2HѽPx@Rn0+>hT>w>)|>c>4K>P->=H=< N50'޼N XH>xk;] <k<y=@=8= ==t >,F >==j=`nQ=&f=< r`B`pp6f@O:_;@F<=<4h lX(ϽxIT)! x  ^ѽ8ը qƠtq\@A<7 '.Pp _4`xѽ𰞽˽D-@[|(L\8s<@ȼs漈ZT'>N\dHa@>jH8:dOtRXǾ2`[QXU% j\ginھ[оc¾l]W4mؐІ `-,E*~x8x½Ǧ`dP p(hʸN开̛<`c1=Ȟ===Q=ܾ>8=q=\>6>f'>E>0>T:>n[>i>v> >ĝ>>>>J>s> 2>>0=D>\>4;>tc^>g>B>>(e>O>h5>ȝ >=-='>|H>U>e>l>Dc>lO>>p=w;ȍ😽mH߻wjPaHrQ\PW /'PJUXB>z>u>(>>p>E>ۃ>D)n>,c>Xke>c>,j>_}>>vÀ>[>4p>[>K>D=>6>9>l#F>W>sa>i>^w>Tv>pt>$>>X>(/>pd7>,]>o>bi>Nb>`>(cz>>Jb>8>">jy>>>>@>/>b=j==Z=`< <=8=>0=p2= `=]<`b +@BP<@"=`'==<#ٹ0 D6@`j|n~褋"̫,yċ0H@hPI04}p]\p9:ЊԽ`սm`*p{ڽpǴp|<+:o<@N<wp"Uupxypt`jpgtp<`格ͼ8r멽"06 ,p3?`*9šR=P=V=8=k>@0>E>x!>=<>;`?B,ҽkM<<X<[}<90c?`i9 5u@ Uw-J1p&`MR)Pm˽h 8R_9jG>4c >P>>03 >,''>S#>G>`">l&>>,|>">\u>=ұ=`=>=>h=(=Ы=%>W>c>t>l>>>X4>ڪ>>fj>[>$.>#>>>v.>إ9>KI>D8Z>lT>/>о=p=X=0G=h====]=h==(ӕ=,=O;` =+>zTC[%``@@` &@uRa <M;\@g<`I=0\==d=0v= q=P=pxd=06=@g< =_P= ==HF=>x*2>H>^>oo>q>*&>v~>*>>x>> >`> >d>>ߘ>bn>_>DV>di>Cv>إm>@N>,>n9>8j>2>P>B$>bš>B><>(>m>|&>8>b>E>Bg>t/s>ji>(k>0ށ>>2>J~>\H>>h=z=W==`R=8=8=>>4c >=p>#>p.>05>0>#>\>"= W= <@B:@/Ph_׽ 8Hx Ҽ<m=`o^=<e/Bc ME<@=`&<{Ƽ1p^`p7Z0WA0E V^]\,~_`}@̬@Ͼ\־<۾bJ*ݾzԾ ¾|z(؉p`~vp>ity@r._̾?$*4"&@=P]7vΗ<ïVjG\0b^pQu\c(I1(0ȽQx@ ݼ@O;<=`=@<F<^0wHݽ %X&lT}DhuLՇ@vT'M\3FR\Hֽ a~أl!,+,j2x9s;x^ѽȐeM?x匽g;Uxgh^j6ۃRF0Fľb׾޾pH3]0&Xi"ݾ[ξ@JȵN|~w0bTQiN,;T)`#7`D(XyDpVwcvp42V̱mIpd7hP C=H=x>T0>UU>X{>>~>ꓟ>Ze>>k> i>Yc>8/T>7>3=ȱ==> >$? >#>v5>b> >`>JƁ>Xn>`!g>,o>u>0x>>,>Ǧ> ">d>>>۹>>T>>c>|}j>P-g>pa>[>F>$> >=`N=,7` Լ@o; ܼ13=Z=h=>Tk1>P>dc>Wo>E>J>v> >9\>(0>g>[=x=v.=r<<J<<<_= = ==f=>+>DP>Hxr>^ >>4ʢ>ڳ>Ă>樿>`ǻ>.|>,>>\>>Ȇ>/>*>tŀ>X>X"> >+>8>>HB>>9>&Q>7P>w-> >o===h=P == >"> ;>^>8r>@n_>P4>>k=5==d=p==@"@<9c 8;pPvd ,X~POsdjVA(7k- :0~߽ `$ڼĢ+&`͚A7ɽl1((hF+CB)O 7% Th4&xЩY~ڼ `<.=p=<=`A=<~@' <L<@<<]ļbt;*+=pQ=<@4==ȕ=>=PR2=@%<$?;`ˀu缠1@<(==@==l=e!=f<g;@&|nL:@֮W;З8g#TYRa2vPAҏTW4o$H8a%DPppŚ0Vs S=(ʼz<(=P,= >G> >`>@l=`}=a<~bټ,@ V;9<<]|sh@A%@|`yp; <@)=`="=h=0= >> >~>t>*$>4;>y/> >>)> B>4V>LV>\#M>b[>,>c>"p>n@>*$>\ >=Ѳ=P=?=x>h">E>q`>8r>$i>bG>`N+>L >h>g>,>*>40>*(>&> %>V>=R=I0!AThͽe罠߽ bT0;TN7@X<&=bi==p=p==g==[ >P:>QN>pa>r><.{>Qn>DyK>&>> 0>X= =%==^=ܽ=h=b=h8==s=l=hh=:=`]=fJ==='>>0y>[B>pVX> K>I6>F> Yn>>>y>4r>>>S>:ר>>>P>(q>(>H>tO>1/> >(===~>F>+>K>PV>4;>8p>=؁= ޼==( =Ȥ=*= >o> > =@ ==]񤽸ؽ؅ܯ,0A9H28`1 (нb vXp<@! <-6=D=`<==uY޽z엾F*(Xy r<dt@usإmpnhL9kFVlT@~X|v{OυjzNfnST.7W< ȾȾ.ľ^sľƾB6 Y,r8*זTY_$HƽxifJDp$ӽ ȿ0(dI _Yclb d9\NJQ r @Xё职xzbJ!x'  H 8hi?;PPXIjh07Tx;XCH.p`D 4;@`(>>> >Ж>5(>(L&>](> D>_>`a>XjX> Q>0W>8d>44a>(b>p>t>*p>Lh>W> L>$TZ>^i>Toe>lYK>̍G>_>5\>cP>؄n>y>x>>^>^>`>b >>>t>I?d ?p?>Jv>FX>r>S>>4> }>hv>r>8e> "\>dN>T'>=Z==( =z=r=>> > >,Z>x=p>#=H=آ=7=щ=0k=L=S=(==g==`=8=Q==Ņ=`<nm#> %>A!>>ͽ=s=.=5=0==XF=@ >31>TN>lA>lv>pU=^=< <=@=hL= =L>> =X==ҏ===̛;,{$>X">;'>\O>>>>w>0;>>`=8=`n<?;꼸0ͯ,(d8ĽYW D A:acJe쾠{ o֨۾ E=< ϼNu>8c?>=P:8ĢpvJx==< 5D$E*Q˾`.Ӿ˾z⚬jоžj|(漾5GeҽHu?bx匽@<.F5p,Wɾ4OV3==^0(֡Ąu(=LP>%x>Zt>>қ>ܞ> >>>`>:?H?<[ ?>>Dp>#>K>` >>P>">*>>=>P>>l>m\>d(>s>^>= =9ѽ@%P_=&*>>>@dZ$1DHGDc>Q>i=`r[$0h cqy誾ԅǾN*\? 䆳⽾0lޠኾVbd4_ӽ⾧1x8I?Ox_^p\b$8 v~"؈:[¾ľά6~\ 0Eg:!=t&rkվԔ:Tz\|Y8_Gԩm7p>vՓ>\>ן>o>(>>?v]??h-?*]9?>?!>?+??(>]=>$N >8>tP>L>:>H>Zh>_ ?)?lV>?LsK?80T?R?G?le>>>^>>`>>5 >D>|> >܏&>Щ9>G>]>@>W>>x/>oB>J.>ā>ho=ߊ==\=>`R_>y%>B= =0w=c4>4>>b>>\>>>>>>>0#>Z0>(>>>$.>cM>+P>@>h3>lg*>`P>C>>>>? ?*?^>?(:? ? ? ??X"?t ?=??[ ?`?)?p> >1>t+>L>|{>4>c#>py=.=$0>x>؏>zj>>>ԧS>,>+>>a= <@k v罀[*1x=>%>P>o>ء>H=ld>>>/>d~>>|">H0>i3>N<>Ă'>a= F=`S8뽈h<,|E[V| p@OȞ . בPp*C(`Spn40oLtؾnھGܾo :$~t"00<=6J)"d" >>lݾHn%3 &}!r?+cpD5OXSaH@IRG Cd^KGESB8<<B$EZ;T4<(1ɾ0w 2ξ44Ӿľ;gT;zjw4ȈxLξHܾо2־^о3l!ZX t+R@U+iQxhO4Vヾ~njtޜp3st-Y6ܽPIAp½Ec)(],l`Ň:<ȖWM0"νxɼP<ɹp/>,F >(>D(>" >⪥>|>n >>d(>ȯ>\:>>þ="==h=pC=(r8Sƽ)MP0a;( 0w=|> =>gh>f> C'>*>pb>$04>y{>,>la>'*>I>0y=`<0i=Xߴ=a>:>ȴ`>Zb>/> >=?= lS=5=>Ь=1>9><>X=@X=; =@+=>=h~==L=PO=#=pi==#?=ߦ(o?>м%>L >>X>`">xl0>== S>XU>צ=== < -h9YbH/0 "ս0yb⽘;(>Ge(j S岾E~0L ax?콀*;0=@!<|)`r۽߽p&`܍<0w=>|T>l>P,Z>XS>@===`$Z=x:=Xߴ=P8=X=w><>L>N>>贄>b>bÇ>(X>vb><.{>d|>>c>d>^>>;>z>Pd>sB> >V=S=% >H=\== >l&>9(>!>X]>> W>>@>Ƃ> >d>2>c>\ڍ>좥>,>=>B>>6U>@>>ҳ>>:>2u>i/>0=RV:`<XF=>m>Xe>= =`fX=`A=`h<7<,=P=Y= %>AA>0>06G>Tj>&>>N>rb>(Ŷ>Xϻ>͌>0b> 1><>R>l&>>H>===b ;>ȿ׽3`dm*p==<<`<92==P>@6 >>=oP=@=pC=` n=@D<NNະ[==P/=m6=V;40|BE\0Chgp3sm{&ۦ`.a¾N] !kþxuDw10ý8bpAUPklix AӾ ̾߾pTؾX_h>0`o|OL4v^`B$󎽸=8d =\s*>݃>`,>б>*n>职>la>,lL>0V>_> E:>f[>r>T>8O>pC8>d'>@=Z=$>'> >Ć=d=>$ł><>.l>>>S?>>>X6>6>s>>hG>x>pZ>>>LO>$;> !>K== == <'ex]ĽD`+ɽcv`<@]=@4Z=>\&>TB>$}>>Λ>2H>zX??G?J?h>T>L>J>&>K>~>x>=>ޱ>>FY>x>Q>z'>>\}>N>>Hx>K>4>h>`R>^>>"#>J2>>7>>>JP>>~> >ڎ>J>p>J>nu>>o> >Β>@H>hK= <0>|==l">>p==r=|Y>|%%>=Y,4Zȋb哾02!&p ʾD\E澪ξhQxpL=PJxI&I0kͽHA,(bd`rLā>9ڽ`^:`47нH"`(:ֱ"S;b꾦{׾PL^.h|0$¤;, ڈHD44;$"`XߴBT=j=R= P kL@Sء2?vx<XA 2t^삾/l<*JνP\Žph GI+WxhpVϣf:̾žNʾI۾v 5ݾLP̾ ʾ8b̾ ɾ฾ײT8Z<1`/h`3x>߽+5K 4E>>>>y6> =P=pt0= vf=@%>y>->>>P'> V=J=+F,/ |5pľӽwɽVv=@_=I>̉>PN=@q0K*<߻@8=0X=BXt>_G~7?Y$sҦ (P槽P:Py0V^y|LrL2t[2Cz.T8j|c-閽0@.0b,X[t;R@H̓t g:<ȯpP ( Fv.05=ן=P==L=|!>(>P)=׭<4=<o=< j<ˣ=J=>0=/5; ǭ8 @&lpQ1-P pV·`LP8HE`pM.8;4s$dKK۽ֻ' 0C9FTΪ_Յ`憾搾|Bx;lj# yNpڽ@н 0y@i<=h:=/l<0pP:P =?>$k>[h>S>==h;="=D=m=z=@_z<Ć=@]==bo>> >&>>ڞ>>i>:>mG>pU>>R>Lcl> >~>,U>H>@^>>>LCz>@>X> *>Ԃ >@#>==@=]=1 >T>>>tc>0D>ޣ>>(K>XF>$Q>8>P>^>d>>ƕ>?N>?P ?>R~>r>ȁN>P=ȿ=k=d=='=I= =|<LBܩݼ0 4THv0B=,Z9>'>)>K>@ <05Y<(_=@=^>ڠ>0o>=N< T.6;ʸ=ps#>r>=ps=Dݼ0^m&f|O>`P>W>d9> >~g>>>>>>Ԑ>>\]>$">%>)=@I==>T>X=࿑=p&=?>:<>tO1>̍G>>+>< >@X@Dڼ;< >6C>X>^>k>>Ш,>N>= 2>`I>I>E>)>؀>}==A< ]< =ן=A =<= >E=`pk=@횼ƽWk<X ZJ>>b>=Ї-=$>c>̍G>>>>Fv>\a>P.t>W> A > ?>L;>>\ >p!=#=!= <^< \==">>Ԩ>BG>Պ>> )> =0y>@N>s>h]>*>.>h>R>>0>>2>{&>0^=<i:`?1<H=( =%>x]>;>@>@k8<@IY8*+=>l3>;><N>9>:>8c>>t>@>\P>t>p=0إ+I9 P$ B,)A K|F]~f_\yxʒDf}v:*$r2?BL`P@yֽ@`z ӻ0Ϧ_@[l(ȽBX/R< QlZ@LӽE"; ,0>>x_==$z<ʖ=u=4B >b@>b>R>E>p1=h<`bXlC}Pi$/[a(BhJ0 >=+*=`pXV߽'8ȞBz>ȾBl߾{A꾄⾤վ*ѾJ흾rԩm_)qJ{Ҩ\hw[4-`=8THL\W`Aq8 /|4|p3twꗾ)ཫ‚ZǾ\캾_g`~:Lj=ȍ=D>T> w>hLy> i>>&> >z'>>M>DO>)>w>\۴> >Q>`.=j9<0[}< s >.> s >41>>lޠ>S>z>la>M>PI>p>p=h7 >@><>@>N>9>c>&>3>>5>H=y=?^=e/s4lDE#PpTr+P0l7 lӼã TڽCe$p@+=r`>ެ>>m>Z>>P8=@=ڏ` Gї{o====(==( =h= i===<X'׼l) ܽx{1$>6v==f<$<;x=e>Xb>z>P=ax<@I,C#0\S H?8|g撾s¾f@4d!꿽dHvؽ3`<9<`b$=P9,=ۼ|$RQ/ @r@`J={=@<^ゾ@cmhh3vꪾ,[ƾݷ[4`ھؾPnʯն"dӾ<]%$l-*0 )Z1&A뾆ھ$þ]Zv뤾l43㶾 ¾BѾVyhY gM ەK6Ѿr۾i>8vP b۾xKT|`šX}x|Vv>%l̍{MU S x8 и%8 ½e׽ ct@)4I T&>`O>M>&+>`=;h<=e!>dO>, >Pj=<@<#?<^<`]=D=:M =٤=E>lg*>2=t>tbQ>^b>b>}>>fm>>|>>ʺ>>>H>w"?Й3?z/?o&?? ?? >>H> >^v>p>:>>T?|??\?Om ?G>b>@??%?@& ???%?l>_>>Z?U?(??|.?4?&1?d4?2?$???! ?p ?? ? ?8>d>??c?"?fY ??o?]'?'?Ʋ,?l'??(?+?:o?C?T ?q?6 ?{5?4??>.> ??M?>>>2μ>>D)>ص2>j>>>o>N ?h?X>4>>p>ƶ>j?P? C?G"?.?-?n,?%p?F>t>`>6>N,>0>$->Y>dC>D5>1(>$\>r>\H>>>P=A~:Hq=X=h >Hi>8>>d>m>zІ>0Jt>W>lI>q>Ɨ>J>F>ő>CW>t>+>`>>0[z>LO>>>t_*>Q>,E>+>0w>`q==A=p==>>0>zJ>Ǝ>I:> =,>p=h=< >e=`=XY=p<`\ż^07 pսPq(ĽPʽ˽νZ[B<"@[<=;ۻ¼@Ιp`!309}==P=P=HY=,8-ajҾN d ց-.4K, # 2%fg׾VϾʾd<̾6ИXvMо^¾fǾ6TӾj|ܾ⸾^= \5"Cf↾nHڔR7꒾P›žt賾̭`ĕZTkM k := d,.ݾ޾T;IpA*XNEQν(6CmU(U?4""8 EAe; 8 ^lHy@X@Yy(T:< 0``c1=A=` ->@J>tP>>&>>p>Z >|h>LdE>H'>UN>J>@o>HB>t=_;;@4=9>ܢz>>r>P{>>Ԕ>(>hn>a\>8A>5>16>G>0O>.<>\U>*>L>r=@Ģ< <Ȟ=<&,dV0Zmh==#=M>PӇ>t>G>̲z>*(>Js>>h~>J>P>da>.:>>>y>b>(>"D>@\>p?d?T>^P>(>a=p=x' >B>؂T>/P>lp>>>>T>4>2U>ʞ>,>->˲>3>lg>lj>q>`=>1==0K=p1%=vຸ:؁G|}j~oۦ8¾w(`|(sz\Ѿfb֧"A¾涄&fjNb tUN^/@2v|g֑ >2z߾ybOҾ׾6ξϾ4þ"w@h>>> #>^p>>O>>z>g>NŨ>Q>PL>F>p>>*>1>>޼>l>>>>.>f>p>>=>&?l!?m'?l&? 0?R)?/?M)?`'?*?t)?$?5???R? ??m>κ> > gF>0>ЊT>p>y>>H@>͉>Ґ>\>\T>>(7>DV2>#>Ge>X3>P>v>p>>> >:.>2>>L>ݤ>y>Lu>:>џ> %|>ԥ>m>8r>X6m> w>>|5>H>贄>ҕ>1>\?>>Ұ>X>>d>һ>&>>?2?v?hG?? ?o>_>L>E?b>_>>h>?N?`?$>z>b@>M>2>|>D6>>? ?5?x?pr ?fN>N ?? ?g??#?k ?>>(>>߃>x<>3= >R'>>M>Z==o<`yv<7.; y>0)> D=ж=Z==f=()===T=@3ͼ0iP n;`G Bu跑$o ܿT k- )8 JN| 罨@hޠ Ž黠<=Ȱ=@|=廾|lǾR̉돾|?v0̈jX }脾T[lXg1<^27޼ㇻ9EPDU%(XWJ齨%>pn')O^R`{{@=Ǻ @>=<>*>7>0(>'>s>JQ>0X>_>$#>X&=T >v>>P\>4>8>!%>=>!%>7*>HA>/P>n.>>$=Њ=XH>ps>^>>.(>\>ij>>,mY>O}>>DYY>T> ڈ>x> E>p>e>>` >$<>86>Q==r=&<=P-=ڏ< ջ =zT===`=@2@=K==>=d^$>>LǨ>X>j>VQ>,>vt=-=D= <@<<+=,7 >_>$B{>xK1>==ph=F=b>f=< =] >_>r> r>dt> >ʊ>e{>tM>lHE>,*>->0i%>͌=H/=>h>`= B>f>г=2w==e;"_3P.xHľ>Ͼ[վٹ쑹Ծ'Y"ܾ{ *m$%Ҿ оF,%Vk$\8j8!u'8Br[M]UBQFNK1OBPӇ.qaʠT|7>>|>@>.>0HZ>T:m>\{>>b>xr~>_>>,>> >⻑>{>>Xx>!>>"S>( >|(>>>?w?X? ?6? ?8>P > >@>>J >>>>C><ԛ>>I>V>|>N,>>C>6>@H>`=+=x>t<>*>`>>p>Vh> >lޠ>0p>3>C}>>H>>>\u>)|>@>pR>P>8>>>X>Ex> K>Y>hF>>r>fJ>p>>,>$>c>>>>\U>>~>?j?>:.>>$>>&>L>"2>z;>>@l>>>|ϓ>Ԃ>>m>>>>H?;?|>>b>>+>(Ŷ>>>,>l>,>>j(>>?>>z>ֿ>‹>Ȁu>Bi>g>Lx>>ɤ>j>g>$dS>X5,>c->b=`=@s<t;#=`#M=0=[==@~7e`J ҽhj Tڽ(㎽s_ Sͽ,0 pA`꼠B@9` ѽ 3۽1S\uD`&Zi2@g0~=@=U=_`b$`k*ѲH횽μ'=X= @)> j9= <`J+=<0x=@<񖽀wн(B+hȽE/5/r9mJ~/l1.4fZBFcUqPdxHDj4TSPiZ`d(w@@Klz~Bby(;< /'=ȳ==pR==Po=^=;>xQ==[>첄>Z>>>6>|>>~>T>y>Ñ>%>r>Z>>>0HZ>a>XN>S>&Q>A>лL>8V==>y==p@=`,7>DE,>l(>8>Q=X̔=== =8=D"=@===&>n>\v>96>@!>==x=4D&>h}=>5\>Ta>s>L~>\>X>&֢>V>(L>>bL>`O>n>j>L>>>>4>RJ>(->>a>w>>8e>` ->Y>Lh>9H>E>]U>bo>V>n> R>L:>^> 0>ɉ=h=> >n>>4xE>8 =E/=o`Ĕ0kR@e<'<@J*$>ZpP>m9iUAP|0޽.s&XpyqM G׼BF&>LRrƾ\d”pr馾pRPBT[{okX%g|JXYgdu9m H㽼 r5Yqc*dJaqJN8 HC,7xP%hG\R+Ȏ $-Am^{D~<#p"1hH-R(pBX0r`Db`"\0+,^mXc 0z+LPա(P̙ 𯑽v.@AN#>l>F>P>/*>:>K>$I>R>W>j>rɴ>>ܱ>>֣>>:>J>J?>=>8?+?%?-i? ?V?\?s?Ɍ?? ?8>>>5>>m?R{?w>l>"e>(>5>z*>v>>:>|>d->p>S> >>x>l>l>>c>>bq>d>+>س>>o>=\>e\>K>S>8ց>f>Tx>>ly>6>>6> x>ٖ>D#>Dߡ>VH>">z>n>? >$+?*>&>>f>|X>乑>pg>$>> >^>T>XW>>> >~>>>(>~> 4>>z6??h?S?U?li>>? ?>?>d>6>*>`>>?V>z>s>>>>>H>Xާ>>d>hw>c>\h>>b+>D">>j>L>,>}!> t>S>pI>Hx>>g>E>>T=9 >T=<>Y=»Y< <8-]H09pyq(UL<`0Z9=˜;@8;lR =<*=c=;=Pu=@'< V+j⽔,tv 0﻽X`{ ýXX`<'=U=;==5=Q(>C*>+>82==== 0>XT>i>h>I==2== ɂ=~C=ϺxUTK*9`=;< <@<@!A;@03i)p3?Bh((hXƽ8<&5/0cZf:ֵ p2̾wLV K3v+N,C4p5?LqK8tEP=`/W@0_zS<!(5?! jhr5|ZQ0Ud x]=%= 1==>=l>g>n>Q>x t>˝>Ԕ>&w>W>D>6>dB> R >==S=N==pc= j=h=Ї-=` n@y@F@W<;zGI=(=@=p6=}=`< n5l)='=( =;=;=)H=<@<8ptfHCT|Ť8Nlˀ^膾"w\BfIEZpOL*nj۽Ž ?P֮-D`J0Y,r: r2PŨW8,op@xp Xa<p𥽀_`O`>>6=2>h>>>>l>Pn>Ճ>u\>|JX>|@>=><;>(>=8=M==>>=<)WP\Ž(V_ GռVO;FļP/;b}Zg׾zԾƾSr#2pP<Ӿ rj 򾨾羊~;?} z `,qZ'@/g)A!"R8. U uvtXT)HeҾX幾Hξ.8ǾȀ۾D6XY쾆T…辜Ͼ ۜj͚@qzL9ذ@@<;<źx=|=`=w===z=50l70O>8H>=>8)>u===x>@~X>$`>(.>hj>>F>r>X>}>1q>PP>$>tH>|U> >b=>x>H"=#=`/hֽ(@n_гv;;L=v=h=J>7=4>>P>=~=%==ɤ=Hu>q>L`>Ե>亞>>>>Hc>g>=c>|O>Z>da>N^>Ǧ>G>>>l?J ??3?.?1??o??0?B!?H'?7"?L?/?p.?#?($?-)?x&?V!?n!??H#?.?N#?<]%?o'???/?|$ ??,i ?T?"?Xf????%?H.?p'?#???H?m?P ?\?|4?f>B>>>>Xk>FD>x>P|>4^> R>JN>z5>h62>L4>J>&>>I>>>>P>>P>(>$>p>F>߂>>˾>$s>>tO>,>L2t>P>> j>ho^>4v>,>\i>>~>Dޔ>ߖ>>hЧ> >>ɤ><>>z>>'>RM>>8>>@>D5>·>>º>t->lw>pix>X>s>>x:>م>v>|z>^> Z{>i>HA>^==\><>Y>/I>,)>l>r=>>~>hA> >ġ ><>>@W >8=G= <ugXԽZ۽hԽp]ҽ=%=H!:̭9lu2ľnB~x6 R}&Z2| @"?dImXμ: R∾2ݨ,JpCҾƁξն`tk&XWy69ADLx/նVnɀv:)\b$xx[*prZ'pc*P7Rȓ8y(pֽV" .x5ZVx{ D}.$4P-Кͽwpq `Y<`&t=k==H?=<#==?*>DW?>pV>R>$CT> R>x>z{>f>PN2><)>\1,>>| >p>8v=и=pf==X> =/^=X=, >=>` ->Z==&>P>Q>U>Xd>d]K><">+.>>K=>ƙ=8=P=@(= 0>>,_z>,>$>._>Pk>Mu>@>*C>>>pt0>P=->>X=x=~=<=E=+=`zXG>[ >l={=*@,e!=<`fX==x7=`ge=œ=-=@5g<8bpstӽ`P iq-t*:黾 Ѿؾܾ߾rܾžl@Y/\= R X :L*&2—,侐ھƾB۾*ӾxLؾ_׾ZxѾU¾& F﴾NOhþFо]¾,[}%6pPXQ=(0Y);` =i==I=ho=>D>E>k>((>1H> >2>N> 1>O>>>\h>Ȇ>N>Uq>>?>0>0>>T">%>>>X5,>b~>J>Đ>v*>>L>>>lj>9>*҈>U>hJ_>5>D> >f>@O=@===@ =`W==XX===h+=ϟ=E>P`y>k>t>l>r>Fˎ>y>e>q><>f>J>>>^>n">8>'>>>>> ˶>P>|>>D>>ξ>z> ?? ?r?i ?4?n??\> ??pt#?H-?Ā'?`?#? 3.?xK1? 6?R~7?p> >?9 ?'n ??l?? ??\r?>j?P ?l? >K>>I> >> >>>6>Ȑ>d9>h>> >q,>8>=`=V=@,=S;><> R>E>FC> >n=pS=ϭ=h=>=> >%>%>>Q=="=>=e=p=Pq=H= =p=t===c====XG=1=ȃ==臦=XG=TW>ca>?>,J>1c>Ce>?[>,)A>$>ij>G=0= f9>&>+=\>\6>#P>U>peD>(>==X=А=8V=E=Ҽ @<<<0X]z[lXjXA̋-E>ih{"⹑P*n!"1ݾ:Ӿ$0ξоޞƾtDþn;"6Q(n{UT69ۖ v2s HM(8)D08>C[N!yTPCd@pxZpԽZ;}zD>;@<:f`b$=x=]=M=p=}=0A3= S<B=7W=(=`=p=8>>@==D0>(>M=c=p9zTػ==p=p=`= s?=Z=Z;(;;< Z@7]n .1(od><>|ld>TW>`b>*Z>މ>Ąu>Pd>d,S>Zi>O>o>@>(> m>dn>y>>v>J>ם>>t >Hf>>rc>x>L>Q>H#T><>]>P`y>X>4}>Z>+P>N>Xn>X0>؁=^=t=0==3IcJ~ ; @횼5HdŽ˽sͽ>6 RJg V @F<<=`=P=` G=L@Lt^>Ы=;=8-=\=P>m=0=` G d{46@!A养K:@^C 8 | xl 2^ ! R :o4> +׾Ͼ\˻1,}F5H徒8Bþl wƐV qW}т6*<^Ň@93>[>h>Xlr>R7>>>H/>PK>b>>||>~>Zg>º> >> >>>>>>3>;>> %>>>+>0i>>>4>.>>.>}>>L>AF?6g>>i>Jʵ>I>8>LR>E>>> >j>f8>>đ>>@G>Нt>ޛ>v>F>Lw>tm>b>">>xn>>>{>/>.H>v>>>>m>>~>>FV>>>> 4>>>Rn>>ߤ>N>@(>>??Zi> ?? ???@>?" ??2?;?9_??#?,?8?20?!?|z?6??12?????|?@?w"?d(???^?(>4>6>b`>>L>>>U>f>>>7>^>0>B߇>>Tu>PV>x>JƁ>}>s>@6>8=p=Xϻ=E===!<@V Oe] +8m<j;0L0߼zb`-W&xptmhH@@8-;̚Ѥs(r]ļ4@#ۼl;/t>cP>fT>>h;=bi===p=`=(= <~<B=`=*= O=஋=8`=ս=Xϻ=<; JG.QƽH0ݽHֽ@@d4`}ļ >F>$>?>X->X5,>"C>1K>>h=g=>>(=D6@>a>_>c>pVX>\>=0=>(>>l>hh>1=h=TG>2w>>>DYY>K> V>##>>$>D#>i/>=0V=@=s=yU==`C< мJس̽0d"КMH逾8Q`P&P:νwɽмٽֽd(@0x8sƽq`f;=E=0=L=Pc=P[=A;>(@a<E<Y=0=1=ۜ=(_=7>x >h/>R>Z>tS>V>XJf>f>>Xϻ>,:>4>)>G>>>>⺄>dM>O[>D݇>>la> I>UD>Dh>pn>>@>`aK> >8=0>tTr>H>>X >@>>P>x>>0~>Ԩ`>2>@.=O=^=P}=P=H< <9U`eߖ𭑾4v^\!gl@*tG$b9h62h苾Inc>&rǚMڙl K^lM$>008O]@^H3M$x@(Ж(@jv@Nȁν˽SKLa_I#eRpW0JhN|\kXo$;8OhG8*Xt}ޏş~hKl]g텾[[p{8^L藾RǾfԾXGپ-㾒h֢$>"p4N701@.!0,1[-8([LQ}%سj{χ A ~6OǰZW!~DW\ ܌ Y(aG;޾,׾SԾ.ؾkܾ*վҾ ־nǾP~8R㚾6 Tţା&վ.ꣲ7lYxoP7x,Lv 4e%x,>8ID8$4_;|漽<s,H&EaGt<44}`bӀeS>NX{N~Pov)h)D)|ddLC!0ѽp ӽѝ`OQP>4)>=X=p={> ">t5>c>^>S>*X>Dh>>̫>~͓>\ >>J>>V>~ϭ>|>8/>U>L>g>0>Y?\?\x>>?I ??? A?R?n1?n!?$?|?g!?%? +?9)?4??-z?.??b?:!?r ?Ja?? ???-?H??o? ? ?l>>ű??7?Ƥ>L>">>>x>>4>p>.>ֶ> W>>F>>>g> >F>ȿ>>x*>ZE> >> >>7>fH?>K>X>N>~k>D>N>4>d>Y>>>F>*_>>^>P_>>>>}>>$R>>D&>8B>D&>^>N>>>X>̎>T>p4>>T>/>@>:>>N>0>>Ƣ>B>U>BY>.>ؔ>•>t >ܿ>ho>>ދ>4>>f>|a>L1g>[>h>@\L>y(>0">l >=l>=臦=`ԍ=@Ws=觘=0Y= =w;=@q< k7׽ P|pq ʽNJ@41t+#>\@>H]>H\>I>h/>,o>Џ>'> q>e>)R>IU>`V>0F@>pV>7>h>7>)6>l!>V>d(>>H%=>#>&>A(>pP >T>>>=>(:>!= ><>|4>T]R>HdE>\#> >k>=D=ǘ=8=`MR=Pw==@H==b=(N=@1<g;<)ѻn;:`.=e=`A=1=X!==ڣ=(=^{=<=y,=pg=8V== ޼==/P="=Ќn==8=Xj=P==v= /={== =E=`W=`<<\=`hr=0v=>$#>> >t> >1>~ >>D>_>ED>">>> >>> >8=x+=5==M=@I,=`MR=p!=P-=<` ;"=Z 0»`ݼļ ļzP~ѽ U0ѽȽ+⽨Xݽ @5S#KaW0Ubԍx+s,bsjl^}VVP1w4t}V] , |йh|` ZcCZj|4䢾FBbٰb躾F žd˾|&=)ƾ xN*r¾Ih\ؾnEҾR޾ؾRnؾؾzȾ0$ξ8t߾S2z߾x&ݾ&7,Z\H d iRp@<X*=J h;?g>' ,   <  Rj L+ mb:b澊ھ8d澞<タӾ;˾$|¾Ӿž404̼Fݻd趸~zþt@⮾,ұ&{2u^r~t@y|{l{a,(h\V_\0([<|i= ;TiX6Ⱥ3 @NFXl8 ap2jk:@p<;$=Pd=p=+*==C>@> > "(>'I>9>9/>|A>t1Y>m>l|d>X>&f>ec>,>{>-|>HV>ĶF>s>d>X&t>P-g>tU>=q>\>f>I>C> >>a>m>亸> f>> !>t>B>L0>->p>>&?>DI>x>>B>>s>G>l>>>>B:>!>>¸>Hf>h>>6>@>g>b>6?R?8>t>{i ?| ?V ?JO ?> ?&? ??ҕ ?m???A?6?b>> >d>>ޡ>Z>"V><?d9 ?> ? ??'?й ??@G? ?8?4? ?O) ?8?]??b??'??L>^>B>>J>>g>t>>R>d>|{>~>>>d>T>jH>>L>J.>^b> > >>>`>>$v>ܴY>RQ>hLy><ҁ> >>w>XG?> V@>A>x/>$>t)>8> 8>P A>"2>">`@>TH>4>lN>jp>H>/*>0#>2>/1>4U,>ĥ@>PH>x,L>u(>m,>{;>>=%=`=0ێ=}<a3= BDXLXdmG$7`O8&ChZXD V dy/==PUpZRMg pィA 6x{ZǽԽ텽葹׽I`p\  dn,НЉǽ`PWн o̽P e཰m(pX½yHwXP(꽀ϽPd?+8T:);T= J=<h@c<=9ݼIV;5<<;<`,<<(;<(='=o;::<d=0U=S=`? = >=< Ug=t=N5=8Ģ===ȶ=@=؃=>)>dl>0=0>L> >> >=>$>= >=P=>\>s=>,5>'>E>h>X=|>M:>8>>x}> ==y=|j>0>` =p=PM=Ъ=L===@=> >>xm >H>C1>1D>#>>t==x8=2=k=y =І= w=ѹ==6=_^=f< <Q==PQ%=9邻Už@9;˾`о޾Ծپ*oپʾ>;;ѾVYH¾˾~ϾPN̾ʾ0XӾa~$־}ھĤ;ɾHɾ LľԾҘ;vq׾`s޾h;s*뾢m߾[d۾2⾠܁{Lhf?`nCd.(o?> (,轠<L_CXpʽxp]D0!2"):;Ϙ<<=Pq=0|==|={=a3>g;>p>_B>!Y>m>>la>M(>(>rT>X>y\> e>th>P h>]>E>T]>>b\>&o>|>>S>c>>>ݷ>pܺ>z9>r>>F> 3>J>>>>>J>i>>\>2>0>A>>R>>p>`>(>,>&>1>b>J>>5> >T>E>R<>>>O>??G?}E ?&??l?? ?IP ?Z?k?;K?p? ?' ??T^>X>g>[??~?[ ? ?)????K-??K? ?W?ɮ?m ?%? ? ?. ?? ?Z??0>>>>\>2> >y>>m>>n>x>پ>V{>>->>V>{>(>ྸ>b>g>z>> ˜>λ>Ā><.{>l>>4v>W>4B>X>6Q>A>TA>#>:>d+F>ԥ9>>p >=>c;> f@>d>44a>81n>dPy>^>;P>0k>@&>><'>Й@>\->&>1>$>P* >D>5=0=x=_>p>x/====x=0=E==p= '.=@< <;j^p``b$ppʽ8콽 dӽHu˽UXֽ#|`νahڽ 1DdXF0#'=M``>X"> ە= i=P=(=h>,.>LP>s=z=,>t>>$>X!>L_>h!>>.>=H=:>%>` >>9>K=IJ>>>J<>07>@O>SW>L4>2>>x>2U>h>@;M>pj>>+I>=>d]>x=۰==P==O=0=b=s===ӣ=}= ʏ==)=hn==x^= >P>lu >X7=l>E== >o>Ѝ=>>D > =I==P =)=R<Ⱥ< x<D Ӻ5<\ p`1jPx0Q4A@AL0/@뀼fƼP^p;shxƽt`p ',''1D'z<ܐg4eYiGP=0C() w 8ٽ\.7и%h!^@+W6QStϾ̾ƿ\ApV$ijDu 2C2SN.!&Snwko0x;v(_HJIJ x:ν g8>5@6:4 >,=h=Ht >L/>|G1>4>>.>DF9>t?8>0GM>lI>4H>)x>/>2!>l>>>|{>d*>>f>>>>>#>x>o>>>>h>1>$ >f>>">Z̮>߹>~>">x>bo>N,>6>fm>ގ>H>b@>V>D>7>D?b? ?v?>Y?%?$>8?JE>>>^>>>6>j>X>">!>>p">|[>>7>4y>/>Q?j?$??r? ?{?F ?? ?0 ?n?j#? ??>?J?b ??*?H?>>?)?2>?,6?u?v?e?Sz?>w>x???>>>">*>>>>>>@>>J>x>>x>t>Ē>6> >>L>y>><>>>\xk>r>E>.X>ݑ>T>'>>م>ޒ>L>tw>d n>Z>T]R>Y>vM> 6>W;>>X >@>` >0o=0==,=(>>{=I=X=W=]=q=H=P=t===K=q\== *=Z= ]={ \ ")d 0\--<@Xx4$.0޽0%wv@%$@ o0 kap[xex0r^`2,X̔ڏ 1ADpd0\Sv&xȼ  :FX<߼`G »0p;=p?=w;{=p=S=h8=t=p=h=pD=(==0=== = 0>P>T>L`>>z>l>0=8T=0=>=8=b=س=H=P+=e=h߭=$= %= >>=>h=@>8>p&>1/>E>C;>:>>C>(^>V>0>r9> V>5>H/>">o>>>@=0=Y>`=xl=p#== X=(o==xp=B=b >>\? >H;>0Zm>cP>%>Ȱ,>TA>\N>X>7P>h">%>D)>dp7>9>>>Pq=x==k=(r=`===Ȟ=[o=9=u=P==0=<0!=L=ʝ<:@vf<9<,<Ѳeps8+_`cx/*X=XM((#@7@4@45b.|>|/(\8xle)p3Nh\ V c|gj|h.d啾޾x[Et,^ٴlzMɣxK THt&#ʍr׾پؾӾXF̾Zᾎ<򾒰N-d&d 68UP.Lfd=4 ű$6U0=b] ` d ~q r4b !b󾰧 |J  Ody:) hF|VY#PqPR,[ܾ.ܾƳӾ&¾7˾VѾxþ2 ۰n2[ꞾijvǾ]8ꞾݘR'|F8ҕp|T$tL8OF kd~"^ýx*vH.EĽNJdڼ?'<`͚<@O<`&<Lɞ;

    XT>dO>t>r>hp>~>>$vf>yc> k>>>w>(:>zH>>>ڒ>,>y>>:>zY>>>n>^>h{>i>6>q>>t>>&R>.#?>Z{>><<>K>L>>>>D|>X??= ?K?l??E ?φ?^ ?`?>(a>>e?b: ?l?i? ? ?#???&?@]>>>>{??~>>\>_>>>>j[>R?7??L>\>>n>>V>>">Z>>>B>>h>"> >7>4>4>b>R>>4>r>6?0>,>>.>@> >z]>@:>>>H>ȿ>`> >R>h>>>T>>j>ij>t?>>>l>>P>ֱ> >S>M>r>~$>ۖ>\b>>6Ȣ>V>>V> >,Ј>)x>vC>(>>>>4>8N>= >$>Hd>,>= =I=lf>D><>>\v>>PZ=ؐ===*=P&==؞= =` =Pr$=`< <߽0KۻXZ@ V0}R@׼;(;:] ;bw<6/<;0=P#=P{*=|<O<+=<s

    >>?>j.>DI>XG>>>D>hn>4i>T4>4!>H=/=< 5=P==@">M>HDS>j>T^_>hP>HH>pC>4"N>?>#>$">8>,\S>Zb>PT>D>=>,U>8o>d>E> t>>=%>,I3>A>4>8===~= 7=Rw==]n=0dL=X =X=`/=P==|= K=@g=ȏ=M=8@==,7=@W=YH<Jt賾f亾󰾺" $nuȞ֞6A|¾hԾ^Ⱦ5ľҾ־Lܾ&?, aLSuV sN T% u &쾔b4g󾑉~@)S2Ypg@0|,^a,뾸쾀H(`⾞q㾆c׾XP|t 侠M׾\ξľHϾ`$XV: E߾Re= ߾xFgҾܾ<޾~Ͼ˾p;JѾҾ+Ҿ^Ͼپ߾Ҿ@}˾Ҿ\;ǾS¾~ҙl폾6ꔾN:p2fXoe0\I`& $8/<=2%<hin潰۽ ޼耳V@OD0&XȻ`֮<<=`(<< A< r2=PI=P=h=F=8/==^=0= >t.>(;>4;>>>D!>($>Tl>>A>$X>0iY><^>|O>H5g>Y>e> > >Ɔ>1>H>0ޛ>>>f>@>|>D>|>>=>>>>A>>>>>F> >>j>>^>Q>/>Hg>>S>>F%>>>ȳ>v.>> >>x_> >e>>>Y>U>DI>>z>pU>d,>>2>> >>I>>> >P>=?j?>?s?.V?02?5 ?%?Z ??R>L?>N>,>?+?.?>>O>>Ҫ>ʠ>>8>`S>>Ԩ>z;>&>>#>0I>>J>>>>^B>&>> >>>>|>m>|>>?>Vi>>>>,H>d>v]>>hLy>&ď>zѓ>bԍ>>ي>֏>|W>d}>!>BW>|>d}>^>>.>M>b>Tn>eq>u>^>N>O>>C>@>E> 1>(/>2>%>1>h>X$=h=H"== = g=`==:= B=Hs==5=@ =j=X=_=G<<<_*a\p-ۺ`>>4U,>H><>|>/> ===XY===>W>k>)=-=H>] >{> >>,={=h>>U==(; >X#>=T=h==?=(=J=h=(==x/=X=P=q=>=l==-=P-=k=p=2=X =s==(==@;=@F< h<`<< U;^k;;*@ێ@AP0eWg-d@m4vxt@P Z0Vl f.{o@Q4ɝpϽȁνXvѽpH@,Ὠ%˽(Ľ^ج̽;x>߽0 0 b'8۽K`2*мٽx L  H( (սX,Ѳp]D Ej~4ʽT[8 "\_FQ_0XSH13RX5`hlkss vv$P\4N\^v䐾FuQH1RG¾Z`a˾I. 'v\Xu:tDY"̾VʾdʾA¾,[ƾ¾V*s¾ Xdn5|F﴾ ľDy˾վݾX $ؾlzʾ2Ͼvƾ;ɾyھ=ܾbP߾޾ʾžʾ|ӾҾYξ;׾Cܾ-޾& fNN׾ Ͼɾ҇ǾQξվx־,~žFľ;mξڣӾ ˾ž$ҾAվLǾh6RlĐ`~`/zvيs|`xt;:}\~@)n$Hcゾipyq2t/stP>\0{صxaؓڽ(Xߴ`PWp3?\2=p=|=X=X=>0>$=j=@=`7>F>aU>A>Ta>,q>tw>Mu>o>=>Ȑ>Rk>ɟ>6c>Xާ>>Ө>V>RJ>>>>v>W>>>H>4Ȉ>>Tk>T>T>T>4>4U,>d]K>vm>>*w>,>> }>`Ty><|>>: >i>8>x><>>V>P>>>ն>>> x>>> >e>L>>>>> >N>^ ??t?$!?nB?6?%?,?R-?(?E3&?"??r?d??M>>L>{>D>> >>>N>>p>l>\>Zy>>H>4>u>>>s>>>r>z>t>a>>`>[>>>F4>:>>|>g}>[>X->x>9>?W> Q>0%A>XC>MU>Q>tbQ>=>>$>`.9>]j>&>q>tdk>>>R>.%>ְ>>z~>|{>T[>PL>>*>>>N>D6>b>Fz>>X>z)>u>~>H/>>l>>>f®>2>p>>|>>VX> >>xpd>65>M/>@>< H>|L>h;> >>0>`=&=`<8=yc<`Q< ==\>0>E>Y\>HV>O^>k>Ժs>> >y>Pq>Xlr> gM>M><;>=ǟ=M=>=;`\< S<#2@ڼ8<YH<@ㇽH@<"w=p=9';P/=x=F= ?<,<ǟ<@#<=@D=@5\>@P>$0h>#>N>>8>^>>m{>(>>/>XE=0e=<`ռ鏽$- K[䩲^Ȯne Dl ܩ@n߽YսH0\ i,p P=˽kŽ̈DU%x5|ldP劾g̾Dl|4qy'eOS07/<,ѕ`F~=H!=~=@W=(=>aq> >>J>ƥ>>$R>*[>>D!>=\>F>{;>)> 0>`=pWe=31<@0P An6֙ǝHڔ8DQNԔL~GvlL-P0HBã@ 0=n)mмٽCsィsc#l!tHDPL̽>ýX񽰥7x,̽좽v "`` 3ؽʽ` KԼQx=>> >0=p==== 7=$=K>E>`,>>C>,P>@>PM%>A >(==xj=И==p9=0Н 1|ΆAľhX$%'p"PNbӾ~5-0$׾־>Ⱦ8.BாcΒhJ_/ T/HAjb„ ۖ|y ۜ榋s,E((!`߽r'$B?'$D!e>yx y 1 $Ž |+p<`=S#=뾽8۽0_ `) bY0O=2=(=`=PŨ==H=@td&ؾb; q)w;nVKVxZ[PWdzSi|J:O91(G *!3!^#%@Xe  6tt侠Ⱦ~dMP䍾V5pQz؏~͓THsЇpA`{@y(н Žu X@e;41>-O>#>=m 4hd콬 ?`f=Bi=(<"PA,S^؃a(P. |PI@ㇽ׻@v<^+؎?Ct)9K'e\>ws3о:Tz$ !X7&ؼAUЇ-t)% fPS?>Ԫ>>l>N >d>>>,>\]>>>h&9>q>w>W>?>6>P>tuq>rw>dg>tQK>^>>:>45n>==>8.>b@>Z>8wl>`u>r->r>n>>>n>>V~>:>3>>>>Ó>4x>87>`p>=P]=L=8==_4=(=p=2=Y=`>3>y\>r> Z{>rw>/b>:N>$>=tZ=>>l>$ ?*->> >x? ?> >&`>>K>>ض>Pջ>ѫ>dn>>2>߫>ڲ>>`>>> >>>d>L>~>L>>>>J>>d->Vl>>>(>E>Ҩ>> Z{>[M>+> 3'>>=ȃ<#гt<L5 W]ăhd@L@E==>.>Å>%>(o>">2>>n>ʟ>>a>j>>j>Dߡ>՜> C>>*>Vk>^>>dĮ>(> V>XY>?x ??*l%?%??(?($?*!?@?,?>D?C ?d?%>>>8>&u>>:>Fy>>>>t>ƒ>>>Y>*>Z>#>x>W>ޱ>>>s>R>t>>>*\>1><;>1=(=olLM%Bx\$cs[يd”菉Q%`ͽ<)<= >8>&=<Z:o4<ft<`H= =HC=`=q===4=#1=@.=@O= _=0Eg=T=2=k>8>u6>9\>Hhy>|m>pn>$v>*Q> (>8'>P4>)=`C<@ V>P>= =;aDʽ½tY>8>}>F> U=@=<Rμ:; =x=8/=H=P]=щ= =<@|2MxӽJ.vT&˾\ϾPȾoѷtȾhھ,ݾʾ,Z\GE w`+FɽPpuA 5,)@`Q0``罀Xld|Z8xr@uȮ====0Z9== 0 ܽXc|97Н@N!%&DNhݽ\a<@h=p|=0=1ϼ@CσiܽTY B<6đG\(ĽX29e lpK0nv҅ U>84&Mr٭2־ :] ' jbd;`T64y`}p@6 L`AJ1;˾hľ|'6 "\b5"xqpXpd.!KDv x*<^@ѨLģJȾؾھι䩲41^=(RL0" |<l}ھ$x6BھbSܾv*98O so`n~im<=LA``-,1l;DK]Tԕ@,VjQ|32Hm.F,@]CtčEݽH>ЉG;;zp=pv=>!c>8_> >X~>k>tTr>_>=> EA>M>\O>H[>ut> >x> >ز>A>}=X=0a%="=,E=k= r=<=_=`a=<@6~>>>>j>S>p>P)=pQ=בjF<@ =4">$U>tu>d>f>fC>*>ȝ >(>Ĵ,>hnQ>X%g>(>>0>>f>w>,J@>(>H>r<o@}˽Ѕ`9<`eK=|=#>Q>$k>f>_>!j>8v>$y>~U>&_>J>X>(>>h|>>r>r>->g>HR2>===D >>>|M>tq>>0>L> f>pa>8h>L>->j=F== VG>>8>">>s>f>>D&{>h>l>n>z>N+>`s>L>>>T>Z>(==9=ʒ>п>ڀ>l>>>8>>4>xK>Pp>@>@4>8><.>t>8=e!=0潐S.VI*|Ha0HZh5%ŽGWg=8D==6>H>>>fL>H">`>>^v>*>>>+>>ï>>>~>i>0G>\>օ>jZ>l#>!>>->F>\/>d>|>=@==n=9=>=7W=^<`I==0_z=7=Bw===T>xV>>">n>R>,/>X>=x=ʱ==x+?>I>H>̳>r>>r>s>J>6؁>S>%>0#'>lH>Y> W>)>(Ԣ=`<Uo8塽(ӕmp&;==h>t3>|g>F >b>&>ʪ>(>:ר>Ξ>=>|>Ux>̰`><@Z>h>4k>U\>e>>pS=ȳ= hZ>b>:>8?6?Z>M>:r> >.>,>M>Ȓ=p뻰 qڎ iR5 VG0<0C @ۻpM=8`>&_>T>==H==h==>T>j%>30??Dw?J ??>><>ly>j>[>J?إ>֪>ܵf>~=qpὐ'@AI0x(`,0iYxtbQB`=t> >l=*<@)==5>P]>H>>J>>O'>PqK> >0>.>К>~>.X>ؒ>3>=(=>m>,>>b>D>` ??R>`u>`p=Zr0hJ_Qc`n2+bپν̾d~ʪ𜋾Ud{vp dմb='+̾h࠾c`5@+ԽЧ 04Ľ2L}/HhO拾&_DGz^5ɾľ 8*)aоtܞ='(bZ3ƾ ( [2"~XѾ\e˾p־ĵӾپi%,S\RV]^NPf\5Iփ:۱2";xoJL NJP NE?">_-X6DYپ ݾҾl־ѾXhTDm`H ە뽤Yk}$玾^+ɾ^۾N龀 SY!̬^P+Oo1F72V9;"8hY1C(#\ cN[վ;.Ӝ~@T|7i нf.05=趄=ǟ=`T==\ &>4f2>l>r'>P=hI=T>mg>⻑>>>^>>@>= >,D>$SM>`>f=u@u̽+MiG *X `C< <4=Q>=\>Fʁ>6->|~w> >f>p>E>m>&>C>>߷>R>>>>>x>>>Ŋ>/}>T'>=P=P=`=^=)=A=K=L<@횼0%uT\C@r21\>~>>߫>`Ʈ>2>!>[>̩>/>9>>,[>4>.>>P>>Ǿ>~>f>T>>>to>d~>o>Xw> K>D>M=##= $<1 ZxK1n&\?I,萾Zƽ ꁼH<N{=x=`Gs=l==m{=p1=A >%>ԗZ> B>>r> >p1>#>b>s>܏&>x=%/=<@< @hR0нQ@#Sd-*U b_RXz`o~D>@]J<ȍ=xغ=>>0==y<@04<@<`=>X>S>~2>+>8=== ><`ǻ@ U2$O',;>=>e>>Hݡ=0]`=h==h>`=d>L>+>W;>e> `>Td>Th>2>>@==ȱ=M>j>@o>9>>K>D>ٹ>>>>ò>I>6>->d>>n@??>>>a>z\>j>><>۲>ޥ>赑>`>s>hK=P-=E<`I靽:@!3 ] ><>s}>>>;>>X>>>&a>>>>c???B>LC>>>@>>V>>*>k>>z>U>8w>Lcl>\Ff>4U>4Ft>~>d>r>q>4d> V>p S>p]>Np>>> >B>FD>>~'>>>?T ?K/?(6?Dy1??T ?N?d>>ʏ>?Y??.0?7?U/?X.?`)??^?V?tA>Xi>>b>>4>>F>>(.>n=J=@===@H>\ge>\r>~>>">>V>2i>VJ>V> ?h5 ?~" ?%?F??? ?xl#?!?@??V#?h ? >H>0>lf>{> 3b>S>,y> En>@B>TZ+>=M=I;!0>{`@M`zppRȌ0?=Xk=`=+=$=0==>4J>dqx>>>Z>^>f{>>z8>ב>W>>:֛>t<>M>渞>>>Jc>°>&>>ϲ>4>^A>|>B΁>$? >=8=P=h7=`pk=H:P/L]e@UCPx{!` <==>(v>to>ב>٘>dӚ>l>->v>Ѷ>:>l͚>>r>Aq>|F>E >آ=05=Q=S<`P]xNXF뀾xr~W4FxZDEB @(Bb`\3@&BJ~( =q=/==Ȁ=0=|>.>Q>>x===Є=f:+zyc<٫< >@Jm$uY tr@Z^ʽL`gI~@YZʾ2b+z9O<\:3D' 6?*V;?DH8Nz@Ʋ,H8 (G׾ 1|h,X}Y0;0Wh}P9c$?:` f 4hHܔp齀ڽP^ȾR q>FN۾&dzU_8⬿Ls˾)쾴 侈վL=صf(J<*=S={=H1=P= <@BP@ <6=V=l=d3>71> =.=:&(` 梾ڎ4;ND\ZʗݦS !L|xtJ f@Pa@Kz$y$Ľ D04А= =`w=(=ͽ=P=X >><: >== f=p',cpP 0 (Ľ *ռ@pQ>>>N>>>†>%?>q>@>&>̠>t>>>> >n$>*>VH>>Z>N>>P]>|%>Ǧ>2>P>>M>¥>>O>>Q>t>c>,>Z#>X> D>>d>>X{>>8>>N>>$>+? ?s?ȍ ?LO%?u &?:N,?HS2?3T,?(?T&?? ?)?i4 ?s>>>^>?)?\@ ?/?vr>@>X͡>x>8r>b>h%> >/>(>0>>>>>>*_>>Ә>I>:>d>>>^>? ??\x>>>.'>>h>ʬ>X>>>,8>>,>E>O^>;>'>>->6>2>_>V{>(e>z<>4B@>E>>^= 5=jp<I<>== >,>h&>z>@=`=`==@I=8d=l>W4>лL>Hd>@q>$1u>>=>j>Wo>$v>#>=訥==)>^>m>D}>lݓ>>Xb><_?>>@>x>l>l6>k>>jE>lh>t@E>! >݌=](=!<@.@3M=XX=`=C>(|>&>pɚ>>i>I>|}6>->7>f5>;>`aK>R>|}j>>>>>F>>\u>TV>9> >==(=>Ty>X=Ȭ=0X=@=>=po=!%=g;==Р3=A%; Ps`½H@d"=0_z==` >}(>0;>D>f>Xn>T*t>F>w>J>0>l>C[>FQ>b>O>>M>T>x>[>#>@==gk>4>v>쐒>X݀>Ȕn>k>݊>%>>>>`>>r>d>L>$>Hb><>8>=Hs=0Y,=@ʁ<O9W;$0hejcX&QtOЗ&_hx? ߽PաP]R@6Xt|罠߽Q;@ol)8$c "݌<~=Ѥ= =(=xj=V=ב=U=h=+b=@v<@&FؼX@<ڽZ.ZL^>N ľBʾfԾ H:/VB\!; \ Ĵn 8ZܧP;ѣR}+Rҽ^&=;4=A=<@TL c 5@h"ؠ,$Rx|\k,0܁,ojw" æ%Tξb $i],4V߾ξNǾ ݶ:H{ P!(콸$@?>H<>:>` >hd=`܍<# fx,% U\eO佾8ݾ^Ȯ l "aK6{aоvħ׊|VEy)@W X42T69(;gBjCL*0ϽK=(=>`=x=@]=Z=@04[ăh$O>^[>+e>>P>r>>i>,V>:>e >`՚=;;@мbw?@AhPPih9$AnPDiR e3z@ɽX솽9`d`pk{a0e<ǟ=,">ht>>t>f>{>^>&>ܡ9>Z>J{>X>f®>>e>ލ>>j>0&N>H=h(=F=p==>T'>8 >=NJ= G =p=<@`"@==|=w=c;)@^ĄA>b>Mx>V>>Z>(?\b ??wJ ?` ?@?-*?)5?TI??vC?$;?2?r)?(L?# ?7 ?0??|??M?$>6f>Z>h>v[>L>$d>G>>>)>O>>>V>Ȓ>F>ؙ> >N>>h>5> ?=} ?v??>>D>,>>&>% ???U ?\ ??>>>6~><<>>HA>=>+>=(>м%>Y=Ha= q=<``<}`@>LV>8r>>>7>>Z#>f)>ص>>1>>>lY>P_l>L >K=@<@[TbHD`Ԁ( ϽqpL(F=(r=`0b(& D (ʽ(l̽(+5FB^\uPuJNþfʾ3оӾx;Ҿtɾ\Z˻ d.EZvBvRH`.Dڽ`@z ½@8Sƽ0k Q=H߻=p><: > >L>=== F8&dw\睾]N;܄twz@.gD.ʪ4ʢ򜥾pv~J< dP׽@lŽ` ԽeK2ߑY%=Ż#<N= v=0y==[=Y:=@hMĽt^|'?Ph8Ha*DD6۫"쵾žb;X{޾r۾˾fоҾӾF־hlѾξQQ djhnXdlx0pc*6pЉǽ5rwpvJ07 @ㇼ.6<` G=b= F=E;S<^Px(^X<[ \-a9j,\t`8c(opZ%tŽ 0yH׽A6]h5<)p2%6f<+=pF=H=H?=S=L>>>GB>>>Z.>4K>D9g>o>g>z>W}>>>DZf>@>Lr$>D>p>'>=<=P==dƽٽ`l[(xlZ_BLM%(.(>x;8̜3 *,&`ǽH^@q $=P~=,>.>l>Đ>>NÎ>>.><Õ>d>ly>D>T>G>>t>$ٯ>Z>0>0ݎ>Hq>E> ">Ȍ>L>4 >=N>x==x׭=C=z>Ȥ=Ѥ=@=T>Ȕ=H@>kI>\>y>>e> 1>>8o>|u>$ >>γ>™>|>8^>T>%=>M>x' >p>ܐ3>f> {z>T>>F>V>p>)6>= 5=WA;HĽ.b'$84y!8 !(.97& /'dv. 2L(|6'WЗj H8@RJLXֽ<݅NhPc̰h0! <<0=s>=0%u=pݓ=(Ŷ=N{= =xĀA܌3x 4 ,Gv 𽀩ս矽 ( 04xȼUDyǽh߭lq3dãD#:i`ۼ 0Ϧ;*`#M==#>/.>Ls1> w?>e>C> %> t>8>T;F>p|>>&>nR>`dr>m>a>->>ӷ=u=n=8=(b=m=Pě=p$=>>=>$>p>0>4>z.>@{1>P'>W>to>L>G>x>>>X>N> >l>`/>ҥ>L>>Z>%>>|7>`O>2~>cI>t>0=(O=J=@O=

    =5=N=o=ȑ=0>>,[>DB>=U=E=<*9<ļyx߽UHVfttdT8S8d~ѽ@;Y0=g=Xj=и=n= kF=0|E=p3=<~= >L->HD>8/>8)>p,>==`l<;p,@)+n9ch^52?q\d06CxɽԽ3X烼B$==0=*=%>@6>7>o> <[hl:3`"D/l 0zY`K8 Y@[P'i꽐~aX18O@výPw+pu=HE`rd {fЍFB\V {`|4c ؽ`pP =@c 7>TP>Xn>~i>X[l>D>h6>2B>h>h|>h^X>|5>() >蘬=8= <RP97I=5=;=`=ZG=H<Ȼ@Kބ1$ ĽNJО8Sƽ׽4lu DpxdK;PӇ=p=1>`0S>y>t>r>j>(>ʬ>̮>r>>>ܐ>[>>>;>t|>x[>Q>U>TH>f<>G>m>nt>GI>Ȏ >(>8=X<= =w> >0=ph=l=X= >>l>R>N>ֵ>>Ө>rں>R>>>~>`t>>=>>P>>8>z>H >>*K>>F>@>B>wh>Z>t[>dJ>(>A=?=Z i,ļ\i:<q;VJ@ypxdp@yK3ie?P==>>>}U>0j>r>>h6>]>Zݚ>ƪ>>>>>>$@>Ѥ>h>x>_>N>>:>@&>X===@=_=P=8=yc8NCFý( }8`Olp0ս>+0=Z=t;1=P==ЪF=pk<=`=T'>4>X7F>r>w>6 >>>*[>Tp>8>>>h=1=[=P=`P=`=-(ս("8(~TH|`]D7 ]\/Kʱ0ݨXmཀ4`\<=U!=Y=X=-=P->Hh>2f> >~>C>===TkLP8L:F>6p>vw>h\>8>@>!=`.m=.;ri邻b@@?8T<`X< <G;PR2hؽ\=|gS>>0>>z>>|>>>>l>Jc>>T>>>>u>赑>fp>L>n.>T >(=s=T=@==(=@==> >q>>>-(>(PZ>R>^>T|>|*f>*\>Z>>J >[>.$>>8 >Ԅ>c>"U>2>>>>w>L>2>P >8>ϫ>Bi>l>|>@r>JG>%>{ >x==]=s=`=7=x_=@=J:hνֽ8 YqxkG׼Pt>\pQ㼀t0t>z>\b>>z>8>0>B%>>Ɵ>>[B>x@=P=p=R=@<Ľ\TAw悾Đph{H@現hn ws^膾sDl3qNLwe@k8=+LdE>Yg>>Y>@Nm>W>4 >_=p,=@5g,c>kJ`.~;޾|y0޾ڑھžDþ(+ž2ULƛm u%b(P]9< =x:=(==|=`==ޙ=1=ؐ=ka= <`k*뷽(_\29XΘj𙾶⼸ ܼXh,ѾX־Uվ\3m%jվ*ʾX5ƾnv>Z职b\_\hrb[;#ɫЈ:YAPH==t>`T> k>&w>ǃ>H>ʞ>"@>Эm>Z>->{='X>$1u>|>ܢz>>.> y> Y>_>Di>\J>g;>%><=0l=2<@v|pS1$,0SrH'ȸG*n̾Vξ8ξ.&ξ旾06`ǻ&f0VT=;=T>P~>H>P>L>PL>>B>X>> W>T)>>U>p>dj>3>!=Ⱦ=@0Pν&cPLcl<~]SHH,O:% tux7Ⱥ@ܩHɽѽ`ruI;=~>t>hO>d9>vM>l>O> u>>.>4>d>>Ti>>XYR> ">Y==Y=X:`xICh)0Qn9=8^oI$? `apFؼ@X~<`ǻ<`<=ϊ=0̢=O=p>Q>p>y>> >>>v>d>>n>>@L>dM>zJ><ˆ>,=n>%>W=y=@ I>QU>PV>]>8ƈ>>">r> j>0=><>==<Q;@DZHP|G1l~€~ ejþ&ž7˾ξrԾzK徶羲߾ΉǾ4Ͼ0ľa0#bnRှ8dd\dj@c"|^ü@횼ِ;0]`=@)=x.=0">2>h@>L@S>wZ>0v>Hx>|YD>8>0=CѽpB+F>XC>(E>E>|{>hΧ== ã<[٫޽( d~L09'5X &IS{ἀDɼ<(ּ=k=X>|A>LN>i,>t>@">SI>]>ŭ>r>i>&>>&?|?Z?D ? ?$?Cy$?"?"?j#?o?q?'?<>>X>>X>d(>>}>f8>$>t>8N>}>b>:5>X/>;*>P >+>3>kM>$gz>hF>>Ԅ>^>ʋ>Q>5><>v>ZX>?g6 ?6?PK?H#?v'?,!?4'?+?*?/*?$?X?7-? ?`?>a>>)>x}>>g}>(cz>0)u>R>h@>6>x4>\4>XO>Qj>xN>1>$!>*>,LZ>`>,os>,>&>˦>2>6>.>Jǎ>to>P(>\>vp>⼸>F>X>P,>>$>>>>|>v >> T>e>Ń>dH>P->̛&>ܮ >x===ȯ==; ∼;Z<?'< ^S>O>j><>>>w>>0G>>>>>>S>3>>t>>z>l<>j=pM=ϺK1԰9@aP[PXYpj0CMl p@<= <:} (\𱫽<~<_=`0>Nw>>>>>g>>">&>m>k>@b>1>>h>-=@=ph=<Up4Y꽜)$ B0jrqN]omΩ$0 glGld4@&n`@\ż@TL< <e=N=P=)q=8Q=x==== ==]6=`$phALi\/0pp =Ҹ==,>p>=w=j=`? = j=?'=һJiGϭڽ)fȮL@Лv晾fDhžtPž|Jr<)xfw\)`xqhz(Ƽl=`===X=pw=+== 5=1=t=`==@<Bν{-`]|5⏾:xӭofk+(ĸz꒬>iZ><>8|>>>.i>6 >\d>ʮ>>r>O>G>1>L,&>@#><>B=@K=L>hG8>@:@>x*2>'>> >1>4w8>dpk>(w>R~>0><>,%>>>8eY> =<< 3[6ʽtfCh[ehXx\7S#>h fx  BPX%sFi6)d\>:p&*x:`DL`8;< KT=e=Py=@B<%>PP{* )x--'׼ c46|h B^40LDWڪP:hpCl5Z&ՕJb({,KM2@佰)@,<= >p===-= ==`==R=8=U=",Xxcvnƞr~6žϾoڍUxXDL,UxbXHL`L-(8*q@xg4QA6X:I$ O,,"Lͼ}g>w>ꓟ>HB>:>`>>h>B>tֆ>>(>>r؆><.{>dV>>>(>x>>p1%=r7P7.iռ`h@< =j<.6;`<0)>l(>\M>Z>>> v>>>>>>">>va>Z>t>4>Ɛ>Z0>?>;=p=r=@{*<޼\7+);`vʼK@LӼPQpUEuvx:@#ۼ @\@@뀼'<22컠_===L'>$\>$k>>t >f(>b>>>}>`_>t>`,>>x>>`g>V'>P=躸=`%g=<@3<06=<&=;d: h<;*<@뀼``ާػ愼:[=0/=`$`a>ij>ܐg>>>>R>" >>2>*>.H>%>s>w>bn>~>,>x> d>.>=0=+8<`8o>l>G>>W>m>lN>\U>k>^>g>9q>KT>>Ι=J>C>*>W>*>˫>t>Ι>Ϧ>h>7>>!>N>|X>p|>N'>=@[=0 =@ jwpg-`@KT@%^>@>8O>>hJ>n>T>>X>>&>c>>`>>><=g>lg*> >`r=2=pS=$<">1>E>#e>Th>^b>|>\A>,J>$>H0>p>f> h>>j>3>lU>T}>|,>q>'e=Ѳ`nQ(_(ýd} @ gl8tŽ7ɼλ`0;> Z{>> > >>z>ޣ>|>r>>\>rד>?>|>p2f> Q>X>J=~C=&Ѝ{@`8?&XXEuULHP47#@31й2y5RN 9, =p=S[=`= > ">x'>>(>c>/>h&9>Z[>|3>I>8`=<@KF`d)pThʮ TߖRlr-y藾:ٜ肾 v\{]Fwsx<2ܛExô*ƠtzV@_-(L&ZTh ,$`N+88<0%ANd~gf|(̾LA"Vf<-/.뾜쾞¸Ҿ|4ﲾ>' iS4E(G*@ṽ `๫ꁻ; =%=^=ɉ=ЉG=)<Fb>|y>p>(>q>@>xK>آ>{>:M>>l>U>k>(V>%>^=8=0"=X=ȭ==(==>1>@;>|3>##>.>`&>i/>Z>ȣZ>P>d>Ʌ>j#>jE>bM> >>>Z>D>R? ?R??? R ?#?Xg$? ? ??^??q?>&>j>(>sv>TV>P>p=>=Ht==<>(L&>56>/.>ȲF>H%n>> C>u>X>T~Q> Q>8[>S>Y>g>]>#I>lIR>b>Toe>m>r>϶>j>B>6>>>>c>>>J>H>P>T>;v>Юz>n@>L>>؃=P==J=` =<Lc8>ؓZ>lO>b>d>=>~ϭ>L>HT>>.> >>ķ>>>>l߭>0>l>h->==@ <@I0i`$d&ȶT`@pq xнpƧxnʽ)p9MNC 7½Gн0½8 nýk+|;Pա=j > >``>>0XS>dXiK>ԅG>:>W#>3===iG=@%=(;:`A_9`UmYn^\uz4[kqX5`tMT`drqxOL4((\ ꁽ@] X=T==do*>ȣZ>`>[W>w>0U>6Ȣ>>*>d>⫲>>ޜ>>y><>>0>`=R0mٽ н+%YQl F0w@g<@=`܍<~K/5<0B=8==7==-=m_޼Po<=k> >>|>>>>>~>4>ҥ>>Ex>H >>db>81>>=<<XMnȞpҽxܽ`d}  (ؽ(<8 "TJ2l xM˽> üܩ2>L> w>6P>.>䅌>ь>I>P>7>Է>>>>>|~w>|!>x ==v8۽'0 %C[ x\p@Ipj ּ,] /5KT<9<@v=@ҁ=`՚=>И3>)q>9>G>>)>Hܮ>>>v>ԗZ>U>4>>&>@>R= <ʼjݽ  |4l̽\ڽ/(= qPǽ&ýp۽:p ꁽy@w<05=xi=Ž=D >q(>dg> D>1>b+>P> #>l>>>~>¦>ba>h>v>ޞ>>7^>=`n< pS v9NQlmXuW`bPw;oYս; r;A8 Ľx-ٽ(H 1 pPȽpS䆻=A==z=p>`= == <CM8 b D&*SD"蓟:,綾ƾ"ȾPȾ оVǾjp0þ~%Z~γ&+vgh~~xzH!:"! pF;OL皾(*N$_P>hXS : $ .A PdHPʽ@"%Yҗy¾&b<Eun ޠCLC|l4̾p\v`>'+Xz|*Mq,]`@8Zh:fj$bvb;,i%8Z@ݨQc>Y>g>Wv>(Rt>^>U>T[>L4>>ؕ=.=Hu=(=NLa>tO>e>n1>إ>>>>"????i ?2$?#??N^?G ??"!?: !??}?6> F>>3e>>hq=> =px=>D>!>(>P#>">K>Df+>5>XO><`L>/>A>0|E>$H>fp>>f>,>Z>;>s>Y>b>Ɍ>> >> ?f8?4?? ?;?~> >8 >vֺ>^>@Y>c>`R_>̍G>X69>Q>>'=pS=zT=Ч=`G</=6!=0` >(=s=8=`/=M==(=!>>{F>j>>>0>>>Z>>D?b?ZS?X ?c ? ?1?k?Z?>9>.>x>p!>8d=vt=<@k<@<F;'< HDS>R&>>H>0>">b>>T>>Rl>)> V>HS?> #>L >=@U<p5ha!tAA|h0-6l#FhIXx73L0 " S$$ td6\-p/ @n߽0c?22<;=g>DO>e>`Sl>lHy>>x9>]>>>ւ>n>s>V>>\uD>)=g;;}Rh\&g$ "C#p"`T [@I, P:z S ۽^PJ==E>x>>~i>0}R>5>hmD>'>C=@D`>lv>8>H2@>H2@> J>Ԩ`>v>,R>_B>= <@Nm$N Xa:m F /L$~X ʿrLҒ4^$ |KeUX4p / LA\9(pvJ==Z >T>s>Z>م>(0h>|ZQ>@>>B==^=&'I>Y>k>>P)>к>Dy><>>h9>L>A>f8>H>?>[=L<(&(%?VRiG(HrC.\&tȯ``罈v <+k-pP @+ԽкE oȐS===>+b>&> >>|i>A6>>p=`&=U6<ȳ OIXSݕ 1[@~F{$j4LHv f0o£|Ά|X!%8L5`<=>z=P=6>MU>X>X[>Tk>\u>2>}>k> #5>@='=`콘BQt<\4VhP6.~Eoo8|;[ <,.d6L4   ,{P@*=L=М=@/>\fX>pn>t>t[>`&>(==<`?<| K*H/NG jNXv#K1^T:㤾t啾Bz䘬(M@Rz܈A\c4;xb`@!`<0b= =`|=s=&=x==Ⱥ==a; a/*⁾\P Ҿ쾔z8վ̾VѾ,ȾpATZݴ!♹hѴ$騾bETWRYTlr hZ]>U@;'8x(Y0!==/> Q>k><>B>s>|M>,>C>X=^=a4B>>>> >N>>8>f&? ?#? T?Pm?܌??(??T~>z>w>>>p>=x==Px=pm= R@==n=0===@A=S=%=<=Y==p/=8=pU=p==> >x>|8E>e>|>>n3>v><>:?`??Tz? ?? >"C>'>H>m>0%A>\-><)>=}=M=0^m=Z=@U > =P=B=x-=h= >D7>g>~>~>pܺ>^>վ>>S>L>r>!>?k?y???0?#?ئ>t>)>i>$>><>P=İ=0=p|= <<<;] ;ǺĻ7 ׼ ¼J >pH> x>>A>>>X&>vQ>W>R>Z>\>&.>>W>\i>*>hH>=P/=@< j$r| m`ķP@(΋f @3ͼ /'@ H0j 7 Ѽ;藟=8$=I>hC>*>k>_>Ұ>E>Z3>(`>>>&B>(>>l>>"B>> ~>E> >=<.6q@; :@@Dڼ`BwE`uѽhMҽĽp\`@'`e<@<`<= >|YD> ɂ>TI>`>Zh>>R>|>>>>>+>>r>(B> > Q== 1ҏ Ľ LlD7K8tEBC8ߟ#05'@D>Vw>>@G>>>Jɨ>;>`>@>H>>>ڏ>$؈>D>=-G^>4|>>>ם>^ڧ>>q>>>>]>t4>=!=AܼHH hv&>UP=`W^lJi@b8w{\yx\hBXUصfl| #iX WFs-T"pP:PT==>4>U>ڟ>ٌ>>>>/>>*>>`O>5>pVX=~üꣽtL Rb\FN:H짾ɤĠ۝8Pp ە׌8];:hG8-(,p ֽ}` ƣھmܾ]Xᾶྰ⾤rc޾\־Tݾxp ؾ?ɾlǾbþ򾱾TᚾnT]o= \ϼD`5>X0>/>( >= КͽĴ,vᘾžv;Ҿzݾbf꾮S>.循g徨F侴+޾ ྫྷ0Ѿ$ʾB.iGbnD|r(=:riʻw->>#><>0y=`<@s@88r򽊾Nޥ~^濾Zg˾4־n۾پT־<^̾þ1¾vpʾ(оǾ̾پB'ԾѾӾHʾXߴbӀl3? VXB0뇽%/Ơ@SM<=xX=H=D>1 >Z>T=`= <`"XHvԠ"ؾ50ؾwվ)龖4vフ r!,QTr0̾ƾrþrrڎ<}8Nѽ`$ڼK=X=> E>`h> w>y>]>WW>xO>f >0H=@5DCrCDyUelXrŃshOy@1-(bٽӽן>@¼=o=8 =( >@>Dk>8׎>N>`Ʈ>>`>Z>> ?l?9?Ǎ?:?*>0>>>F>p>HU>87>>==(>p=o==HQ=0==P֮=r=P =c<31<`J+==ã=l=[=H=!=H>>Lb+>0d>:>*>,>;? B ??o?t &?;*?:*?@'?9$??P? ?L>3>r>>C>7>((>x=h,=8=5= q%=`&=2=?'=@< < f= H-=&<`<8>l)>(W>z>k>Ně>q>Ƒ> z>>->l>.>$??b?@>¹>>& > >$U>$>h=d=#1=`<^C<` ;`Ff Ug464>)DaaH"G,\P^ DPȥ2Ȟy>>U>> >>]>>Ȣ>z^>k> >v>D>,>X>> =`<n(-~$ @z$V.2$B$PAS0OhM]< Uȱ9+8q8ԛжμk=}=>m6>w>F>8>>>>>>>Z>P>>L>82{>КM>Q>=b=;`p-dڽ\@d#8a%x),kBFXzQE+"o` T@Pֽ00;=|>ut>س>>l>W>> #>]>2>VZ>L>>>>M>T>|b>%>=q= =@)VJ>C 6ѽ(ɽ Tڽ'彸()]6,@y`8 (Xkgp5Y=4=>+>7>,>>ி>,>f>??J?t?@M>&>>T>֤>T9`>p(>(= = KT=~͓>>>><<> >j>2W>xM>:>T>Zܧ>>j>0">P=B= :>0jf>>S>xo>>v>z>>L>><>BW>L>=>>a=_<c;Լl`̪~2tvrÓE,!Ƭ` Z>c}>o>x>s>@>.>BF>pt>ބ>T9`>H2@>y/>= <,`GqhWlƾ ؾj龰ᾀ羜d~'jd! `\ԾSdFp!`d'b@P:9򼀘H<'=p>====#tECdlp?b S^nᾬ˾4BaEj8>l.xƽp .m< \===NJ=EK=ǻ 2N(YuڞnnP rȾTϾ.Ͼ־6侂}x( h`SdO9ܾ; zl6f iY==X>$#>@H>DU>@~X><[>,E>$>>o>==N=]`Gs(;Խ)0$4`0S0=>Q>{>{>>X4>,> >>?C ?t??>T>(>>\>(m>†>R>yt>p>HVf>M>:>->+>>+>=@\==YU=@<< ==ӷ=8ů=pa===>6>xb>"A>~j>>u?}h?:'?N/?M5?`;?4>?4>?xo=?c+9?q6?T5?.?P*&?#?B? ?3?<>%>N>^>>M>X݀>\>xV>gW>8N>D>2>5=>tO1>>==0>4>$/'> O>0j>6>>> >$>LR>ts> >X>b>U>I>"?v??HQ??P?o ? v?N@>v,>>o>,X>o>x`>x,L>D<>*>lU>==8B=8 =+*=0:``䆽0XȐѽ᝽hp!WPGOX=Pn=8/>y>>>0>V>F>><>=>{>>>>>4>>>>X>G*>X=r=j=p= ?90y`C?p;$AH0}ҽ@ H* % S ,Z۽h)I@{* r2=&=^=1=Dy>9>T>}>^q>PJ>4>\ >ݫ>Z> >Ux>]>D6> >,=A=p=*= X=@4>W>`3z>">/>ё>T>fj>t>0]>S>>>X>g=C= =a\=b0$4>07T>L>^>$r>ji>ţ>\>d>x->= j==;e;`?@ W08B \)Q<>t$Rt|t(¶2DȠt_\џI`憾ognO= !>h%,><\>z>">>8ց>@*{>n> ^>8>>H>J=F=pq=jp= =$><F`]p XCM8O8'TA3IZuFʁyiqjhO! #0!@No<[==^=H=\0>E>TP>bp>G> ۜ>N>fZ> >݊>.w>(6>\.>Ӿ=C=<9<&<89W e~ཬp/E{Z܏Zk@pqႾv_b$bI4Ľ༐{}=P* > !H>V{>V4>ڠ> >j>X>>0k>`bX> L>,)>D>>= }=R=0=xd<@\ECɲ0g yq Pl < "JpnX|k܁{>fpsbFCH#ԽHdŽ.Cp`< G = 5=~==| >*>K>`> zm>y>j>D>>>=0y=z`U)!xB@Ľ ȟ&3bJ] e䆙^N4P`Ⱦlھ֕ھ`Ͼ]ξȏǾֱpu?0Y, m =g=̆=`? = Ž<;*< vPPd(ؽ` %SfG"zC]HɎ`*<~慨۫j'|,'"揾t0WFPJ2g轨lr[3'¤<`` =pS=x=h=]=@u= <@A蕅(,Ч87(6T%3>trJLLLdV@dV{ľr0̾vξbݾjs4$쾀fV9 dwl:ϾH逾0뽀1z_4*8Pc{pֽ(彐4"DTdbBX^ ˉ"b|%eh%`q@dKz\þ06ǾR੾np]DA~P&tA&T<4=X=6==d]>h5>L\>4k>8Ag>L A>5/>>X=P=L=8=W= ===h,=E==n=PN='<`;m;ڼXϦ# ̩ ̽ȽĽڽٽh|`ෑPP==X)>d>ִ>>P>>>< >>,> >>>>Ť>ܒ>z8> >ۃ>8!u>~>Hx>X>L>J>%/>> w==>V>t>`=:=A=p}=@==5==@==D>L.> E>t>>>vՓ>I>M>V5>4T>>>>>0>,o>>p>>ʍ>~>>>䗅>>ƒ>~>ԥ>0:{>^>oF>$)>&>=p=`W=;b<1֒pXýxݽ@Hvؽ=`w޽xj케 T vT>3}>>>8>60>>B>>>Ч>8Sz>QN><=3>4>45>,>C#>X>@p= e=ʪ=NJ=g=`<;yc<0^`ԍP)Ƚν0Ľ ^d:`<<{=P=*>$+>2>h7?>d>f><>>d> e>h>f>>>>v>>R}>,>Pp>T>T0>:>t"> 7>0>`#> >l>= =@4Z=ܩ<ɺ4^l T/+.2#?#3#T6$6{+Q#id;j=\Q>]>߅>Fܔ>0E>4B> W>t`>>>>I> /><>D>S> x>lmx>2>h>{>x>_>4=>,.>PL>p===[=Hۇ=zp=<˺h^ýP ۽pHeҽHUٽx@ȃ`t޻@6<`C?=p=&=ؔ=B=XC >-><1>wZ>fZ>~>X>b>>>X$>а>&>2>d,S> F>x3>I:>L>DyK>8>+>D'>U>к=y=>0gs5Ľh ,*P7x:Dx>lMJRLaRh7?ȽKo@g<8==P5>c>>Rч>n>'>>>>Z> %O>,5> +>7>0>XF2>5><~$>|>=P]=Q;z;nm`d> cK`U0佬 4*S*>h:>fb>>>>¤>t>:>l>$ B>Xe>=@=؎=<=o==$v=PA=0=@K<@i(^(IpY:*3\7}J-UX@93 <=ܿ>@6>K>Mq>dN_>-O>2>">$>Z>h=X=Y=Х=o==:=R;laDHTDj֑Fܔ8/ľng޾T۾ȾY¾Ԃ1AÉ8X]!4c `ԽC=;=h==s=~>@[=S=@~=J<`Ȍ~̽ͽ@νf)(B rPmw̾Vke{҉ X DG~ƾ4dɲBP7@v<'I=<<nm< ļ0HdŽƽƽx+nlMthtŚN ܪafKľ׾4⾆pWNW 5о侔Ͼ<Ե+£00I` (Ƚ(=*P. 5`&=@D=._==2=o== +=@횼`0{80a% ]3>M>Dly>8>|%>p>j>D>U=q==.C=` <=9===h=f=p= .<+pT>`v0P8Sƽ`?HCƽ0Y P😽p/ ¿`<==#>f>>`s>1>x>p? ? ??ĕ>V>>V>>_>>.|>f>@>r/>0>Z0>f>(K>d->0>=X~=====R=@J9=`0S>jp>>X>ƪ>!>ؤ> >&>>>?7?~? ??n ??!>~>2y>><>>d>u>P`y>?e>_I>x\7>%>>k=8=/l=VJ<@.{P[J@&(K0\S~üV;=`=V>Lk>'>ݘ>l>&>J>F$> >j>JA>*>q>->^r>Y>>w>y>I>>=8Q=`V=<@DBjABȝĽZC1o;H6Ե23*ѫ9H;`4=0h===$7>`]>#}>4>ۘ>>أ>> >DF>Ž>>`>>G>th>l:>L?>=d==ɤ=:==p'=<˻`ˀ w- ɽtm 4(=:><:@d9%@pսЩ艽0_B==p,>k>>A>:>>>\>׽>@>>>P>to>r>@:t>T]R>/>>k=^=0=@!QF \W׊0` Ā $_?K8>@4eYfȱ9+該P]R<q=t>>5>8]>>>>BϨ>F>j>>>l>>$>6>K>3^>4.>=?=(=0r= E=pu===P=p|=7.= (m=<=Z>E>b>>>t@>x> >O>a>2>G>L>>>>t>q>\DL>->=0:G=`h< ɂ9r<`bhjѹ8ֽ"d0BL _XWlXR\0TW Ѽ@] 2!><5>>>la>w}>8|>ދ> ̖>N>>m><>>$,>m>?I>##>{=0%u=@hr<P`y,:&ؼP]@Ƚx۽<轀ͽP'EO^g2Blg}hmxԅGdpt0koؐ<=h=!>e>Ɍ>>@8>T>>>ر>좥>ș>>|>p>S>x+?>J>)=VT.VžʾFEƾ 3ΉǾtӾ hھܾ/ܾޠ@d4ヨW ޾v־ؾ~ӾľJ,rvpǀ|:\OĽ uY8-;<)=c=`<O;_;8 DBܱ2Orm̐LKhGLN"þ¿ľ;ӾQվSܾѾrƾž2^ا*H YcH0آƽ{o"o<=H=pb==Z=>5>\!3>A>X>S>Q:>|!>0=pB= X=<ټP4)qUYcЋag <P@0v*~ͼ7.^;@W<D;t;`S<==0=Y== =(p>?>x\>7>>8>>2>"2>P.>X>^>>>> X>>>F>>>:>.>(>p> >>Z0>TW>̆>0>:>x>i>DHS>I>Y:>4v+>>!==Ӝ=Hs=Ps=N=Z=> D4>:p>ܮ> u>>f>>8>>Pr>^e>?y? ?и ??c)?P? ? ?P?=>C>ʥ>/>u>T;z>v>@r>N>~>>pǀ>HGz>8v>(k>=H>A>YU>M>HTL>-D>,KM><`L>J>xS>Y>Y>>>P`E>`>In>>X̔>Zˡ>:p>>2$>>>N>>->>>=>O>6>آ>>(>>Ix>أS>L>\B2>x>pt=@-n=]=! `躼t"PVѻ@<`<D<`XYjR*B,~_^:U0CD(PO^5:+<1=A=8@&>7>h@>V>,o>f&>>~>^ >&o>>H}>8Rm>| g>0U>J>$>=xY=<|PcmȢͽH"ǽo멽#Reg0|E`Ih@`{@޽PϽ@h4m6t=8p===(>CP>(>(Օ>s>fl>w>,>j{>]>>nf>F>>>E>+> >=X =m=@X<)lq@ռ's=)/55D>(k> 5u>x>@py>|\k>ؒM>>==pS=R<c<@+<<:彼.$s?xF-RF,o-l!@X̪Mp uЊԽ鲽H`y0~5Lɹ`<=@p=/>8P>H6t>l~~> r>tex>a>L-> =@ӎ=0I=0C=\=<0=I<}`<P<@r2<#8u蹫0#۽(+۽(콀/@H(J $l-0P7X"@$<,Gh0`@Ģl>=py=c>>\>#>_I> ]>mU>`>Tj>(]>ܲ?>d > R>=R=k`ifx8>\'#^'`ܽgɽ^ý(50^m0kD ½ ֽHt@p22#?<1= =I=1>[>Dk> >s>_>@>>ӌ>>V>>+>dj>x)>9>`=u=[=8N=8ʈ====%K=<%漽zp&EfJ\h 숾e@(ol5Y4D:EB$h#() `-ཐHX޽h $AZt軀Ƽ5SB0:GB6tYR()]ȿ q!H佽qǽPHu˽ `:սw#1e5b45n V?IH;]6L-lu b0P ν0W0}R⿼Ngz`bs0 944a1ԴAGoY|иD}J PG\젾`pR\_vw}'}׊: ꁾy{*{z,kmr{f R$O xLxILC D(>G\Tj7eh\OR3^4v_:UGWl]l0%ul&9~װd{VHg矾vħ򶾦࿾; ޾",:HDӾƾd¾ľ h \ŅzSo` TE8>#׽@.{ż@J'I@(ֽP7[ D6`rQ.J0\p?c~sx g$xD|0orlb@oG}~̆򁾒FxZh{m`;%`<`Gl0C[`\<@={=@=h=&= ?==(= 1=?=L >>t >P|>0 >0g >X===c=8x= >H>d@>oF>0!> >V>l>p=К==@:= R=и=u=h=$=X|===>1>tRX>x>>m>N>t>b?,X?#?<.>d>ҫ>_>|>x>>v>P>޸>=>R>>>N>|>߯>L?>><Õ>>Vh>X݀>k>TKs>Np>H>,>t=xH=N=`=<$>L->D> `>go>8o>,>rؠ>o>>@>D>"d>%>jE>Ā>~>-x>0w>'>>3>>襘>T>Fv>dn>KB>x8>(L=E=К=x==4==0V=*+=;ЗpI7ɽX߽%p`*H@\<<z<+s<@=f > x>N^>>>y>̪?` ?WU??2>!>>/>0>W>4C>v>>Ҹ>->>>ܙ>>>@M`>0>p >X==p/ =iEh@Jءӽ Ͻٽ@#Xo P& >(;@=l==f==g>4.>h)`>4>>.>1>>>c>+>(Rt>Tn>pg^>tSe>&f>H>9>1>t">=థ= p=/l=@V==;Z0VNDH(3Z`I<0!=jp=8=`=O=>;#>K>>Ƞ><>>.K>F6> X>r>'>`>V>`>1>$>6>>>LŎ>T>̆>`dr>S>>>x9>ؤ,>0=ɫ=`T=Ņ<C;@ U8e|&DV2p@EgICexr~rŀq80a0<=`= >j'>p5>xO> k>P|>Ì>k>P;>X>e>V>&>>w>C>>}=X=0Ft=)=o`lBNH9KXiU@]YG['e+lfMcfo}v}Zts@v$\:\ L `< =0}=_>t>+>0C>$1>8=0}==H=h)=={= >->Xi=Ǧ=0[F= /'= *=U!=x仠YcHHeҽXh><^c$*J8社+'@(}&~`tkC(;Խسw k;Kƾ˾$ɾƾn驾◾ u{,VT:pB+ pغ-U;pr=ұ=@l===x=9==c=c===D=Ч==@I,=ѾnEҾ(˾ aTGxXvLdY:8`躼@<=8S==L >, >8 >>2==^=P7=0ff=p=@d<@cpgн@*X8N Ю+T4g;HXd|wL8NhQ-h܍h8>d-`>ޛ>9>>ւ>ɭ>>a>>>Ѝ{>Du>Q>'>X>T8>l >=PL=p=<Ѽdu"ؽܮ Wp<آ̫w-t MؕtN皾žR¾l Jꧾܐ,)uJ k I0>R>=u>R>PL>B>H>D>->6>b->͹>ر>t->j$>E>D[>L>==xl=Pk=`` T(  h&Khi~ԂN`֧qhX*2fE"Q0Y0; <+=(>T(>#>$>>| > >=Ȁ==o=E=@ ==[*=`y<RPWhx-W^&֏fԗ(VјnJɾ Vھh[N@$`trѾž"h؀:Ōy=)=2>*>,>̍>B>r>>>>>@¼>>N>| g>6>[==L=<:P[8̽!(\162=FHCt9H$VSTh'} }(e+g=>o>f>">>t>z> ?.??"?*?,?ւ-?ʮ,?'?i ?^?Z?O>@>0>Ή>n>>0(h>>>X3>=`ԍ=8=<Ϲ@Pֽ$x$.:5$d)Y!x )<`/x x <=4D>> >f>"g>L ???04 ?F'?(0?ّ3?3?ֵ2?A4?A4?#1?)?G?@%?>f><ҁ>#P>hO>%Y>r>q>f>lP>.> > >d>4>ئ=h= >{>|&2>T[>Z>`t>V>|>h>x>T>x>>2>?` ?l?x ?4?e?Dg?n?X ??w( ?k?>>8 >v>>ŝ>.>Gv>C>m=`sB>>f}>f>>>Ν>>t??B?4>T>8> f>>d>ķS>H2@> ">=0I==<&fP׻00La$1u<`瓾4,3@ԗ㑾5nj18bp9,;@$=@ b=ɉ=x= >>0><]%>1D>OB>@>x @>07>.>1>%>m=LV~MxqDU0!fʽ=GWl漀 ` R`-Hѽ8K4d+FtQKhNS3^gm[}f&xP$ֈzf YJ|jJDG 2NM8tE\S88<1pt+ ʽ8-/5k`b< /'=@7=ko=F=`=h>̛&>ԃ->x>>@==X=v='=x==x>=xm=@j==p@= R=0]= uY=(=P0=Pa=q3=p==M=P~Q=ka=Ȑ=>=(,=X=Hw=%=xÀ=`=&=Ic= =(= #=_> >$P&>l&>5(>|i >=М=d====3i=e=8`=pR===l; IRh7hC <ƙ=s=dK>=N=b;}ༀ,0k O $Z~: lĽI}཰ `ǻȮf.<J<@`ͽL@.h[eϊt78&NLT;vħz̾ؾ5޾IrDxRf@h׾LþZˡUy(xX}ཐEĽ̽-x-|׽ qXV<@0G;ЫS/¿6:%><౲<Su`Ƚ|B7bYcH!:$- j`> t̽dPU@B<`/z=0=0=5>s;>K>0HZ>l|>>>`>Y> y>P~>>4k>3b>e>X>H7><>Β=ͻ&H1Z~+kd >>d&>4E>e>B>>1>V>r2>>*>|>(>4>ƣ>D>Nq>8Q>Z>>>>^P>ţ>d”>M>O>1>$>>b=p=@,=h|=Pq=Pb=-= =HR=80= =>0>XH>8N>bp>>>R>t> >u ??`?YT? ?J"?#?%?R}*?Z/?Ʋ,?p ?'???Tz?2?n?V ?P?>d,>ŭ>> En>`5>>==H1=b=M>>>>>+>x3>d->9>oI>8V>W>W>^>`|>>>>>x=>8>>R>܀>pg>?Ed? ?O? t??<? ?@>>dM>$s>6ɯ>>|>\>>P>uc>C>|5>%>xJ$>>L_>(=p=A= < U<@V==U==hm=A==>>>v>T>̾>.9>Ԇ>">j>.>?O ?)( ?^ ?e ?>8 ?&??@?>6#>P>0J=x-<2> >I= ʏ=`<`.3^B@[,ʾƾ+Ͼ}پjY˾轾` xn8-:d48<`:=`=ڣ=?=>*> >pf=,> 6U>0p> ]>!>:$>l>>5>=ļ@;H/(L&~m6-&o쐒xҠ#^aP 2֬fᓾYh=4rʋ,ЈjG}Ԁ0B@=`H>HE`>P =O'ڪ>;>>(ĩ>h>c>J> >] <Պ V5;\Q>>*><(>p1X ʾjSξ"dLA^ꋾ>A(hR01(=漽yc>P>A=伀ZT"=׊=@!<`cpT4s˃|n,BLA0; L 'iG++Tfi 4վ^?"B(կM;pS=06=؝xqqBþ& ¾6뻾䥾P\uD|:iھ1`=T[0|G-*LQ?6A%9y% >>L7>t'>=HA=ٹ=K>?>PT>HQ>h>Hc>d>*(>&>&+>&Օ>>굫>¬>ĺ>һ>>:>tQ>>>2>>> >>f~>|(>Zx>ѽ>>u>œ>>:n>>·>!>t> k>8.>R>= >h$>Dq>ܬ>x;> >le>D>Tχ>,>Tw>x҆>>!>F>4v+>D# >->}%>D>,w>>}>V>f>>6a>;>t>K>DU>>C>j>*>Do>2>>`N>,8>Lb> >#>P>K>⼸>궸>>4D>Fg>Ƣ>z>l>ދ> >^O>Tu>h>\a>[>xNX>>=`=;@ @<[}==PO =0@&=p1==> >>0!>=k(=> /> >௘=R;@*>kX@@we˼X@ʽ] #K#GTv>(LǾ`O(xstaD$ 5N>2CGZmp<#1^uthHxr`.NľeξѾY¾L~FξӾ̾aξ.7Ծ>;;*þڸ&ʍqbάd:rP𮄾Vw-jjm{s}x"(~脾 = rpk+=`]=`< 좽(`R_d'㕾P~t,վ 澊`侶۾zȾ-W2l5Y𜾬̾ Rb; 0}R辺ؾT}ľ&赾t_D8`x;dgXjL_@<%K=>C=*:WƠ;W>`,>>tד>Ч>?b>2+>lT >h=Y=`=R=<7<rźP=Y=趄=)=c=0=`<E":+ڏ`"=Ko=y< 8殽CHP<&;; Ž<v= >L!n>$ >*>u>h>h>>٦>Q\> U===l>m!>->$(>9>L>%>=G=u=@h===#=p5=-=`G=K== <<===0>LPL>V{>>Jw>j>8Ag>k>Ӆ>6>D>}??q??,?? ???w?w ?>>W>>a>ξ>(>>^3>>ެ>U>$= <`Z<Ї=0>r>3>A=C= <<@<f@ Ur>=<@!A9C<=Hw>>>>?p??RI?*!?*?M'??lw? ?P.>>u>P> d>>e>>>>Q>>>i>]>m>L4>`=8=Hޮ== >z>$>,]>8!u>xn>oa>TN>TKs>_>Ğ>B7>ލ>>>>}?V? ? ?S?>V>>s>>J>p>>.><>r>0>>i>T'>x=b=X=6=}TW̛&4(P\|.E<(-pxO彘cƄp9Ӽ^<=>9>X>h>0E>>>>`>>"C>>,>0>>>^O>P>X>"P>Ӊ>(B{>pc>Y>dp7>n >Z=T=40pM|F;<< ;=)k<<`=I=='=}0ppZ <=x>?>tU>|m>8>>3>I>Ь>>">z<>B>>>>>#>l>~(>">>>>0v>>t.L;X`+e0bD[WRO fMJz~Cg5t"JaKTWo ^2ɾɤ0y7І /lp{EؽPpp0tA RKPO8 hq.&NξTJ*ݾ־ʾx)ܯ`Ð𜋾XˇrH aL~db蒾??}H[0!(pয়PV`ph`;|=lP>>!>Jb>XV>=U=@hN5ü@5 / t(Pi`N_.ʽh&97\ǾuܾоMx4T=|DP^N@hE>\B2>_>х>>.>>>o>Hf>>\>>VH>Ȱ>ԃ>j>G>Ԃ>a>$>H=A=/=\ >1(>Hw1>س>=`A>0>,>2>p/> >== >hJ+>'I>09n>Fd>i>ZU>>>>>\>$>0Y>X6> T>8٨> u>^>>ˊ>r> >Ԫ>>>J.>o>ئz>z>V>0#>>X>R>l>D~>lA>e=q< Bh܆`&l<`=K=Z={o=P`y= 3[=iU=%==ࠥ< Y<@ =<{< b<y==>T;>]>8r>$w>"p>g>\>%=>>>)>V'>I6>;>2>#>,#>,Y,>)/>.5>t >i==Ȭ=h=Th >P6>Y>h>|S> c> =(r<@#8PȽBP@.===|>(=*= fgyQԥT &žþľܠƾ8A; 6f}8վ42>8L瀾(qXL08P F H;<=D<|B\(V +0CMdj:qҾv۾ڣӾ˾+Ͼ2v[l|(#;!^ â *# :nTھ DǾTʱh`𛾤𞾈nr8=@hPƵhc#d,SoF~J_⋾.z ݜ^,SЉ{~戾`ךzҿȲƾľ E繾ΪpJ-ܡm(=#N@ϼ N<p=0=`/F>@G>>ru>>N.>v->>>>`>԰>N >d>>0W>D>6>m>ם>>>@&>lˀ>\h>ri>/}>>o>%>>V>*>~w>p؆>>榋>>>ڢ>4>x >6?n>>>T>>\A?-?|;?G?ЫS?]?e?A:g?\c?X? B?#1?wL$???%?f.?l3?̾2?'?? ?|>>8C>>>Y>>>ޣ>І>di>؂T><;>K'>&>ȟ&>t>=h=~==`=s->ħZ>u>Z>@'>>V>>??J '?1?(8?h'9?b4?أ,?G?X?D?u?> >8>r>L >.[>{>8>(+>Lخ>>Du>hP>lG8>t?8> *>|Z>0>7=ϟ=P'=8=@==h=@ >X->I>`>nA>>:->>ڳ>VG>?>>pٓ>|F><ˆ>>H>*o>J>>h>>n>@>ʝ>b>e>tq=>1>~ >6>=1=#8E^ No=,Jt|i丄џЙ2ݾ.ѾFw—&,>pֽ:"B\<<=`[=d=c=,>>?I>tu>>k>\hr>FC>X>0]==e===0= =O<):;e;^{<<`܍Hs?4"þ\vѾ8Ѿ^Ⱦ޸Nz'_.ڙv]\*ʾ@\3uའϟ`6ս ҽ;9 >T>=b=|;f pֽ71FtSP羴ھdLžT找c 0(JbqcL:L<膙=?>yc>>>P >>+>l|> 7>X=6==H->7I>!D>>+=Thҽ0z齨%˽0P~@>z`ݽ(M>>>>j>樿>۶>죲>>Pm>f>褋>>U>$o>)j>(Qg>$=>>Xk=`%g=($<(= >B>(o>FS>>>>>>d>ˊ>PLL>@k8>&$>>>==0Z9= <@# t C,W?1LRf6j$Hd0 xN_밾 Lj)6XGWͅMH)ȽӽHν @@"@j=#>8>pfQ>U>R>z<>=<VP*<]%>A>_>>|W>⩘>T>>}>7P>p4>ܯ>g>=`==h=u==ri=<4P>m 㽀zXhڽ0Ј@ν׽@ýx (ʽĽHý*/L؏&k=|S>j> >P>_>o> >N>>>?,?~>P>,>Ty?X? ??>3>`>E>d>ƞ>~>VJ>G#>b>>%> >8=ȁ== =R=9==@"<` RĽ|"̟Z,pr !O8ҁ%RQ>{>Y>>ݦ>>u>>>E>2>@J>>T>2>q>x>d=$=j<;2R S @ļ6r˽<| [< <`GN<G== >+>D>\d>q>8>0J=@<ռ@V0e==f>XH>Lu>>[}>q>j>[>p:>>P{=ټ[<4И3̩JP#=`+F= U;٤ E ڑQ-2Ͼܸ8NNӊXH>>!>Ώ>p)>p=J~9>A6>2> >>n[> p>dn>#^>`G>v.>> >8 >p=05=0 !a( S@7$ #E66JlaF餾\Xή<0"f|m4i/lZV.ҽ ޼@=C==@=Z== >T">>>F> C>C>ȟ&>=؉=`+F=g=m==Pա=@<-@½ P9,&P@:( 4P`y.ycQ}_YNQ0HZ~b-H8p<+==t>>W >d3>4V>}>ք>(y>C^>NQ>TK?>8)>hl7>T[>Di>@V>(=:>j > >!=PŨ=@=IPpt`GsPN:H'>4B>|h>>x> >u>b>~ߦ>l>g>>.>=hn==І=xY=`=nm<%鹽L `"p06Ȏ pGyh 0SW_iĢP5=F=D>,k?>llk>>:o>/>D2>y>p>t}>K>%>jϴ>P>`>9>>8ǯ>ȱ>+>ne>>Dly>V>`=8VL$ã V` qʽ@eTʾp⾪|߾:ξ?]\2+L =)gIxyPNQؼ; J=HE=+>e>%>p>L>$>pd=9ЅQ ; *d\ "9آfϾ+쾬(Ps/rQ˾n왾@olaif8dfLC>\>4r>di>=>X= Ž<0}\) /("0hDdtHc tTi35c(:TʾNxm62+׾,ȾҬ7X]\",P@h9\`Ç`!<= 2>Xu>>.{>d>> l> K> >@>D!>|>Tz>>< >@.=8Ģ=N<6XHaŽ(׽h% Ԁ  | 8 p` z`~>(>C>R>*>>> ?q ?+?:?$?k? >lH>t???pr ?T% ?K ??q?x>H>^>>T[>P:>T">8> >t>8w=0=9=ǟ;`{h$ӽh\ڽ@,a\;@=&=%/=0:G===r@>2>>LQ>,>Y>K>B5>q>y>G>>">>>L,>m>>>>`rQ>=)j>ي>>F>,>x`k>BX>pZ>-j> >@&>>ɲ>8s>r>>>8>ž> ʖ>|O>F>`=<;`7<<`H>ȏ>#>^g>( >v>^Ȕ>K>(>Z==$=U=(=@=L=`=p:=` :-閽Hͨ8Qڣ瘽HӽZ޽޽'`hЄ[;=)> x>@>h>2>6>:>>~>>L>>>>?h? ?M ? ?8?Z>v>>hЍ>S> `>^G>|ZQ>l>y>{>`ux>MU>>ӷ=E==@EY<@Oo#W¤@r2ڼQ 3[Oмg<_P=Hb=`-=='=0z==>3>8d>k>>>>>o>P>>R>旹>θ>vŴ>L>>&=>,>dZ> >==@y=Ч=X=H=!===Ƅ=j< htd hzddho޽྄>߼pMռ8<Ћa=0"=U>tZ>>>N>ȗ>r>>Ҙ>;> >?2 ?=?t]?^>؃>>>>>~>Lp>>"p> L>d_1>X>=8=r==0Q= ^p>(>4>>˂>d>>~>փ>E>TI>a>>T'M>U(>B.>=>>>>Ht=`<~pD>tC-/ i񽨜=6g拾h࠾HRe¾ž4,F>w>ڄ>e>">==`z: x<07 =v=8o=0\= =#;P[4)XmF4"ѾR7$'+'@7&%22 O G(TȾ2<ΪLŎd:x;lOn'P p`n)c R/PJb|I˾ྞҬt` ߛ6$<(-|3&>:6A wFFHϽLmPNI>?/," $|H akBҾz& RD$-pq 0ֽԽ-vлLƐڡ&޾|**8#(FXHVKᄆh,9BfIWQWUNE=hZ1 $(" ב;n<$پXWP4> c>>t>r>,n>=>>覿>2>o><>g#> "!>41>I>J> u%>=S=[ߟ ̼0Ig8)`ǻf==0k=`O>\>L*>?>Pi>>䗟> >>ş>r>g->=He=Hd==x8>LQ%>\1,>8?>`= /=P",9:o>puYg0$h ^膾l$E#|̽X솽P<=Щ9>VJ>(/>>X==@m=d&>i>LŎ>>>@>&>q- ?4?>> ݂>p->(<=Hε= ޼=j=>>>= k= E<|xm\4<0xEX:>=>XA>}N> i>\>">$b>\f>>k!?| ?'* ?%?H>q>|(>>>`|>_>Y>(P>4!A>,>p>==pt0= (<@&H ->YU>Lw>|]x>,Nt>>0>D>z>\h>- ?,????*l??c?R?j?< ?ޛ??k?H?[>>\ >\ʮ>>>Ȅ>Zt> e>CW>ЊT>gh>5q>l&m>q>q>di>a>O>hl7>,>h)>Z<>4k>>Ә>>ݝ>͘>X>|>>\>e>->2Y>?: ????#?$? ?^?R? ?\ ?sp ??4/?H?>>m>;>>Z>J>*l>O>j>>>7>p>K>L>|t>DW>(=>x,>0>>p>i>>o><+>>>|>>4/?8 ??>$ >>v?>D?? "?؀-?AY2?0?Vy*?>( ??w?>( >$>G>J>v> >5>ʸ>v>N>0(h><>t>f>Z>Z܍>}>@>=Xi=+=;_\qj8Hۇ$Ax i,֒;0]====>P>+>lM>}> g>̿>>>>>0>4>7>n$>ղ>`>>G>]>(Օ>>䘬>f>K>h>FC>j=`;=r׼Pq`. ջ@<?=>Q=A=PS?==E"; R`੹ ؒM>>к>O>&;>=>=*=.:] W;>MD>r5>L!>9 >Y=;<"\d)*t,ٽ {&,ky˲VGxϾؾؾݾ޾мپz)پ ؾپRܾtھx־ҾǾ2 zR ׾bj襾>𠿾Cоaܾ<5v {ݾ6ʾBȾf۾A^ r4g)#/,"* B 4w"h/7b,9@5s.z"Jjؾ/˾r?ܥ7P&T6\"Kiq,o Y+1׽G`H t/h5%?*_wpU攒&pt zӾC8꾈f׾ $¾豾4S~¾1ҾftоHqXcI pZ&<`h=h=>\M>|p> F{>hLy>p>KW>s;>+>2$>4> f>Z>'>>#>y>=j>?[> >><*>@k==愼N{h4 <4|LpbOnʧ2g<ؾҫ$$xӾD @d>Q3I ?HpF<= >3>X;>8-:>(B>}U> p>F>`>>>P|>g>q\>|I>y!>1=@p>fk>>ë>^t>2>.>\>>>p>^>(>6>>Ĭ>9>оs>A6>Y=З=P8=?<xT0ٲ0(n23t禾$PǾ̾ȾhjѝDfln,-˽ۼ>=(a==n>>;>>u>>>>\?b/>8>K>jX>jE>*>k>{}>Fˎ>9>e>}>t->ؠ=@u<`ͼ6!g;P =0=@ <`ϼpx\ן0y `<=C1>K}>>>>z>>8S>@>?ȝ ?? #?+?P]+?$??? ?̪??? 1?De? ?>>4x>g>4>><>p>.>V>@>T>-q>T;F>@)>?*>Z.>\c1>T:>6>E>==p==+>1j>r>>4>>6>>DI>x>(?p? V ?^)?f(,?#+?u_*?"*?T'?^ ??Y? ?0[>҉>><*>V>>> >z}>F>>r>Ls1>` =0j=l0r@-n B==((>H%=L=@p=>lf>XIY>)>h>> > ?_,?V#? ?s(?7/?j4? 5?*m2? 2?l42?9>3?:4?/?Z)? $?B$ ???3?>pB>> 3>dl>Vi>lV>ly=>>X=( ==þ<#XWLCD퀾"4tuqЩ9@g0XyE=`R== > >PM%>8>5j>>,I>(> >>>>J>(>?>O>f<>>|I>l>>\{>_>@H>X=`&=q ahͽ[콐8-8 \A%5680$4 'f`-<|= = =9=(= z=H=e>X>2>>>>H>°>p >>q>\]>hH> I>hi>Ʌ>X>G>@k>(>Ι= ]!R:w8yln0b_Qn˾IeQ(B"2C&%*Ȏ-- %h6ԗ߾:aپl$ӾžVFz|ЬM ݜ򽊾`u[ C@Dt g\Ξ@jϴþ־\U쾦vU B JB޾Pݾ`i6#U(4'Y#ZXT`1{r?+,/d/+!^ 9"fz ־6Ͼ2˾)ȾrRB$KܽGBPbhyӽE0wcɓ\ڎttpv~ `o 1|;پBIdھ3˾ŷ(4u*a༞T 뎾wT,1(Ӽ8<ЉG==>(1>,Mg>׌>>>.>Bp>hZ><>@>#>(K>Dz$>T)>*(>%>'>T->,>:$>8 >h=@<޼/lۜ;8ݽh(S$J[ԧs0,:{@H?S,vFt2:g[pX<=5=8>v >}>>5>,\S>$e`>_>N> $>X==P[=y==>1=7W=@εr- [ͽTHpԽ8$A P蹫p?l40]x10"pWx~'< =X69>>>J >\>ǹ>>>>>5j>`>0o>>&>w>Q>t>Ac>dI>+>< >h==0 4=@%=0= 7==#Tj$5x"r 8rJa@8SzmмYAA50$ ̈jଽ`,ӼpvJ=>P.t>>>l>>Q>>r>8v_>lI>F>Z>hp>Sh>LO>7>,>Y> =`=h=>$">D >pQ=׻`THy(p2:+<=%Y=}=)q=@G=w=н=<>(#>d :> FN>e>>t>*9>Z>"ܼ>c>dM>j>E>>⬿>>f~>$c>^>Zͻ> >D>tp>>bK>l>\6m>Yx> y>7l> S><;>$>H>>$ > >u==Zb=<8xpslZGu<;= X=p>_=x=H=P==W>K>ߊ>斬>>">>H>FW>>9?4 ???\?t>>>>&_>r.>w><>N>>@;M>Q >j~=-7 bҿ{C۽|E 9;}4-w- 5`a <O=w>v.>JN>p#z>ۖ>>>t >>C>Ĕ>>N?&?|?v? ?z? ??գ?>dO>>D5>ʙ>ȶz>\H>h4>Ă'>t>>>`=X=08-=Н ?hn*6ꔾ럾iᑾofCH@`hz,^`*<F=X=N<>&>$>P>>y>>>k> >o>7>.>">>VX>Z>X\y>Q=>8=h=@0w@j#8ƼP|ӷҿX#>CX3F81@W ȗ`XXv>1>(V>[>x>5>v`>,K>c><>>y>Κ> >>d>>>x>ތ>/>X>.>d=l7)c᫽兽p L;4rj"ۯR);pa0&K)|վNpV4j~NӇ^^|ER@֮[=X=p= j9=z@uHTk1DyK$Qg`*29綾6¾L/; վ߾T~뾨5he9 !u ,H t,оӽB˾#ҾJξN &Օt`-HR`H)@?|-pGe! lӼp@`ADtv펾\듾А☒*kVxn޾θP<ӾTru񾬈߾龎< &dx־Ǿ橾(e@.P*=p3?>>B>X>M>Hh>Lb+>pv=7W=y<v>J@>:>HS>>|>4>g>ĥ>}>2>&>L>=>>a>S>>N>*>I>7>c>V>q>ЪF>5=`,S=;03:(;>?>Ⱥ>@>>>RJ>C>H>> B> >>h%>>4O>T>x=@< @J9A\yG@٫&ؼ +"\0B@0TMm<~C=s=0~_= <mn`*%=rC>>h{>d]>~>>>>> >>>>>m>h>\A>ւ>+>t1Y>5>>p==@==`>|=8==Hܔ=p0=sv(ֽD2 #2? I_I$8g8p|Y(z.LϦ6:P=E> >`>r@>\><;>d>s>~i>d><-n>p>`>H>W>=G=p=>65>ȢM>\N>+>=8=`<[`6>LP>*Q>n@>4U,>T">$>~ >>>8.>,7 >(E>8p>>zY>|>M>9j>k;>`>2>Ĺm>ֵ>Х>&>~4>}>a> Q>[>m>(o>Lh>X[>K>hI>pP>8O>D>|}6>ȟ&>b >$*>>>\U>hb>` Z>P6>k>Z=@s<]ļ D E` xZ;`=p=~==u/$LJ𽸜̰@Ǽ ~=>L2t>>/>>ҷ>>>Z> ܢ>H>>Rl>Β>l>DJm> XZ>tV>Q>\<>$q%>L>p>0k=1j=p=<8;ƻ ߼`IH㽌:ddXh<'>3>xK1>Lr$>:!>?>Y>"b>L>\>r>,>i>>t>VЮ>ٝ>h>]j>4P><;>F.>)>Hw1>X<>``>>H)>@>ڪ= =@K!fpATzzXVq@dLEj~6Pાԩm.`@KF,<6J=࿑=== >.>P>z>>hj>>h{>s>q>8!u>tN>$#>*=*=]= = l_= D=a="=>E>L>ϣ>ʞ>n޺>>Ĭ>~>L>0>E=\=@a%= s?=྄=m=1x=)=eb'Yj\P嫾ľwվtJPP};)c`$ uH  jξ4sء9TY*ʽP' D*(t)!Hx^ѽ<^DN׾,v%<"`\g=~Lnh|nR ġ 9#P<a "j.[ྨ4Ѿ |Xg>8Oɽ @7OAUD1ld` |9,;b*bϾlھUܾ@׾BkҾtPؾ"2辂$~[B&(Pm ]"=$"jW jɾ̋L* @` O=ԧS>B>T>p>?>xr~>,_z>hLy>q> `>,H>p1%>===p=Ģ;̼`{ɽ EAm@~SҋԂ߾DIJ*߾ù<䔾puX[=HX:)DiN=(ӽ`!3Ь`=:C>̊>]>f>T>G>*q>4W>h><>>>">>z>>j>(>$>N>>$J>d>ȯ=pr= ;NQ0HϽ8-mcbKHꍾ&呾ۖ9@ҵ̾;۾F۾,Ѿ0¾Pm@k @z[N<> y`>~>>.>>|>L.>i>>fњ> 1>>x>NQ>0y>=yG=@0<P}D0˕⽈V >$47:f.gx7x(Й@`drRZ|O}Iॅp5=xO>Ȍ>Hڔ>[>> >̡t>Ld>:ԁ>c>Y>>(>D>Di>L>̭>*>p|>@q>d n>r>pp>DZf>X>8>=` a=ۻB<,KM8rP愾 $Əh<>C^>q>,os>pyq>POs>,>{> d>d>: >&^>>آ>g> ̖> U>i>g>A|>X7F>@>==w=p4=E<=p6=P=j=x> T->|&>L>==k=pax=pˀ=hH=B=w=(9>L->D>ĶF>L:>|>>@=m(>>k>6>t>>>J>T>B>>TY>Tj>^> > >>5>^>RK>>n>ZG>;.>(:>I=0}==x=^=(=U=x.==B>h>j= ==< bq\o Ҽ<`A=o=X$=0!>>>N>S> >>>Z>^>>k?>XY>ξ>(,>H>He>>>^P>|>R>%>=`$Z=(<@:@D,\S>`a>Th>s> >λ>ӹ>>8>>8?L? ?f?r?-?1?b>>>.k>>2>>[v>}>>\xk>sB>,|>@'=::`ÇLP `8h9pGμ<%YL 0Ij^LJ𜋾 tn C<X4ӽG`ǻ@8n5<8=8>^>6.>(>2w>l>Y>ݕ>g}>l'z>Dj>Q>:>>xP=x*= =P==J=P>`= =pI= 9*ֽݽXhޠH˽|p h˽p@y9%N;@X40 Q31=XE=0>>>>>f> >>~i>K> 5>&>x)%>&(>%>>q>ʿ=`<=`&lP5h4Z&曾MJzlʾZԾM޾r LUu+%^b$bh<0bOҾ@Ⱦjþ`JШhn8WL^lTJf<`L#7Nνv1KXV}`Yq*k8 r.6뻾D)\d d(9=Ҿ0vD3 V ݾ wʝPmJa8 Gr+Ͼ1 RPTdpkZ{ꋾ8NX40]<Wн`_B<<$v@x \(ӕ԰VᴾIꞾD韾 cㅾAD!ѾzDZ&6ؾ˾?ɾz;Ͼľe8뽀B=2>P[>(d>4#[>DN> 8> )>d9%>P=,>Й@>|[>n>La>2C>x>=M<(+P{ 0pQ>8Rm\XvY,.<"^<Q ],bܟS+{ڽ@=>06G>W>f>u>D[s>q`>Tj>>8>~>>D>>>h>\D>5>f>>>m>Bi>ր>k>cW>ĶF>#.>_>(=Py=?'<0 sv烽wh͚8L48~>ӨFfž̾b>̾Eɾ¾" xo@P8ѽý @P(=>\Z>^LJ>̚>>>>>b>R>>$>Y>m6>>(o > >t>@= >x(>@| >x= E=kM᝽-8x0.` nHѤΘJw0.(zԽિjM=:>|m>(Օ>nT>(o>9>L>,H>21>?>̜>>F>$>\h>H3>>D>K>= < ք(Ŷ5:̽@8;n[9juքB͑T`q_W`GXh>4 " ;L=p >,.>TC>4O>l5Y>\o>0U>Fw>>>Ƣ>P>0>إ>>>>>J>|6+>8>`>lw>\t>n>b>e\> ">=ѫ=@^=< _8襽064|$.E=߃T=((>|>>2>>l>Y>5q>>Ҹ> >->>?V?T??g??E?o?>9>@>>:>ӌ> Z{>y>f>@>,j>9>Xy=hX=/>U>&*>>FU>>$ٯ>O>w>r>,>K??J?E?$ ?>>H>:>ĕ{> R>8>0>8/> />D#>>h=22<~rsޒ9⿽Ph@hr[< ==}= >H7>e>w>X>&a>d>r_?J?y? ?Ԃ??>>R>T>d >n>s>? ?5?B>VG>( v>V'>=ߊ=̭9>p]>V>b֧>?>>փ>8>>@[>>] >>,7>GB>H>Tl>>lD>=`<¼pϘ`P靽@ܽ|&JtAp@Ћ8Rm$Q3xr0μh(*\[pnHTLx' ws(m> > >ܰ>ի> >8P>亞>F>0>kv>Pn>tdk>pT>d_1>>l=p22=0潜+DQldx돾|ΆցZϾxx(o%n-..)>' ?%C2J"h*X7.J3޾ƾԄ K=!x߽-ĽgpϽhy :lCpo(;5j:7(*o8 2|־Vi6!q8*~b "Ug} =[}=%=CX >dZmttmDd\DyK2!n.icl2~~G˾Ӿȡھ߾߾b@ dPRo|ᆴQоrkY n ^;<W=8=X=> ><">t=>k>=P=Р3=PO<?';q<'= =P=3=UӜPK 1>d[1T  V (/PVuD퀾}tmpUy,нॼM==(==ן=x=0=D>H4>.\>>>,>F4>>>> >l>Tj>*>,X>T;z>4x>[>">H >x>>>q=C1=@g 7L=˽ QN ZǾξξ0ȾBz:?d䠾N*~ɷa'0]X Thm;0k=-=d >]:>h)`>,_z>T>>2>V߀>dV>.5>\ &>@*>E=>lP>|ld>9x> x>V>>x[=౲<`h8pؽh(lw#%l&>0HZj8!u|~pnD(Kp>H"G>Ȍ>f>>rQ>>>$ǜ>2>tc^>xMK>0=>->t >=+}>"Q>Z>P>2V>J>>t>,L>~>>>h>>Xާ>g>j>> >t>>p >Ʊ>>h]>,>o=<=ɹWDU%@Hr'L3`ps#ҽ /<[= l==(=x}>pt0>/e>>>>I>>?R?p. ?E2 ?b ?() ? ?z?t?>>>o>8P>>>> B>p>==9== >>== =@hd@Xܽin'W&*6a>dm>p>b>> >1?;??]r?h>!>62>>0>μ> S>~>>v+> >s>d&>0μ=p=f@xX0WJft`TPDޔ>vֺ>*>>Lt>>2>E>|I>*>1>v? ?j?{??X? ?B>\C>&> >>>||>hG>>=` n=@=@<@HּjAս r[RCh$2,+@Nu!ئ7н8SƽX3ƽO@@!A<=0> O>ɉ>>>:>>>҇>>Ĵ>>[>̳>^Q>V>>-> I>(>=xj=a3=@H-K>4wl>(>j>x><>>$ٯ>>/>>p>`e>\v>|g>E>>跑=<*瘽ld)2+%N5 XΩJо&*-%O&"ȣl*Nw[ 6O'U޾ľɤ b@ܽƼgI==i==`{=`< ko@?๫ |_;Niվ&(fj((+4P<8>8N-Z $2%ワ|F0̾,ѯhꂾ-fxmT-AU>Dk>`dr>l>X>>>(0>ē->p&>>>0>X>J=ڿ=?=  ҽݽ0 L;h23 \ڽx*hy zU>>#>0k>x?^?Z$>5>8>P>>v>e>ܢz>r>o>hg>,]`>U>3>Dg>8/=o<Хept87>4P>e>w>3}>9q>^>E>)>3>x>4">hk*>h&9>*J>J>:5>0>@=5=ѝ=pb=pH=p`k=8=@M`=`9<@' Ȃ۽xK1YX\LPL$0R۽^(Ŷ PI@lE` ӕ^C< 8= = @>b@>Ax>b>>">ʝ>Ή>쳫>j>*>Lb>Dy>=P=P=p$=n=9=p==h=P6=; 웼ӼԼ`ۼ`C:Par-d0m3p&04 \ F$,XzQ>w{JY`}ļT=H >Y3>zC>P>+b>hmx>d9>hG>a> D>>>)>>D>>h'>ă>N>>*>>*>/>D>6>T;z>9/>>0μ=V=<@횼p@y0˽Xd h!u(d XF(Ԣ?^ |żsd]>V>m>>R >H>Rp>J>>*>>l$>t/>М>M>>H??q>[>F>>23>N>>\> >`>@>>*>X)>6>MD>L>`P>8D>>؍=@>t<0pz bb[NpM=P=>L>@I,>F>hu>>˽>*>>>]>|>ά>>B>&> >j>x>%>ؑ>>8B>">=@==@.=>\ >>=0=8=<@A<ż@<Є=Hy=?>Ќn>Hv>O^>,>h===0>H%n>v> i>$>H>(/>T> >x>\ʮ> >=>ꥲ>L>>^>.>0>x,L>,>P=hΧ=2=X=2=H;%= q!XA@ds񝾖0"꛾8+p|$r2ځTxkxcT#xs?'== B>F>>>?>p >Ĵ>ŝ>"ٕ>>:>>/>h|>do>tm>xh>Y>,.>x =` G= ͅѲĽ&ؽ[P& ؏&peDR`\dPyl]DhžZʾgƾ2vlIRwM,Pq`"=pt=(=L!>к?>G>F>S>p>#}>f>tF>p'> > E=X=t== F=\<2<x-<X;2ҽL_8ZA=ľrl И&p'+#ByzWiA{$ /?vIIIsA7)<;;,:0t^;`C<<<&< a6>84>K=<+hBDB`b~ ΰ||þϾHվ ؾ׾2վQ׾,mپ޾܀`c׾2g瘾X5`"ཨ0+>@4>D%:>?>PH>O>eN>S>^>"f>r>0}>q>TP>>=k<= ~PԽ@.XVsQ0}Fwy*<Hهh{X0T H0&4!P@4>2>>*>?>>>n>X>X>4e>>0>4>D>b>>Oo>">p=V.=@x<h:ýShU2 ʾ־\۾(ݾq<`|l(ܾھ߾0@*zG޾5_=`= >X<>Ic> y>&>,H>z>>U>w>>bo>ʮ>>>>7>Do>L>x>@=r=Z@PQcͽ@8e0"۹jǾ8ʮ6Bb>`N>F>>>f=>>̳>@6>p2f>,I>$8>H=>r>>`>ز>bp>,>h=lxܽ(J  /"Jchb~Dh\r\HuKJ`Ut]sF 䣾N$0;z= >+>Q>wo>V>g>x>>>7>y?l ?(?6-?Z>f>G>~z>>\2>VH>>~>l> >V>6>\S8>H=8ܽ}YJ>K}DkTD#:?:>m6>I6>7e>&p>.>>1T?????! ?F?ke?>>I??Y?a*?B?>~&> 1>K>%R>Pn$>t+ >==0Y=X=(ӕ= === =8r= k=` =u^>vp>G>> E>2>>r>h>>B>>>><;> >d>>>>8K> >=<=Th=థ==@M=( ==6=?==M==P==>Pn$>>J> $v>B>r>J >(V>(],>Ȟ> >hmD>>J>9>1?> ? ??|>b>>P)>>̞>8r>2޵>R:>FC>f>DO>@>NJ=?<f[`}ļ`@[hJ@80FHQ|(LPAS;-@hн(ܽEx*2OEcb[<;*nm@Ԕ<a=>h]>˂> >\>2e>p>f>M>H5>>>(> >K>З&>7>5>H0&>q >@=m=<PڏRټOR)@@I<##Whx㌾F`ՀM% 00#۽Pr$@(;>FC> !>q=T==`N_=p =<1<`-=T0==@=~= 8ILd : ۽ ,t; ===0=<@~@lŽ0T7K#P6ĶF`QR{awP$=uH=xH h὘p,zRܾJ@H愙mj5x2𽰀Ƚ( 8 ˜<=P>$>+>\->tp0> I>$j>>p>n>wP>M6>p>=؟==∻Լd@hr(:H;@` G׼!O%hAIս긽ؽh$k}2``<0=F>!c>I>x>Xx=J=@Y%>H>$b>c>>ɤ>>☒>$>J>>|g><>>H=0|=*=J=j8(MPkhv(qp{ڄ,Yx;Ҿ(?VV´'̰> ZʾP崾Hڔ`dH7 t H5PI`0==\->X>`u>pǀ>>>@7>&>v>U>>D>$>8v_>;>:>=0ݨ= r2==\G>lj>k>Xp>x>h>C>D'>7>LCz>d>>>>d?&> >F>v>|">= B=`<9c<@<_`MҼ{,@' _P׻y>e>Q???4????*?A? ?0?? ??M?">Ω>4x>He>8==]>lʹ>>Z>:t>>>>>X?o??BW????U?L?[??Zz>>>̐>Ec>6$>$,>=>#>D>>P> xL>L'>W=pm=z; UgŽ{0 t J P= 1>:>C>>>h(>P>>)>@>z>C>2>6>2>>&>$>t>>8>>wo>\v>\w>b>|@>H>h=8=ZG=wڄ>L>Ź>4>>>o>V>R>>׾>ޯ>>>8 >:>>ǹ>w>9>F>s>R>!%> =<RX:S`AY@mRIdBly=DAXG:NtV`lhkyn⚬R㴾)撾m@0@~ؽFJ=$>1K>pz~>>>>>.>b>BY>\>ʙ>>0]>K>R>qg>Bw>`{>,o>Z@>Hg= 7=zp`k?𢿽O½UP𽼨3JƁ̩PǾԾ̾˹t禾.$P}c*yܽЋaZ;`qx==J=t>K>Pv>" >Dk>J>t9>3>a/>1(>>d>3==@ >#>">X=4d2%yqrSl#ƾ إm%P*tZॼ@¼BJ<+@=H=H=(r== "=`PYZCݾk!;&H B1vLuy꾨j$ G(>. 0&+E# ?־ދc0G A!0/tp04 vP|мVaA<<L=!=Hͨ=,=Hۇ=<4ӽ S `AEUhhH|[,rƍr+#?_XV߽lA=4P=h0 hZ(0 ەҽؽ(98 :$= =+=0V==Hu=He>`>◅>L>Y>\? > +=Н x彬Mo7޽ķtK@XK}Y nmpn^Dn8x4@Kz%JrD|a fs=7= >P>=p= > ;>xz>A>\{>\V_>@O>7B>?>N>Hd>lw>d|>]j>4H>&>==;->A> #>,/>7>D>TW>@]>6N>\/> >)=Xd=Ѻ` Tz⼀<0=r->0> >>8>B= >k4>*p>>>p!> >$>">H>^>t>?>X >I=Z= x<j:;̷<0;==+===50-'lRvnBtDO@H%x8\ lڽ`0|E=0>~[>Fv>>ة>ڀ>>>)>JS>jY>>f?l?5s?@z ?\>>蕹>,7>>4>|y>}>8p> Xa>]>\Z> L>7>xn>F=bi= <F@D]Ri` a{F0~B> w>G>H0>^t>>O>+>>Ϩ? ??!?o?^ ? %?o&?c&?"?Z?,% ?֨>H>x>z>z>:>_>&>x;>>}>>V4>@[?>(==p0=W;9ȼU/pzA(ʽ00 k>DΛ>@8>H>>H>ţ>Z>`>b>x>^>>0>br>>t>9>2>P>>>t>ƀ>>*>`>P+M>طL>]\>̠g>gh>_>V>R><>>Х=j(~߽pWɽ Ug@ @93>ST>x>>x>T>8>Po>>|>(+>Xg>0%>,>> >&/>|>$>> >ҹ>l>K>@KF>=P0zd ݽ(Z`7ɽ UXLp L`\d0Qv9rɾ Xι8澬Sо֪&恾: ݽPq=<=Pt>=Pwe=p=M>TO>`p>$q>0ށ>\xk>Y>yU>q>>8r>~>hk>*(>>du>j>`>O>l)>8==e==;@@(o? ɟ\LȾھv2(fL߾&H\ý .<*; T;; =΄=Y= c=`-=HV===hM=P>$>\6>C>D>U/>|=p=Jsоs5꾰߾ʾטؒDW񾬥@(\:8JT0VZVR&HT=3S* ].XX߾^D"j?l&#$9ؽo^ ;*=4B >P0>@Z2>0>=Q꼄ijh̜6 *Լ⽾Kžƾ4vžJȾ_Ծi$ j1(d/5x<MAC=1$ڑ`>P h>3W>b5>>=@<05x:&(5DIA "Ƅ/O]U0͕/;G޾6 #㾄1Ҿj,>iFD':<T"d) p۽` :<=XIY>>&Ʃ><>>2>M=@<.`]<*+=^=Z=9<@{*ZܩX#ͽ( ܽKԽǽp5ٽnXINhFdTk`<̽)`H=-=@,=(>#*>8r+>|Y>`=$ >Ȑ:>e>8>(> >>N>W> @>8=`!3C0B@Vf2H%XE%TWقj ҾJݾ"f*=4}辨h־2VLVŝĴm,9y>pB_l"hЄ@g< =(==|>XO>c>>w>0>g>E>(>$>>؀>e==j=@%Qxq𠥽9@ oV Mt}݃l-=0ݽ̽`q@/i(` )0ܛ@<<p=`s=H=Ō=6==3>pa>`>۰>>>b><>JP>T>Zʔ>>~>Toe>rC>X>D==8j<= =X=/==3pa4= ky qgXW[Bp:|8EJ0g?!ƽ ܼ0==lU>2>8SF>^>Lu><>F1>F>e>>># ?x??>J>~>(>` >P>> ˣ>и>e> B>9>5A>xI>>> t>Ȅ=E=0V=0U=X-=@<YLtٽ'潸ŽpQP ==O'>(OM>pa>pU>:>1>lS>U>>> >u;?????2??????(n?:?SX?(>0>>,>Ŧ>Dy>^>8>(>>b>F>x>@[?>$>7=6=0|E=l>>P>T>>{>>4>X͡>0>>z>`>~>$>:b> >$>>>Ɠ> >D> t> v>Z>X>I\> zf><.{>>>Ԫz>X>*>z= c=~J`֧.ý좽0C[8A3>X>H>:>d>l!>$>]>p>n>p#z>GT>>7>*>e>J2>7> >>>>P|>XJ>8>=@:0)|clтXP|XpcXHȽX!3cuОb*l^̄WPl m``ּ`(8-;P!=%==Hu=p%=>̛&>I>x`>̐n>z> ɂ>*>>(>i>lޠ>>r>R<>`p>@'==L`j@' P0~8*|\Jvnվv~Wh86:pԽH` Ҽ`W@A%|)< \>]>` >><=<1\0Sb쑹kξʾ|{ >4u^h;7 (6)=$<834.TH%[L BѾǾE{& z6yVI60 Ž3=F=HU=0%=[̽0=du.V ꁾჾnゾ"?pf7Ǔ\D6ؾ)9Jay~3Uh a& Ͼnl/`|\ :mP_ҾtP2RZ۽QA=L(>(o>zІ>6> Q>\>=Lp==K;XB@4(~ΠKXhّtT󭾰hhPoT]/G(սqN <=\fX>>v>pٓ>ȵm>]!>Hܔ=0/9 PYב<0~=x=`?=>T>X=HR=8=#< P:pt(3|gLt> >>Wh>֣>`N>No>b>{>4V>>b= ===к===`=^=<:p ( [܎@ϾH>jվ޽zkkʆZ˾4վ.Jھ]Ծlgľșq9Oнnre;` :==>\(>(>l>^==n >(!>2>I/>o>h=0=ϭ==i=H=ߟ="<؝ x x9̽8q΄`哽@ɽ24>:/|Udd"= -==hJ= $=d} >ܮ >d>>>Y>i>(o>{>f{>,>1> >>>L>s>l>44a>iU>Q>M>8 ;>hz>=Y=֒;@ XQF7/WZLPA 5*Nxӽ{0@&@(=m=P >?>Tn>f>VV>a>FU>*©>\> >>\>T>f? B ??*??:s><>Q>>L >xK>l>r>8A> >a>>H>=X=P;$0!P9,](Ϧ2a;Z=P=*>I\>@)n>`V>_ >]=ȵ=l>Z>>>zp> ???U)?k.?.?-?Dg+?#?BW?k?}g ??(a>4>|>f>>v>>(>⬿>R>>w>NQ>6>XU>P.=0V=;e=ƽ4x*:;pT>==>Q=>8o>u>Ñ>n>><>|>>|> >d>1?]? ? ??+?|>s>>v->Tj>>3>@j>>\0>g>f®>$>>?>`q>X">g=`=dkԼpGǃж]|:=X=>E> r>4x>vi>$_>pg>h+z> %|>]>JJ>e>0>>Vj>^e>+??a>">>]>ʿ>q>%D>#>>'>x=`==ر=`=P(=#d'Z@H^HdY0&NVz'hHvpDt,hv`V4C ƽRk` =pR=b>G>>\>ɑ>>k>Hx>>>x]>>$>B<>< H>@I>Q=>H)> R>>p=l= (<^50dAh}ql&֢.6Gv,̾پJܾJȾإv9@]K<. 2!bS @a<(<`=}(=@U=t==X=}===8=N=0=9=&|i ݯ "zZ솾bMӾn1>"?)N,3q:2<~<<<.<^s71+>[%^`lǾ=ܮlTF<(-p?5@b`{Ƽ 2NϽW cBHP A0$4*<"+EXFf ~녾 5Ⱦ$D *@)$` yοT޾D۾Ѿְډa3P@]~ϑ慦λ,`iJT=L->@]Y>Pa>D>3>8=<@`Gϻ@]<`C?=X= >XU>>w=}=XV߽YNrtʾBо~jʾ$ǶYbnd {ÅOpt<:TrؠF1/нP=`@мϺ =w=c=|%%>8>0)>|>=& )>1>h)>T>(9>=`==׃ w?qzጾטcH?u-oнg '.050 L>^'>ȁN>D!>W>&Ŝ>e>V>N>Ni>4v+>h=`=P===== =f@\@9r2QHI,Ͼվ>*Ǿ֋⩾BGշnf,|ޛ[Tx$u=@u==0|=ȴ==@==x/=1=|>n'> hS>g}>$N>⇌>hu>X%3>=C= =tDp>ѽ0 d8 Iq5˼l;[oȡXuB5Զ?#x`IҖ;:U==>+>h)>8>=$ >9>Aq>߃>>&^>hπ>\o>$W><_?>T >>8=Y> >'8>XG>ȑG>1>=XyD>`>5>Պ>^>/>>S}>~p>H>FT>>>>~?;?>R>y>L>^>>>N>ڐ>nd>r>}c>\]>b>d>|[>=>$- >=<Ņ0(`VАL1jb<=@=,|>p)>>`O>=>0B>hu>D>&>tc>&>X>F>K?v:?8?f> >*>>Nb>v?r?N>|>>'>>]>b>h>a>ʯ>>bÇ>43T>.$>>="w=<O;ꁻb B@<{o=w=>bT>s>8!u>Mn>\i>C^>-K>@[?>lH> jm>~>.[>>"??0k>5>%>$>>‹>r><>c>@>s>>>,>$>n>*m>Ϝ>F>@%>jT>>0c?=Ml 7C;`=s> ?>R> R>G;>>(+=P,=>G>9(>P>>؞>>l>>^->>>v>t>6>R[> jm>>(=ҿ=h=@=D>>>H>_> >ز==9Jj 8tEh)` dZHDSL0ZZ~MdAL<C$?Ti@u\2m0HZ7޽Hڪ ||<>PO>8U>FC>#>R>$>&>O>8v>Kv>d>K>:>L0>,> >( =j;ͽ*J0 vpd$i̍{$=vmΪƙV܉z0'[H0Tiܽ` ǽH% ӕ`޼`C>*&:8:L t$,`>2T4<1-+*P)l&`)쾆ɾ,Y֏l> İ EU/`t,ltdҍodd pH%< ws==0H=!;0k|\kؒķNþXʾBо"߾W{K| B8s@ 澶Ծꤿ^hjs,|VDhE*ѽ~ü =%=H=>@}>&>E(>*> >>=L)=;i;=(=`><'>E>i=@` H̛P\@By\b`Z0iYJi26 \b ݶ'ɾHϾžŭ`i'1 ֽ O,)(;<^= > 0>0>Ht > .=90C> D>z9>0E3> 3'>\/>x=WW=ұ3L#@bQ4ЊTM?^ЈؽI08PӇ <2=(d=%>DO>^>>>ZS>4>>vw>fT>x @>$@-> >$=`=r=hm=9>l)>#>A= y=@uT ce|G@Fݻ򜥾X6mX&XXq{h|þɾ¾ܟQNvC,PC=Pl=[> > >=>====l>_#> 2>3><0>]3>p3?>M>T>xN>9>>@=@h=@C̼p;<0=s>M>2X>hO>0H>R>Qc>dpk>(r>tv~>%>i>L?F>DF9>?>PT>Lq>n>>U>C>P=%<%HݡpU˽aս׽߽ ܽ 3[ʝ@N<<V,VjXd8pOxH=2==7=;=>;>tO>PU>S>FX>hg>j> >>4V>>?K?Z??xa>>D>>6>:Ƣ>>ԩ>f9>>>t Z>&>n=8_=K<}`SB<D#;BPܽPo彸@JR<= 0>@8&> "!>> =>d>\ـ>>h>$آ>vֺ>>xM>>>|>h?|?I ?/?>??V ?.4?_?ܴ>7>>r>7>>> >f'>G>P>)>>Y>4'>%>p >pV=(_== 0b29q=]8==,''>d>>(>G>L>h>e>*>X>\R>>(>H>xm>>>,>^>Ϋ>b>nF>>`>>>D3>>}>5q>H]>[I>=>p4>*>($>&>*>p&>d>w= $=(;``\<0=>^@>np>>>⇌>B>\>É>W>#}>s>2>?>+>>P>^b>F>8P>> ><>u>Q>>=Х=`j<<=` G=`/=9<0xd/1>S>e>Xa>Q>9><>S= ==>H13>@[>y>y>hO>@=X@ KQck4\S8mcHrxml̾rRؾ;徦ؾ4]dmDL0x[*.L5l3Y!.޽,Ž ½Ԥ,C;p(=8`ҽ4pپƂ޾&վVi˾xþJþԾr #+\ 38փ:7_3N0뾦ξhR|o4 48Ž@Ͻu=!07?<(v 1Oe0P==z>x>=cM= 꼰qܽDw1 ^dw丄j@(;W緾f亾3ɾ2#۾hn뾎 ڎ +^ [ݾQ׾Ѿ¾N^>"8- x;W;=ТM=@w=x=o=T>7>C1>m6>= r=P=`=0ݨ==b>l(>5>>=3i0`КMp| rL4,GPmվO ĕfȾ 뎾tn ,s>!j>> \=E :%>A=[=7>>*>t.>ȴ==K >1>4H>p>8_>Dw> >Z1>8>^>2>>>w;=P ۽ Pwe*=x=e;Ⴝ3 Dڏe<>>=4o;i>??>o>!x>|>>D>U>~?(?$>>\>40>=;`EټQT/P<>@>>R=  +xK``8!lMHiTkeD' B=>ȭ=hн>@g0k=`p>&>Tk1>1>@>~>Ҭ>>HE>v>R=Jn,<0IqpF:hHB𽤍UZ8Ѿjjf ءf ,^ʿ 꾖d9IJrꂳ%>j>j>Ō>L|>_>M>y@>,Y,> >c=Zb=R: G 8I==8!>|&>$(>5>D> =pb=`.<` 8Ƽ%|V B݊d(:н߽hx?0=|:>PM>>>Z?6?g>>^>5?x"?p,?/.?"t2?8?C?TP?:\?pc?9]?L?n5?$?$"?,?.=?UIL?^RR?_M?^A??Ԅ-??W?W??$??+ ?O?f>>^>m>ϣ>j5>l>>>`>->1>Fi>>?ڰ ????)?e~0?\u7? >?0>?e)9?۱2?+?j'?&?i/?">?H?L?H?@?b;?8?M6?͛3?2/?#+?&"??> ? ?^ ?? ?>$>ۅ>p)>pY=+>,>Ό>|??b??F>r0>2>d>Z>dI?.F ?ր?h>ɫ>;>7>>N>0?A"??(~?~w?>>4>hT>%>Z==X$=ı>\)>?B>1>Po=<[0\d$rI\0/Є0o0r^nӾڱ1STHݽUdG =P =>TX>`=;=K=@=`ԍ=;@z4.8%?T$ Ɵ p"+13U9-C:K RTVw,YWR~L IJD6>91zZ* ~JfHo3N_ Rリeо>ҧ8F:Z 㾋lT ^O USjF"x)Q/48s:PHK EԄ:fl**Ⱦ>|4ž/׾@徔澖Ӿ{yp%HP'zX$ڽ(н*hDYn kv[P7IԅG`Uoz~xhGҪHžM׾fؕ jV8NYSHC྄ rMľȾ EΪ<LGpǽ޽$N '@([lz<>=.=Ȯ=@@J9> >К=0=ב(3;(=h=H >VJ>>̺>>`>>P>h>(i>Q>XU>t>,>{>f>P>M>|Ke>||>Xu>L>X >>Y=;=`+===P靼YH=< ~=)== b>2>$r>ܿ>>@]Y>`C>#l>>l>޲> ?:_2? 7?00?7?&?r ?J ?y&?:1?=?E?C?h9?*?BW?to ?o?>E?] ??L ??>>d>V>>>ta>>ڱ>>Toe>I><>R<>R>D>BW>n>>>>4W>?VE ?j?@?? $?@'?<(?m,? 6?D?N?PT?Y?2z_?Zd? d?X?F?c/?0?u?S>?1!?9?.K?R?M? ??F'?d?>>{>0>>T>B>4>e>P>|>>T>>fK>T>>n>Q>g>; ??%?L/?3?X#3?0? S-?T)?t=+?'p2?tz>>a>y>>о> y>]>J>n>>>z> #i>$? >u>F>>>h'>>>^>>L>p >xQ=f >X[l>\>>>,>?/??Fe??\0?b?,?B??????*J?f?;? ??J?r??J>~>N> = =8ů== >A>cI>9> >==`=L=S=<Ȼ@;Ҹ5 ἀ<\=8r=r[=x:=k=X=`>C>Tu>8>>Ē>_>e>y/>m>3> c>r؆>>`dr>>>5(>()>$`>>@=`*Ǿ~Ǿp2̾N޾DXvp2 <@p#NHQR}*Jb8?`a>LP2W s46@mҾ0Ͼؾ,뾼RD ֳ ;S꾾2ʾު# `־ XnV =(\ [!V"<!i"6)C5BMQUpvWruWSJ**AC6+vM$f"%l)`&i6ݾ)jqRRІJrȧ CZۚÌy7:Ѿ1wmykE dޟӾ:ѾN>ӾP۾@*:)# 57Z48)oM۾^`,<ˆ͑ҷH/dtED7==+#>r9> )>@=K}=&ЌnHa8ը%/ vf߾1$1۾ؑ߰`-f]˾侐ZS_!?ID&;ļjUl{|H> Pnؽӽ; 佐݅b;!=>b.>pu=>E6>+>І >0>Xߴ=7<๫ 60=nX@۽l6IxV(dnt yrrHa6 kȯneXȾ:QThȾ<~Bh; 7&D"^;=0= >I> >>>f>>P=#=`Gs=訥=x=v=Xˇ=<@\ͼ뜼@g<@Nm=h=K=@e<@iG; 5󽴾 R 콰J@ּ?';o<4 J>(~>T>>R>~>>>]>H>B'>u>>r>>>~>d-> >>X>"P>Q>G >hH>h >eG>Yg>d><>A>o=8=,E=@<@뀼 J;@a<+<q3<@WLI>U>>>8ƈ> Y> #5>(M3>Hd>Ҹ>j>4 ?z!?(?N ?c?3>>> >X>w>ͦ>>,I>tM>T=x}=0e==o<B/hݽpɽz@ɼPS%9HL& Bǽ`YV<=X>oh>I>w>2>l>ƥ>"ɜ>,j>>׽>>l?W ?{?r?M?j?>v>٘>ȴ`>>==h>@>8ց>q>>>>2>h > < `.=>_h>f>\>>d?s>R>>>?>P N>y>$r>d>4>.>n>X>6>>?L????~ ?^@%?9"?Q?? >>>o>X}x>a>]>g>ބ>V>ڳ>>h>~>@/>=PH=`<01>0C>oM>J>L<>:>=X=>.>g>>Sz??(L&?*?"??b>6>>>x>>>(,>>x)>渞>Z>;>>n>,>d>`>L>Ņ>!Y>($>8>A==>0K>Z~>>D> >Ґ>v>Ԫz>Jp>l>f>`bX>K>D>J>n>,>þ>j>^>>N>b>>}>T>"b>d>P>gW>!>H>6>>>)>.>$ o>Q>1>e>H=h=w=h>>>>== j=@<6@u8d=и=pc=XV==h=6=Q=2>`dr>֏>f>l>>T(> ><>>@c>>N=L=H=ԕ >N> B>@>k><+T>@}>=@J<{(k轌(7#03B`:~tčq].,{8侦v 2 6ݯLo` 𮄽Ǽ@gqջ@[o88p.XN N槾8 K( Ͼ|x<辂xݾ·Ӿh;hϾ ־ܾ 徐:T¢ f^.s"vZ~;pRiU(pL|kWk!5VF@MDʾξlϾϾpξ&ϾZxѾ]оzԾ)l t &nU>PnP֮p8սp}@>@/<0b==||)>d_e><ˆ>U>>΋>s>@]>~T>PNf>>D>6Ȉ> v>{>r>`v>Ӆ>@7>"@>a>4ۨ>X>p>+8>Ht >8 =$`>RQ>f>[>a>>>f>>>> X>><>>?h??t>6?, ? ?V ??' ???)?,1?2?@.?Yf$?f?7?l?"?"??I?b: ??1>7??21?{?,>>t>>>>\˻>>\>N>>>)?`??4?? ??>">Ҧ? ?&?8?WJ?ruW?,^?Ab?`a?ǢZ?(P?HB?1?$??O;?f ?,!?9$?E3&?ѹ%?"?{? ?f>F>A>u>&>> u>Y>Vߚ>h6>T>ܟ>>>☒>L>|>a>֩>_>>B>5??? ???r!?xm#?@)?r-?N^+?ޮ%?P"?!?$"?0"? ?? ?T% ?Z?rp ? ?:L?x(??e?f?'?>n4>U>d>" >vm>j>Dx>>H> =8=z=HQ==XV==3=(Ŷ=H==k=?=F=h=>,>l{W>Ex>É>X>8>t>H>~>T>O>B>Ė>`ce> S >C=5=h)=`==P =0Y=L=V` GXYܽt`O8Ԩ`脾q"꛾pt.p4HɎ~͓ dd3󕽰@@+Լ@[< ?=>`qD>O> J> L>wI>1>\P>؅=0n=^=3=>5=Ѳ<ࠥ<З</5BNwSH˾vO˾9fӴ ЏJDeD~˾޾꾞8۾ž$onjƒʆZ<ԛNw9Ti<!6nThl\!gYE,8-@h|XU;P³lf)ƾ旹ZALq8hVU^-ľto*ʟھ_;̾ؾP]D|6ξ"̞|t8 !ѫ@08Ϙ7޽Z<"r'pp0DK_Gh)쾼߾Ӿ8N\< $=9==H==H=`S=X=h=%=P=(=X=$>^=ܩ= <@@^߼ 꼐2؎8ѽҽ0ā䮾LrF¾T־&t澜~kT𾂚ݾV8Ӿ:˾B&Ǿx.lz~?ܮ HHϽز@<t=0=>Lׇ>E>>/>>|>$>>L>>*J>Ć>F>l>0>\>t>Q> \>*> >O>ش%>U>^w>~>h><;>(=i=d0+9 hػ5K==>4>LD>Q> Y>d>f>4>>>e>>"S>P>>>ƒ>p>X&>">>4?)?u?^?p?? ? ?! ?>&>>0>A>b>@>|&>)>XiK>t>:L>b>Dw>ٟ>4 >H>< H>=0}=˾= =Ō=s=跑=8=40>>>>T8>>B>o?o ??˛ ?f{ ?B#?)?\>2?>j????>>h>z>s>p>>đ>di>4CM>/I>xH>\G>H>A>+>z>(O=A<@w 5w0%uPC`=? @<v>>=>n3>(>`a>>>>v> >r?O ?l?:?%=? ?>T>N> >>> >*>>b>T~>|l>>2D>d>HTL>d(>f>i==(=> >t=Hb=Q== <@/e>t>>ל>ė><>C>>>:N>ڀ>T>>؞> >8o> ]>h&>j>=Y=|>>8>;>l>=<@VmĐ:gyrZF e, ޽ D߼(;;.=H=腌=Ǧ=(=D0>&X>ij>|>@>r>X>2>>t>tm>Fi>c>h> $v>l|>tn>ܳL>.!>=PƵ=(==ؓ==–=@5g<`TX@"@P½ld5Hwe,)uZ0(8P~ :;J<੹(o>ԥ>N>K>>>> >>>m>v>>`>{>dp>Rp>h>X>n@>>HV=X=8 =xԆ=q==F(X!O&_U(OM0\yrLՇH"{мYL 4dHHН0½`&`<=(>ȒT>>H>>[>>x>8>Ɩ>NL>F>X>у>l>L a>pg^>Ă[>_>C^>F>G >P==`yd ŽPm˽xϽpH(X"~ȄC3VV,xv@dt Dd@x?`c=D>>Lƛ>L>HR>>p/>>l>f>>f>d>>x >q>>@~X>B>w;=` :7.o>> =;8ĢLT)g46{8+ Әɓ׌czdP w<%=P=x>L">5=>_T>g>&*>>0>>>Ġ>x;>>>>XY>w>ѫ>Z>lo>`->H=P==8=U===@===(<Q\<޽qGl&mܲsd[sB$a,8p QPpax5=ݼ;P =$=H=>B>`>Qc>]>|F>d>8==(=뼨fTg;P\4}0e0`Ʈ˾ʠĕ1 yĂ۾Y֨D$!<}Μ;PضsX3F#-D&$$m/=LhPOPTY'^|[TODxMK` x(:FоXj"3F⾂ھ(߾"CR ʋvd/I> 侌ɾW@Ѩϟ6ꔾjL[6%@г<|==l4>X>J>’>k>:>H>(-=(==8>`&>>>p=xH=<.X2 r(X vF9ꜽtY6·myN:6j{Fv R艽r=`=>>h>D(>Ĥ3>1>V>><^2>do>K>h>Q>4C>LO>s>j>Hv>g>HH>Xd >(,=8P槽` $bX!peK@HV潜Q*~ܐEQ^2 lӽ:@O@3ͼ;==`=)>d;>W>g>x.f>T(Z>S>lZ>j>Lx>r>HeR>`&> >~>=8=0==`֮0X> >=z=pȽd&@,춽 l`0S⪽0UxLVƾ˾þ'!F* D|dhvb,oႾ`\8`O=ٹ===X >">8>g>05=@=`<ߊ)2h'IJ8 Ľ+ܮ 0@~X2~SȠ6ZBþ˾Lоʾ̜3h|޼ػY06OE":<`b$=@A=`=p/ =l=3=+>`r> ">$>">x>=G== l<|0ܽu/D'LpvJ@i_4pZ 9Ƚ\eKfjlݓNLcl2ֽ[:S<@v<`&<P<;2<=U= >J>>>Q>? ?J? !?@?(>d>>u>>h>ƥ>>lj>1>r>LA`>DD>l >=Щ9lWп}0\@(W%H;@I:4. ֽ?K@6<P>F.>T>r>d {>Xu>|]x>>c>Ti>8^>e>0p>z>Po>K>P(> >_=PvX=@)<@ p/ `I0<=@H=i:S>8,>f>|>? ?V ? ?v? > >z>8.>>>Lh>_T>tP>;W>W>dM>s4>@= =`E<I;XȼRnLYj0{:28OdO'J 68b>p>p}>>ܞ>>F> >R?x9? ?CV?a?9!? ???VI>>@>d~>6>:>,>>8>и>">l>0Zm> >`;= :Ǽ0g:p@"c7%Yný %7v<*ĐýHˎ0]=,5>g>dn>p >V>ڒ>d>>2˕>=y=<v: W0@&@zq,eGW@]Y QS8slO, ڏ0Fƾһ%PȢ,KD !h2pȽ8塽@g`o<2\=)q==Y=X=b==݅=`<`sGн(026\Thgf e`TaycHkzъ\t8Dyҹ|ѭYP `9= 6 1AoIMD8)(뽰oB <=J>>>N>.l>>B?tN?T ?Q"??K?C ?*>>s>>>*>$r>@>`>t>=5K=P/=`A= K=9H=<@!APX,E?^dhLPͽk7e<*=H=5=2=`O>>a(>t@> 5u>=>k>Z>

    _>>>0>Ƃ>5>>??m? >z:>>4!A>*==8=p =P;=== =3;(q4H4t6=! ꁽ@mҼ^;l<@<&0( ߽X -7;H!=7>:+> >E>N>.>V>R>> >>E>e>g>7> )><>LQ>Xke>an>PO>ز >@u=dݽ4.F|;lbz[}L Z"4¾\dx:9L捾^ (r9(͌b<=ЉG>>.>dմ>>>؀>|F>Lcl>d>>>1>>>^>r>GP>d>=;b<`M6xeMKP|P`Hq;о¦;2ʾ;h9پtjLdr̋ǾVWH\pl@<(=H >B>g> ~> >s>la>R>|B>0>>>H3=щ=@=R<t軀ohze OHۻ*l4َ!/XU,ۦfi jN56^  㽸;p=>D>q> ɉ>>I>>>d>C>>s>Uc>D>$>з=>(쏅>Np>&>>>p">>j>>>>I>>_>>>2>pܺ>>> C>ha>>X =f'kJ`/5ܩ`ئ *(BJwB/\= px8hRὰ瑽Ri>4 > >>>>p>>>}>Z>vb> >`>NՇ>@u>yG>< >=@{<@ ռ`] >Ž&=Dbd| ziB)! S#bCowV3B5Йݼ =<8=@q==;=`=s>̝@>T{>>>B>>> 3>ܸ>`>>e>J>]>Z>">,>hj=@0Y>> ><<>>؄>>\V>R,>|>nW>>@>><> e>F>#>G> >>>>HVf>a3>8=U=w;}/@|%% b`I9 Q3=z=–=x+=Щ== =m6<C[@.xH)_BQUXq2.F^`ܝ,:{rJ lʾѾVԾ@ξL,*$ ﯾl54f̾x;̾>ξLоƾʿh࠾拾&UX2K*;@1<hԽ9>U|jJ D5A40d"*E(̼%H. Ea:.ž ־۾ؾjϾþh{fȾؾv^r.]6ݾ2žj߭D&QPnؽ ]@{*j>Xߴ><>x>E>JA>Κ>>+>li>P>,I>L>4O>?>`">܍ >, >e>N>k=`-=||p-ԣaR⢾3VrTO*X$d0T(ZbKӘɘiTὀz£>->⛹>F>ǽ>>>h>n>>#>>>p>Ҙ>:>> 3>I>,>=>[><=9_н*(?peD>!q>e>>o>hk> ܢ>Bi>>{>V>>>ƺ>>X6m> ">(=@5=@N<@0L* .\hNO־`ݾ 3۾f\ؾ07Ծ@Ⱦ:=Hɹ?,InԦЙ^@?׽Vʼ E=>P>,~>>=> >>H>4>P>>r>>V>>$> >Dk>.>H>>>D>*=l@![mOA!\? L D1Q941¾׾9澲Ҿ⼸p{D hJPzP9`d>= 3=З&>\>>w>Ͳ>>`>&q>h6>>t>(k>Tj>f>]>N>?>|&2>$>W> =`@V>RY>B>湫>R9>>j>W>F>>>v,>p1>x]>>~>tz>>"ڢ>>>p>N>>2>=Xh0W0e:* ɼ5 [9𰞽PǽBTatadLE<[ H4D=ؤ=8>h>>;>t?< ?N?]?8>?Ʊ?2 ? ?!Q ?g??B? ?>`.>>֒>tn>U>tRX>Ĩg>0{l>h[>3>=`?=`U<"@ռ0DZ ,߼+<=k<Ơ;y&LpOȼS=e=E>F>>C>>3>>O>dM>>`>>**>rں>j>:>≦>P>Ǔ>dqx>tA>X=<:p LX(8Z P^_KTƯZ)8(䛽hȽȺ>%Y0!@`XyD> >w>V>>p>>` >j>X>@KF>%>=X=_=X= h|vխξcԆvbܾɾ >|y>g>XjX>>>Ɩ>">Tχ>p2f><,->z>x~>TZ+>>> D>56>4> <`>r\{p^NHUh~~#RݾH5]#rh Etd~ᆭID~'߾Lþ*&( O@j+-@6 8$9R 0ܾ޾5r6$%%9(%`,.=.+)% PN۾hlѾ3о˾g¾PҸ𮞾0}\lP½pZ6fE;ʝ:pW`N"ؾ#RM>NHvӾl;<־1 FA%H<վ4þH2TȾbξѾѾl;ι̛RчКMfx付=u(>pǀ> >$>>>>h>>R>:Ĉ> ˉ>X>i> >z&>>q>1>=`b=Y<@OT&ʽ b )JЫӽʿW:Jdo^_Kؽ(⁽u=o=Lq>(;>ܤ`>v)>Ȫ>>N>VZ>>>>>i>>>NQ>(>G>ܪ>>>Q\>8>,7 >Ԧ>Hd>,>>>====A=п=г<ܻwɼ`\ż`@EY<\5>f>I>R>>"ڢ>>>L>$>3>x??޲>T>@>Q>I>t>ܴY>1D>L '>="w=ϻzfʽs@z$L4T[81I/D53X:QNl{xstuT u$_<;D۽;*3#=P|>HN>6>>[> >>>>6?F?L?4?C???qr??0?ˬ?Q?Z ?>3>>t>׊>!>؍=0= i=(=>0>I= =W;閽 2+`pxֽHT̽?׽aܽҽ ĽHdŽpHE<=` ->L!n>2>nu>跫>>ê>4 >>&>>>z>F>ܳ> V>A> >F>!>l>r`>4I>L>@=@=xH=0W=@!A<] ?;1@): !Ƚ(Lڽ0BL-3>$TZ>Eu>C}>>>:>>v???f>?>p>N >ض>>? ?uo?&? ?>>^>VG>`>Pa>G>q/>I!>L*>9>`)>p=pn=`04 TZ;S#=Q<9좽h@н@N@F=>}c> >r > 1>Z> >>G>>>L? ?"???!?Q"?q ?|z??K_?j>J>M>>)>>~>h6>̙>P>(i>H(>= 0= TF5>U>~i>r>|>t>>> >r> >W>ɣ>Ҹ>L>*>\>.>+>ġ>4e%>o=d8+I>4gs>Lp>\>>>>>r>D>pe>fl>>t]> >=OȌAo̽B\2݂t餾~Ⱦラ ,2Wþ䥾ր,KM@Gν閽pVXP4HI==(>S>Xˇ>ެ>̍>Ju> >߲>> >~>y> zm>HU>a3>h>h=8-;}`sƽHG0Cţ4ܾr46 6 Yg?!.!|XmVL:n/g Dd۾ ЪC0jWP+D()`ǻݽ  Qr.˾7J uݾ{x>=H@*[>[%()+049<*;[5&_, %8#((],*#VF5 F{پ^$V޽׽H齀UĽ뷽Лڽ g-y\(}Lb);\xI7tϾtN "f 6 ( pӾmƾʾ@վ߾t8uѾ`:*=q-ҽ?'_?>\v>bĔ>H>>>]>џ> >$>™>>l>kF>t>,> D=ê=+=oqLp^ dJf9q,OP-tѽpvʽBh #,i% Hf߽p|@>=-=!>>(<->A>dP>pZ>l>P>" >z[>I>B>M>">>H;>'=؎=[=^=>03 >">>`.= =5=*=TP"HcPx_޽Ӝ8VF`o֙P䍽c %HVD;;Gz ɂ.<%== C=#>DiR> y>젋>>ţ>^P>>*>>g>s>dA>\>0=g=@k=C=i:<;*K ? wX"@PnX0k+}Ȅ؟#P" zS||eU0½WIKW== >l->l<>E>`>Ć>(>>>v?&o ??=?:>0>>P>\>6>>>`,>>PJ>>`==*=@`C (:ǽݽоeN%lP*>`>t_>>>z>>ت>q>>t>VG>>Ȗ>>'e> e3>4 >p==PR2=`V==X=(=<@="(_.g0ĶF`H"i:<_P= =0gs=f==P=@>@.>Xb>>>~ߌ>l>>~>>>"D>>>>2&>>ĵ>Љ>#>>>X}>,d>_>0c>Y>x->6=T0= [*paO@` p9g½{ڽx.潀ɽ`Gs컀 <(`S>Z>>ָ>2E>& >>s>N? D ?d ? ?>?&>>:>B>G>>>>H>>w>>6>=W=@3<@<Z:XO;@{<3<$=s=X=@h=3==<g ,>~M>h n>6 >>R>к>ra>f> D>x>D&{>>h=T=H=pH=*>(D>C> >`=$ü Ь`H3/½6ؽhͽ@䔽 G ax ֻn5 Ҽ@輀N<=?>,p>^Q≯>8>>?>>Ҩ>&> >!c>?>>xP==N5=X;d"x e0 K'l@Vlnh 伾,|폾:~p#zQx3!xX(Iʼ@0< x={=%>S>>R>L->[>E>By>>E>8_>*9> >L>$y>e>`/F>>=Px=@</~ܽFch|.,8þϾ&徜A^ K V4ҥBHX羨4Ѿ<殾nچt @8oн߽hz8>`Z!VΔ <~B䂾rfPk:Ģ#ľ̾$Ҿ $ܾ$뾖#')n&] t,$j$,'N379,5,} bžã؉d`rDyK@|֒< <O;X-L-s;<\нt/` G˽?&`;,վlXؾT׾ҾоҾt?Ҿž#iֳOҸg¾XVžžžž E*(퟾xXT|+0X=.=->e>v>З>:>¤>9>S>Xg>>>->N>jϴ>`>>.>ؕt><-:>G=0> =3#hB8_ |z`Lt0}ҽr ExP:>rT>X[>h>}> >2>DV>ʜ>X>8>ic>8U>PW>8]>Ko>>h>g>m>DJm>X>l3>p=Pk=@< %=п@QM4>T~Q>}>&M>>f>A>>a>(>>> Da>`C>P->>= =@<@G<D`l C1pu#F3$yl"bi#2ݨ໑qHHD(X솽@}ǟ@>t>*(>>D>'> ?v?>>S>x,>"3>R>֖>4>FX>,>>,H>к >=T= ==S=3="=F<;8@d)̝@4P_a?:x*g6}{)Ƚ44 A F=U=8W=>L.@>d>>0>>>Q><>>>k>\B>x9>>l>U=>h>>>t> >|X>=Щ9=@ Nh$8 .X/7s;- pǴpZ<*@Ԕ<`<@&<: y<3=t=k=40->#^>xr~>D!>>U>Ƿ>>PO>h}>,K>:`>m>*>6> y>">te> > >|k>>>L>T>p=``<` @?8ɹ<=<=D<Ƅ<@֮#>C>po>r>w>ظ>80>M>>>j?>v>>>.{>>>й>>K>r>f>n>Z>:X>`> =2==c<בdڼuDa<0=`J+=J=Z<V@' ڏ Ľ⽠`ݽVPP:0w=P>|H>4gs>%x>l>'b>DW>0J>p4>> A >n > > >x>Z.>7>0V9>p/>U>0$=M=x{Yldp!^d.+ 5"]Hݽ(-Pq8ʽx賽$`'0==` :>Nw>>p> A>Z>I>P>$v>HO>l->س>P><[ >t>H5=@=.C=B$<Ӽu0H8 t 3lf亾ҾrNϾᲾ㘾di_ヾpǀDؔgHB9 P?zU<@1==Է>B>lc>x>ԋ>4>dt>|b>{h>l|>8q>.>@>dPy>0(h>@H>$#>d} >0L=h=_p3?PQNоs~6q˾*+۾뾊󾪊; b R|wE& * 4~6žani|'x \HX|otL $BD"HL* q6@ju SR䧾PHǾ,ݾSkCK_4 3 H )+*lf*g)%cT>.{ǾIlYlne(qY8{轐<>*>.C>R>$i>故>">G>j> >t@>>[>> >S>D߻>f>l>K*>&>x> > >c>p>$>> =5=F=@< <= ====<4s7e0e=x=V=/>2><>4>w;>1c>>~>K>[>ް>X>FV>8>–>>Z>F>> >>>$K>ڸ=;o4L@4Р3=H߻=c=*=3=bi=3=f ==&=hd=T=(p=@ԛ=p7s=๫< KԼ`Olb7ɼF<f= =\/> d>">C>h">h@>`h>~D> C>xK>̜>">>>>T|>aj>d T>j5>9 >81=`b$=tP?z< 7XNS<]8dP N3,((!=>`!g>R>o>>>>k>H>H!>M>)> >y>>v>l>>Z>&> F{>X>L/M>D>u/> >ؒ=`p=;0;TPk"˽X7t1fCp| (<-[M+ehgQ\}N0V9]~md(>t>+>E>Z>X>1>d>S>>Tk>*Q>D> E>I>K>8H>P4>d>Y=W0ʈ2𽜠 B彘ȯ``愽 (_p!(˽X,X1ܽ˽~ »=@ H=0y=5=8>HU>r>>>H>>Ni>\5`><>q>>2y>>d>>`>A>H>>\=>=< պX@|U`0D>n>^>FU>:>8>”>g>8`>0>>B%>>>;>P`>\>4D>פ>4~>+>=d=<<@<<= =Hs=8 =@<¼(&'88N'8n+λ <@=;=PM=x=8==P=&=D===(>h8>X>$- >>XE%>E(>_> >=Pp=+<u;;X: h, =5P@횼; ":HOpMS*@6tl%>x;8>"<>t.> >,>>ܞ>\>=<7=XHX0$N \.] Lr$t M|y/cbv|Р8=^~3nB~F;y$d#WQ$RT}D HrhnQ>`A><>=w=Ӝ== >l;>ph>D>|F>.>0w>;>Y=>=@=gXvѽ`ýH`ν c @ 1=ľؾ꾚CT % &^2$0+m-,8-](ʌ T,Xa&.ξL<*Dw&ÂkHE`$_f!qH|vʒ~ȠZ~\߾ Y *7 z5y%"(.*>)#[Z )h>B>N>Lׇ>>Bj>>\>S>!><>>>> e>Ơ> >)>Xh>V>C>.>D >C=<@_P7`,Ӽ;Z=pi=>= 5u=f@`J(⣽.z<@B==)>DyK>u>I>"@>>֤>>T{>V>>%x>.>¥> X>Z>b>H >ܑt> d>=X=H >\>p1%>.>y(><\>{> >>P>f>'>==t=Й==S#=B>t& ~*<>>>p>T>>@}>\>>\>t3>&>%>l)>`)>؁>8v=8=Pd=D< hm8ֽ 4CgBx:+̪@x ͽX q@GXֽh㽨۽H` PQ%=== >/>Q>n>p>>V>>>{>X>[>>/>.>>ί>h>>S>\1>Ĥ>j>6/>XU>Z>Dv>8>@=<%K@*"j;@a<@H<x; +Pԁ]l佘꿽謽@;<=d>2>0O>R>ЊT>\>ԩm>>,>j>>>r>V>(>>U>N֔>>>s>n.>=`O<ZҖ;I= uY==ն=|=X1=` &= SЋa8ȽpW彈ーs|F 90.===I=;= >(N@>>>ݲ>>XD>Է>‚>>n>Nt>a?ُ ?s, ?φ?>g>j>>f>h> >p@=<B$n5; =!=&=`=1=S=`K8=<*_ɽ  Ȣͽp3F!<0=g= =Ȭ=w=`r=D==Di>ȳS>v\>T%>b >h>t>Zh>>pV>.>>Ld>>^>>>Z>2z>2>Ơ>8>R>&>L > v>c>>=,=p=[_PsɉPԔFȳӽ>>`tk>sz>u>x>j">8+>l> VG>%>A>=0\==>S=(N=`<ѻz0B@Х`?wI`jP[POi$g#tPϽߊI<7P;FKT lS C @d>XXB>`a>0o>v>.w>Dc> e,>n=3;ʖ(+8`?? /s@pH?HCfπ᝾Q&T!:"tl􉟾TДf.U<ҁ>X@Y%8H 7`I<@<<0=0U=05=<Ш,=@=">JN>4b>m>k>E>= 3[=g;Ppw8@wٲ8;v@p>J1;Zھh"psEj :#B#)"$M)P-2]6`5/\A%iR۾ƾ6٨&j}{dZ$D82< Pe(ouӂ;FҺپ|<C@Hx6TM$*m%N"3d ĐCtAB|ؾZVž$~f~T\EG'׽H?0#[jb`x@F@@#e>/>>>ū>pt>"d>">V>y>>R>>pe>>>9u>\d>>8>===`q====>>^=h=L=V<_ ڼl½Hhldڽb:=\>0>==>@)>8O>=>> /> C>s>>>>L>rs>>>>->>3>>H>l[>L@S>%j>Hw>|n>ȣZ>@;>h>>H>\P>$.>$>2>7>U(>0>="=@T̼8p80[F@ol==m=n=`#M=1=P=`<";+p>A>>>>>(*>fw>|G>,>(=m=7=@O<_ X<<,<2,H Y(`LaQj ݽ%[<==P >=>>>>pA>2>]>&>^@>`>H>P.>?_p?7>Ą>>T>z> >:s>B>>> >b>0>dJ>/e>X> S=@(-޽Ͻ8= J*p0!AL8䔽ƽT&CjqtbQ0Cpi=0k=T>D">T'>F>n>(>n>>>>.'>>Z>Pջ>>>> >h> "\>(>9=h&=`a=l=؁==X= =%=RXH(½ pQP8~m@>;7.;௘/x8 kao4=8=~T>>s>>ؓ>">(>g>(>>tc>>>>A>>;>2̢>do>f>` a=;sD"I!>t.2>>>/^>D">|'>(>l'>?(?? ?0?>81>r>#>~>>z>0E3>:>@N=;= c=7=;='I== =ǻs 齈*+b[]qdb)>Hy=ן=<p۽(PȽ@ghiq8ݽ\(u6<I/><'> >==@xZR%d51%(8PWp2Xﭾ@󴾶᫾.sĆȿ8RT8ԙtP]|M BL43#h78塽rG9@ 's@6@|8o>e=~$#&; b,\۾l"(>{xG/ .T4D>_TL{™򍹾p¾ƾbqľ,羾jǾf*Ӿ16 8 @6"?u" D+ ~L뾨ҾdX.VdLC}/ ˽8>=@ ＀;@<<8=Ko= (=O; pTj˽XD"|&2 B(B+ (⦆/̽2P:9/8$">.>KXHY=7, R`۽)ܩ@D<<"=9= `=pv=(> w>j>2>(>>Q>2z>J>>>P>>(>d>PK> }>8i>Y>P>>C>(> >7=8D=(=ӷ=س=="=aABjC1]<@d<<:ieл3úqN>P>$->x>,>>>p>/e>nm>>(\>B>>S>{>ڲ>j>:+>1>f>R>>ȁ=ؐ=a= \==`=`==R=ߊ<C$`)š;ûƼ| g鲽d@Eu <41>Mq>u>7>>D4>lw>|)Y>@.>>$>2<>n9>*!>pz=e=v=@KF=<ѻ@Xhܽ2, l$!+O;|<8;P-kL@þ<=3>e>g>>*>JT>F>lZ>L>Z>>>>z>ޮ>b >V>>J>%>b>>@[?>pb=뷼`X7ԽhKڏL:Y @iҽ0F V.^e̼00$fd>>>x>Z?F>e>{>>N֮>Ȫ>Jb>>> >>>`u>8^>P>pT>>`<>=pt0=|𮄽בXxdY0|p@y"G<=6==] <@ ҽxɽȭ;P?=pv>x)>>&>>&.>X5>R>>rb>>V> ?r?`?F>z>\q>=>|@>Y>{>>!>>B>-=Z~<`TAؼٺWd>M>>>l?w?K?>?ڞ?A?O?C>J> z>,>(>9>>~>>DV>s>X5>==@d<@^\;jT==@==+=@&ȭ6ý RpM`fؼ 8z {@(-3J<\=_==P=>$D>lzJ>X4> =P=6J=}6= =PO==0\==P==`=]=A<swɽ< mt|Hc|i ( x@޽O <,o<~8L [ͽPX{t04P-=@=P=4s>M>P>=0}=ء==4=;P8+4ィZ%ҽXݚv/@ *Mf@xH:pSe0d% k> >\i>9>צ=T!Pnؽ Vt7<R 8нL:SnP,^qJ &rVUỷ5"$p'\)P(O(%1wR,ZEپbz$czXnbdl g~Vh<x}Pq*҈o0ϾX7ozLhP( vYB GbϾ¾$žLѾK۾Hݾl۾ھ^־ ʾBݰȥNB {%RpT` T@~ڏ<@-<"@;5K½޽((y_`-`j@ɽ(J : P#vM DL^`n1(KHh=| EuBNL"Q B) %,#K==8== >eU>;>R>y>> >~k>*>>J>>*>^>>>@>R>D.>0">س> >;=p=`==`==m=yG=0gs=0&=x:= ==@&=Pz=U;ҼyUp͓0}R`H;=8=>=m=lU>XU>>>Bi>L>;> 6>/B>t Z>D|>{>J>4ێ>~>Js>˦>ā>Lȵ>܍>5>tc>8> >xm >=0v=`\d>>,KM>xB>0>p>(>>=X=8Q===H=Է> >tq >(=<UHѽ( gE:+ࢿ0'@Uf`{[;;==P= >\> >0==[=8>h">U>nۓ>ƀ>0Y>֖>">>>,i>hc>$]>y>>d>$ȩ>z8>> >w>%>F= ^҄>b>F>B>>n>ZR>j">>>W>>>>Ɵ>>>>>O^>6>o= 00ؽ4PݽՌ`ȽPnؽܩ0xL]>q>y>r>d>r>#>B>>TJ>>>[>„>F>>N>41>7>_>j>.>Х>D>~>5\>dp7>X >X===PW=@gd>ԥ>">~5>> x>~>`>z>>d`>5>xO>h>ئ>Y>|>%>b>D>"ٕ>p>q6>>>,=`Gs==`==x=(=x=^Q=p#ϽAh]˽ `@q<+1Z_#$0p`ދ;`.m==0w>> =8=`"@=1=D=0gs=þ=x>9>8>ij>`` >>(^>>=/=p1=Pi=q<ػ` &˽d-x>_ЭmK[|Ay(LXߴp:q;8=@=e<7VL-:0h(ͽ@ּPz=H=`~=0)=ڏ<;<=@ = ^<軰x^ȐIC8hڽ@)aq`^zT;z\J0 7K czk4tE$ʽptz_K`!% / 꿽| `U= >q6>*>=\=7=`񫽘N!D轐o@뼀M@8 L682{d"TھB _A'x ޾nZ .""K#Bz$*#96ZGlhѾNorN΄.ϕjʾ^SҾ"BǾ,|D݇8Px[*9H|,  ޾¾ff,kd䘬$vӟBP-[Pjp֒ <\k@A+<@ =0|E=&=`<xp]D(Hֽhͽ 8 pgp@꽐&lTtt~LqWuGH&JL.@9@&G`0iXF5`p ˜_B< I:==0=hX >H->A>O>._>4o>I>@|>>>^>(~?v?R >$>>>&>X>B5>v>7>8=؎=@n_=== P&=<>|>4= = <K MD3` 3@[0Bh=x >'W>j>yc>X\>R>4>L>n'>P>{>x>&>B>> 3>~>V>H>2>d>s>L>8A3>S>=臦=04=B:Zb@սӽPna&J= ===0A3=-7;pŚ8% X>ؽ80@&==(M=LO >k>=p4L=?<<E=X=(=x(>pV>D|>d9>ޛ>DXL>E=׻>leЛڽ`)` @aZG&j;p=@A=:U= w==i=x=ķ===p܆=U==P> >>>>Ա>~>>H">>>>go>`P>(;>*C>Ԩ`>>lT>ʾ>σ>_>&>=!=@>v>f>>|>4k>G>N.>!>G'>E>z>T>>>T7>>&>}Y>t(>`=#=`pXؐԩh{`}ļ@<=F=pt=Ȯ=P>Ąu>>>}>f>R>lU>>w>J>z>e>>0>0>>B>>P›>D>8>>q>>Fޮ>L`>J>>8>X=P{=;rwL-h|00!J@P=X=s=8 =@z+t>O>>M>&>>.>>R>>B'>:>IP ?A??n ??`A>6>>.>>4S>|>`tk>$\>_>p]>hG>>d=<@_X܍0W>|V>(>G>L.@>D6@>=>2>I!> >=6=f=`S=@ U=4c?^D{eHH0 Eu:P.=跑==^==PO w,!d/r9QD>k>>>c>l>>G>|><>\>>c>>@>:>;>>R>/>5c>&>`=`{=[<%J~5PN%_@H<"2=iG=Ц=ͺ9(LQYeRJʱ ؓ&>?>d a>q>Td>43T>yc>f>L->>6b>ę>䨥>>v>>L>>F> >>̈>_>`'>l=`=@\E<@μ(ؼC#<@ H= q==w;гPG($?-K`MPRdGu/{߹@D=h{=`Ʈ=Ȑ=@=-<<P4=0==N>A>g>Ąu>j>L>>xM=p:+=׻P@H@N h J]0O@＀ǹ`< ==0=^=[== Ug=П&=< 2<0Z9===h>_>>r >>>BW>><Ģ>fH>^ >8>ӌ>>d>Y>LBm> >>$.>><>f>Ќ=_BA>d]>g>^>IA>X->X:>`>N*>,> >:>rR>䩲>\>DΛ>>hLy>yU>7>1>0w>=X=2=J$a` Ts <=b< < sp:1OgG <%=0= = >DV>J.>í>>\f>>5>d>>R>?9o?և>>h> >)>>>>pv>8@>>R&>7l>'8>h=YH<|-( 6-/vЙVJ+8=0̢==@LSld>V4>>?>ʿ>Λ>P>>%>b>21? ?w\?? ?{z?L>\>>z>>Ĥ>8>=>!>ec>n>X=@<3;X;aKދ1꼐`Ľ %T0) hս!pw_ lSHH`ge0 h2%8<(=>>\0>R>4j>W>>2=E=x==w=\!>lP>pv>B>l>D53>(=EܞV|n~ԪzKd<^< =ȃ<@ɼX`^$d&+ 0;JJl6lFؽp(0,.91v0@<3=X==P. =<żPnPk G ^VpVpͽpO@:t"* ȋN(厾䒾޽!CXݚ"lu !H޽Pнhg:nVy3ֽD>ɻA%<;b@WЊԽ<؄Hɽ\(4uRfpoTm4xȾs%+[  dT'V3 6,1(s!v!"Q"" d&)T(#XRg³88e̟tݾp@T|&26eG YlhLk yYtaD;hX>CED_M_lv0l4,vխȸþ@9;׾ ݾX־hǾDRtLnw(|³ܯ=l޺ʾhȾm+ܞFnD>pf==D>4 >=>= i==2=T==m<4<`(<k<<" c ٽ|p,Q旾䞾q9|sF d bhPϽ*սf4 0޽(op#==V>,>xM>t>乑>8O>f)>>>V>>@>>>*`>^T>>>~>?>ZE>ʍ>>0I>z>腌=@D<ûC@\ż`@)¤5˼zν`'Xg1^5l:<+<7=/=r>+>+>D5>\>>ز>u>>pɚ>]>R}>D>ќ>`> B>>t>p>>ra>;>W>"p>ܠ,>={o=*=0<=PWs= w=k=< |xZXg1ܝ9G@]ZiT9`.J3,!d8,7 E н߃п4h'<;B<@=x==ʪ===t!>ЉG>Hh> F{>Mq><>>==@eټ㜽ЊԽͽ좽`Ol+u0 _ c@8F Ѽ5:K>Eu>f>`=>J>x>f}>:>6?>^b>G>>4˯>>@8>> >J>c> $B>><>=X== oz=<4 GZEuxԆޙM@+ԽЫӽǭ0$J(@ɼ|4Ņ@< 7= p=@==(=(=+>z>>8@>>К>">|>l>J>8 >v>>>8 >>>>s>j>n>-x>Ji>xK1> ޼=$c>7>>L >%>>>>k><>@~>@*>>4>>a>J>xO>>2>!> >$->]>:N>>m6=qPJŽ񫽀/l T:<==Hd=pVX=TL9|_v)%Ҹ=xH>>>|&> >>v>p>>:s>9>>>>^?o ??EC?h?f??$?>B>^c>j>t>R>!>==Q=<04;K@H,Ž([̋-7z<BBP=`0^ 8 @& 1 P&ý_cvft<@I,=@=l#>"J>E>0#>h>4> "(>->n9>0]>8>T> z>=j>\b>0hL>P(>8>±=0X=`$ڼ^hϽ`ͽҽXϽ`qિ`U([I_4r#>T>=p@=Y<D#@upzxM˽-63Tk1|zC~i8No4ά汾hH6@b"6aslgj@ |찄Lv?(㎽Hp/ ^:i:< eU>Lb>R>A>9>&>4>=xi=Ƅ====H= ==ߘ=e=a<޻Gx۽ JSBsFA$0h,9:tئx۽}@LS#ixXr:j~=a >2U>`>>߷>.>S>4E>>c?# ??[ ??Z? ?g??C?P?>`><>첞> j>>PƵ==v/l`Cp22;𡲽ݶ0hEd :QJaH?*0pax s>r>>>>J>L>Ně>>&>Hb>L:>1>x^Q>!>D>N>A>>"@>>̛>!>(c>>h=X 7(D&Pֽͽyս0| dOpwCRjܢzU\Dش%Y0ܛ ¿<Щ9==8c=P>=>==r=P=ߦ=h=> P>lt>P> B>L^><">#=`< pȽ4dй22,7 D߽0}ҽX½$P嚽'eW_;;NQ-8J;==!>G*>4>`B>^>~>>.$>f>4>R>7>8>X>>>>3>h>>C>>A=`=x?=h=ɹ=P{=}c>t>h>R>D5>!>+>$X>"P>lg>>R>8> >>>*>~Y>P>B%>ЉG>A=Teؽ㾼=Y>>=@Q= -)G ݼ>;kL>>>>Z5>:.>r>p>u>z>z>>f>&>>.ϕ>z>\>M>tG>(V>e>`>pO>4>IJ>0=J=L<YkPٺR==f<>d>k>\N>0>sv=@KȢͽf:Rw==8.>f>^`>zҠ>6 >>@><>'>P>x>>[>O>2W>DH>X?g ?"?\c??E?>>T>">\u>$D>k>8T=@4=hRN8b;+#)0 Xὠ$ 4&\V@[sR{$Rtp1YP0 ƽhT`A<|n==>>>X=(+=X==g=h==x}>l>>4w8>h>>`v>Ĥ3>=+ Hglkeh(b,[FR55tOz"2 P(d$tLS%xo\ Bj~4x<; ̽XP!< XuĽPP <0=>QP|mq;D,ZhDf41cuN5Ad[1c`IHg^ $ h;PPVC4ud($"T1Hdq34jЬpH>km VD۾̾B7;LܾSX6z=\!  Ir ׾fp/ݤ⪾^f8⻫ԙy{d5(%ƽ@=!K A!$`.9lGl`-vz:6tž.ZӾ4徠=angܾ˾T';<+ԾվѾžٲъo4d|ƙe?=H=b@=!x=U=`=PL==x="=P =XW=Ȃ==0y=NP&ts($x.P֮;bǽpif,{8DID"x}໠=j~==(=l=._=І=o>OT>f>g>A>(>>>?d'?U ??2C??R|?(?M?w ?& ?b?8!>>07>t>l>L>$>@D>=#?=mnI9<=@= >> d=<@VdS0T)X\>!q>:>,>4>|>A>^>'>8>:>P>4>q>Lr>6>*N>>d[ ? ??>4v>j>f&>IU>L@>=@o<@Ơ@~_<92WBP} ShY;ۼ):^P:9ҪҽMĽt;`A=5>E>XIY>LW>,B>|6+>0>T~Q>'>>j>P>>ԉ>i?v\?>V>̛>p>>=p=R=ЫS=R=` G=%=`<ॼPvpI D(5Z[wǃhE^{QU=(\hͽʖP8<%Y==@ ==X >|G1>e>N;>HT>R>>l>d>>ٲ> 0>.>l>>>l>Z!>惌>.J>d>a====*=`A%=N愽ѽX P㽨$N B*>E><07 =>>> ?z ?>4̼>Qu>k=x; ½!%{FbKpڠWcǾneľ$r ʖO}|\4TSشY0i$ 4x|N0l̽ଽXVi=()=H0&>Xn>ɘ>P>6>>^>A> 44> d>ù>6>y>Ƞ3>h)`>¥>&P>B>c;> = <*~=L=8x=5=νQx;`H@)xUpz~`fX^<== R=w;2=R>X>=J?|?>|>>0>>D>$>>]?.;?I?@?$?;?`>^Ȕ>9>>>$q>>ʸ=H=>,>N> = < ׼Q==!>ē->臦=m<@ U=1=|=`dvݾ pr Zg˾8j8ԛ=L>6>>S>~>g> y>0>fC>PO= B1"8Ƚ;c=u>?=X=ݻp(&.D$-+3A\̏\ʮgDHx' ,,4#R,%`j.Ι |(վؾ8Sr!0 F&A${󾸰羨16|)=&J=h(1JSپ 4 8kΪࢾ`魾6@2־tu񾗕 *~li޾`>xL^,$pܟSQjȋ\ >>>f}>\ɡ>>!>s>>$TZ>E>|F>DA>,>D>ԁ>܎>b=0%u=D$XXuWHN}%LS\b$@ < i=S==Pk=`$Z=h=>b>8v_> >@<@.k}`ּ'W=>>D>3>;>d>>>>d>4/>oF>\)>D6@>Ȁu>͟>.Z>B7><>>:U>T8> S==?'= <0.=hX=X=8>>9>淑>̐n> L>0B>84>>` =0޵=s=S<@J(Z6=a>Ff>>w?b ?>6>L>X3>&_>P)3>n5>5c>s>*>$`>tM>>w>h!>.C=1@IP:8 l+8cX轐4K|:+7D 00W@h8Sƽ0hLcxm=H0%=8D>(>M>>~>Jb>N>dW>~>u>"d>rA>B>>J>>>>ˌ>>j>Ê>R>Y>- >pu==@LӼk(Dx>;1d<c|V^p%RhG[`ux \xk&UT_ Da^pac]K!/ ;b d==#>8 ;>T/>=OB=`@[IHIã6V4<kaPƾ$WL6!۾;;vq׾澀t>,վ|۾LR澲ྜ.ؾhھ+066ݾڽ@Л{$W<N/PģZep\l:,@4&U@i(j\PLN`AYL瀾vԠz⽾H1`q׾𾨭ľ^sa<7ȲF|z$O Fľپ#?⾨VþACoX29hX k*!0%lu ֽ"2ॼL7e<Ь`=ka=X<`<==r[=KpPěHeҽ+#|&fXv$1uR9=?$VT*t͂ x̰`0WF::KB8\L]󕾮>rb!6h٤piq(z<%===N=Ї=(>\UR>>>J>f>n>&>P\E=L(ؽL w;=>=5=` =@1>|O>_>^>c>\>$A:>h>|$>&>X%3>(OM>>ZW>k? "?f?m>r>$>n>@mR>ST>\>XjX>F>3>%>p >B=@[==d>> |=Ht=Th >U(>|>p=p = <_?>9c>>>>j5>б>l>\>>>>R??\?,?=?E? zF?aB?T5?*?h?b >>~g>Pb>pDy>8->z~>t>n>@8>>>a>ݑ>th><>@>*>>4">47>̞M>m`>e>R>D\>Rj>&>7>H>L0>\>1>Cf? ?#?T?#?Z &?(?+?,?+?+?x,?sP1?T0?U'?2??"!?`"?o????d>>`>>,>W>Ȑ:>hH> j>>>"ǂ> c>$7>k4>W>Ω>a>s>d-`>>Q= =i:< Q3=v>V>^>>̿>L>ܐ>>J>>>>PO>j>v>>~{>^>ҩ>0U>&>tֆ>$l>F5>L >z=/===h==<8>Zb;g ⼰uLHV<< <<`'=K=(=`=$P&>z<>Y\>M>x9>*>b>`b>n>~l>"?>>>D>>w>L>H>$B{>Li>]> C>>=@.HeҽB"CԾᾐ|־ʽE˽T# RP|^\ cL?ƾL־Jd߾,^x/ ͙ ^ c W _l7@쾪\R\Ѿ`?ƗP{QXC |)==Hޮ=h= =t>x>(==l=G=W=gK@| <+<[<| =2=X:(N$;4ڛN,⩘`R{2SVx𜾀kfH0c̋-RZЅ(xOp`,6;@ol<+=8R=d >,>8B> wF><;>|&>`=H=p5Y=8r====NC=ʝ;༰s`Ƚ(`?`v.Ѽ<`š=ȏ= _= <<@;4೽ɫp7s0=`<` G=p= >?>"p>P>jb>i/>1>9q>>>x>g>Z><;>hH>p=w=S*>_W>Px>x>8[>#>=PE r2IK*@W<<%=0DZ=`0= &<ۺ <=T>hG>d>u>ׂ>&>>tDy>h@>ȝ >'=j= >H"G>6>b>>>>>̫>F>><>>Lc>6>>56>=EK=^C=x=8o=I=@k<d; <<`E<< <=p&=pxd=|=x=p=B=3=b;8@A%n5\hr>>r>6>$>=?6??w>>>>>l>>>>]>H">n>B>0>Hه>S>H>cM=@㼠Z@py@T̼/l<+=(={==8ԛ=l;`}и@,ag󻀡\==<>>s==J=t=-=>;>0c>q>M> >}=(= >(0h> >k> >>>>Ј>2>|F>`>!>= K=Җ<>(<`<@=<$?0) 40&CLA<4&0d( v:~~5Hͨ`躽خ@ =0μ=>H6>dA>x^Q>Ąu>ʊ>>s>J>a>>H>>~к>(=>>>D>> >]>>Xv>+>,8->8O>=/=: Pn>A>>*>h>ޭ>>1>1>ҕ>>>8p>'>@>o>E>|>ؒ>BG>&ď>Db>F>^G>H>==>p4>(=:>(>>+>XC >8=s=O>x5>,mY>s>d>,>hL=b<ƻ 92==8O> >B>n>>>>l>Z>^Q>Y>$>B>F>kI>%>><[ >`>h&>>=h͚=/5=@_ <`ռ@=d|>f>ps>]>>= ==(^=`U=07 =b@=@Y==>=ב=@c?X؄JC߽zᖽHqhFV~DlOAݖ瑾:XQܽyK=sv==Q=<@@A%G<|S=ɤ===>>=x*=؎=W=O׽5SnmʾBꞾ텾 \ ꥾.P)|A¾R\ži¾;þϾwܾݾо"1J,,bpFdqt АX ɂ<@𲸽7Hȁԃ40@ |7D(-/l|2eȾUQ %_lt _\*LھcǾzm! ƾLȾ6뻾꽾ƾ˾ؿǦ"uf<uL5`nQ-7͌Q@ohý׽$ |xp22=X=$=@J<L_8둾&ҾTݾpv侜@(PNa쾬"U羐ڣFJfyΘ ,XI@]h׾gɾǷߟ͉8ty`hVQ: Ƽ6 ەh`ܽ@s-H0'ܰ%S> >̊> >>J>>:>>>i>hX>v>)>=4==@#<S*0`,Ӽቻ<#=nmj<>*>>===">c>d)>&>~i>>O>>,? ?K?`!??P( ?"?>j>y>??"?*?^(?L??>>x>Dž>Hۡ>ݹ>Ē>5>,Y>>n[>:>2>C>a>@Oz>D!>Hb>:o>1>>s>>\>v>> >\> #>x>>5??N*?v!?+?57?G?NW?`?^]?rBR?E?vp=?P;?t@?II?DQ?ɏT?qP?pG?42:?-?&?c]$?_&?b-?4?_;?+B?E?G?L?.Q? R?dM?ݟF?,>?&8?2?+?Z!&?&?+? g3?p;?B?E?@(G?rF?C?v@?8?1?1?V7?c=?%.A?E?J?(H?Dz>? V-??D??p?$?(*?"+?~"?S?>2F>M>>Dε>Lȵ>^>H>>l%>:>>>2g>Ռ>pw><-n> x>j>|6><>>L?>>z'>(L>>L >r>s>r>>>Ȱ>`>ȟ>,>r>@>X%>>>z>>>R>X>=| = <ǻ Z;<M=m{=d=0=<@<;9ȼP8\.A߽8@ xO6n@&<`<@A=@== /'=݌==0=@=5/=@"@'#yBӦ$,+1K4p3?}1.*V#yZky  ?Y B#d\9оS2@iʬ /@ώz,󤾼˘P&(mZttQtÀ惌YzȾLb  T %H`,6:9fb6޾ &L Z1y'2L<_s|H; =EKN(OMPdz혾>оRݾZݾҾD\.X}É}\zȺȡtaľC¾r\8ꮾpP[$i V !H06D3۽c@p0ځ`hr0\PLx`??>R5>0 >=Ƅ=<2`&: WX"\eNXާ.x.qKlhѾT۾z\۾( ¾}R0ؽ*BB ݽh(PJ(D7XԽ(V`=\>s>$>>>(>j>>8k>-> ە=`f<:;܍;0k< F==(==w= B=Ѳp0-HX|ZH[^XQ^}Gމ)e`3aN:@<<]@r2< =/l==E>zY>~g>&> t>>2ͯ>H>>>$dS>>`"@=c\ 3H@ U!xsPݽ\1,ohݑkh7ľS xS7hڽІf ˽,n'~ xxč =Y >0>6>l)>0">Tj$>$>>>]>=U=T= ?9}{4D(jf{<򌬾퟾*DOxZ(!3}GdnQLqK>pt0H(#*p&h׽CP&t+@)@U˼g;h=|H >Tj$>`6>@>>=PpTZ@z+<1 =K*=<X:_o$E`Vpgv$ oVl33+7E6Dv$Q `N߽Й+%lh7$8HĽQj']=*=>p:>lS>DzX>N>9> d&>ij>'#>|l0>K>x>">\>m>0>`= R=@{*<ѻVM1>8>\A%><)>@==b=h=@=>(V>>>>Ƹ>f9>D>7>>:>>]>>4>Z>t@>>> >>>,>4>ʥ>>p3s>lG>t_*>D">[#>(M3>DV>y>:>_>46>> >) >>]:>q>>vL>4>B~>>8cs>܏Z>'W>#}>Ğ>ٹ>!>j&>H>6>>n>>)>J>$>6? ??$?h)?B'?;$?~?:?q??̉??ƶ>V>j>s>>>>z>آ>>P>`>>>x>|j>R>>>l>9>">bԍ>>>`>j6>>i>rB>> >ז>1>>W>f=>D???N* ?A>c>>H>B>>:>`>*>`>2>f>c>|>`=4>=`#M=#=0==P=j==T=<=J=_=jp=8;=== i,=@ H= m`=Hq=P=H>,;>oF>L>Y>Wh>(bm> q>(|>։>.>@Ѩ>İ>o>ƀ>Ĥ> >>_>h>n>;B>0>hy > > 1 > >>U>Ȅ=0=PW=;eC@k@W@3`a`!J;<@6<ǑѽHν]`<= >$.>!>>0!>$7>C>T>u>e>RJ>f>&>@> >r>@>JC>!>Y>>N>d :>Y>شY>->@=԰<0xXg14s>7V#<ӎO$ֈŅut ^TR7% Xֽkƽٽ8'lSz40e|G18ѽ`l<>=%>صf>⺄>>>$!|>wh>H>ȏ->i,>D=>lG>@j+>(=9= <` :}`5`@m`PY0ݽP Dtz4뇾 ɂ>i,X%e<ػ`00ێP|HPizЄ===K>)H>@\L>d+F>^>>^>&ď>~p>8>u>h7=S< 3>&>x=溨RljgeĒThZ B5_ esvDHT|7.Z'\A%<P[pyyνL|֒0P=(=g>D%:>a>߃>ԃ>rr>>L> >۷=ڏ===h>">=躸=7=|aXާB<)O,}R?L"X&?P>p>@=Jp=Pwe===X=m>xm >=^=R=hz=ʖ=0^=&<@<];Ǽ(8 45 Ug4.\]XEٽӾ e3XjndN~,,osd B @n=;t0 PeT輀B<M===y=.=W==>v.>ܟ>x= =@μʸ8I xo׽C,f5X4h6i_NG5/h&8 .߽X@l(½([Fԙt{‘Dܑtj,U#̽=P;pg==[>HW=hz=C=: (㎽ȲƽƽU@pw׽۽ȑǽ\l LgD2 о2`Ҿ迾7ľb`ؾ쾼%GN ޾D۾LݾӾ;,b^ dvΈm ~J dh?^y!Ou b5pVeqgԩm[vKb᫾ƾHrET N #>~$Ӿ4H!;j `^h,jԾHu06G#Lp dH4$?Tk`\A 1k;]UĒT>.V {xh\p>9@izҺkܾi:b>ޛvؠvJa5/:g[>\;1jy#RMYS&L ݿ6?XPCxݽPý0|ŽႽ@b`<2\=l|=B= Q< V;@8@8`?sıUTχv*g᯾*)⪥".DT[THeɾ $ܾFݾPϾ ,]E` ;T=(*=w>DE,>P N>r>>>lΧ>b>(>?x?< >I>~> x>>@%>X{> y>F>4ێ>lV>Ί>4x>>c>F>=R/*>5R>` >v>փ>

    ??)?C(?W ?N? ?Hy>>rd>z>¿>7>>y>d>NL>Ąu>h[1>=ٲ=Hޮ==>D>>F>9>4">(>(=-= k=<7=@[==4="=ă4>[>lo>ln>ăh>pi>Jp>dt>tz>O>>x>$>>p> ??p?>D%>>T>F>( v>pix>T;z>(rf>I>G>5\>^>D6@>>>$ >=\|=@5<+>ѝ@d><(==[>\s>P>6>t>#e>`&>v==|=>B.>[>~>{>0>>?)?8p?P?Ǝ?r!>>e>̬>y>Hwe>J>LN>\"t>XT>jϚ>"a>y>G>x>p=H=HP=p=PvX= 5u=Ϙ=K===n= B=ug== >1>jJ>\a>L"{>h> >()>`>^>$}>->nB>>R>t/>i>>O>̟>>t>T>L>S>>fl>J@>>tex> c>(r>>6>Ǒ> r> v2>>=P=i= =m=:+<08`Լȟ;@Y<Q<@!D0蹫0 @,,>*=7=`=b=t&>r>B>˹>.>>:=>>>Pl>>*>>”>,>(>pS>x}>sv>}(>(=aN=<#?=X ==R=>===L;P 0A ֻ`<=`<@XJp8AL`fX <؉==|!>6N>>>.>T>>æ>tד>tdk>?><.>X->*>\R+>9>(E>p3?>*>>T>A==fhJpfѽ>)TC^hLy^ 'q1cHDS\0 潸ҽ(ܽԀ$o ,&*$q@hz=xm > (>'1>0$>5> @>>!>D=>44a>}>>>#s>GB> >:=hl=@I=P=@[={LlW1&PP '󷽐U&3HS?>_>i>P]>XO>d\>8>f>\˻>D>h>X>B>(>` >^>>D>⩘><>H>1>F>ȥ>[>T>M>=H=+=4=O==/=(===L_>4>p.>aG>`T>ic>8v>>d>J>>>+>>H>">s?A5 ? ?@?,>>>>@>D?&M ?j?j4 ?f?><>j>:>u>4> !>FU><>>؋>w>\@>>>0p>Ha>qG>0>D">4c >H=XE==4 >ED>Qu>>:>\ʮ>@l>^>><>rD>???_O?3!?h{#?&!?M?1?!b? ?>v>j>\>>҆>>Ȑ>2>P>X>>Eq>_>V>0j>H>|W>N>^i> 7>>?=X=>bG>P.t>J >z>a>\ڍ>Κ>B>Rn>>~> E>N>">">>>?hz ?ET ? ?3 ?v:?>[> >E>Y>hk>>F>ߝ>J>$O>P>ȯ=& 4h>Đ>e>*)>$>d>o>>4>JD> >@??zY?B?>>>K>z>0o>BC>`=P=p9==< {xp!H'O4kFa\hrg8.G @6-6$<]====>t >>>P6>g>~>lC>Đ>&> >>>>>h}>h>|>r>h><[>M>0(>J=İ=`4=@<;:`꽀5R⺞ Butl[@N|A1|h6h]˽Hޮ8_vPÎ"Y@<Ц=0A3=jT=@v==>RJ>>>>3>ޮ>,j>>{>J>>&==h=԰==ka=s<&,;>e>}>c>\>b=r:w'< ȼ,7Hjs`@x $@aԾپ,l̾EdL6NGc4,*=Rbﹾ(ŶLƛf0e%\/ W4=At@E1T㰽 R@,[тtv@@13<\7=Aj=P[8=š;T@>54ff>}.iZt\=( 04XV }`FhiJ`nA@HFm+pvʽNJlnѝvý"ͽŽ@Vr0̾R.¾#پOJd孾܏Z~Є q; =T=L==`=PM=8=0CM=X;*FHdŽ⿽K%Y: @RtQ"Q~z e~Fܔ TДV4jh’$=T14 npڽ'нٽ׽h\h(QA;=$>Rb>F>>`>%>hn=A=&=`l:>ض?>@H>|M>9>=pr=n<(_LOg62w=D >t3>8> ,>h>\=8==>8>S;>> ==0x> $B>Mq>X>>>0>>>#??A?Š ?$?`,?$?A?]?E? ?*>]>>l>> >>]>8q>쀙>J>J@>nܠ>jW><~>,Q>LH>$b>ꑅ>z>;>d>8t>2>>v>h)>>tƧ>&>ʯ>4 >H>"3>?9#?.?Js1?)?0?(~?'n ??1?.~>>,>:b>->>? ?,?M?>X7>>6َ>3B>T==p<` :@W<=)>D>>!>W>Ȣ=س=X=X==XV== <<r4m<:=>Xa>>˹>@>>ܸ>z>(>;>6>,>>%>>>>=>60>>]>䈳>6>e>pwW>5=]=8 <D=8=(s==(>x>C>x=H=6X=;& ;[<0k<9<@<`o=P:>ؒM>z>>ʮ>j>x@y>L>,5>;>@H>L@S>0HZ> ]>(@a>`>@(a>o>l>{>D&{>I>>= 5=@跑@Ͻ@_|D x' i؝@DZ-<@=<UhHhOwŽj<=Xާ=c=8A=Q==S<ac>T>V>>>5>`>J>9>2C>l>2><> i=C1=a <ӼJm:-T6u/4d޽TtRν`E== <>Z>%R>:>->P)>Xv>>'=N>L>`ux>t>D(a> K>Y3>9>,=`=lC8`"? ܰ% d&ȀN0=`0==0=X$= =-=hh=h==0[=`===Xh=B=x== t/?>l]>d>;[> L>]3>D>E=+= <y<׹`U˼J-688)EtlѷƾbʾȾR ۖ瑾xrֆbzG:Ģ,t g0H5뾽% sE˽pxd㼀Z`=*<`d`؞;}ߊi @8ZX$˾ZDվU´dt\G[QqszМg\M2P(ȑǽ0}ҽ)oa b8u>8@==@=] ;:05=Xݚ==W >s4>p3?>4B>+> >0]=*=J<`1Rhu@Z:Jcfƞ-*)t􂾄{߂иU(nݕN]Ķz^U3Nl <`O=h=q=9=p= S<`¼PZ+@oh`C=c;<"=0w=M;;X0P& Z@`aK<20#z(]04l&D'@{1L?FКMcI|jJNJ?% 꽘X" wЄȓ@P< =C=&>sI> $o>8+>0>+>pp>tB_>$W> K>P4>@>h=x==41>3>@V>?b>8I>">L>8T=j==H%=>P.>QU>Go>c>@H><^2>L>ȕ==== >>O >\.>)H>tp>>>4T>>>V> >4?v\?F>>6>2>R? >>t>:>1>_>L>{>|i>Lk>To>>fI>h>P4>>,>><>3W>8b>ljQ>07>.>0>ps#> >l>p>X>@;M>P~>U>V>:>>h>#>> }>h|>>$?>)>> ??t?(?B?E?~>2h>D><>> 2>6>L>P>s>*>3= <<@<ұ<@Ƽ<` =R=(=DB>(> =YU=s;Ahv8>HB>XB>TA>pA>Q6>ԧ>>`>4c >,>$>_>>l>˭>"ٕ>,mY>H&=E=$">ؔ=8;=`@}(` h 㾽h۽d(; >.+(1 |żnCEzb06= 3=#>TH>"Q>^C>>>sF>&J>tV>ri>x>fI>T>c>/>Q= ==;*@W22;<`p<`<@<mn<* hHˎ`#MC1 2NL`@8-@N (<;`?=x =x>P >I >0=8=&==y=Ѕ= E=`?=X5=f> ">U/>5>w->->= =/=[=`^_<R<< <ב<Kj== >h&>$>p >=C1= W0!>f>=L 5|>.>(>9>w>HI>U=>">=j:PO ¼d\ἠ\)ȗ8v.trJdzd㓾J>zp|ZRL@D`/FG8>@=Tl>90-XV+&h$U!x*28N9d-,"`^$êf B=]>m>Pp>p > 7=-(taD>|3>t>h== <<`<=<@eټ @z5h9P〾|@򍾎6TXg2V͇ SN(rjdxoWt@+*v t]&!to#(8^ ` T==a6>Ac>"p>Sh> Y>`G>,> >=X=X=`(=&:$ >8p>`O$paDUK*F썾$r𭑾'舾r虾>̾v-پ?վ"1ZdV".Έľba޲ALŎxMK@ XAMx7xNؽJAսȟ+@O|`"8HMĽpY<' $5=ԕ@>,>l@/g``/;<<7S<d;kwv R`? PYH<?=g=<`= 꽀K'QޛV@6zs[}$^zHTjb ەx<$q <<<;ã`<؏=e>DA>P>`aK> I>< b>0>>i> >|>>y>>>>'>&;>>>wz>l|>>7v>Fi>DI`> Q>@> <> K>uj>e>$`>\>X&t>[>+>=h==(*=0(>ԩm>>L->f9>>>p>>{>$L>D*> D4>V[>8>>'>>e>S>*>R~>JQ>DGF>j<>@">$>C>=c=>D>>>=0H=P=` =:<@a+ 鼀<==Dg>K>~>8>u>Ha>G>N5>c4>PC>@]>u>>Ԅ>V>̲z>e>R>iU>c>V{>a>B>c>>">u>t>Yc>D6>M:>_W>Hu>>\xk>G>,}>/=xn=(=L>x== }=r@=z==>====>x >B=蹫=&===+=e=<: >C==R= ∼` ;>4i>>v>x >$>>{>P:>!>>d}>1>B>>>⪋>R>Y>t,>P=`Ff=8=?'r2&$,4ȿ5ҽr[ F< FXiGڼOм1P-y,',7< N == ==>$>X>ӊ>>>>n>>b>J0><Ģ>U>|A>&>40->C>i>z>8|>1=>=P=@ U<@s`6漀l7u/<<|&>Ĥ3>HA,>Ƞ3>W>Ԫz>³>l>>>r>,E>+>3>4C>0H>=>h9%> >}=н===2=@=`(d m`5`GQZXK >(mٽ0l;T߀ZXt9rZ== =.=`I FsM@ <ބ=@ >Z>>p>ά>>pb>F>a>D.>==(=`W<@}<`͚P@;ͽ@Mxb۽P紽.X퓽PnF.1 A½KelK^Md; X`\ [() ٽϊN@hr>'>4(>4>'>p= >La>'>d>===,E=P{=@u==^=g=H=ph===p3=H=8>>>H==S7ЕtЍ{i$l:+(`2 B0U;b~fxnToL [<<h轐+ ?X3뽰v>dL>=׊=P<~'xeP1ϼ <`[=Х=h7=ph=P=&;@ o]q`+.B,,vHwe \HvX%O8 H6QnT8NtF4tCd)ЫSAx$=] NUZ@ J@AB5#X lHL 4_rד靾b栾vL\ Jt`ID0&NS^T)grJǎ_'8ֵHdŽFC^QU\=8P/ < Vt==@=p= ==)HV,mY_es@Ūy6ȾξؾVklw( qa һ̾4ʾ~j NƳӾJ㶾ͷ¾оؾP+;P\ PK?fyP =pZ=<t;@ OEĽ(ѽ($ ($`|V)6,{82X7@@hü@H=$v=0=C=H=ѹ==d >pUK>s>~>ט>H>$\>=<見(M8$L=D"> <>ĵ9>p>P<=Ҽ+b@q< =U/>$]>f>ut>>Ɨ>z>Rm>t>b>^>f>>,>,;>n>K>6C>>\? ?T?V?#>?}?f{ ?5?>>~>ޱ>4>y>v>"> R>Q>=@ԛ=8=見=X=py=>` >t>\!>> =:=::;bRxG>*>˾>V>P >>5>B>b>>ܳ>? ?:???C?b>>d>}>Ԇ>>>">>> ۜ>v>;> > =F= =xr=p=0Z=31=b(҈04X2=1>X>lzJ> *> >t>\>O>`> >8>!>:Q>>>}>L>b ?<??8 ?f?"??>v>S>>>F>>H>lV>?>%H>Pa>0v>>"~>`h> EA>>p=x֠==/=D>;>S>Z>,Q>47>$>V=p9=N=`a=ɤ= ʏ=|=8=8= >zC>j>蓅> >~D>>l>4>f>X>ĝ>@>L"{>Dd>B>>=X==Q=(=^=!=X=PuK=@ <#x匽 HApZ$V`@s-`K*@wv>t>ޗ>>g> Z{>@J9>=p=Hε=P=8b2>tj>{>Z>p(>P-=H=%=<І ۽`ɽ C=8dL>\w>XIY>=:<<$.`as4} h{[5&. 64%ԁ(NT4*{4X'Y Xν@@м`<`W=H2=p>Z> >>ޒ>t>{&>=0w=PN=k=x=D"> >H$=щ=@!=< S¼~㽘21c؃aEd&p꽈qd2̽X&$?T'o>\C?$p4l h6+ 你֒]=,/>Ь`>V>~#>z>,ѕ> >0Zm>Nw>l >.>lw>tex>X>y>R>HQ%>܍ >=@<ؗ(}a곑C ž˾žʪRѡҷ~:N:-d2l6fYU$PZp~|0Jt Ep} ;t<:=`v==!R>#>>>r>~>m\><>G>== Upm)ȽT 8Ld=YtU)H8/TRwB5ޢ8-\/}3e`c`R_P A,6߽Lr x;=,>H=3=[;@< E=P|7==a=h>@*=<矼`ݼ`̼rhOW U0׾U Y߽.\7$$0n_ v'-]/*~+!#>u゙߾d*V~$X`iZL 6/;"<`<X:p팽`ýX t̽>PݽBu%4fw[ CU A 6&@M? ?kK#%@|$v #\ y!\ ؐG˾fW4TH` 0=h|dJ:ԁtsWpD$-D`~43Ծ{oL׾ g;ʍǾ\ξVݾR׾dþ.8ǾvݾOtS<I6tžP6 Bҽc== >d >->== =P&=)=p=#= <(=*=H$=t>=p9=y10nSv05:G!%\GxS@A|`_ ;r۾PݽٽB=`> >v>> ??!?S?% ?&>3>b>^>n>#?\?$?u?>I??&?Y'?? ?> >e>G>=@;==?=x>l>3>HA>W>`h>(_>`I>x9>ē->h"> >`5>uj>%>=>$.>X>>~>>*o>z>>?J ?j?% ?8- ?N ?=?X? ? ?4?Y?6?B?B?Z?f?U?B#?`>>X>Dͨ>f>R>"ǂ>>>ʜ> >p>`>l܆>*&>>V>|><~>>ς>>>H>t>6x>I?f ?X?s?~???????J?A ?(?2?z>8>`/>Jۻ>!>>>w>>tN>lf>>P>@_=e=8d==<<L|pFŽ(뽀e P] <@=)>K>PV>Ce>i{>>6Q>4f>X>: ?f?5?+? ?Ps>>>NP>i>>>><>7>&= <P>Q;@K'>K>tg>v>ʋ>ڏ>>촸>>R>6>L>0x>f>b[>p!`>q> 5|>s>S>>`J=fy%ds$wlFŽ`xֽ/h*mB4Џ4Vml3 @\<྄=H =m=:~=D=HC=HG=L*>/b>vԆ>T>>ӑ>T&>>V>>l>t>w>f>><>܈>e(><=yx*&]\wl|`{!(n@W,%4&玾vKߕfC%Tb[ - =@= B>s>vm>44>==p0>( (>l3>'P>>~>|G>̭>~>lZ>_ >a=x==l >)>lw#>8=s=CxȽԽWнֽaDW?"LخϾDVkHվ)d9DPX{AchH/T (ݽm*'s<<=r[= =ؑ==^>0h>> >>oI>P u>^>'>J=@ێQܽ +;.tn a(l&$N ؽH2׽j齸jT`_1\ Z0yL\.VH020gP{1jhy >0!>EK>vT>Lc8>̾ >=x`==X=1=0=I<*h842G( (>}(>Ȏ >x&>^.>W#>>>2>` >=Ч=0$=:*p! dk*,|EZ@:t≾@H쑹P<ӾljD}2lھIǝ>H*~6ľ׾վDþJX2ꢋlRIlx0hֽC[`A=0}R=@I< tL tttP><WDШ,`H!n `gtNTnc:?;v`+f  Yܾdd;pB+;8?MOW c_oDi2 P9ko== >O>o=г<98ҁ\p8Ͻ1ܽ@8&Ug_T\`{Йbھ澆8$=J iY$.yv ھ8ǯhQxXkRЦ=)w=*>`AY>8ց>>>ۖ>l>_>$>8c=pr=;;R===\ >Hf=L)=PW@׽q/Poer g؋h񌾖ڠ巾xϾJtH߾׾Ѿ#ɾPꞾ{dI5pg=8=>?>ji>]>_>ê>>D>V3? ? ?n ??t> F>b>X>^>0>N>> e>ƺ>N>G>pb> D>h= 4h=<<=Pq==$=F=8b=P=h=@=>+> V@>)j>> >.8>zM> ?\ ?: ?t?|?: ?(K ?O ?j?F ?1?$/4?1)??oR??p. ?+?4> >>\/>m> B> />0h>o=p!=\<Փ;%=@C1pGO^+ >𯑽`{[ ʽ1ܽ⪽L;q=\ >ST>DU>跫>V>.>F>? ?o ?? ??P???d??-?? ?>~>>N>42>>$/>lD>J>=>h=sv=pA=ic=$=~'8BPDE`N߽`I㽠YڽWIm=p>Z>>H>>>e>H>#>R?pD>ֆ>x>r`??*>*+> >n>j>|>0v>,k>F>L>=u=R<31=@= >)>1>>0y= 弈 ͽ˽XGش%Ib{},5ЛZVȺ9=(<=>`0>a>21>>41>N,>X>>:b>>.>>>>)>b >J>h8>>[>>`=4<05f ½8Ep8߽B0PAlMSEKT7-X4hA >&ʽkoЗ=:>y!>0>A>&J>4DZ>>F2>>Ls>}>\>޸>ڠ><>P>>>R>>{>B>=< h4x|zdZ$/H=da2޾rYD4p,举BHN_bS7 L"w^ =`f==>T|>x>>ȳ>>t=> >L>>Y>|n>x]>dJ>:<>m/>\>`P=ȳ=G=!=G>>>> >m>~>ܟ>4B>w>>==N5=<<07 =,=@|<Ц(9=`Vz%"먾п^Rž)Ҿj۾2bU :@Xvq`5V[{ƾڟzY=M ШP=/>|Lr>rq>>͜>\>,>>>>>>k>΋=3x8FѽʽBfxl TmKs̬𣾨Cɾ@mҾܾ .#:ݾ2þ*GN¾gվ|}оY0^;š;Bi=,5>K>q>h]>ꑅ>2>׫>"S>զ>>G>ص=x=K=_=<cDmr٘()\uD>|>Ԥ>P)>/>M>wo>I>X3>ބ=@Ԕ˽1zB ؾ".ݾA׾߾: e>:g!v!@ARݾ.{}cŌV< m`==Q<R@=<._===C>->8`>> > >J=@==Ȃ=X=0Z9=j;$½t-xDft^ʾѾ ؾ +fHsv`bPJP f?ԅNwvaN 𲸽N{0W+22`;`lTT>܍>P>>p>#>bn>pn>ljQ>8>0$4>p3?>>>2>%>>b=0w0%h6E10~`=@'<`彌3xS@OTl>2p@Ƚҽ@@*\@H:(>>>X>j&>nU>x>q>U? ? #??(?'?"?#?'?H>@<>h>,>i>zM>tc>Ƣ>n>2>f>E/>x =bw=`<@9S .(=V=hϴ=T=Pw=@"= =Y= B=>L4>̭9>/>|l0>N> z>d>R[>z> >>>>S>>-? ? ?<>xô>t>@G>>>8>丄>t>v>b>2>0o>$V>(1> 0>=׭<V<@< =p:=?=P{*=2= =@)=`A=@B=,=`<<^ ==<;>f> >a?N?w??T>>`>R^>>>> >>d>>l>Ϊ>>z>k>t`>8>@=P:9=@{<$<@04<NQн:83*D,:G2h1Nthqǽce=x >sP> >̗>n>>s>0>c>^>~>P>X>R>>/>$><>N>h>m>~>5>ԋ>W>8>p=V.=< J@!%><@j+=<@֮HS;*RѾԾt;kllvS8m2>pٓ>^>O}>1q>D>>>Q>B>.??Ro>p>HGz>">==B>>>@V>d\>$L>C1>!>=0=P9,=9,y 5ag$!|iLA4@&*BN)=0%=0==J>@C>]g>n>g>'l>`{>>>>/>B~>>T> >ʳ> ݜ>>&_>0>=\{ÃHWsT'Ml 0h"<(s=|'>4Wz>ɤ>6>0i>>n>,X>tm>@^f>H> >>>>>&p>H5>@,=p]=@< fn꽸 V. C` TPn>j5ƾپ WPB׾:~ޙOoD-𽐍0Vf%=ļ~ї@P<<6=p=>@lE>HDS>;>\/>К=hG=&= |<#wI>>n>ɽ>,>j> c>~>~5>٫= ˽|x-ٽ߽!h( L* ,0+Wh]Џ&Օ~P8z7pS*¾Ƞ;FϾpþjdH6Wн` <p=s=d=`u=N=2=`+F=ؗ=X=?>|>N^>|>X4>d>x>C>= UH>> ==0=h=T>} >>H!=@<_¼PiPJ 6|n.־ JH׾L׾龞-t(0&辂̾Xx]°\ps=Ϥb`<@ֽPw@<(=&<=$tZ , *` @V漐)1O–[ͽpC[ž־JT5Hg쾮 7+7=:,:1t"!r^:`o- 꾠4H@mҽeh;Z=A==5>|>P#>`+>( =J=+=\t>>-==&=l;zԽO,៾{8Q1;/@o) 4ԾZݾ ־žLdPᕾeRwC1=U(>|5>>S>3>j>>T>>C>pA>rQ>N_>z>|><>*l>5>z> y>oa>L.@>+>> >=i< PěP'`UG<+=:+=;E_-Ľp賽)bXu>L>TZ> >D>?,?|%%?j3?:?9? 2?&?Dx?RH ?X ?"r ? ? ???b->Է>:L>\C>>===0==@<u<<C<`Vh600 `$Z9=>pWe>> >T>y>dv>P~>S>>>?& ??E ??x ?>81>~>>w>ڤ>J>??z> >z> >م>8>=@O=;Zx`qxXiĽ((L r۽@cM;'I= =8=P=4=X&=>CW>֑>^> >>>>>>|K>?Ѕ?:?>{>'>N>xԠ>B>>ұ>>}>><=>r>x>>Py=T(нXxF=*p=0e=`b$=<5< =0=Z>l >$>>]> k>Ej>u>k>U>̾>>>?fj?G>>>|>پ>H>#>8b>BX>٦>->z>|.>O=@< ӕ<=PS?= =`nB>0G>>[>>>3b>XJ> ^>|5>8>Nn>>K>,>>`3z>Hr>,;T>]!>=G=X;0wP]kYqpz~t@2@0gH XW8fD \|^Tl>Xd Xݚ~'*=X=?=س=&=>2>,>>\TE>K>0>>(>e=S=e=h|=ȴ=8D==j=F<@!A:(mٽ\ X4xLx(%*/@AcZt銾zi:N@HWJLƾTǾ4悾 VJ(=lI>>e>>q>*>\0>/>@>p>@I>( 5>(=>U>Bi>,=n>p>Ĺm>_I><>C=^':C zmJH.j?\ٚaѾ쾙4szݾ淑Hw,ku\}|`31H#Խ@ێH=>i>z8>.>*> >0U>2>K'>m,>|A> `>J>|W>З>A>Ė>>` >Q=4(ӕ 9DI@N`[`Sl zmjbЭm*j{׾8 ;np.lD׾rb Pi&p3==g>\>d> >>h>S=@+=(=(=P=0^m==F==>(>p`> >=h=@,N>H0&>m(>\@>==IH>="=`q=z;]GO}H'౾࿾<о2ݾH  `\Ϩj4 BV]S%s""!Ͼ,dҍWa( 8AU=uκ"؈ni+ A13;(=P >>>( = (=@4 `ދJ\뾾FʛʼnwSh`"_t^ v &ľaξV|ѾҾʾê $x2C@Fӣ&`9< S=x=D>(<>l>o>>HS>j>y>`T>L 4>>H> >`q>>8>t=>>=d=ж=P}=]=<[b@j ଽx}\A%M=Kl@нuPG f= =9>>>>\>>^>&>D>h>r>>>N;?tN?ޮ%?Ԧ,?,?F'?D?P ?@\>>|>8 >+>>a>>h>ڴ>>>jΧ>>Ni>x3>Й=@0۾HHޮC=>0$>`; >= =ȺDq>t>>9>d ???']??B>lH>O>l>FY>?v??+?H??H> e>f>x{>tdk>W}>젋>t<>^>>5x>/}>F~>m>p4L>,G> =FX= =/< =p=Э=L >l@>'l>>&=>(Ü>8p>$>>vm> >>>.?,?N?=???*>ځ>Ȓ>o?)?uL ??6>>~>C>p >i=8o=`$< <#<<(;@ݼpvJKݽEtUtSSR>U!{x78:ν0;Te; =3= kF==H=pS1>n>z>g>tQ>B>$q ?W?5?j??e?DT ?>S>`>(>6>w>PW>80->@>1=~=u=P=.C=Լȑǽ(B]ctdkxmpDyZڍ.2̼@سLWM>!> >Pl >>%>H$a>8]>S>h]>D}>%>꣘>A>\>^>><:>g}>a>DC>>=d=== =s>"ȏ>>@9>:>ַ>b>>T[> >@>Z>.6>C>[>#> >H> 4==ʪ=NQ=ދrHE*{4`]tÀhzL∳*oپGKC8YоB$zጾ<>tD$aDT"ȥq:J=i=>k;>xH>L>HO>|T>ca>z>>n>r >!x>'>=@<P<+:P0==hN=,>xp=H =x<c͓P佸" KhmxebvTX@hW\up 1*la:岾oy,PŨ Žї; <<Җ<tB>j>{h>ly=>=i=<E$<`p<7>I(>t+ >=xl=0h=P~Q= << O<f:ؼMa.Q0O`+F/5 tLh FbdN_e3eaܾY1IJ] wᾀ־վؾ+׾@ξ<ʾӾ޾?Bݾ&ʾ"c@Nȯ=t>+>l>x>N> y>fC>L>'==0=%> Q>t>^t>8dL>\>hZ=ѾrCLʭT𾾻Ӿݯ?e\B2$Lлt< << M< </5;@Wȿr(aAXݚ[ NXȾ0Vw^ƂB|8dt ׾nھ~農oCDF1a 0=p/ = =צ=\ >L:>YU>Pp>&>~>Ш>6>\fX>h:>%>h&9>ij>6>~>RY> 8>pݓ=@$ԆTz^D0 + ]4^վɾ 0h+zLhf{>}> >>.>R>>e>T> >7?ih? ?t=?V?.# ?X?p??E?D>T)>$>ѣ>>~>F>.>T0>L:>BN>'e>k>X>L;><'>h8>`=X=0ff="=ɫ=t=B.>pxd>>VV>x>~5>>"0>r>z>t>F>5??? ?l?fH?*7?%?>Ҭ>0>d,>ԇ>*>>4d>h|>dW>[B>/>t >==$0=`<b@;О=Ј:=&7|n >#>%> 8>b>>~> >>??CU ?ET ?ݜ?0>>>K>(>?=>j>B>ġ>Vi>D>D'>>ز=J=K=`J=g=k=`{=Y:=<b ,=ã8Ͻ@彘潘جZG )==k>>> 4;>l:>hd>6a>f>(ss>G>GI>pa>|n>֣>2>^A>J>l$>>n˚>h> (>p===$=(==4>Hu>Y(>h/>W >>i=0==(=E<}6`ݽ"$XlJ𼠞<8r==x=TG >0>%>>@>|&>L>u>ʭ>N>g>|+s>h~>ȋ>&>& >>>>E>>g=~}W@XlfT⽨|X7x[P\{Tp6.x"Lm(`< ==Hf=H==h=h}=8*>p|>>>>>6>M>&֢>r>^>C>*l>jf>V>%> >e>>0 >> == ˜<W 7fTj[Q|G[8T鷾XE'z7(҈W](7μ <<n:CU(xH=:=DA>j>R>F>c>І><>Pn>4yR>7>^>X=`==ڸ=ߊ=0.==`=j; q˽p" V!|SCtG ׽Pz@./>dP>n>`Ň>T>ʍ>>>v>>> >*>X= Sv>fZ>ь>>L`>~>(>:>>R>>rc>>D>HGz>,E>pH=r@=jp Y8Ot@!(~+QD)|<] ľо_վ4־>оV wsP0$@@ݽ`۽½(0iҖ}0`<л=P">?>vT>dPy>.>>F~>T[> />=!=)=8=`{=ĻPJL,&xm2{|90hX[|&2XI$2θBjžȾI¾,o?ڐNXwvtpl I/ؽ-FVx싾.ߎ܈yb\a@l%ླ[d$P.261^-&<4d4d0iپ\ǾتVV)T]0. gãPs1@[LE 4:<|n=P=X==ؐ=3#=q<`gn #M=[PЛZj8燾j^¾Ѿ(ܾ뾾W!. H辶'ľ^8顾T|c t%.($ XX߾@YX$ZAܽL==lU>44>$J>G>n9>7>t9>2>>f>xN=1== 3=s>O>XT>м=2w=?'<`)oɽ QRĞӾ|xھ þXgj:<þf⾤˾Nj8.Խ0sϽw½h=<>̭9>PC>$>t>>`> >t>( >>>=*= = =W;0duDpbve[o[( OKU\p|赑HStžrsT7|kv~M!`Ͻ I ?=$7>w>">.>>>⪥>Ϙ>6>؋>;>>>>>>8>>->PB> =>=; Gr;+< <07 =/< G @1DNSW49hH0ȑǽ(ѽ`=,7>Xlr>>>L>L~>d?s>m{>쳑>z>,;>>:/>>,>8P>:>>>x|>w>0~>>D>> z>X|k>pZ>ЉG>lx0>>8B=v<={<;O;k;;0k V>:֛>T>W>z?\???bn?O? ??h6?մ ?X>>?{? ??x? ?>fm>>/P>`>a >4T>E>,v>tč>: >U>R>>x=x=@==H=)>>>>$>;>>>$>>`>1>.~>k?W??P??B?" ?i ?u?!?!.? >4?O?H>>>T>>>W>l<>$E>f>X{>6>>l7s>R.>'=@= N %XpTH̛{ὀxݽ0x:g=*>a>>>>T)>>I>->\>ZG>,>̱>w> >" ?v??D?B?K?f >>^>I>c=@=bw=x=+=>(!>( >h`===ӕ;` I@%}U >$>(E>0'[>Li>TW>Ԅ>D>n> V>>j>,8>>>f>2$>n">`>+>ʿ>l>>ҏ=;prr8o p[L'z~젋t|D}ӌlvԾ(: 0h۾x⇦x I>|@>B>(=+p<`fؼ/l;+<*=p=H#=(=;Gɽg:@޾ U;Z"8ntغr0̾߾"*8 CcTϾ9ά E~gޥ t݂3W`]䢽b`01uڽhj0#[2wFl U=ʽ$C+lAƾ߾4x<߾H־Ͼ ˾>^̾Ӿ?r&򾮗ܾӾbоbξvpʾxTPա"= > <>N>x)>0=t;0P^41`<Эm=`A=E==D>>7>ȶ=0g=^ P>x> %>P*>Щ=<^CԽ(]YνXpeĽXl 9jtE r)RʽW;] ב<<j;Z;45n>*k>>F>D>0]>4A3>>s>*>V>Z>>֩>b>>L> > c=PG Ug@ <P<ucXΆFl F{(>>c>eq>0q>f>Ь`>Ι>hj>l>E>z>@>|>ʥ>>J>L=@Ƽ</ ەsv`ˀ====`ĵm@'>^>F >0>~>?Zd ?Q?Ҽ>>G>u>\!g><,a>|;l>*&>hy>>>hn>F>Щ>XW=`<`:^ü`fؼJ<E%>(+>/>Q>>pS>>l>>>?M?e? ??>}>"R>c>ӫ>>_><>v\>8[>87> >==#=pb=B=<=kF>Ȇ>>6>Ԅ>dӚ><;>DE>>>^??K???J?rT>2z>"2>>>>b>>ל>,i>>Z=8>N5>X>4]>,k?>>C=<22@Jy;@(==P=A=d<@q @T̼$:I= >R>y>)q>_>LV>,d> >>2>>v>>`Q>'>F>>>?:? &>,>>>zІ>4$h> C>!> =Щ=z= i,=`<@Ģ<@=`<`<1<;<@B< @.{x`Y(|MhgPqziݖԷLx`i3R>h~J>>>/>آ>=(Q==C=< I@T̼@9,ZߜX}𮄾`N)3yQ[Th( b𲸽@ >P=XE= =!=8_=](=xȽRUN8 hG`2QEKܼW#@U☒"ྡྷFd֢,t?Ҿ,ѯPӡZˡ*ľ,Ѿn!ƾn׌`s^H0{FH ؤ0(@sM`ϽpF+ڽhHXdJRlݯ_ܾvϾ; B*aX$p K_s~̿LЮ=>v=^=b>y>֖>dOl>{F>|>>Jڮ>>>|*f>@!>pe=`;=(;;P::LaU! xQ,B~þ?6>9(hBg841:EA(0Ft}=p=@S2T~0ff6>$0>h=05$8A1N調=> ??>\.>+>~=^'=P>m( ,9H-|~wpR*ž~I徘2"ܾ4ľƠs6:7.^"MD{%V&&p2Uj1& (K}"߾)d;2(^,LоF1~b["=/Z4Ͼi׾.ʾ\uľNԾ"꾊BZ̾;ľV}޾ڃ=o ]vQV V#J{ : K\5TWP`0;.WD/`IB>>>?>e>>>B>>@>$>>R>: >>>g>.>>@>E>(qY>]>R > ?H? ?H>>֏>>w>>J>8s>>8>*[>>>n>J>l$>&b>>щ>,J@>5=>>>^?5?jYK?dU?4gY?_?e?d?_?$V?jP?+Q? gS?R?O?I???H:?<;?(_9?3?-?x&?0?VE ?>Ls>΋>>>.>>>>|h>xc>2>P >t;>w>>>>>l#>>Nb> ?F1 ? ?x ?V ?8?>F?Bg??{?0??fH?8_?@?6?@>b>>d>l>>Y>B>>T>p>>r>x>ބ>Tz>J >>>8 >D>l=tcԽPu@ݨ~f>Dp>8W>L/>8Q,>M>}>s>ti>`B>T>>ؽ>>R>>" >4>XDu`o66o(d,Y, \rgaH*n̾lGkޏ^޾>ξǾnɾžuZ 7rq+^70>f<ҁi,Y,pS$v<0>9c>ʄ>s>E>`>=@_z<+8@Y@ӎxƽ Đ,:GBG?6$Q;׾^ ھ̾ ݰ:ܾE V"(1/h'=" H 9Ѿl-zH0PDdrY`W@@&<f; 6ֽt0ȓPM;P=Π=Pz=8pB_XHȾ߾PX8[羦澘ھ.Jھ,쾕z Q 󾺝b\2{ᄐUɾ༞q7ԁ B<|pT6s"<DGF@ fs >hTFcվ۾*ؾQվ~־d Ծ\!;oǾΛ̾UBI <` ؅ Z< $ܾ˾銾1R% e;o4=h=P=s=>t3>C>܏Z>h> >>̰`>/> =PG=}P>>>۶>`ך>h+z>LP>*>d">\:>L a>>>0\>t>== = F= R >0m=/P=@P<@<`<]D<p,Nн(@W ؁ǽP p< 5u==W=d=8=7= <<Y=K=|:>€>xӭ>>>~>> b>#e>=>(= =2` tLN<=">D5>">Ȕ=ϑ==ɞyUs`}ļ@< <pM᝽`"xvPͽY@i=>#>ē->DB>6X>/W>&!>=#=|>9>d:2>,c>>8=>K>TN>@>=$=@<;軠 P]RlCP{(0x@olbN5l 8; YnT$phϴ48x_4@J>j>"v>)>$?3A ?q??X?n??_#?d/?*7?b6?V-?w ?Z?=?9 ??:>/>|(>>FG>>43>>Lb>$>)>̟>>>Z1>贄>">>>q>4>*>4ځ>>>Z>*>f ?/?d?j??;?k?#?8.?Q5?&8?n4?W$3?u5?>7?R=?F?F???>[2?s(?k&?LO%?#??Wf ?*>jߓ>FX><[>t<>t`>ގ>K>>Zݴ>c>>`>xP>I6>*>.!>>*>Ji>\ɇ>z>>>f>D>>N>R>;>>y?>?[/? A ?m??&?b*?\?Z? ?a?B?zk#???>L>=*=\<>H!:>xB>(_F>+P>,~_>,:G>F>>00>->>>1>^>$> >>>==5=pM=;*=H;9`09X) p`lT %/ QʱӾP 辺쾤 ־ROh*rɾ$ؾiܾp;UD寽,Pr$=X=`=`p]dz♾$O޾0QE 0'8 xFLMEv<8AY2t`*^ cx. bTn~۾HΩnA ܩ*BF zlh7<08B$>қ䋾:)zw< btZ@Vutɦ*6Tz*H X"ĐO}5.s68(5V5,V܁#ɾꄾ(k@H. $NQ~üX; <``<`z<2==;= 5=NP t瑾zv<|6+Arb≾&njԾ޾fI."H"Ҿ]׾F2z I  (iƾ*̩KIXV$(p`fxȼ`G< r2=pa=p6=0=X3=X= =(M='=ln=E! |VD]XTeLogBXԖM$]nSiྫྷ#$ # : |SjPᾦ࿾~D{eEh`PJ=Q>N^>x>b>~{>>b>>j>s>>>h}>B>{>W#> ==:=)q<9cpؼ8 J=ج=Hˎ=PQ%=?텽 wɝ .>:>>H>B>4d>q{>$>P ===T)>)>p><>DF>>>Vi>>,o>{B>P:>p!=ߟ=]>80a>Q>Pw>vÀ>w>L>L>`<= @F =/>TJ2>f>u>m>J>Hc>0ʈ=P<c;04;pR8>P>>/>Ê>k>H=>4>x==H><1> FG>f>ft>W>.>:=i=#?P{ܝCX{^lGđ@⽈/\OQ(B%\ fxјj"`t<,/Snmq`8H s?@!=%===>S====h=l>0|E>g}>r>ڲ>>ZB>`3z>@0>=@̛<`'h+N;>>0?]?H'?-?.(?C# ?B?7?E>h>>L_>؉>L>>>T>>>0>p>(b>ȶ=pR=P=x>4>D>IA>>5>T/>:>$V>`>K;>(N=؞=@N=`|==[>>F>??n?7?Z? ?6U>8u>u> ??6$?6)?!?ʭ??f_>\y>>(>>z>ʸ>>>^>,>">1/>)>@=wI=@<;I;;9,;軰l ەhZe@*GЬ``h&==d > Q>$~>*>VX>`>Fz><> ?Ж ??>4>>L>9>Z>>f>8R>ڽ>P~>}>LJ>r>h=LYX-O;l"1x~ý@7HpSe̋aЬ`t\t ZvbSNl\(N@0k9<= >x'>hZ$>>,&>,|>8N>T>i=P=H >X>">O>䈳>NO>ލ> >t> X>7>8)>h>x=X= 5=@l)>:$>p">(>09=;*=-7v &0(?Rx,̽lQt^)$"cP냾l/zN.ھDCDzؾv.6/$L`j,`g;\@3<<=Z==r==H=X͡==|&2>X%g>^׀>>l~~>t>X>#>`=Py=@P<S#oĒ5jaUa R 9@*{Ť;{T$"fkc߾̾>$>x@>Й@>96>h/>>J<@[s4\R>C|FKoFh%,W#38ЫSdqxR ~*繾 о後辸Ծ胦$W޼L==0=@=pv=>(;C[B;0=Xz=>s>Ϊ>O>>>dp>b>V>h=o=M6=@<@V<`Z<@1<'`ؓڽ~@.\&KPLl5`&#؀:`b@%㖾դ`8hZ\/ =k=}= c=0==U>& >b>?>D>?>?z>G>`>H>>i>Q>NQ>;e>d@>PL>H#=Pc=:p,(^l3 p4DD0006G-RY|t\x]н5 <̆==1=(Q=Dg8>$>2>>$1><>:>>> ?U?"?v ?Y ?%?M,&? ?d ? ? ?N? >BJ>>><*>j3>s>Lh>7[>%O>K>sP>0E3>t=i>'>l>>@Z>覿>N>>"c>$>>(Ԉ>o>>^>(>(.N>:>@[=PvX=@<`` 8ҁWh$&ؽXm{|XWRL8cپ$_PO澾Do-K]3dK8L,Bȯ`밽-; I:=PM=ē->0P>K^>Y>|F>2>u!>|>8=y=P*=X=;<T@k8T\y(ed\>8W GjVj¾ZYp ྊ,ž_kdqxYE00ڽXp <`.=Xn> ">Ɓ>>?30?q?K>P+>ı>Z>>p>\>Jb>нf>J>\>=X=Ч==@=X=(==>=p0=鹽+L@YPpQrɞ;@=9=P>%=>tj>Po>܏Z>N>E>\eK>e>v> >>? ?2?x?>>l>bš>x>G>5> >8=0G=p܆=`0=hǽ&8.Up\xkR(]̓:#VWgJ{+8 8v߽.ý0DڽX0y4 p;1=h=Q>4A>>>> >X?ؕ>&>dM>2>ȲF>XD= /'=`U˼ǽ@ʽl|K* >m>>&>N>>0΢>r->>Lb>0>>@= >>h7 >=ȝ= `<(҈ $5j׃Wh~~l*9hR,k(|Gzѭ♟p`4Wz@eXiK()`F3`<=pUK>B΁>ܮ>=x>$U>`V>Z>?>>F>=Ha=W;=0 =q}wTɾLǾ EtaľLȾ(žFԺs0ځؼ07=px==8#=C= > +>n<>cM>8~>>6>%>@>D>D>>a>vi>@c>pC8>=8/:(|%dWDj_X,\jbЬ`6XpARoҗ+ľXW`ǻ^xӭ$q.%zڥ*p/-◅f<̽! =O> ^>܉>n>0>Ԭ>X>P,Z>|S>|9>;.>5=> P> 4;> =E!=@LSұ0HADx :5lOᾚp2̾]̋a`3<l6.h$0P0xy, I8QPk(` <Эm==4!>5>DB>P=>Ԃ >`=P6=):"`~@k @R rw$VB~xu ־jܾ0|߾tо? ݖ5@8设X@8&yսB32;}< =W;=M=N=p=!>I>f>Ko>m\>,9:>>=`nQ=l=c=`Ʈ==>=P=\)=zf žƾ6/ڸ̾׾~Hؾ ׾<ؾԺnU˾~ϭR`ce Ž@H/\|=(>>|>x*>>y>>>X>ȡ>>:>#>X>,>J>>a>>dĮ>vp>r>^<>=@]<:X0pýƽ pὤ!|@7}X2y$þҸp0k*|yXyhO׽щ:g=>l4>`aK>Z>T]>%D>#>,Z>(=訥=Ǧ=ք=ft<8/н8pFh"CIa ӾrCK𾨾羺ؾ$uپvf( پ̾ľvխ蔬 F뀾8(佈X8 2μpS1=p=3=p ><'>>P=Hr=hϴ=8=4=#=<=D>= <C<Ϙ;f,( fQ½`MyZ퓾I&t,4Q,ЈylT8q ˽h½x@4<D==pe=Y=$">t]>?>e>>>>>? ??A? R?&o?? t?>@[>L >\w>s>>B>>zw>[I>V<>/>>D=PH=@<̷0ێӾhl@0k@w<>=@Oz=X2=5 >pwW>>h>̿>v>>6f>V9>|[>8>Ю>?6$?2?J:?8?0.?N '?'?p(?(*'?6!??F? > >Lٻ>ל>0">sZ>@k8>>=V<.:,7]X (PÎ=03 >i>>Tn>4Vm>:~>N{>l>x`k>P>>nf>_>`>z^>҉>n?^?/# ??vb>5>> >>Ϧ>x>|>th>Pp>>|>h==\;ZpAG*@>\t78'P)Z@D#P%LzGh|I|9x=Hd>> t>L:>@c>~>>:>>>0>2 ??V ?@ ?Z ?.?T? ?m?.>b?>z>pg>a>>$> j>t>P=0ǘ` a7?@%'`A%,7PvyHý0H۽kl/<"潰*=0i= >D=>Pse> c>,I>D>lN>f>x[>DF>k>>?l?b>j6>>m6>x[=m<< 0<`O<<$><<^2>/> J>0[z>0U>b>ڲ>>>:>:@>V>M>$> z>Tm>`>>R>;'> >=u=W =t=0=,=(a=Y=`躼彸8L`E4PJ28;DB><=(*N+iG}oFIս)= U==0=jPqhU<(=2>q>߲>`0>>g>-??8u> >ƀ>>>1>>̄>g>PP>3> >f=@g<fhz8l$L uH<&rԽK`ڽP]JL]SB.ҽ==`-,>tRX>co>e>4iY>tuq>B>>ݾ>z\>>g>

    >\>޳>H>0:{>D=> >h>x== =~=pv==h=2>>>05>E>ĖT>Li>s>wv>u>.~>B>>J>6>N>hi>Hv= y=`=F@]藽Xн9̽2@&GXqp,osxmhdmž۾4#۾ľ˦^b5/ ıtL oнϊ"$ <=/>0(h>>8>> >?>t>> 1>X\y>U> WM>L>2>x}>=08=(==B=σ=<>@dOފžݾ[꾂.z6&  S%j32+"L nx侨2b<`澔Ⱦ춾N=lZ@ҵЇG[z92\OpwlH뚾N Ǿ *.5=uBBkEdB>K96G:S:8)7^s7?;]Bt?EEC=x4(+Kr$xm#&.=%P@:0Mb.Ӿ ̜ZV֏N\ԥ Ծ侲lV8ڴپҾZ׾ؾkоEľ;UZ#6S=V5,(,Ǟ X$ (PR澘ž \.Έ}\G{v R^=&=@>= >n=d=@b=xÀ=hy=f=0w=P9Rμk;8Ľɽ|ӽ8tu˜jz<+ ɾnھ)4վ6A;~ȾڱV2!6 } y\0c?Pc==<>>>Z3>B>>>>1v??v.>I>>`N>t>Z>й>nA>8eY> >p=(=V=RN=HϽhy ("4=`aKxMЪF@C4\ rxp!`,>Pئz>쐒>>>l3>ū>> >ʝ>><ԛ>C>Th> !>d=< y{"(6{2>m>>w>:>>>#>>f>> >>+>>:?z?l?>P^>?>:>Y>Q=< A&*7(] kIt9>`=>6C>UU>_>d>>ij>rɴ>z:>Xi>Q>T>8>S>%>>>B>>Q>40>!><;>> >>H >(==J0 b OpMA y<`f>22>ɝ>֩>ӷ>Z>3>>F{> ?,?Hb?*???/ ?`>>>ܢ> #>4E>H4>\>>hZ>U>80a>>J=L:>z>v;>x M>8=@%<-@rLS(@a>>>e>>F>>>f>*>> >*>>p>>#>o?b??=m?c???g?8_ ?z<>@:>l5>< >2>m>Tu> FN>X7F>$H>LuK>D> B>R>X>[I>l4>X>=`P=@̭>‚>>.>[>Zh>~[>?T?G ?'?.W?? >>>n>k>t>L? ? ?$?v ?X?>i>P|>p(>=9=R=L>0Jt>l7s>dZ>25>d>>`==p4=;=={==pe=Hr=`b$=_<=>ԃ->pH>x>>{> >TҮ>> >>>>fH??j?9?R>*>Ͷ>f>`AY>>h=`x<f `W开;<xԽ KB BrhYx)%pQT?l|j$jo=o>=>G>X{^>>)>:o>ڣ>>.>Vѻ>T>G>0J>>?>Ju>V>>>R>|4>D# >pG= nm=@H<;@%P\EHT2ܛȏǾ@徂ྲ;rȾSξw+j  UfYi(9F"ǾķԃYBxhtRpzMt-%3D pT>IcFXT9`DhY¾,޾*@քԾ1оVE :"60)< XG*ID=,>Xu> >>dU>p=R=7HJ~g;zpӽ(0>]te@dOlTWQ\muxƾz)پ޾(ݾx ;삾Ns;"2=ԩ=c=>|>d#>pER>̓>z>>Ζ>>|\k>P [>!Y>x>8>>x>^0>>b`>3>l>G>Y=6=Ϙ<EĽBCh#8HHz.'н0\Sޙ(6Bw-j&@~۾$q$+js 6@=I<=>A >y >>$>Ȱ,>1>z >k>2>Z>Ą>>)>N>u!>>ps=@=Q>ht>(i>Lk>>>d>D>>>>T???>>)>>ri>>sM=05=l==h~=- > >%=<`$Z\ lej 8' د0Y:4jvC@ ~ ¼@-<#==`ԍ=07=j=ϭ=X==2>#>y>v>>D6>>D>h]K>p;>PT>,\>d>Tx>i>8>L >,$>(҈=@<b~߻S;@<;` a$8Ͻҽ8ս@6ti-7<`N_=2=o<`<= >@~X>ִ>Ně>&>>`ǻ>>>+><>B~>">~>敟>R>>@>t>V>M>6َ> z>Dkl>tn>h]>l;>>==ͅ=O=ԩ=0=0><_?>hM>7.>>>(0>8 ;>V5> R>>v>v>Ѿ>d>"?r??YB ? ?Ձ?v>>Z>:>.>n>z&>>>vp>a>$\>K>@lE>d@>40->p>`=?P=P='=p6=Pt>=07 ====hY= =p1%>k>l>ş>Zݚ>.>d>>3>`>>,>L?>,>p>4>i>%>L>>>>x>\R>i>d>.>$o>>2>>L>h(S>d} >08=Z=@w<@\<@<":l@$<4<]<-<`*P`y.C@a<=<*JO>>bn>Ec>S> c>gv>Ix>ꑅ>>pɚ>˝>6>>׫>P>Z>җ> >,O>\>>(*=l=ãD}G}/@h+PW#9c0 ̽{\s*hTAVYh~=B>,i>>>Պ>T>~4>F>x>s>T>>>FG>>>>t?>ĵ> ̰>@7>Y>x[>;>8=Z=09PYTAo쬾\Ǿپ hSR꾆Ӿ8rž{Ǿ'˾DվYa2꾚A޾4[ݾ&.ξfɾvM8f潐Z)t0<j ֽ̯SY`vԠ떾"-̋:MdDZ= Ѿ`CZuWWN\)(8 xF_N UMMB0L۾ɾžVʾҾ9о$P Cl&mRTVp:~؀p@\MLqTRH (-uw4<(0H^VwrƍVϻNZ@\׾пd䠾$։yG<塾ž˾(d[h8L\&hK?'v<=ϑ=`=\1,>"<>D%:>S>>>p>(I>j<>>N=)=L; `nPY`^ؽh3 rJ08,Onɀ.%qoTB0gнӜz׺l`V:@==v>F<>d`r>>>Ш>`>މ>>Y>,y>e>,;>?>\q>`N>~>W>pg^>PC>'>"=7=:pS*U8 |rڙd\棾:D>$b>d>\V_>H>ؓ&>0! >>>H4>P0>(K>@=@Y=?=:+pmlHP`\ڍ2쏅4뇾 bGVyPuH|̈˃H0y`\T8ݽXw޽P\E=6=hJ+>0i>䨋>>B>e>B>>x>±>>b״>o>>lO>t>== >7>/l>g>t/> == $$ gFR`.900(߽`79)*<]нfr NÎɓ PULռ4@ @Ƽ< $=<@%</= >pq >( >9>eU>8U>vb>lk^>7>>H===6=@b<`sͼ`MҼ`J01Х4'a3~'+H40s~@o콰ս8@g09:邻p==X>ݕ>ն>>H>>N>Ȯ>C>$;>_>< |>hX>0x>>ԓ>*>x>9=>1>ܽ==== i>ݟ>:>*^>>>Zw>j>T>>)> >><>N^>R&>Pd>0%A>31>@~$> >J=X=xƧ=pZ=e<.Ѽ@䔽);b WWpͽuP?zٻ=H=O >PN>4ێ>jW>>>l>m>f>Ч>n>>v>^0>">v>>¨> >>|> >j>N>pb> v=j~=<-6> i>ϑ>F>槲>Zf>*Լ>vħ>Ģ>">>fJ>И>>>Tl>LQ>$?>%>t>F>0:{>H"G>V=}6$ (S\ Jd;K=_=<* ]hXʽ!Uj<8殽`<=@&>0k?>L^>r>|>tč>>S>>\˻>>0>>BV ?nu??i??;>ZF>.>Xϻ>$>ܳL>d>|z>x=]= $=HcAWDiRLt`~h8ȼrȾ 侣&Ҿ˾Ѿ׾ 8>[ފ \yӾ^s$R0DZIaP|7ͽ.s|58bfؒM+,2\q,[F@<վ&+p㾪#Jl(3<^@@B&=/@M.Ѿľ̾ DǾP]#bn3t^4WF:XdMR%aH>0pd ƽT\i2`ƮlwFtx`k_ jpvhJ0žӾjTᾄtþ0΢6 `nd,S`0lO,:Ǿ`HȠLdy@Gft<'> l>˅>Pq>z>e>4f2>>s>%Y>х>J>(>8>i>hA>=p=:l7pFpɽX}ٽPA$;8OhxPjVΔml qpC P}D@<G R=8 = ɂ=@=4=8=B>XyD>]>>vħ>>>h>>J>>>°>|>4|>u>kv>`>XA>"2>~.>\/>=ΙP $@9Lt<k P'(@%4sj8нpU˽ҽ٫ < =k<7c>#>W>?6?6D> x>:>7P>m>H= =L=8=$5>pN>>B̊ >Z>Bi>>HU>H>(>>> >z>m>?>+>6>M>Ro>$><*>>h>hp>7#>@_=M> w?>t>x=_==c`哽0Br/½ЊԽc#@) $|im(EH "=0Y`>'>,Y,>(==h=+>@P> `>D&{> >H>2>$Vt>>X>DH>طL>JC>LR2> =>?>>= P&=F!< I:ԩ=@ ݼ ɂ<0(YѼ@8@'L 'I>T{>>e>>Z>**>>0>J>>q>>4ɕ>J>N֔>B>׫>_>@&>.6>|mq>ԇa>6Q>e!>7=[=}<8d@Q;h=݅=rYt(8Y`eK P(8H`L;ॅ<@g<= La=`=i@ʼ;9=h=\5>H> > $>>Xy>>>>Ͳ>L>f>L>I>H>T>f>>_> 8>>H=ft=J<@[zW̋-T{* HPX4 s$ 1̍{}({׻|S=X=H&=X=O== >x^Q>y>M>΋>>"@>A>>du>]n>ri>l>|>v> X>>=@=` VQ'IpR$=(=0;T=`$<<'޽;\xkkH[L Ah`+FH`#M=0=o=@!'sD>;4=8Ģ= c>`V>n1>ʝ>>>>L>>,j>_> K>01>\0>|5>5>SB>DV>9H>5 > V=a3x t H ldL0Zt&{ uٽѽP/DHI:X-_4@4prѽ 6==J>d>2!>>>ë>>>>0X>>r>.>>T>`>Y>h~>p>{>)>(=L=p=8LFzuB8޾t  ʡlB['QZ<-n(݌VX Kx vyW%Ā p848pAXTD[\h[`R߾\5 h%r(21S*b(N 49($(ھ þF,o⏾ qe!0@D Hw0!p@}˽0Ͻcͽ\P+4J}E6" HJqNԔё֢ԙ.i4~۾ؾѾN֮fkÌ*fDly?45hC@7G;6J=l=L<>mg>\u>Xlr>Y>D53>M(>Ժ?>H>>>x 3>̋->\H>\fX>?>,>=0=ҏC!x0iYBJ2ٽiqءE f&< t[4 pPTѺ<֒V>T>jy>R>PK>>->R>>g>>>>˟> >`>Hy=8o=Pb={= *ռ@$a=ԗZnC}՝ -:)<̳SFw:2]6 +=@]=0'=F<==<@N9cyc>(d>JN>$ O>k>=|>V{>x|>F>>Ɔ>8C>8== 1A=ؿVýYսhͽh71n~vþ2ʾX־/˾; 鑾4|0Jtsy:i'@]>=$Q3>f~>>6>܎>>>|>u>>>>\? ?)?>>>>h+z>r>z>^?>(>x>peD>t">=PTL=;בQ< = B>%x>~w>q>$b>$O>*>@F>i=I=8>$>&>,>P?=س=P/=<3=#=4= 04=Ι;>߼\a+P:\CtbQn@A|S\(2c058@ik`׭<(=K>L>> >`Ʈ>>>>BF>X>c>$>v>>P>Ґ>82{>d>d=Y>X;>>x>(=f=4=9=Юz=`H=e< ¼(@H`{4H 5(p ȁνO0 VTh=1=\u>$>pfQ>̐n>(_>4'>= >;>rM>g}>">(p>8A>Dz>Hv>W>^A>06>+>>p>>^{>r>s>l]>gI>=>@)>0x>=t=G<Dc(.5T69UdHD=+>_=>&>t>G>P>pZ>x>>$->v:>Z>(^>>>4>c>\>>:>ӟ>Ȗ>>bK>>W>(!><>F=09:=f=@<)\%1g@0%u`7<`Ӏ=ȏ==8>P>i>%>@>>>>>>lf>Ъ> >>.8>x >6>n>>Pc>R>3>(>> >:>}\>ЊT>L>4T>0y=n  Ƞg.#ϑc} gFgؽpSW:@$ Vt08-0==`>==8P>P~>^>LP>ǹ>+>z]>;>6>b>l|>~>>X>|)>BZ>~к>>}>>tq>0>p S>h>@=< cwižZϾ;jjѾaܾ¹~FjlվBi"ڢ|В S@&ȾzZTbLشY@gX9n;p=RN'iEĽ 9`~p2ʾоBE L,o⩘Zuȿ$о,վ Ҿ3ɾkPWx`ɹ >+=9===,m%>JQ>t><>ȶz>K>t>Ȍ>>hZ$>>+><^2>P>x===8e$8hytp(>{eBŽ0z l&++ iЕ |)1<=$>%H>T>r@>$- >0==U>S>>F>>*>ȗ>£>"ȏ>v>Ї>>>پ>I>>A>J=xH=P#=@n> c>y>r'>>>L>x>8>q>\.>^p>zT>I>fJ>)K>Tl>>7>gW>Hp>G>>`=`===U#>4CM>>>8؛>v>ȟ>>D>Xw>D>̛>j>>x>>Ξ>nb>p6>-><'> w?>ȵm>C>~>%j>=>>Ȍ=u!fpx-ٽ!$Wth͚ N2PnXֽܩ<<=M>!>J>>v>\>N>ȀA>xI>Й@>>9=0̢=P"=@{*<;;B$=`=y=xZ=@T<0@ﴼX! XXT(!dH cj[XEDεq30}R[<<+= ^=Aj=$>=(<5< >< =#>d|>>> >ܰ>f>p>7>2p>d>q>Hr>g>\U>L>\O>XXE>$;>0> >+=d>x==IצiL 4Hjf>H `ap Bǽpp" <==P~>[>M>W>>Đ>L~>Ta>X> l>>I>>H>N]>Y>\>H>>` >X> >B>Zݴ>ֵ>,><h>8> >@=z=P=s==M=J= <;⿽"-(˽u#1= x)X@$<=|,>f>p؆>l>@w>@h>r>'>*>j>(>> >s>G>3>ٌ>Pq>e>?e> w>k>>>w>C>=@=p= կ<q3@ ` :8==ɉ= S4>>>>>>bM>m>ė>ј>fI>`>x*>z'>>%> u>C>>צ>|>z> >}>J>>=M=d=p5Y= ><< << $H` X:bKhqԶ 8-̼e兼SM=p=(=:=@{=>̟Z>,{>|n~>v> >ؗ>.><>䘬>8?> T>y>>v>O>hѴ>>>Z>>0h>>L\>,/>r>L>q=`-`=?< z>0>>=6>)D>@*G>t<>>L>>=P=g=p=$o >\ &>>="1+,HrO,򔾐hwVsL1gI2t9>D70 06_<{=@ >D'>z[>>t>w>c>Y>+e>$ws>q>bp>?>2>(>>(>>>>DhE>.C>C^>l>v>Lh>D)>==(9`ֽkl h7ȁνp^7#й2-6hHPXV+ U̽ 你ܽPxr=v>&<>:o>趞>>>l>k}>8p>$>Df>v>Ώ>~>x+?>X6=ݶ=&=,H&> xL>_>@>VE>i>\ &> =<@vh70TWX X ꁾⒾn%'&+0O2*Rh ½$A=>>TLL>>X>\hr>LSs>r>{>h>"S>Po>~5>>Bi>B>^>ʰ>:>j>x>ʗ>{v>` :>V> >A=HQ=P~=4===H=n=<΋ p@P$tLJR5 νb@H`Ȱ`׼ȭ=U>lU>O>1>bC>N>B===8g= />yG><>؀:>D;>D'>8 >,% >H>$>&>W4>l&>==Rý#8AVfJģ&3y>淑>ꤥ>>>>>Q>\uD>F>t>`==k>,I3>X>.>>j>Y>>>> r= rֆ꥾ R`\@ѽF ýɽ0Cͽx\Xh@mҼP5=X7=v.>TN>l>Yj>T8S>*>D>0l=8N=z= V=M>^> z>ji>f>4O>H>(_>h>bw>>N>Mc>^>gI>(>@=(կ=|n=S=Px=^05h$ӽ0 P-ȁνŽ(&@J9ڏhl<@3M=Y=o>^>ĕ{>Lh>D[>>>:>ٜ>F>H>4q>p22>k==@>(>:>S>\u>މ>^>>~f>,}>x9=$<  @<+=@d5>Dh> >fЍ>>ԃ>">rt><>> >7>>\e> e>>>hO>L>х>4>>x9>J.>s>(H>@'>D>Ь=G=x;`eK0*սm0A3]ܽ9V:iucH-撽Pp=>E>hA>,>J.>E>`Bf>>*>>ص>l>J>>ض>վ>t>~>|>&Ƕ>.>p>ʐ> >>`>>>(B>%>,{>4>@>t>= D=@F<1 XK pA WľJоZվZݾپ`  /p{[8I,PET5,Cd|i ]H2@=Dy ,ЈsKF;P0,H썽0G֑ 2̾̾žTȾɾTȾvq׾L0 p0%F*R(&$&z,R.&)v&U"jV &4#۾v+"?&Юz`]D 6(}x"lHkkZ41:2=`x87'P9Hk}@/x>_Z0\e˾澔{[ .C׾DͨX!זTX<L{sv˅F~x\7િ@<=Э= >X>T==8=(L==HU=>A><>.>o=ȥ=*=D#(0dL=>Ї->O >x=YH!>N >¤>L>>\R>R>v> >s>D(a>j>d(>lj>Th>9>Hv$>N>h=0x=Yq===`,<3Slxj( v9]2n왾ҕF!Ґ f`&px.潤vGiUXTpڽ@]=,j>"/>o>>B>C>>>=7==,><>=hy >ص2>T->H>l#>\1,>J>@D>H>8b= <ǘ3BBRYv%jtVDM l&Ǿξ$@ǾLi̬,<"0<` <=(o?> w>@%>$>H>ș>젋>|V>ʆ>Ћ>T>>o>jW>v>>>>k>!>`A=`|5>T]> ]><,->h`=J= >r5>|M>hT>pM>T>T>S>f>tU>>p0>,x>x.>=n"tZHH@zhຽ @`Rl˚T%`bbJ>tF$;ɽPC]C$H?> I>`Z>_>x 3> B>2>kv>=>4><~>Z>t>>R>8.>ҹ>zZ>>*X>>=L>\@>>> >l>T">8=`=,@@9P޽xh*HUٽj~`^߼%=`V 3;=P=n>g>"@>Ɩ>>aU>>=8==X=!%>Dh>lw>B>T>o>>b״> >~D>0d>ĕG>XN>d>M>T{>8$>I= &!=<ݻY0^`A rPV`* ؑ~@'@ ?=Љ=&!>fb>d>ӑ>>:>M>>@Л>Z>R>v>>>X>>F>X> 0>'>Η>N;>h>an>">== = CV1;p=@ b=@Q< j>ǟ :@(-=Ȍ=`qx=@b=<=<<@[F<g;(=L>,>,>>*>> ?P\??v>^B>:ص>r>>⼞>>ZT>>.>>Rn> >>>֣>,~_>9=!A;I*p񹽠~Z:s\vW831 ܼҖ;V=H =X=>4;> w>>P>d> #>n4>h>t>&A>p>>>ν>Xy>d->T>:Q>">>t>>\>`d>=>>=4 >N.>i,>dl>z=!0kT&`j:nľӾPо;վվf;JǾm¾:D;^f^{DD<Ē 9 8 ]e,Q,tp22:UDh0_zr۽E̾ξtԾϾ`-ƾ˾I۾2|4\u<M.6=ACAjG8^)3S rᄚǾ(tlM@VލTJfN<;M\PWx ½xhVhὐFp{~ !ʾ¾6-=^ Ģt^jx zҕw *-Ҿ:Ჾ$ Lm)ІHZAp/?8Ͻ|,)=FX=D=f=p=^=x:=((==>K>0b>l>,w>@ |>Ho>pg>Q>\">=C===H=З|b>Dr>X|k>>s>>#>>>()>0>>(L>d/z>@}K>@W >z=<}=P==xq=z= =@_ =/Խe=DD7l.{I{tUn9TW<z400!=p=><}>p}>YN>>==~=hY>bC>li>^>n>]>0F@>(!>4>'1>?>4>>`= 웼nC0,7 <_xI~.XW~wگ蒾p?lJG%落XS=З=؃=>T>r><>>v>>֑>">b~>"P>Z>0>X>>6>^> E>n==`` =[}=;=8=X =(s= ==a ؼOP̷ߟ*Z섾ɓP\hE(((Ƚ(娽пZ<=ն=~=h\=t> >x->n9>$K>lb>v>³>ء>Xu>m>i{>I>>D{e>G>m(>9 >0= nm=4=8@vx>cgLl(%P[}8^qfjvl|h,v@J9/:ν2սݽ,=b==X=*>@r>zI>~F>^ٚ>> ~>Th>X|>>>H>i>胦>>u> V>U>H6t>VU>hu>_P>8">p=<خP`0mٽ@5缠wI== =(:L?F`/}h$◅zG 5:>==_=+`3s:>X>졘>^>b֧>V>ȟ>|>m>N>b >>؋>1>˅>an>Ь`> D>L>=h7==H=0=/5==P`y=0sὈ@ ݽ8U`?` d9%0O\Vh/-ҽpҖ;X=z'>_>b> WT>NG>4>q(>+#> ]>2>M>x>nS>jX>!>>.>$> >@^>>@6=`4<=<)=`e>>>">Dy>v>З>ȍ>>x|>c>c>z>?>> >> U>И>pR>hz>5q>L6>D>4=tZ=}<`<` <B$`( yGP<N,p"PNnY h.__p5==D>Xx7>@h>̫>R> >О>t>>5>>>v>t>F>>>8>F>!>>Ѳ>ݦ>~>z2>tp0>d)>X=$> N0B@cv뷼=|pg޽,P_lVľ9޾bdAlv P˾#˾Tݾ| 0׾xƾHcԗDMclh7g@ S <,E=U=PuK=@=<1x)%$yptaDLX#Mz|p0w>:,վzNbP}{И&>l+3e2&8|5Ka+rC쾎l羖_2־j:VX"vL8Ľ TZv`:070~0XνH뽸T #`䆽kxQ\M0jF,\ӾضԺ4ݾNɾ綾 ˣőf$lx`xL찄\T1KqNX<;jw|4>>Y> d>dp>>>>>*>>;e>Tu>X>D[s>/>=d=:= =!rȠ1ܽ iȯ)XAq\P}@ȭTUp"v и%xC[@ KP>e>Yq>>>>8O>F>b>T6>U>~'>8>T->|I>0|>8>Z2>u>$">0=N=`yb[Fؼ@<)q=8=pg=< *QbN(浾,^m>lUq(0ؽXԽ߽@- ȬD0fc=>4>>T[>^>Pd>w>`~>s>vm>_>2>(>H=`!=9Om;6=@J9=<+X\fH".PH[U3FŽH?TKsV#'l`-D=Х==hz=Ј=>X4><>>f>R>P]>>j>>N>>n4>&>”>@Y>J>*_>?>Z[> >D~>]>ئF>O;>Y(>(v=E== <\Y>,7>܄>da>8ց>L,>̉>> >vħ>R>B>>Pk>]j>qG>==PO< H-=5=kC>X>|n>>s>j>j>L>|[>D>z:>w>™>:>y>̫>>.>V>y>M>Q>0>=H.=@g=E=@=l=X==oPPlDrN8NpS`#$6!Pxc8j`qD'/lI$@->H->hA>>4>b >>{ ?FS ??C> > F>9>f>Щ>n>أ>X>Np>|&>ݟ>y>i>~>_>H >R=<I;`;Җ Po1Y@½`ڽ䢽h8 4 <<=#=ն=(^>dH>H%n>>>>>d>>x>nt>p>$b>x/s>Y>>>&>p>T>|M>04->(=+>$>>>=>I>du>ʭ>< o>L6> >x=h=`= =.=x=P =@<nm<w==2>4>I=d=`ϴ<݌<==?==A>v>>:>*>i>^>>q>Z>`>[W>]>Tx> s>,U>yN>S>P;>x>h=ԙt>>\>$k>Xk>M>z|>J>>4>"B>j>(>e>p/>l>7>H >p,>%>(><>D>=\) R cJqf:f9)(¾+ȾhϾk `\< K<"$n((#!FB#ľq؃a#8+@.ȍG}c6pႾNohJ_&|y꽸߽ `(9#DzXp;_ 3Rͼ9Ϊ x%<XC ܿ+q43+.$.'I vr"a#}1\<;9@A6,6@,8- yǽ{} GT@6<KT<$v4b2w`n@z8=,j"Tᚾ⪾6AR쪾LO*8ꮾW: í[ ӷ8Z fd.s=;L==踞=Ȑ=0e=`T=(=.>u@>)K>d>r>8>2>(>x>(N@>=|PL̽ӽ% =2=<9D|Άɦ&W&,q?GG'Ȱ,X4{IHQx-41>H=M=hy=(==2> >Ѧ>ϫ>>'>>r>X>oM>sF>_>e>R>W>|y>m>|y>W#>D=QA=@ < D0˽(9d(8-: 7 0|Ž@H8p@ꄾ<( s\n@Q0~:`W= G =DaAe> zf>tO>TG>~T>LT>H>65>\ >0k=S Q3 B-< =R={}=p@=22<@'Xd"(8 [@LӽX(P^P(ͼ q3PYi9==U>o>K>Z>\>ұ>ʌ>ʭ>³>6ɕ>>"P>F>*>a>ڐ>r>l>J>>v[>\uD>L.@>T}D>)K> >>xJ$>>؏=:А(}ƒ RQ ϑhǽѹh&?@|佽oԖ><>>I(>p > >d!>P [>*>>W>>>>pچ>h;s>?> >0=*p= =Z<=K=`= 7====`Q<\K_hnbiTa,D8 Sv@Uʝ;{=\/>2J>a>^>wI>X>̫>6>y>(>R>_>n>>6/>i><ҁ>o>م>>>>e>K;>>==YЩĽ@&H g+8;hA(+[$d' v漀IЈ:>< U>0> >>NŨ>j>F>>[>F>>!>->/>r> g>]>C>>Y> 1>M=> 6> =[r>>>Ơ>\ɡ>Ї>"u>]>8>(y>V> %O>@k>ӑ>>ѹ>>U>>b_>;>\b> v9>t===#?=^=@|= @>8>Hy==(,=Zh佘d hnz<)q<d;˜;j9 漼 S%< =0k==H;>a>̏a>a>tSe>$fm>@>Ń>`>j>XN>*>0=0=t=`U==H===H=0==!j= c=;=`ǻ=`=@b=`==6=<<$=-=<<`<9=Uu=Qx=q=u=\=P~Q= _=u= =r==> =>W>7^>,mY>I>>.= <s<ِ v ټp;8(н8 ɂ㘾`dm8صɾ26~E@v+%r2@i"澼˾`1оc&R, <˾Nþ,ѯMG00,)h49xF&g*ޏ̚2ʾBl߾@Ѿf;^ھ\xn, eo/ ;쾸ԾV£hN,оjǾ|jJx]p3x7n=x@^ hiPϽ¿)=0=HH$),*SذB8$,J@0Igb ⇌2B8Q,Yo0F M`pGH썽]^νȥĽ0=T >4g?>L0Z>$c>f>0>>Xi=`A=<Nc<]=H >6>E>8)>5=0>{=MR j, 5Ľބ[P#=r<ǼX퓽۽4a@\ż0{#P؞P 8=x=4=>z5>6X>Oo>.>ܣ>`>$>渞>X4>؏>wI>7=s=< 0< C=V=>44>XC >Q= h80|S9c>Jp@ۻm6s{pB齬O4*(;,Bt'нP[5zH:zm`>r>o>m>O4>0K=9=<J<;g<@$=a=8=P=H3='==@]=l>>x>D >(>->k;>)O>(|>>&,>NN>p>J>S>^>>xPr>X>LP><7>t>f==z=><ټp&2:=@]=Hd=M=9<89`i;==hl=d=VJ=p&=<@TL<'=X=F=t>p=`i= 8=&=H;ZƠ)<=M=>=lu >x9>>X}=-=@=->x=R>PN>`=%>hK= SKhHV0' G[>z>db>\">`==#>)>>T><>W==ȁ=@,=!==l= 3[= <+p($>>0Z=`n=05=<Q;@0<====4f2>0O>T>@N> C>

    p]>Ь`>`>7^>D8Z>Ĺm>Hhy> p>DV>+> >\/>`>s==0==ҿ=±=X=<`0yh|(ܽ0μ@#;1=K=?= =v:@c?<@Nm= /=8Ģ=yG=9<; F==Bw>^>Pջ>d>.>l>8>>>>j7>j>׽> >>&>>Y>>(L>U>(_>c><d; <$#;=(>=`=T0@YxֽHνRc9!LphH썽hx99@we<1= TZ=@F=@EY`PGs@#<`T=38>Qx>´>Fw>l>ȶz> W>(X>>`>(>H>pA>۟>՘>m>0.>p0>8>===@=hZ=Ƅ=<=4:z8 C#+L/4),)d /ɽֽ̙ $|06k*к?PWAjn-R8qpXpֽHE཈DSL_uL|ė"B¤DE`p!Y>ξb㾬1޾HL BE~3(-yJ1jA꾚4#NsoMܾ̾f®Ftx҆ttj0xBI8˜qP]VXVn.HPBl穾\ɡ~qA򬄾^}\兾ʮHξ@ѾPȾ/Ⱦ Cf|6@jވ{ZP7$(! b <(|8ʽ᤼<&<C$;^=xQ=T>ȥ==h=PH=Փ<׺q3l7<;b<"<i<ݼXXD#1`igp[x uٽ@Ƚ`ȗNý =KfT\@X02Yս 2ν90̢ǃ`#<O=i>x)>P`E>U>R>2>&>^> >h}=7ԧS>:>hy >`= = ==h=\ &>\A>\0>h====Zb=/5;2\p N-(n'~P/мp [h6$[@6.%P)rH멽^3>`6%(սy<=)>x>>ދ>>r>x>>>)>җ>>>((>X}>tz>̼>j4>>2>_>>pU=3=@=@;$ٽP-@F<D=D=P5=a<@o~_T; <>n<>DF9>c>ҋ>*>g>h(S>t->t.2>tP>d>3}>ΐ>DV>ߖ>>r>`>v>>6>l>r<>5 >Й=D==>TA><>%>=PG=+ѽ0ɽܽh(Ͻ8hqd!(<-#*N`&X`ݼo;Х===d(>?I>p>Tѡ>C> >޸> >F>b>s>p>>}>h>D7> >=>1/>d_1>%>܍ >=7e=:Ƽ` l`,"& +H@=Ҹ-.ؽpq Pzt==h=8=y>p22>8;>0O>p}>[>4 >.h><>Fd>)>4̼>6e>>>v/>:>@Ѩ>>S>O#>s=X==ķ===J=P:=@J9=@>>E>>u>>>#>>6.>~>z>>e>Hb>8!u>.>w>\UR>@*>$>W=hH=з=@ӎ=ЪF=y,< .S F<q=P=P =WI<;;*=p=8>$5>8P>Z>FX>$vf>>;>>:>&>>*n>*>>>r>$i>_>7v>PԔ>F>>>Z>z>p >o$> >U> >T)>>f>>>v>>P=>?>4>6>H>\4>m=`=(:ԼlPkFʽ0}TT%3PntuۦVᴾ8ɾb۾b 2X\񾚖־FEƾ.iVkRx.<~sP0*$p P,ڽ@^+Gov;}z ڋᑾ^GAFpP D    =j=(£ dQվ6!۾0';bо +Ž`WPVft &pAp%E>߼/%X轐OwrlȏǾؾ2侨J0þ"|6TJ̾yվԾ|̾þ߲f|@qd:`ڽ V`w=@L=>D>==| >L.>M=>;P>|g>x>|>0:{>X7z>Xw>B> >>y>7>T7>` >==<[:νh'^0y8-Rl]J١r虾0U6a@*{R\?L7>@h>>ׂ>pc>Y>xPr>>T>>>r`>JƁ>8wl>P+M>1>d>] >==6== <@ ռ2!OHŽĽh@jUh,;9| 2Ls >h@8 R<1===oB>q>W>>>$p>Y>?>x:>z2>^.>@5>,k?>pP>W>L>l/>H>C== [P>,p>6>!>n>>rr>Կ>>v>L>>R>Z >b>L>:>>=;=C<}< 0<MR! d<԰<|pT؃ A:\6$ XֽxmM@Ǽ =L=<@=Ы=+>f>V5>l߭>R>06>b>^ >L>,>"e>(>˲>R>>|>>j8>j>w>ڰ>>@<+t:h7½8 d6H]b,oǟbfP!%.$,<=HN>>2>L>>D>J>䨥>>䨥>\>"A>l>>d>{>l$>x>b>s>A>@==`Y< K`ý8H. x𯑽p"5]ʼn~~#T8S( V>8x>Vϡ>D>T> ?2?>g>X&>>K>bq>tb>Nb>N>2G>V'>>T>>=>= tL=2=Qx=0=D2 >>~>=Po=y,<^߽>v #i8=3`Rয়A>ڞ>$>:>>Vz>^B>Z>:@>>n> >>ி> >P>Wv>d;?>>$>8U=pc=E=<E==t=T=?=q=>h=`=<*`= }@0P ;ȥ= >=>@]Y>@u>(9>A>Dd> T-><>t>X7>4X>~V>>->2z>>v>>>`=>?e>D7M>_>VU>j>l>x;8> >=P==R@HS?>2<>+>T'>Yj>2̢>>B>>B>>æ>Y>̜3>=R=0=M= d=@=$ ȼP`ƮXܽXL-Xk Tᾄ$`,#g'K# qr'B:$龆/Ҿ,LRy*C!G#,1<.Y(#\GK*7؁GHaXˇ$@ǾѾqо&վSԾHξTξҾV](m 9< Nk"0 m$ 7Hi.9ĵӾd]4t<\] 22!x&>=ܽ= ޼=8=<K: `q8w9,prN`o2^i>󀾖Ɍb۷f\lȾپj⾬پ𠿾ٟ:`g4!AͽQPaAx c@h)c ӕh=<*>H=>8>HB>y{>k>bM>>>Tk> f>H>$I>m=` :=<!A;f̻ෑ< <@"9ĽXf$'lfxZJ.6Ȏjyɾ$Ⱦşډrк?Ѳ`k* `_`pH5g>c>>∙>>X>>r>>>fj> p>dq>@k>XJ>:>x>=0%=l<+biʸ@we< =`@@H   ~ෑ/5;zhj>,:G>g>y>>>><.{>E>P?=`=p{6߽xȌK܍ <x ˾wܾ**ξ g o`~v-cEDd(@yQ\ ]k=X=l">`3>x>z>y>4>> ><>X>Ӥ> 3>>~>pg>h>ք>>>A>$b>\0>舳= ]=2==<%=`ϼPUYؽpQ) {F.m@ƼhI51-pXΙH`=*>M>m{>H>T6>h>>D3>(Օ>>^>8>d >>?G?>>Ҙ>B>~>>z>~w>e>إ9>P>= =zw-DTh ,BpN[4`; Ѝ*&+P-(<-`p7L4D ɽv @uPO ;<Β=<)>E>|~w>xJ>&>>쳫>ο>>zo><>m>DX>>D{>.&>Ӝ>>tz>S>b >=xn> >=du=Z;X48@8OF>P0 Bq꽸ؽ0X8df< =$>>+>2>cP>b~>,Ј>r>Ze>> >h>Z>#>~>><?n>>>>>f>>> ̖>3^>f<>4C>a>^׀>>>{P>Ē >J>x=P0ս|&2qt6,佀ؽֽ؄n4`G;`G<=x=|8E>Y>> w>v>*>w>^>l>6>l&>—>>H>Ͼ>֓>0~>D4>|>3== >_T>B>6>х>4H>>=@¼^ѝ@@G ;P=== > >G>\==0=K=e==@=H#>{4>>=ܟ>Y>,> >d>x> >V>|H> >X=p-=!==:>8[>T>T:9>T>I= MP>*}>u>Ơ>1>6q>:>=+=<w x:@Ff U;l7*+wɽzJQØnDž$Jj }#  c" x' (9꾊ԾLtƧ϶0xtŚ윾x(3v8OF$5-?4pz늾qߝ:_5þ0־:ξiؗòrȧꪾ]ڣӾ,4Q(N v`jミ[-Ⱦ%ʾپxԾYB4tS ph<Y=8;=`=f>U>xg>dt>΄>f'>>˝>>|>'> = pۜp<=dK>hI>(>` >؍=t;`@PWl\2mT&@[N:#s>j>>A>Hp>:w>)>G>>͌>Dޔ> T>m>8;>==Х=*=Q= }==Y=m=-=pgL)|Om^xDx>(P~Q X`hZ`&qꁻ<0P=~C= <0=<@@<@k< <== =И3>lA> <>8>X=( >=zb<`<Px@ b`0pw$e@(--Ҽ tLس̽le9t`ipȍkT|7dh@ !/1h{W%Kp۽`=$v<x&>`e>|ϓ>t`>ր>f>J.>>$>>>?>'>pZ>(:>+>0<><)>Pu=>W>>!=<=J=pŚ=<`d>^mн00x=ҽ)<,7= ==)4`a ==>̎T>TO>$e`>< b>O>Xd>ԃ>xÚ>>\>h>d>46{>>>L>8>rq>x>;>|y>==>>|>=` <ȃ<9)أS`ֽZ۽(½T` 8Ľ`o^j,Xӽ(rG }&P[8=%>t>(a=ɝ=X=9>XzQ>G>X>a>@i>z8>\>dԧ>>>lN>8*>>PH>,E>d} >>=0=@l==`K`z` ;fU<;0@jq x Bǽhpo`䆽;===>d>U>x>_>\DL>Zw>>>> >2>a>*>>F>߯>Գ>&>>P>r> >>h$>DO> >x> >`mD=F=i=>̾?>%>X==i=1=Qj==@j+=([>6>`P>pt>$=>T}>8P>lf>lZ>D}>ka>۟>h>>Z>>D3>r>>>>`>q>Ho>a>===pG=p>h->x> >\6>9>|=Y=>8= =(=PŨ= =@*==d;>U=>+>Pj>q>J>B>@Л>Ӄ>Y>Ph>J>rT>DW>b5>(>%>Hr>\ge>$\>PC>=||)>>==4@9/9CHN<=g=PH=ꁻ00eAs0D`֍[;*h;C`A ==07=y== >;=>Wh>PG>ܟ>l>p>F>~>tŚ>.>.>0>H=8N=F<=< 5=y;`%gxP۽}\X6UZf*< վžXWKľ&N`pRHu¾=~ 乑ZB%KH=(pLؽI|-8Nj~L~fҩNMJb哾㹾<_پFZzX Jh z:R"`A8SH;׾PԮTd?dux $_E:Xi6(Ƚ,tVs-" DVC+ $@b>~ЊTqdZt~WľN$6v߾B׾TY&PJhZHpڽ@~ؽ`½*9<6=9='=s=(=a3>lV>]>0e>q>}t>(,4>a!>8>6>XO>>F>>>W>TG>E>|# >X#="<708l c4n'#x?t\,`_վ:ʝҥDj> /h [=Ҹ=.>s> ܏>G> >h=7==&=`=ĥ@>"_>ؒM>pN>^>g>^>|@>>===!= ==S^`9xtyXj@WL<j齸⸽`Ƚ'׽#7WTPڼ==,>p>>Jه>g}>x?l>D><]>>M>V[>=> > =2=$,>X=X=p=_= <@TLЮzý8AP XAXd@_P:jHžqs>p`S޾m]n}NhWsc$0le==j=*>S>Z>xw>p>B>>n>r>>@>h9>L->>s>`"><>/===w=薒=`>`=@7(½b9stTp?%pCأSoo/##=ӷ==|z>>J>>қ>Z > ~>Jؔ>>>> >t>r? ?#?$>T> #> E>>JP>>">F>>s>RQ><>=*=@~<::ƠpHA8!`tF`0O>9>T$>r/>⻫>>N>>,>>>ɲ>&>>^r>3>y>s>hq>4v>\>,V>Aj>Pk>25>=pt?彈%HvXDDؙ K܁{R_l %hνȾP[HX=9>,>E>)>|mq>(ĩ>ֶ>>?>?$?޽?d?f ??K? ?fH?I?`>>>]>>|mq>`>`N+>==8e=>=z=ِg{?8>@>`r>>L>\>Q>x+>>>m>0>B\>~I>>߯>N>0y>>S>J>tb>>>^c>n>>l/>=`<=HxDHS"@(;-7@(W==Xl=Hu>_>p>n>3b>w>t>r>Vj>v>>N>>0'>>:r>h&>>(>>H>i>^.>(_F>J>m>:>h>x>ķ=0k=@<׽X&Ha bz@~\A&k2F5 ]r?Vh"-?P @Z@=4>sP>)>Щ>^>dn>`_>>+>H>_>dg>hπ>>]>>'>.>_>E>F>(:>Y=x=P-!L $(k X|k敟Vоb PEd :ؾtb뾢X׾$Ͼ)Ⱦ*阾tvlp`w!6̩\P T-h`;T 8񽈦q\SԽ+0O,lc䣾ʬ䪾X辛! ()`3AԸ?r;0xju$(x)%". HƾםfphT^J 70B ^ýnxK<"XyPXhx(彴5 0<qS\DL ΋.%TѾZ9f0Fپ((,徸l޾ޥpNQ78Jp 1 ==8==@>*>>>.>P]>Fw>,\S>2>8>!/>-D>^C>)>b>o>>i>)>L>|A>/>HU=m;O4æ޾fw.p׃(=nJP]h%_P[Y@]L\B$ (LWI<0"=ЊT=`=Q<= =O'>!>H>>r>8>>@=L===1>]>]>8O>>>2>x==Mز ` 4hx_޽8-s ޽TxBE/P)F!∽ 3۽˽0]@$b9>?> yY><-n>?>+>AK>G>~>L>8=>|>m=p-=:<ڣ=[=&=P=< xBν$>JULN,lfqZb,(O2-Ľࢿ@/@<=b= === ӕI<`O>`M>> ˣ>h>>m>R>&<>` >&=z=<Q<P@@## ` pSJhHOPG`ּ@d><C+>l:>|:_>`>Ld>`]>E>L>̐n>>.>>>R>>>L >>/>Pse> Da>s>z[>K>l:>3>r>=@<@[З HV𡲽閽Xh B*:_^=@J=;PW==T >n5>4;>L>;v>2v>q>%>Ԃ >2>-R>xn>Ь`>>>4>@^f>x>\U>>&>0$4>^G>HV>,>>0=p0=`=xq====@=J=@BHDӽij$xxL]]<;f=== k=o=(;;\;H1= 6>LSs>Ӊ>̲z>eN> ><=D>N{>Ģ>Y>>>>%>̟>S>> %>`>Ѥ>!>=>>0=F<-pp?lq\ã; 4<ѻ3#藽;PW=(t=l.>Z<>o4>da>iq>?b>a>5>н=Hݡ=x׭=k=|5>>R>x>>x]>J>>>>/>>>ht>71>H=`=g= >SB>B>\I>Ȥg>F>=P[=x}=Ι=H̛=05=f=@3M=݌=jp=0\==p=`=$>o>e>Rp>s}>X}>> >L>oz>fр>>@}K>@)>7>M=><[>>f'>|>4>>m>HU>9>`d==v= ===`=7.=\[P #F\Z ?p `>(x=|:>XO>F>$*>0 >=F. n=h= =܍ >9>m{>(>@u>H>X5,> =`@=}=@=\<ʻ'<O'=#=N<-Ҽ_0ս}Ц %lP̍{Z$\}ٽo½@i!Hs1XkQm!Դ%H7*-8aY">7>OB>Ȍ>pp=+<̼XX%4 `н`ǻL;YHlg*>8>$uY>#W>\>pA=@H<` =S;Җ@=;<jq"2`o8B>sF>i/>(#>&$>L?>؀>T& >DE,>\<>M>0">H?=U!=(;;+fOPx>>hn>?> \=LW B$ LýJGK*=7=P=o4r>̠>>>&O>'>>*'>3}>\i>f>oP>=A>HA,>آ>>l">`>1>=H>T>@H>mU>di>a\>9>h>>= T lv+⽈撽H.p4FýX̔M<=%>z>>>~͓>p>4>t>>>>>P>c>l>r>>l>>>S>:>>@o>$c>@%>%>J>e>H5> >QA=BP:@Hyp"Q6]U\!iXP?z@j`<< D=@b2=@h2J>~>d>>A>>m>>0>.>|l0>PN2> O>/>җ>>>b>w}>h<>%==@0>zT>(a`>(q>0>3>l><: >="2= D>fр>fњ>> u>"S>f>>>,>>=>lj>r>D>VG>T>X>Ԑ>xZ>7>>K>j>(L>4>Pջ>4>|'> >(=Y`OxLEkh'F8Nrٝf$< =4=@h=Ȍ>T:>hl7>`6>L>ދ>s>2̢> B>&>5>>:>B><>><>,>N>u>ڣ>`>>>>D!>E>H>?>\29>tq=>@>\\>Q>*>=@ <@7`e84xy܀nܾDphVԂ ॽ0e@]<ۻ%ټmJ==`>L>]>>6>,>o>>>m>fJ>>XjX>?>TW>`=6==!>̿L>]>Ќn>&~>k>s4>4u>`+>-=yսԅGpV8jކct4c\5fXaTG?ɽ@u˼^<@7=k=( >=<|)<}=;p>_ȐER U;\<$nǽH򽸇H" D$} 6ˑVLq]>*ǾFd (f-/)N+&$ j# ҇ᾤ)H޾FZ۾,䵾&*(|$@TLHbЈ:v]$xfJlbTA.+4"P]d`+dުǾ|R [ 2*PL%آT#)$TKrB߾ľ[~3kaX29ǽ肽,7)>h=<==V.=w==j==f`bich"A&ؾ< $҅䅌0vaG%0V9YZ@#T$&`<˽mY кU=Ȑ:>ȥt>Ԗ>>v>X>$V>LJ>3>=0'=C=P}=0Y,=8= =(d=(=8D=:~=1޽7@`&t<`qPJ2_6 T(8zr kc4x@6Pw@u˼"==0/>!Y>>j>ǘ>f>TH>>H>==Y>d>{>2>8=PTL= R0B=K==\>=0D=`8Ƽ?1p<ը|B8.0"ʥX#s¾fоlݾJCfKҾlyRZr.H횽@,`eK=Z=t.>>@>h=+= =\|=%Y=σ=PK=8w=H=X>&>{I>{>>>(d>t@E><>T=Ƅս SȽ8,0'#@W䈾&ŜV\j_[xG4xp3?@Oz=0V>I>$}>{>>>M>pg>$r2>hK8>M>\u>$>W>o> >ĥ>$>A>f>T>D>> >ր>pa> E>8>le>l>T4>O>Ϧ=J=8-; 愽`½01u! @(ʽOHݡ6/<=>?[>J >P>n>>j>}>س>Dx>v>>J0>^>>>b>.>ă>& >(>x>h>J>l͚>,> _>?>=>>Xv>"$>@=?`>Eq>()>ɣ>x>0>}> y>4v>wh>x>x>s>L<>6>l>z>tb>ی>8b>T>T>x>\C>$>I=70o>>V>̛>ؒ>ʰ>[>>>@>8>.><_><>$>j{>:>p>>M>pZ>K>V>/I>tP>>DV>d>+e>0$4>0ʈ=tS;(~^^؍8x 7H`]===Hv=>0H>Pn>80a>M:>,[F>r>Җ>>Xy>ͫ>>0>>?>>Э>>t>9>>X>Ѧ>l>X>> B>h>>+^>\Q>0^=x=X=`μGW8p̽ "\Å^`8N<wX]h(`躽`@<`!3="w=ɤ=J==@=L=pB=4>}Y>X>>>^>d>`Հ>xH>>81=M=邻@]<л=/>)>#W>z> WT>=@5}P}80804X02ǽpнxؽ\&U=hlᆰE~'pCd Ծ2VޞZNF?#)p_}=Pn==&=ЦH%P|`<0i=3i=<0_z=@=c>T>@93>M>E>h=p j\Vt&~ Θ撾g`H9DTl: 0~߽u1ӣx{ڽ@mҼ(==,>8]>$\>eN>{B>>= =0X===X=`=8==~==P==@&+LP`<(ni䐾 H[ Bt-% ~pPZ08BqNF < 7=#=D >]:>TP>x+?>2>]:>e>>+=L>3>Y>=< )yǼ<=Hx>>}>f>>=`==,ko䗾v*Jl-TH:设ЇRl㫾Z{\b$`. Ⱥܞ>Dx > %>PB>4!A>X:>sB>!>Ō=@e<==m= =;;89`Ç_밽n|78t ZJC(<- ܩ  ˼1<0i===>]3>T[>5x>tt>ܲs>u>\\> R>|u> >ʰ>`>>>~g>/>>D>6A>α>hI>hZ>e>>¶>`>D>ij>_B>$>n=Ш,=0J9a*pgɽRǽP 轜Q`Ç<=pm== >:5> 9>F>LU>>0y>>\>J>`>P>O>>>֙>>&>>x> >b>`.>^c>޿>P>.>C>>~M>=D>,;>@=g><ҁ>&M>a>>>ƙ>>pg>T>w>[>>Ը>>/>(?>>Q>>>d/z>0P>#>V=,m>D>>A>)>6>w> >r>:>\T>?>@>D4>W>%>\@>i>>>R>>>:>>{>Ơ>xU>X=ܼ SvTi ^h0vJU<<<Dh=E=<<*== i,=_=8ځ=b=>=>0e>"ȏ>24>ɲ>ު>2>[>ڲ>跫>>Lb>N`>•>t>>^>>4>xo>>4>>>LA`>C1>o=U;ٽx)X郾*pDy8v@o~fe 3b(+[VJM("4|-%~ 4 ;E i===>.J>xZ>@>> q=-Ľxݽ0j8.=lB>">m>>>V>)>Lq>Tk1>ȶ=xy=@!`pL)d;Y nj4@A!ꪾӲ}Fܔyt;4đXx7J̊ proDg80GMa6LHcPHϽP{@뀼`TX{U/hjQXEY^ QR);5۾8B$|& 1.0@*(1" X] 'x,/(*8ڱ?ejRB BKhGY/xp)i`z<צ! <=ȶ=̉>(>=8<x'hK(~L@ɾd,ӾʎԾE׾ecRYU*Z7J*V6վ־žH&XOXt`䆽@ k<` =Җ*ս'޽ n5 r=8=J>,>J>->$>Z>>C>>>bš>Qc>>==Aܼmિl0){a=4j¾4ξ$־D%ԾӾ#ҾFȾ|I˾;@kd3nb0F᤼ <@|=8">l@>0V>2X>,> A>>G>@>,Z9>>F!>>>$>:>B>>Dε>>xF>ؠ= 00ȽM +,/d{ ,j2h&D# Oɤl3~+빾>ξʾB͎S3ꈽ߼ =藟=@=>2>H> 3.>x>2> ====(> i>Z >,>R*>j>*ӕ>>sv> 6>i>4=.6;Hʁѽh&fh(Ӿ ݾTB޾ѾǾ4jxžǾ Yt`"I==p܆=o=xl=z==@8=$>}`>.>Ă>@>#>^>ž>>I>_>U>f>~>:$>HB=p=<:Pm˽L +t.@n 0^rj*&8P,ڽ SM <=>pA>r>d(>>l>v;>>.>\e>#>n>_>?%??6.?F ??hK> >>>l3>8>\N>;>|I>>>0y=5K>m>n>̪>>A>"c>> >"S>n>??l???Ι??R??= ?V>d>x>4.>=d?s>&p>>zK>>_>D>v>8>> ? ?RZ? ??>>K>>>>Ġ>Fۇ>`>Dg>=`=<Ѕ見0v :<0_ < H6-ݾ0y(()60ѽV<=`>߫>(>>B>\">:>>>\V>@>%>z>?N>P>> f ?2??Z?^?ҷ ?I>K>>E6>8=@s1< ؀o^ZG@|W*P A<]h}qgR =x:ET r=X=(==0z+>`s^>ϑ>L>>V>r>>>y>x>^?r ?@?J?2?:?>>~>ņ>>4yR>x>Ȟ>p7=,=0=ˣŽ 51\BWrjFhþМ뾂# )쾔ܾZf"aY |@N=`->q>^>$$>K= R= կ<=j'>Du>ϟ>>>>/>*>>s>Z>L,>hV>>Y=r=n= =o8 ⽀.l]|n6-,Isg W 侸ϑ늾[lnġ Zri~8gG @):@13<0=` S>Lh>,><>(=HE^TPQ^`| HþپHh].z$m&['e d'.f8SvDYU:2`=H:><J=u>U>z>I>>Q>> >h(>a>~>> >4t>iU>ġ >7=H=P&==N;]~my\Ԕ:¾5˾$˾,\Ӿ:P {^ Ѿ2x}@ = S>\"@>@>$1A>S>-K>sF>fj>2T>>;>\>|%>>K>`>pt>>i> >U=-Ҽp` ^M< =ؐ=A=@5g<(㎽xJ$z̾D־ݾ߾hJ߾۾^;*t?8H#@1<=`=X>>_>~=p='==X>h]>݅>>p>W>_>8>|F>X}x>hl7>D">H=<4"XRý$iV+4慦~@k2/ɾ:۾4&6wxྲž R`۽0Hze<^<<L<@F<=L>䇦>pf>n>\V>><>~j>">>>|>ދ>La>41>x=`+F=x:=k>>`=a=I;48(Ƚ4(=m>x.>ij>->0>h>l>>>HF>>Ω?tM ? ?i?>G>>>t>]>r>o>>`?>:+>8s8>=J=,>,B>;B>3I>Xa>p#z>*Z>8>f> >P,>>f,>>? ?y ?X?d?>g>x>2>O>>pwW>5>)= q=N<$<0y(x7^b{*{ͅ4@xHht 3tݶ@ U๫,V>J>L->|Y>>J>P>>t>N>D{>@Z>>>>>>4>D>bo>>f> 2N>+>>=>`0>]>X3= ;P\ŽM"r߫s`R,z+<(,)qy,=7'>+*>8>oF>ly=>x@>dc>6~>>X>>>">'>f~>ԕ>I>;>??ҷ ?.?D>>p>>>4>=]=r[=H= f= 1 >$>>` > =@0=j<ã0!ᲽRhOXV+DPEKї;=0]= => />MD>Ѝ{>>>v> >>B>M>B?D? >V>>Tm>h|>>n>8h>T}D>,> >j=x=І=Hʁ=e!=2<ِAx 作M 0poڗY,,Z&ϑR~[B뽠A^0XL`E=1 /<@=LV>s>װ>쐬>v>>Ճ>>Zt>m>4~>V>;>0">R=Pq=Z=KTýPֽL:5t6U/<(-L)1I=2kB{JȵžᾐJB>׾a¾V†`s^NԅG8EdTnP hx+? }ෑ{I>< b>P:>J>DW>>h>s>s>|>>pH>X'>5 >=H=X=Ц=gL%6,)ALIx|(DƾɾV%dXl` ɽPա !P9,@I+h۽ȿH񽐯X퓽*9@ =C=8> >PaR> >j>z>|>j=;И;\ =щ=='*>hj>L>d>=pغ<~$kFS4PPWtd|P 2!4.ٽ(hIuP:HN4v0{lؓZ\V F@!;P;=(=+>8j> >q>{>$tL>h=y`[2ϻ;13; Q3𰞽 ڽH`$" #bㅾnۓ@fjpb)p8ѽ|ӽ뽰(xj K<u0jf3j Q?I>$W>s>>故>_>!> ='=8R=`/= Ͷ=$>pS>xMK>V>%Y>7>@>=@ =<@!<dPu`{+XJ:=P>+>|>= <@8Ƽ4S!|'Wf= >^@>nm>Ӊ>:Վ>"a>>|>>e>|>'>t>>湫>>q>P>>\ >ȗ>4>~>>Dž>>$y>@)>@,a=Ȼ[ͽd8=>uc> >8xy>m>^>H>.<>T>`l7= ;I>D7>8d>_>K>\V_>>{>^/>y>J>ȴ`>]=>N>IJ>>3*>d0>S>ȡ@>/>G >= >= <`Ԕ<=pUK=D=8=pD==B=.=pr==F=8p=!=`=P=pa=8=؟= ە=`b=(====`==x>h)>S>\>vi>D>>>pw>x>„>>ʐ>ʯ>> >vՓ>@U>@>=<; <` :=i=`S="= >E/>L> k>>x\>>L>8>L>>R>>8=bw={F=@R<3=h=+b=8=0=.>;1>l]>pp>T*t>>?>l>H=Ȍ=W=]== >8dL>故>̉> >d>֒>>> j>06G>|> 3===$>>> D> V>Pc>;W>A>>>4g?>$0>(=ʱ=ǘ===tu===d6>R>\V>d>]>@;M>!>b=h=Ѳ=A=x'=HS= 2>T(Z>L>J>>6J>>˾=D0=`j=0.=@i>@+=P= 2N ^,j^Sl3?T{*f xj9GW<@#< ]༠#1p=R&٫ދpÀVHxJ4jԽ˾vko<F@(o`ɽL ",0CF 7fH{'X%g8bfRpH?<70xEdqxNŨ᾵iL: F6T9ɾlݭ8r:ů,:>ľS֏b),r8VX7zQ<4 Bx罰ؽ RQ舾ܪ8ξ ޾ؾB-`O8h\0ȽRd ,t!dA4|N皾B;$վeVȠgTH(;1jx71(`: ȾӾFXPܾF׾˾ڲJX8=3IܽSإ}0(REU4TS4V7`'нH>9@d><<=<}(p3йҽȤ t'h)H4@>7|S`@}О=PԔ=n=> =0=Z`@3ͼ5vd;=@g<` `¼X(>d>>p >0k=`J+= <;@㰽x0o½xY4)6 c`K;|p.F26ChhP 5u=p==l)=@0`Xe뷼 < SM==*=.Q=9=<[==/>[T>9>>=P `,^X+0B &Do8a0B8 ؒMڄǑn&rq(^E4c?4Z'H<)HHRPF@s1@-nX͡Ȍ=x=x=!=;>Є>(=A=`=`7MF.[ٻ B=Ơ="=(=M >6=Pk=[<&001y␾nɀE ̩a @`070[Fp^QI;a=k=T >X > ==07=蕅=!=P>B5>\> $>>>.>ޭ>l>>P==s=,}>=>dT>`c>(ss>ʄ>Ĩg> $>=c#=J<h;N;F<@c<` =P{=@G=c=`=(==U=؄=,> ]>ͅ>>~>HC>>'===KT>_>>^>|>U>>>>dq>f>^>@>Ϊ>M>P:>~E> >>>4o>`M>00>*>>0=P=9='=6/< @轌{P ;pb=<>">V>z=$=X=s>> B>n>p>*Ԣ>$P>2>޿>>>k>>>^ >Bz>pʧ>>>p>t/s>c> x>La>h)>[=4=`;Ƽ@ּ2=Pٽ ƽ 웽 Q3޻9<.>Q>6p>;>&`>P>rC>? ??q?>pS>>>L>֣>v>>Zt>}c>U>p&>>5=>!>`==6=< ټ;bٽ8a%aUuy̲z 2U&$\.#;@=C>b>8v>v>p>i(>0=p>@{1>n>RҔ>>DX>2>)>~j>I>>~>T>*>V>7>XE>dJ>T>9>D>8+>>{>>>=l7T0PȽ`P@ε:<@"<(`P'(ȑǽ7ȝ@U?B; = )>>F>r>6> >H>=@Pξ|klþĬn0ڋHcĽRB"@;`&= v=8===ƒ=ͽ==`==0|=^=u>Z5>xLO>ZC>2>>0z== ȿpAZ0]`(KͽP``>XT8tEt-XMAcܯL3RpHt b$ d/P/мT=<>I>P>>~>>>ڠ>>YU>-6>f>==[}<@;===@== A==SDeb^޾;$t̾sG[.C'L-YoPD*󇾄Uk;Px`8>(<O;<<==>(O>e>,}R>/*>>=<@<]D=` =<==d>h3>HQ>`#>= Ux0~ԾҾʾ DǾ촸<|^r{dbȏ- A A`M9l"9~-[;l=t>,B>%Y>pwW>X$Z> B>2>8=[}==a=>L>>nj>>>>p"m>.>(=ȭ<1x~C8|:NQj[(Dl"І &<,PFQ]YqD4Xߴ𯑽xps#b<=D>+>a>.ߎ>: >/>\>ڱ>ܞ>@b>@lE>@Q>P>>ǣ>>> >>P<>#>ٟ>F>Vb>%>l>q=dQ><=&<=k"=C=`<>>a>>l>4>+>>t>d>>>Қ>H>|>q>$>>`/>Vѻ>><><)>k>>I>_h>)>=Y=O;Ϙ=K` l靽Xز+h't` Te/c1R>u>>p>>H>a>ϣ>d>գ>>v>`>m>z>@8>%>,(>⪥>xm>d>ˊ>dN_>|=@*=;p ;[};)qt}>\A>>Ɛ>>`>>>>3>>^>T(>?>>d_>y>Rӻ>x>>E>ʒ>I> >>>L >>^w>,>=?0ィ @'y,߽ܾzl X佀r9A=Y= =]I@/=X=h>\M>W>Z>ȑ{>@z>RZ>>ߖ>fk>>I>>=>>P>n">\e>>v >><=>>x=dmk＀A%(ڽj:l=^ >T;>0$4>X-> >=8d< >PI; =4>+>:>H5=====0>%>>`=]= ][쐾Ğz4Yh7Tξ~;;þ޿):ohx(,f\*pv\KT,pкн|3B#5 ƽ`𬽜'J*wξ>վ+о.8Ǿ˾n"Ӿپyܾ:־uǾؐXGsKW+t>_+>䮾dԾ|ھʾ5[T==>p=PG= Ҽ0Y,Xudwξ, 5H jھ2e4ƾGl&ʋDx>ӽPko4 S;@ `&< KT PPԔɼ@ʁx]>v>Ԉn>Hq>o>4H>>(==pS=#<ٝзDH$pzXZ0(0h½`ǻPYpb]jpLzZ.\aڽSP\E==ߘ=c= _= =@\8>B>.>PJ=7.P xS4QjG"9 x!)R~ۑr둾M4vXn܀nW5(Y;d.ٽhˀ¼q`͚4w>>2ݎ> e>P =Z;@To<~ڱƾ^ݾ6ʾײN>.y>j>Td>X">=[= <IߑPIH``ʽH8K8%WB1xк8}F>>N> Q> FG>b>ȶz>po>8>0=x =Dx >+>=>|`>t|>ʊ>,>j>v>^>>5> >x@y>>t>[>`)>f>`=E=p3=P<J>> Yg>03 >8==@j==/>L>}>N>ܰ>j>좥>[>L>6>%>'>\>|I>$q>=>d>>>>M>Rk>By> >W>h>>6>0Y`>%>x >p==>z=}=u= U<>߼%ټ(l3 >`>4C> \>x>*>^>\R>>2!>8^>2>\'>Dy>L>+>,KM>^p>v>>K>|>>b>>>>"X>=0x=<֒e>L>H >x'>,m%>'>|$>=ps=H=؟=Ȯ=i= d&>XN>\%g>>B> >z><]>\V_>HE`>O>S>u\>E>\t7>1>``>>XzQ>4O>`T>cM>h:>>̙>>dn>ڸ>J>ri>L> =Pu$ BǽT<l;Ƅ`IP"> >=W=v=y=>e!>؀:>P><>@>h$>==>>X4>$04>(pL>to>tbQ>d->t->؀:>(,h>>>[>0>ŭ>H>q>> f=< .=x=`w=*=@=p&=1j@,𞋽@`ݽ@Nͽ\ae;`?<`<∻~@ H $o4CMH-8SƽƼ":<`=?5h:d/xp|`fXa\+* R0`=)q=3#="<+X!3(y엾ZʔFx7 ._4 0_ dUʞLT|[¾aվ^s2RMzӾ{h1|4\I X\dXNASv0k<< _=H=eg=ЊT==@.h`2- r@\̛Ԕi`]) c;[}\N t e0"0씽03:`bX@lUK 2UP!N@ =R= =:Ц8r$0RYPnV#2>s>8>>>۝>>~>lZX>P >>p5>+>X>ȣ=1j=}4B>?>^>z= V=6!=l== B>>Z>>u> >>|I>rQ>>Ӄ>O>>J>pC>Zz>LC><>>>޲>|>(կ> > c>s>Rb>ؤ`>ēa>Lb_>%Y>V> P>J>(H>a>a\=ZHý8׽ppA@RP9,=7==6J=g=iU=׊==>^>lT>r>>J>>v[>,[F>M>l>z>(cz>\ɇ>?>ܽ>RK>Ʒ>|>죲> >>XKs>2>r> E=x^=q= v=D>h%,>\S8> U3>}@>F>a>t=@F((ý޽xǻ0U==` ->^>>$آ>>X>L>>r>(:>xӓ>v>*>G>->>4>Z>>>f>><>t>}>Ȅ>xz>+l> >>>v>,KM>d >X=8d<%=&@x<^<l;@N0t@{|jJ4 }pu=@;== A >S>,}>R>>~>>>&>@[>>t>x9>>4>Ɋ>le>x>>y>>.>i>Z>m>l>XJ>P*>>Է>T->8>*>S>԰=<@ؼX4ӽ@I,0UN'J<@c<Ti:W;5<`P=(V=`=P~=B==G= >|z>4t> >{=D>*>+>7>P;>w->P>ԩ=/^==0 =hIUO(Kͽ@佰\" IaKԴjxi{oPvɾ'ɾ$¾lv<h)`(+[iHhl*\i6@ HY^`兼⿼u(k L ԖMZ[xm\"t\00Pա0dJe ,iW̾R޾8很\ TB#`^ ǟ =¾Ϧ䉾(o?Hu˽ =@8= =p=P=;@X<ڻ@{* ^`e@Ws9㼀x;Y=b=2=La>4>hl7>$>(>@N=izpP䍽e=p;J= v=._=Ơ<O'(17!%|9tc^l9jjY4KpGd<(>@4$@FS!>P~>=@=p'{@P0=r=>l->2>>8==PV=Z=@A%< 2μ*U靽( oX(Re&]nv) I(Ñ#e72$@ĢZbX* *ycd\>>X!>=<13OP8.m< {@^0p S4SF t!  V[ҹ̾j&ӾJ׾abc*b.**ξ d<(hdCbpϽmq!<0Z=T>,B>HN>(^9>tN$>c>2=>=p=@=0=P = =8=q=>,Y,>`6>=| =p!4t;/^ .ľuоXݾBݾ8 վUľкWv`aþft<<=`'=+< <(=O>t@E>`t>p> B>/><;>Y>">u>><>2˕>> }>x>03> >>>>>~>\UR>,>">Ⱦ='ptb%tPx:=m=!O=0B=(=<`LE==pG>Q>>>>)>P>N>>8>$>^>g>>?P?"?P?hh?f >/>FF>|>~>*>xo>r>>>> >`> hS>0|E>h> =s4 $D ^`ug1+A꽰n(Ƚ`d@ o $=l=q=D>8<>Mc>tTr> w>Ha>81>`+>'>|kW>@Oz>6.> ̩>> D>T>[>@>W>P>_>}>2><>_>n9>M!> >h`==xO=8?=r=`]=;< .lH !R.x@ꁻұ=43T>>Է>Ӷ>>>*>>Y>J>}>>>ؤ>6>>>>(>>>8b>S>6s> >>,>d<>>b>>Dly>&>= <AA$i<](=¤X½TJv͟*ѕ,WH"ǽ@):C$;< =P=(= =Q=\>wZ>>l>b>&>n>>tp>E>؏>K>03>]>É>> >*>`=>ν>܍>\>x>4>ko>/W>8?M>7>8)>X >Z=PH=@ X2E\l@w`e=3K;`hi>y> d>k;>l>2>h;==藟==_=`x=R>>H4=`ϴ^'>H'>===83=Xϻ=>==2=@]=P~Q==oP槽H?{4XHdzІ8*ɾپ&o M 0!侤;⻫舾tlcDbrm/l(DP_,o$0(;dZ=8=8d=PK=P==#N>t>:==o=t=` G= <@!AtKkƽȓD3,]4 XX꾦߾8ؾiɾp/e$_H6P[3QܽFTpu=Q`,ӽPIr@[:|a<;n5l܍;<_==`=h=p=a===d=oм X(:սXx0iH̛@Ͻ0(삾S=jMɾ8۾ҩӾ!>>X=8 =)=K>M>|:_>`=>x=[NrܱfM+H -DN>󀾰ؗtPhpt0 ߼ l`Ͻ؅hǽ@n_;H=D>@&> >>4><;>U>wz>ʮ>>>r>l>s>>\ >٘>̏>@i>\a>x @>*>.>`r=?P=@j+=<@,<@g<@O=x=:p=|=v=(Ŷ=.==@=s>&>@J>>>d> >l>H>N~>`Հ>>J>DW>>n>>$>4>>A?? ? ?U?xO>>>>n>>l7s> v2>l>>@=P==`&= x 9p y<@)<;:J<=ĆU\>|>> >ڏ>(>>>զ>b*>>1><[>H=;*=$yǼ@)B;=y= >\>hu>xa>l5%>(= y<ټ*U*`h<=2>]j>Ì>f>`>&ֈ>4>=m=k<E=>o>p@>G>Ҹ>z>>[>>>>>T|>jH>>R[>%>H>C}>W4>)==j= 0=!O=z=j=P R==p= y=?===̉>=8e==XE=>x>T)>,>P4> !O>Lw>>>ϫ>n޺> !>>>g>0~>qN>,>d)>f5>@N>=\>|S>tP>>r=i=;2w@ʽ C@)<ؗ=ؒ='==Ѕ=4=` =%>H > =Y=͌=`=@=p=$==e>h=X=J=@ PnؽeN~y:U"(`<7DdXu@dhzp#P<0,:`P+ܲsꀙʍ~$.ΈʄmFv<=b5s4I6#*`,56NQYtMhW1ٹXڱZ1,oscd:ʾn\CپH&<$^ 0Dwꪾ¿*ϾľxZuujLL/s(k߽tH_>UX.PPS=~=þ=Z=gW=w=X==8D=e= ==qN='t RB̥5 `šJ Z솾~.plidO},_Ѝ . Ӽ@<¤;؝Βe <@=B;SМ罘 N܍  |ż`<-=Ш,=>Dsͽ 1x r2 ļVJ<0B=0== B=<V`P_lȳ!ͽNhi3*xJꣽ]PyBp22-<D= ʏ====8Õ=о =@ڸX0T04)^~̆2<殾\Hf_7HーKo`<==C|y>puB[p&(Vpr^#1cM{g0i(@W=@Y=d=`<V13W\@ E͌/Jh3/^"Q\pd GD0뇽`t@LS̬,QcT丄 8kͽP#@-<@=f.=w=U=f<=?<  H0I=h;=>K#>1>#1>\;>X5>%>P>=`h{_/b3 pӽ۾` @9ν䩽@xr@&ڏ(>h/>$<>@>x@>XB>e>>R>6>>;>X>=&==`j=`֮<^;@@b=>|M>+b>xpd>e>K>>Dg>$>H>t>+>G^>p>{>Ȓ>> U>k>v_>0>$ł>P>1=>?>t>ҥ> >#>bP>>4>>li>>$>*>1>>42>>:>t>X>q6> >'=H=zp=B= = oz=~=8=>8">PK >=۰=ט=(=0v=0?=N=9=X>$>/>g>=!=!x w@kr@z=>pN>t>^>&>>z>и>4s>|B>@= =@@<( /'PxO>_>,\>ĄA>8P>P`= u=x= ==j>H>JƁ> >|>r>Hu>\T> >=PG=P6=@6=8/== 6>j>>8+>>><> >H>[>D͎>>.>淑>l>[>===;һ9U<=P >85=E=mѽ`ZV<=0~=>xoW>@py>P>Bg>x/s>Q>>˷=0}R=@mR=`==4t>n>`=J=P==>>&>'.>Щ9>Ĩg>V>f>>>,>>0o> I><;>H=薒=p=P>`O8>,Z9>>Ь=ߊ=<ۻ[euQ"==;>~m>>(cz>Mj>0]>AA>'=C[Ȱ:,RNXg1)Xx7JbP|D2DT},\H.0!8pOdux0i8DT 8bl|>@H8/-X*<݌JH$@Ahb4^:<j@quxK6 `l7!<7W==ܟ> f@>>= =`<#<3pM(JXX@[@5gл߼r޽_-h ӻ&=`K8=p&=6< 䆻߼jCPPOI,HlBd+F@q0*V։i{D(P{*$v<ǟ=H>p== m`=@D<؝лLwoh}j'\P6pYx,̽es`䆼;+<0`TI\ s`]\M=1#*8XzQ}NHAȍGHaTOH*<\8R@<ʝ< Pk ʏWý@ D#>2C>D6@>D >=`'8iQ精xyXvѽ(p7s觘@p@/%;X==p=Ǒ==h=;=6aЈBAKV2>T;>9>*>x[*>6>\ge>>f>M>“>& >r<> >W= lS=u<˻Dر`/z ˜<,=X]>>+>?}>`>\B>>>T:>{h>R>.>>VI>>>V>>`t>F>l">0g>w>x> w>>bp>v>\>9>М>~}>*>>y>d<>v>&>w>蕹> >8k>h">Xߴ=cȝ+;O=> $>6>o>;=h=>>d>J> =t;> >H>h>>E>i=r=<@ ؼ;N@->(<>[>@d>x?l>PNf>_I>@/>>=>=`*<@x<f8 P/XdJ`<`r=H&= #>tI> 4;>6>@==xm=X=>8'>xO>,}>>|>쳫>Y>c= Ž<[ѲT>$/>4g?>D>L[>z>>|>>q>>FQ>;>L '>4D&>`>2>H">h=p=pM愽`IgMR<}< 1 4!XYMз=|">lb>`Ty>J> >z> F>8 >=T=2=hd=P = >06>xT>tV>(>`=^=]=0=>1=>,q>"ɜ>(>p>>r->r>5A>r>=xƧ=H=آ>(">\v>@=#=-< `CxzX퓽{Lp=Po>.X>s>>04>D݇>Z>F$>&=Z)>@6 >=n =C;04 ջWӕ;07=0y=p= >=ã=/<㷽1DhiL2܁{,r [!cWH"н@ bp@XؽV$k,p,ochk81n dz[LHh; 0,.\x;*PA=E=h>>P^=fJ=<ڼdX{b(X솽2e;05=<]l%`P]6R< =Xۀ==@ PJp`aH)Qov⺄@tJQϾ4ʾ֬|1܁{Ե2ଽP`@=e<@n5P~Q(½t'a^t`Slg{; N<<`ܼ?^3i]@c`\A%>V<>8O>_>4%u>r>\h>Y>h)>=(r<8A?,X&luY>  04Bt`7Jѽvpt0мgE<1<`<[=<qü >6<@j0U=h=T>7>k>6>Y>Dx>^~>>nc>>>>> >tp>X|k>@A>*>s=0\=A<_޼P?z1x(=2>Юz>o>ij>>ƙ====> >-> >B{>o>nU>:>>X>t>E>ɾ>R>>Z>V>>>DG>0>>B>V[>R>?N>V>,>o>d >շ>(K>d`r>4V9>=pr=Tj0w~<0== =r=7?¼zb;;*= k=m=}=xI=0====p=P=o=p|=$=@g<<`!3=HQ=ȭ>XU>q/>5A>R>oo>>O>L|>Yc>C>>=<@PP>u> >>>Hh>T.>H=Ǒ==t==`)>S>>>*>y>*~>,k>>T>>Th>X>L>@>*>@>4t>B>X"=x=2\=z=ȝ=<9$_s-S?v,J@ҽŅV.=U=`a>>P?=P =舳=Ć==06=}=(b=1>3}>V>4ێ>p\>)=:=>e>.$>:>.>>d> >q>j>K[>'>)> hZ>Du>p>z>Pn>0;>2=Pk=Ǽx}pG ` 132< ==(N@>|y>T>Ԅ>I>P=dDdh@_ =>,)A>Q>F>%>H=n=Յ=PI= =3=ϟ=O>d^$>n >&== t<@XνdZ$IPTXTZ4hXvϾ)Ҿ(ľ6ısHiTufpqуoq $oL\NwBS;Dw1*|/h$x qL)/ʻ'wɽXP8FʽM+ppk愽Pݽ( |)YbpxǾ\;x־vݾ"eƾ渞Q"ԥ㟾֑Dh$a,+⽐ޒB`geν R@=6>d>pD= =p`=(=< =Aj===6=@>=8==HT>3>>> =?=OмJ8,􊬾*l򋟾&厾煾XdK8վRb龶;lԾeξK¾LD358ցu\TI%tӽ Z@&00P[pǽ̚2P[ vf9=jb=3<`,Ӽ;bBt޽6(,hXaKLqKec9" L n_¼B$e7&靽(ʽG½X̔ѝ0$ꈽ7ɼrilQ 㝾◅G%H~d~xhX k >>̙ >p/ >t>ı>R>1>M>S>`V>W>DiR>>>3>,=>%c>z>P\>z>~h>x>>S=ýh62,.t^8˽x ڽpwIe &f'Qn(0CP9,Լ#9H⿼=H=hH>D)>;>dO>)q>><~>t}>wz>@i>>>" >>2i>n>ƿ>X>>aq>D)>r=S==#===t>XXE>I>%>H==B߽ʸ`[=p>/8>Bi>1>pa>>|>V>9>> >Z>R>>E>> f>>P<>]>l{>,>¹>l>,>?3 ?h?l3?P?.#?>٫>ׅ>J>>=p=L>L>K>P(=R<&.vJf<Pʽ@<<<<Ⱥ<M=>̿>!> "(>pa>=Ѕ==$=>>>@]>qU>|Z>r>r> j>f> WT> B>^<>*+>>T >.>k>=i=(=Qj=<͚-1[ B@Ǽ ͶyǼ4 Z@ b=8>oF>|O>?>p@>=p=x=f=̬,>Y>Bw>|v>>>v>߲>ǫ>?>j>:ԁ>LBm>^>xh>R>^>V>l>R>0ks>X[> "U>Q>U=>>Љ=40<ĽD橾ٟFܡmhAP. e; v<=p=R<`< kF==x6>]>>ɑ>9x>d,S>WB>4>FQ><|>w>ڞ>d>L?> >$ >B{>>z>>b>+>>>⼸>ߤ>}>+>hΧ=ͻn 0] 6b@<)'8޽G½@]&܍$`>T>S=Y==P=\=ȓ=;=====h==O=(== K=`<Vo[ F@xh@hNf¾ ž0j̾Ծپ߾+㾸b ݾTϾ<9{$dN_xMK(.e ,#?|ОpٝU ,((P:pc; <xS>(N@>,>= Q<9ȼGټ`< ʏ= =>,> ;>TJ>T^>H[>5>_><=50=8ٹH4ڽ ȟ&5A举Ahw @I Tþi\"͚|=8=H>=y,ӽA2|ЛZk.x]Dl%`jf舾ׅVdqxHIPMd4 8$$` n <@+<<)<B\Q\ʽ8dHʽ@NXR=<=!j=p=@=pWe=`=)L* 7Xf~?*)iq_h ˉgvE0I@֮<@d==p=== =5=D2 >F>)>L4>->(!>$_>!===V'>D>u> >>Df>!c>lT >0=@6ȬL|b: uY=Xh=j=\髽 IV݀$,v2wI@j+p/D~9t< Ͷ13;t=f=8)>dH>8[>hc>e>'W>G>DGF><[> {s>z>y>(>T> >Յ>}>r>Dd>GW>P N>(B>D>>8> >=Y=>-D>8 H>:>l'>^=+= f)@<==0>\Gs> >>N>4>>J>$>>J? ? ?W?f>ǣ>B>>Lٻ>>r>nc?n?/ ?> ?+? h>>d>N>n>κ>u>W>l>rq>E>4v>^>h62>x=7=zb]n ɽ@WWIxŽ'@]>X> >x >T >(==ā>G>N>3>L>=0K==?= =>|>T>= =Ƞ=`{=t=Ō=^=h=>XS>0=v="= ==@OyUTd캠<௘=T>`0>8cs>>>>z>r>Pq>n>D>v>>ï>>$>>~>9c>Z>W> P>?>?> V>i>ta> c>̰`>(5>x]>8>=9=Ȼ`` G:e=pI._P@Fq@mƽM`p=\ >6>XW8>%>l >l>>>8>e>n>Z>C>>>>"/>,r> V>R>h>>ra>PԔ>6>L{>_>2>=該==D0=@m<`<0ff== ʏ=q=0!=@B<˽{8ý{a@H<`<=k=X=@<41;?<`}<< oz=`=>=ȵ=Hy==h=#=^=C1=E== =:M`(HP]@7.@p W,5;vdt=qMXux ýBb%R՜[q`UHdE@gB`//lDm3>@}K>L>L4>L`>p=}=<ۼcL$ϑ?YX܍Žl -/Bd[~𝘾ISվ6@`۾Ǿ&^hsp]]VI|M1qZ2ݨkxg(OM0о@@<@<p==m=@a< >8bD'<pVX` @?8ҁКͽ]Ȱ,7B5"ͽ8Sƽ@齰 *L0Z ľ'оƾkP8ʋ޽BD¾LǾhjmU(kVPD|i=7w5_hXxlf\t70*ШPiHp@lЪFpA?ĽX"@4;lT ,i%]!#F"HC@&;*<<0FtSp<8=@!>aj>9>Y>2ݎ>J>=Pt>=)<[>( O>B>/>>H>l >hX >>>x)>4">>)=M=p=[= 4 @ȱjΠ %@|<=@!=@<@d>">$;>8b>L"{>>z>~>ld>׃>,Y>>>ޭ>n>2Q>t>>`=>vM>V{>4>>8q>{F>ȟ&>Dy>>A/>pV>~>7>>0>ȍ>>ޒ>>>>x>>~>4>`@>d>n>>Ķ>>>R8>4>M>h>==P==D">sP>0">>ܒ>>8 ;>=@@<`;w==>x>b>(=h=7==0=n=`S=P:=@0ѽpR$D؀:lz@==P= S=\==<<<`0=/=pvJ>z|>>>zӭ>Hd>أ>>>%>L>ͦ>8>L>m>(o>p >oB=`?0=`),f:=`=8`>!6>%=>ā>Ҹ=v=@VgIu$۰8'< i=0O=P)=e=Ї=8.>h>>>\>g>E>L>u6><^2>A/>P:9>D>dO>tn>nR>->⼸>$1>ދ>x=<=h= W>P>P:>F>x>>؃a>>= ==[*=`-``"K^ku\HTednswbb7$_`AH7Xu(r#H P&=Ơ=2=.= C>>\>>̟>|(>X>>>"3>n>T>>l>l4>8=@}=3>\;>`Ň>}>к>>`Ɣ>ء>t>:`,id4}6:=K|>p2f>ݶ=f&ׯþl1xy0=0>e>`>>Zi>D">}<ǟ~潄 q 8%PN ,V|41ȣڽ@d=('=x=h&>w >x=:>`>4Wz>"J>=N&o#$p|(qYXbʛ3ʾڽÐPꣲ۾ Y\)Ȯ;Zۚ`{xؒ.:ʾNǾT ȎHپ쾘3:ξþXо뾊mm1  VFdR cbZ' rbѾ@ڗ|{J$P&@)wZf|ӾBѾ$^t<@J9 $==\H>>>d>亞>0͕>l>k><>$>==>XyD>9x>r>ޏ>>{>R>>8=0=== >\)> )>X=:r>s>>g>rt>ܿ>>L>~>(r>?5s?>?^??e'?] ?+????nc?|>%>b<>Vߚ>D>>ܢz>l>Pk>q>o>(9>V>Vj>>$>)c>Hg=9<r z'>>>>>a>w>0Y>@> w>L>L>>>>܍>tz>,>j=(=>#>X$&>9>|>8_ >1>f>>\\>l=B\D>X>>Ɓ>>o>ۦ>">>>@ >05==@==XV=`{<l;;@h<@p;P^ڪy/?8D;W\hrиhMԾپ2վӾ\׾ZGPo˾|Y:@J du99<@Q`"XTŽ C'EG6+=_B>ܵf>J>$>(,={; f0bcP]Oмd`:^5@Ox ~(olbPcIxWtŚʌ۲6׾Nsw )J ^e@Ⱦl#JOJP.}@z X,$l4LgkT^==/>tAHeR\CFk`^&=ǾxӾξhZ߫>b՚ 2H짾޿XE2B )rTP.8>վx^ѾFξLǾ"Ⱦ ׾p2lnξHejd+F~.Hiq!x)c;Xekƽdؽ&pݽY@?9#оD-d,SVC ջ=r==`h3.Hb+p`Y@Jc~>І>>~h>H1>*>VЮ>J>t>|Ke><,a>Ь`> K> 7> D>sh>H>*8>V>|}j>O#>==`4=PuK=s==D!>>k=f===@=pA=`@=ko`Xؽ@뽨SPXJj>|&>x>>B9>܏>>KI>LP>(>= =#=p=W==`=`=@=l=&=@@<JEṽX" ?`н'ur09S<Y`0g 8!x T;pM=(=4= l=P;F=H=xa=$@->0d>0>[>>>x>>]>d^>Fg>>,k>>>.Έ>V>PO>rb>I>R> c>_>Ԅ:>==$=8r===` a== >`#>ܣS>]g>CI>|,> >>[>p4>;I>h)`>=c>J>7> >>0> I>>#>n1>V>>Lp><> >h>2>4>?U ??I#??&"??A??,8 ?*?.?*?z|??_?^>hK>>X>4>d`>t>R?T??? ?>>6َ>&^>p>}>ġ>>>i>>X>k>ض>r>>0>b>4??">Rp>jf?E?I?><,>ڸ>\A>`>^>6>:>α>Ĥ>d> x>>9>rB>>r>0>Z>p>>RM>>>rr>ѫ>v>&>2><>XW>RJ> >>>>>J>>dPy>F>}`>m/>s=={= 3=02>`=@=Є=8==x=@=>0=j=1߽_== >X=y;pH~H>&>C#>>Xݚ={}=`Hݽ=,U0 y=ȓ=Ƞ3> v>E>s>=`üGWVޜ8jߓ4씾Dr|[ u_ 򮸾^ξ0%D%Ծ\ H><۾BϾ樿&曾ᖾhʾ=JP e G5 !w( Z] 7 t %vؾž̾-JѾfɾWɾ긾hi˘1n10EڐqǾB&ǾM¾˾gξmɾPо~B/ZBݾز uTǾb>I *#h"fHxpw`pe˾;Dg󰾐۾\뾊rf&Dz㦾<:(^HهIjl^P$ǜbw}JO 6?l˚fЍ("t8վpe޾bq޾*p澄TѾT۾@Ȳ־rdѾ<~վ>վxȾ;Xp̰`'8 d570Y`f;K`L)\/#˜;W;@~Ō9Ƚ{u0|Ž򪽀xq= k=X==Ph@n߽lV8t^P?B01/1 E4P;F`^<` ==9H=@):)< }==X>==X=O'=<] V.=` :=p==0h>p,>x>j">\>9j>o;>h>(^=Pt>= 3[=X = X>tw>>@q>ڄ>υ>p>">> >˓>z>>z>Y>hH>r`>>>@k>|V>HFm>D>>L>>V>Xu>dLE>>hY=Q=h=<`O=>#=5/=$=4/:滀;΋=8g=lf>E>w->0= < EcM/=_=4>@)=>=j=@c<q3<=$#>Dz$>>=X>H ->(>>Xާ=<@Y<#=+=38X-4.T%3\:` \` p pfH:<I==6=ދ<`< ߽6`h=4>0V>L>*[> >D&{>8H>n > =wɼxͽXνbۼu!<Ģ@<[ XH0Dڽ[oٻ@<?==r==(= <];}0kx=P=i==@k=`fX=h;~C!L< \= @>>`qD>[W>ԸY>FS>:>tM>p= R<AA:*~Nʸ =L>=>f>8X>?>ս=@`=T0 Cv\<`= c=(= >d>sF>:N>AA>e>2>$r>qc>LdE>0g >=邼寽艽p0=T6>\V>>k>,>3>p7=|S=p!=]<ɞ;`K0(@. >߼;P=8 =x8=@=` =@hнWPK?Moadu\UR$ wƼi:0=o=<W== >G#>== >0>P>L>5j>+>ӝ>җ>8>0b> ]><*G> f9>|>(==U; =0 =@<z;@5dWIս0Y% `Bк @|>XW8$7|'? 0E .:} =y,t->K#>ȥ=̻7I= >y>>Dh>>>K>:>P>6>|>lO>C>$5>pS>T>D>(>H>=>xN>L>=T0=H#<=X=*==>x=|=ǭ=@<7.;O+$ 7>+>={> 0>|b>y>v>(k>X>f>@^> c>q>>†>m>|G>>=Ht=qN=@%=`==*J>xOe>A>p">t &>>>t={=u!=h=06=Y:>Z>0U>P>>>@>>P>W>>>;m?(>>s> e>;>X}x>|>4J>R>>>ߘ>蓟>>ޜ>pP>X> =@Ws=`=b=6=Pp=<ϘI;;<=t >=<Hѽ Eug@G> l>1j>{Z>P> >>,$>> )>AK>j>> >">>>.>>:>s>L>$>==V==G=B==w;=@Xp3?e47 @- 4د HpMpV#`a8ヾ*ҢqY>TN>T:9>l>x=@;=h=x=@>lZ><>G>d]>f>>ʰ>@>>b5>`B=p@=п=y==h=u=g=PT=;@B@)T#daӅF]g_MPHpH<4^"h T`?޼V<[h{x8m9XJPDk~\pu.:s18پ ɾɾ촸EԱF4fܾ<M)L0>l+ ,ɾ Rvr^6nuX^(WH0ݽ@Ѻ@<0c?=pi=Ļ0ܽEsaؠ\s|'sdZWhdDh۾߾>۾⾮߾Ⱦ*P~XEԄžپlG߾.|ž(pf3 Zǽ'׽ }{K THH"ǽRHQ=4)>>>)>t`> >0o=y;J``Ռ齘R";Q= JG=F=P=<`I<@vfD>h\>>8>#*>*> >=8W==Њ= ==p=0ͯ====<$=Ps1=u!=0V=<yPLSȮ좽 *( ᤽pXr@м

    0h= <@@塼 :(=F>>> >>p>05>5>dn>$0>XG=8N= K==>8Sz>!>n>P>=qN=ͼ佈p) Bg;5<] \ɡ0ܑt7PL.x?˻`<0ff=@LS=8N=h=(==i>(d>Ӆ>$=>">pP>>p>dp>NG>8'> >(==HW=X=<ؐ< =U=Yc=<Z1`I'׽tLqHl 5hYx.=8˽_ Dd7>@>-D>04->c=xN=<;>j>ɽ>>.> >^>(,> >Bh>>>,n>G>>վ>>I>\ɡ>"> U:> = =(=Hx=z=y=W=A=>(;z=ļ`nѼR<<`C<@x<;0=P=W>l&>P">> ==@=|H>Hx>Bw>>h5>В>o}>$\>\N>XA>tAR>S>vL>#>+>l>H >=0=&=Щ9==9>z>{>V~>Hr>P*>0=K>U_׽`#M >,>#>+>0>t=V>k>>P9>>]>->}t>c>C>X>r>0V><>t>x>V>$>p==>}=!===ؗ== պQpM>ئz>S>>`N>>$X>A/> >k=8=H4=0=>Q>DH>Ю=8= $(Ō,< *=C=&>q>ov>\Ff>0> >0>m>ϣ><>n>:>b>04>HWs>K>L >=$- >`">h->7>ij>>Еt=LXv ݽT7|!UHbb} ȍ hPx^QC>`a|f;4 >lO>@i>">t>u>9q>wI>Tj$>`=b<H@w@Ǽ =n=&>(Qg>0|>!K>0)> >@=m`" )>@k^aHv'PdX<=>>,w>>}>"Q>x>=<$ f`Eټpϼؼ TZP嚽(MP'0f<87܎0w"JrUɾtv9܁r־TЮ+(dI:  h5||]H Dk|3߽+}(;:`Ĕ=^==i=Ҹ=|<"弐P]8ƻ@cp ,߫^꺾r NTДb՚~4"r1оD⾊ܾh־ҾĐs*8գL~xز?0!DDU%`_1lЦG;p=>8=H=ؐ<}(pt&)XݽJǽ'ɽhǽVPx/XׅrNMrbþn;Ѿ*ʾ̾;ʾZǾT';V^ٴɷ>@~!Y* /L#Q/@o콀󰽠d tQThJb(PZ4"Np0؁ǽ!𠥽6h%vξIBlG$޾6uҾξ̾1ɾ8þbϾ;Ͼf:̾ݹΈ!쪾̾B* ܀ K'X5@<6;{7@ݽ$$ 5,=|@2+] $)$1(Hv y.j؞̾; B Ah뾼ᄒFKHjx9jy–H\Uxo׽{yc<+==0i%>5=>31>7>e=>~2> >؁==p=Y=p{=d=ѝ== >&>\0>0>>/> >>>=@,a=MR<`*5<Ģ;}ͻ0BeE@ItȽ_ɽ켠ǟ<`I<] <=z=:=(>^>NO>j>>x>>>>.>->??u^?RI? ?,?p.?3?T|7?34?5(?X"??=?p?y??H>=>p>/>d>L>9> >tz>x> {s>F>l:>D>>2>pc*>DU%>(6>R>>I>>M>܀>>(>0>U>z>>>>d>0>n#>FX>$C>G>g??!?'>">>v>f>N?Ձ?h?;? ?X> >>V>d]>榥>[>L>>>>Ԕ>>>i>|>z>$>N >y> >>tغ>6>>xO> ?n>Z>2>">>>j|>>>^>>>U>>>F><>>,>r>><>'l> L>,>H >>\? >=H==xl=0;T=U=8=sv=V=` G=p5Y==(=0=@==X>5>\V_>|>n>>>>A>۶>z>H|>P[>,+[>|>>\><>Zb>x\>4CM>T|7> />8>=0%=%=p?=]6=PW=<1 5u>Rb>b<>)>7>:~>M>n>>>>6>D>HH>E>HI>fb>Sv>N> >D[>)>8=`=)݌[*t@=`F.hHL|vMHS %PIսU߼ =P\=3>Au>Ҧ>0>_>9>pA>R==p= =P=hN==

    @u>,k>J>hA>Hf+>>X4= =`<2=n; T>u>؄>\h>@>W>x=h> />>(կ=8=08-=<== $=,>'>D)>PQ>>>h>XS> =@=R #b>n>B~>j>dl>>>\.>}>>.>N>B>Q>r> =(=PӇ=M >~M>h%,>>$>%/=@He/pE> X>L>H>[4> >=P=h==Pv=Bw=ϊ=}6=@4Z=+==pu=!<2U콘[X|Vl3P4|ӽy݊y8\Zp@LVh<2 DMWI;G;xYh܆##5lw򁽀/x^Q,os:X 0żHֽx[xoѫ܍8ר"s`žǾ ž43ԾӾ!оHT0\ 5?\%ʌ-M,J(KsXzQ䕅(ʾޏھJ\rVOվ"ѾnfѾ`ܾVZ߾:ݾپ 6rH"45H=V;J0!S&0 pmx22_x|4 /ؾ \/V|\ktsWHwe^؍4 踾̾P𾖛׾Vʾ~Fvþ̾tþ|&ދt^;J0Ⱦ.ܾyھ꾾a%2ؾ0ʾr¾Jž {ЭU$&r?پ}dx`(@hԽ(]ae1D#0k@7`<`a=n=J>45>_><>Bi=$>r% z<;:a;LZP 6 N̼e1;P^$pqT`{}\f h½rЩ9=l=`=<@&J>^>[v>D7M>>Xd=亨((뷽r;C= <<<@6P A> gF>.~>V>@V>a>>˂> G[>d>.C>">p>>>$a,>)>e>Ы==h'=@=0K= C==x=&=:=`d=<;+8@,a>^ @N<@J9=Ht= >=h:==¿==x~> >(>`A>d>\>D>>@u>`>>j%>HC>,>q>e>/I> />>=|>->>P =0=8O>=I= 0==|5>>p@=`j<ozU!0C .#"0Ͻx[5=@<<z=X=`V=Hd=<: >o>%>8p>hG>Ӝ>F>r>j>|'>)>ta>䈳>y>>f(>l>淑>>^q>t>>$ >>b>ji>ԙ>:w>tz>go>0H>2>@8&>p>@J=N==}=@==D=@ ==p=@pN>gv>hLy>z{>Յ>Rч>>>@>?>>m>`M>A>>$,>Ģ>h)>,V>k>T>hp>>Ճ>Y>h@>JN>P)3> !>TX>8q> 5>>>~9>!>P>$> >x>= c=lؿ Tڽpx f8_j<>Mc>m>z>>jV><>J>`G>6>h>H==p5=h==/>ؓ&>L]>؄>8ց>nu>r>c>RG>W>=N5=@mҼٽhO_(&ýL0v=X&=j>8=`d>=``<J4YC>M>w>\@>l>>{>ӽ>jΧ>k><>Ѝ{> r>\>zT>2>I>`^>d #5>>0===w=;`nؽ lŻC;`4< e><>`dr>LvX>+P>T>%>x(>>=>Tq>>>Ԃ>M>r>f>Q>/*>G><>[>Ж>P4>>=8=XF=P== +}0⽰ J@%˾߾^62Ҿ>¼5Ԩ`mbXag}L1gXaa9$q%落 PY`==ph==@4=p =ǻ`k*ӽ^ `۽wsڽt @X<+<"}6`躽 !spX˽ 웽1bZuN^$蛾wOh&H X@p \==[>X=>|;l>>0|>lM>L >T=g=p߭=J>YN>>}>>>>%>e>e>Dk>j>{>^>D>૘>6>̆>k>(pL>>E===Щ=="=+иʸ0z0b2NQ ã`n>U>f>>w>dN_>B>lZ>Td>fi>0HZ>LA>Xh>>eG>\V_>h>Y>8O>\c>ttd>80->9= J=p=h]=peD>I>.>br>,>V>Ƿ>X>9>m{=8<<`<=I=x =L`>h>>x=~m=#=*=<<<w<ͺ.<:U=8=܏&>Y>d}>()>J>0>0q>~>>Յ>o>bC>,|>`U=ڿ=h=m=.==RN==`=|y> >=X==8=sLH`5#Xy[0b .<Dh=0ځ=&==ȳ=d=Yc=P\E= C=F=D >8>}!>Lo>h>>>Do>Y>P->P>2>{}=`=<\r=== =B$< hǽYq@gs<$=Z;þ DZҾܾrRؾ8QƾBX0XX_;kԼa /'"<V`"@=X=>h9%>ED>,b>:~>phk>8B> #>==>,>&J>]>6_>S>M>@=>>==_=Pp =Bw=(=pS=߹᫽@Wf0˕CPO&ؼPÎP:==>0>(H>/e>Oo>s>d>p!`>uc>d&>=0=P= =H=0=@ H= q=}=hX====>t> 2>P>`Ol=3< /L<@@&=8/`09DgB~K&Ây4ffX'7#=h>@j+>,LZ>e>`]>Q>>h=(V=%걽ۼ)=ڪ=R>+b>ԉ{>(e>=>(=>=8d<)cT'N`žijl1 S;< NJ𰞽9`cJ~iP` `<(`=O=h>t.2>l>I>趞>>tb>>> > "!> =yU=](=b=E== >Dz$>B$>>>;=HF=P=@gshU>yt>pN> >d=@TL< K@{1>AD>ЫS>,\>|9R>T)>>>c===>=8@==Ic=[@kX 8tE0oK[\b$# EȌ% 1A8PS $_rP= P|P NJ!hXݚ`你{ xkXt9h;& O#46 VH]x\p|ys} .`ؐ퟾Vi`Ǿ ޾t?AKM^ , : վDly@q8ZUپ6޾6޾׾ϾHϾhǾ2ɾ׾$AԾ̾XԸYG(|0<۷===ȁ=И=q=<ܼep=a3>>h>>t=>e>%=>0= =>=h\={=l3>W>`tk>\ɇ>Z>gP>>= p="= »Q9L<@:ttz4!AJ=gW=m{=ȟ=x=P/=u!=Q=b>> >B$>->%>a(>h >8==>7>Dd>v>|>n[>t=>=%=3#=@c= F=$;>Թf>8>t<>>>V>h$>P=w=`C<zš@<0=X|={>=====@\=Ѳ=8=Y= ջ! z>Vz>>d>>]>>6<> >Hx=v=p[=x֠=Љ=>W> =d==6>=A=d>{=p=!< 0PH o<@<p&=G=b=h9=p==T>%/>8(>L->l&><#>КM>r>8]><4>b'> )>8>>@|>h&>k>">a>y>_>H> >L+>7>V>m>hJ_>O>'=p=L="= Ug= )= =u>)=E=PC'~ios;=(=x >k>>H>1>$= >>\A%>h62>H>l>LO>૘>ڥ>>4>lzJ>7> >">)R>>FC>2S>|%> p>$V>rb>P>@=>H4>>|# >>7>$E>,>=>%=`=n; G<=p9=–====`U˼hh@<@P_>ܝ>{>+I>dA>1>U(>xG>R>A>9>>>\vQ>Мg>D\>TP>8>[=h==0=>$>l)>L.@>\>|H>-/>g4>t^>=Pu=0ێ=@|=k=hp==> >={=w-=dm>궸>|>M>S>̿>b>M>h>0>s=,= <`=+8>z>P>}>2C>g}>h0>L>=Py==Ō=@\SpH[3B4c R@`>>R> Q>>и=v=ѫ=P =T>xH>$1u>=>Ԗ>œ> >N>>> >h>>ǟ>z>:U>UN>\>w>Gv>lGl>d>d=Y>D>?>:J>P:>$>j=Ռ=);0=nxd} B⽈矽PGW;Y===y== =s==H@=X= Ͷ=== >4!A>j>>a>z>> r>$>x~=@==f=@=ij>V> >\>>>y>]6>+>ȯ>H>X2>=H=< m`̽4 ĽpS @N;k`ݼ(+۽,8-a/`GLiXU?0ĽxÀ` _۽xO彀bbm0l0|i H+(V#}3vyU%h \U3YjE,*ӯ ĺTѻָpoFzȾuھhmd[߾ӾDϾd^ؾPqb(վʾRluxR{n32Ⱦ@־80ᾎξsǾҾپDBݾj{׾̾Dվ,n! d,0P!Hil>&-ĔԾc,4վ]¾N{_2m6 V{r-ωRx`?J.@Z2d02?0HZkl}r@΁ R?8eGU̚˾8ݾѾ˾NǾͲxΉpNO wپ`@x&Ҿ<5fj%/ ޽(㽈oнͽH[}<5<Ѳ<7=0;T=@C=(=P8=3< !`@N>>>h)>>=h=oB='< <@d>< %/>|kW>FS>>hn>F>= I<&V8޽8Ƚ k#<<=Y==#i=#З"|(p Q`;=t=>>P=p=3=M(=&:pϼ@HG8=yG>>b>>ΐ>`>8 > =0 =yc<@<,>#>h=@LS=P==p=K>> ">ȡ@>J>|mq>F>=>>L>(>Y>G*>A>>x~>I>l6>L>/>$>X> q=@a<L@A耳սʝ|<&=,<ҏ QXj_྄3==P#>,>2>jJ>N> Y>@b>o>phk>(_> 4h>4|>>>S>>>8u>^>J>f>1>8 = =h=0^>o> ܢ>س>\>r?>TV> >8u==GW=0e=`š==|i >0#'>j.> >_>9 >L==$>l:>%>̾ >>8= E=d"==x >;[>1>9>>>Np>@>_>>Ɍ>^O>|ϓ>Ξ> >>ʞ>>>0b>&(>P==@=@>l:>*>6!>">\@>L >x(>>l >>-==H>?;>hG>>(n>D>n>xm>n.>>=0== %=TN>>(>F>??l?G>(b>>>dg>2+> >h=k->tB_>B߇>pd>>R>tŚ>'l>ps#>==xO=q=0Z=Aj=켼BcMo;<\z<Ȍ=(>|)Y>0>>>P=`>`/F>?>l]>g>_>u>jg>r>.>|>ڸ>q>c>e>}?6 ?? ?n?`A>ji>m>rƍ>F>>H>Ћ>t>pg>DU>->=Β=p3=e=.=`4̼ X@,@}˽`.mP#==h==>#8>.$> >>l6>$s?>8>\o>#>R|>2!>B>;>NN>.Y>>F~>dLE>7>XV>P>9K>j>u>>(>,>&p>d}>>&w>e>d\>t >ԩ=0eY=c<+8*xغ)Ͻ=XC8-|)(Kͽxs(o9ܽhཨӽ`oaN@lڽNyM3;%=@>I>.>v>K>>>>j>r>8e>?1> "(>HDS>u>>6>(>V#>tt>K>0(>4!>>H==(===?= >$><>_>a>+>>>`C>Y>Q><6>*>> >LJ>>v>̬>2V>>N>X>|~w>ق>U>d>t >>6>>K>> >dOl>'>R=h ==T> E>}>ͅ> q>-R>m3>d~>q==pA=E==D>4Vm>>>>,q>HE`>2>C>4R><> >BC> i>2>>@k>R>">">Xi>7>>仫>Ɍ>\{> l>T>6>>,''>8U>rN>Xg>ΐ>^>ȢM>4>%=׃=Rw==0w=@P'=5P( pZ֒<(=\>7>F>@B>>>8>LI>(a`>>>>>@>ҋ>6>v>>Vz>0>ڒ>l ?4?ړ>U>> >D>2w>&>.U>hmD>9>F>8=x= =j= <`<<;Pc,K<0ʽ޻Ȯ=>,5>r'>>p>==Z>>>$>0>*C>\>p?>RҔ>8>>p>d>R>8>4.> U3>A>Z>pu>Hr>f>Un>q{>>f>\o>J>2>>8=( =_=p=@X`ռp0PKt"˽4`'l3tp "սkL\02Ш,`O^ ꁽבѾž%1(-uIDh:uNݾJQ -qѾX6Ӿ :Oƾr馾p4Q,01"|,ڽ@mRH! q˼PԔ V p s ٤Pb0{8 ;p@=@ӎ=p\=`=ج=|)=L)+X(>{D]H=Pm>Z=Xi= <(󇽈鹽@ vj#==Ȕ=0=f >.>a>"+>ؤ,>,!>=@.= ><>z>D> >H>>>>>l&m> =>>==:\`&=t==`/= 0>>,>>=B<\@olG@I<==\ >b>*>FX>t>d>џ>T>>k>$k>]>U6>>&U>,>ά>43>>|)>>>>>'>j>݌>0>A>>>lg>2>>x?=ؐ=9=~=ͅ=ؗ==`>9>ȍ>ܮ >X=FX!8rd;܎>J>>C>>.>>%>ȳS>Pw>&>=>>k>2">9>>>j[>O>>>>>B%> >y>0>N>>Q>>>>>F2>(>"> $o>k>Qc>>w>r>>h>d=>7>[> ڈ>x>>:>>ל>/>s>(@a>ȓa>Wh>l{>b>Lp>>m>~>V>Z>9>T> >̓>b>r>˟>f>m>\>>Q> =@[= <Ι<`p= >A/> )>q,>P A>6N>`Bf>\u>Lc>X)>==4d>F>lv>>>6 >4]>V<>{&>y>+>C>(`S> hS>X>y>4>Jɨ>,> >p>Җ>>职>N>4>pu>\W>->>>d]>$> 7>O>71>,>(=x=4=>=ѹ= c= ¼?޽%/{F`aK*9M=H= >=B=5==>?>\vQ>e>D%n>~b>L>A>E>N>X>{>|7>E>U>2>̯> >>s>ZS>b>K>C>P5>'>= JG=z<@'@mҼ +@[@M`pF@ XaGTLxid0=n |<09=[ >|8E>\:>%>Ȯ>===0%=z=>=`h=i=H >@[>>B>>y> 5>;=!=%=`Ʈ=\>)>p0>л>HS >|X>@ > >=0μ=|=e==p=(=o<`2n t )lfVPۜxӽ~!@0l`-,T69hO`'ln߾Jضپ̾ǾXvl#D*^Ӿ ׾O޾ھBܾ2ݾ8վ;hԾѾtԾھCܾҪ*NھXHP޾BhK쾤m  Ua^Pc,K@9>j%9k-VWo5lݾ]վU¾.x妾\H=x=J=H:P0(<ʸ=$>#>,)>pR$>н=P\E=@^<ڼ6JW `b` ѽEs==== 0=@):<e<@c<=`G=o=P=H'>>>9K>C>=>k>Z>*\>З&>hh>=` G=F<=PI=d>P;>*p>&>7>">0$>"t>$a>>:>81>H="ϽP\^8=ƒ===P;=N=x ==x=;=0y=P-= =;=H/=8.==>K>>>.>h>B>>ԕ>>O>8">>b>\">TmK>>"A>N>|>8c>>>@>>j> R>@>v=XH=`]==ͽ=====`q=@#=@8-<+L>*>V>0>>¢>2>dh>J>0HZ>k>y>9>`>>>f>>(կ>>A>R>>x>8>س>h:>8|>:*>Dͨ>>&^>~>`>@[?>(],>>.>0= > #.>8X>f>N;>Ց>c>>L>(7>K>sh>N>>α>Х><ӎ>o>=>W>##>HC>0F@>42G>m>||>`n>la>PO>Xf$> =Ha=ӣ= ==M= I:=<Ǻ8 \˽콼sHϽ@[eu =X=X>&>>\==^'=]=Hc>N>:w>X>$ו>z>$R@>=֒=@v==$ >H>">8@&>t:>=D>l5Y>i{>)>6w>$cF>2>pc*>={==`<Փ<@\E< =pu==@B< 0c?S<@PüEMD|Uzጾ6bܩ[=8=c=> >h;>_I>XIY>j>^>W>Y:>x>` ===p >B>O>>> >T>(}>HH>+>#=f==9=];BriT(½P ۽ )K;If5DV2(04!Ash܀nY` `{= c====X=d=y=0?>@V>X>Q>$R@>>q==C=<;dƠ0<6< =:=2=#=P#=<`d<@h=@O< ׼gXާ 㽠@|xm)Ѳƽ`x }Fý@ F.t6<;LrXؓZXHD"(^4]x}lhھ  vheZ0DeܾѾ̾NP̾ ѾؾV7vھpþV%A)x߃>Ԭ<\l4x9(wξ.վ`۾׾Ӿ ƾ Ffžվ;8vφi%^) u%   $x,+(7PBhGl龖Cľʳ4dԧ<:O}h;s4J܎8۽p"xȟ&V }\:ՎFpI.'mKȝ (a`ÐPĢ"ȩ V">юMr ♹;4о w@D|*9ٲbqľ:ξľa=Hȡ ꁼy=k= ><=pV=w=u=8S=|>>$=j~=(҈==(+=p=(==ߦ=$=8;=`<kԼZǼ;l;W< X====آ== =ߑ== =(==`=HQ==΄== =5>k>E>|y>=y=0V>A>.>S>`>>Җ>>(_>|'>h==@'===x=!>->(0>1>:>|'>=0=@A=<@<_:@ RxнB` n0\S==a=h==e=s=0k=.= >K>5q>t>x}>>>R>4f>>>챑>l>D&G>\)>M=>|\k>"~>>͌>\>$->>>><>L>P6>`=;@!Z=xƧ=p`>`4>DJ>5/>4C>H=h=&=U=0!=p>_==j=#i=L===p>T[>>>>B>>>@>!><ԛ>TW>L2t>D^>05:>8>4p>>>>>]>l>8 >j>>8A>!>X> >pQ> >ȝ >x&>,>X>D=8B=#=0j=P=)c= 5=@ݨ<ʻ4h@:@[=l3>x>t>G> >r>\>淑>/b>>dm>'>H>>7>p>>>>T>Vi>ֿ>>n>>lp>X69>Xh>>H>`Z>> >y>0>T>>@>pt>0W>i>||>^>l@>7>D>R>S>2U>`>3P>L>ha>Ȑn>>Ӝ>>8>>ٝ>^P>$vf>@>=>pC8>tN$>@>@(->pO>J>Ѕ>H=к==]=p=@*G=๫&>`,> >X=0o=={= >E>}>\>7>c>> >->:>)R>g>F>4>ˊ>0>n1>s>O>1>a!>d">Hd>@ ===x=PK=&X=`fX=廾m1žʾRǾ˾ ɾO~;y3}fЍ`8@޾XiR^߾xڄ4`Y<<VHVk@_`2=(==&=>MA>x]>Q>$">,==@<@ <;<<;:7'gK@{*<`X5>,]>4o>4d>Q>>x=,=@X=@= f=s>?#>|H>dn>r>>>t>vM>ȸ>Ї>t>>~f>;>le>4> +>U>bӀ>V>ު>\>t>>.>ٹ>M>:5>"=G;=y,=P[=H$=e(>d">p >p>x =D=P. =+<9| KT\:<<< <0=3==TX>k>Ti>>O>*<>/>:>`d>@k8>>==p'> E>X>Sh>)>ן>@&>ݷ>>rP>]g> >O=0w=h̍==0̢=p"=Y>h=`f=p=й=)= x=@< ,;>S>=c>S>>>Y>9>طL>~T> 7>@0>T4>$>t>7>W>46{>>D>b >L>j>j|>>ȥ>y>:>9>k>">>>^>>>y>;>Pc>TV>D9g>Iu>$j>_>Ĺm>_v>u>|mq>*U>]/>4A3>L/M>$d>g>*>)>q>4P>($>V>> >Z>%/>|'>o>Hw=y=<]<2=C=&=⺠漀"0@&p(*</5=4=+=n5=ri<*küg;?>Hx>>4w8>&>]!>@/>7>h~J>6_> s>0b>)>H>===|,>`Z>hu>< |>F>:>y{>Ԫz>,^>9H>8>>3>>>X0>sF>Yj>r>K>p>H=@LS=@g<L`^;3;@jL7"PTýR(ҽHʁټ~8@/<q=&==2=>l:>E>Ԅ:>2>$1A>L>L>E>C>trJ>@P>pO>>>$ 5>$>'>ȀA>PQ>g>kv>h>sF>%>x-=g-=@'ͅ `vѽX*ܽIJ+P)((^k t̽%ս0씽P{*`<1=H=>X">8tE>%H>h:><>I/>N> c>pQ>T)>1>2>!O>p"m>x>>>}t>$\>HR2>=<`\<%===>4!>p >S>>=.(=;񖼀~üD"0$轠zI\@0-V(0Y8d @\<R@y0、X)7lJЄr~Xم}Np4씾T񊾨ʒ<PջVǾ0ϾоHξľZ˻dξNPx ֓& Zg׽+R̭)ȾEоH׾ $߾yξ D8]\dӚHRrtʾ+zR(ݾlϾd^~Π(6٨V FξlG쾨0 ."y''!NbӾиgrӾLݾ׾rӾh;|HZ'N$_,$ 5uG^`N߹իьD[& X xD-=H7eR̙pﹾľRľl4ŝz\"tql}6T pS˾lȾ02ێ3-˽ T Sz`Dh`h*==8=D=@<<<Ц="$=>==H=Q==t=o=hi=N==`= Mn=7=;0@&H(h&AXH>ܰ%><;>|:_>ga> R><7>>8=eH20:GF.m<%=`I=(,=8 =*=<nm<6<`j$ЧfU;[޻ 0Ӿ0ځD#:0#[=Q=8>>r> >^>`>>>ȏ->E>t>d”>8>ܐ>>:X>D>=l=t=Ь=`=\>t)>^<>d>T>~>i>'>2>=9= E= =O>E>ha>`N>$>8T=>=<V<D={=pI= =m===ӣ= 4<^< oz=L=t'>l>6?>8ǯ>:=>>j">5\>_#>p/ >T'>>X/>4V>cM>r.>D>F>,m%>LQY>w>>^>o}>X>'>$ >_=m=r=j=%=`p===>=藟== >\0>+>y >=`6<@f~<=@>#l>v>TI>(>{>h>Tk>4hL>j<>L:>u6>(>\">`a>Y== >`;>S>Ћa> >y>>>w>.>>؄n>AK>N>S>(i>i>b;>B>>>D>t>ra>O>>h> ڈ> >~>Z0>bӀ>O>L>l!>[>ց>> #b>NN>ST>i=>|>=r>>DJ>,]>ZC> >8q=z9= R@=d=Hۇ=05=+=:Aj-@#ۼ<@=$>>` ==Z=R;ǻ`(xO>`ux>P~>|>v>p>8N>J>>$>x>HH>+>|>L>H4>O>dd>t{>O>)>0o>M\>`H>|(>y >4>=0)==p=,5>x.>DI>,H>]/>H=@ b= 8ů$ p@LӼ[C;~?E=09:0= =S==[> >>d:2>84>?;>8R9>_#> >'> >>`>{>,os>Xn>y>u>]:>pF=0W=2=> />ri>ʼn>>to>v>A=>=uDYY>sI>-=>P*@>tO1>5> $B>+>TZ+>!>TH> !>@X>">9>,j>xm>7b>RC>M>l=` <(=T=^==== ==˷=x}=U=@J9=F<@qY:`<@5 G+@q?޼\ἀ|`J kýp` #Idnt^VU(yx‹Ԓtb栾5 vt+,'>Ե.$:^bƾȾJ1;nw׾fBl߾ 澒&4QF8O :fϾj҄V~^> C&LѾT"f۾f;RN X `@dqx2¾X%羪FigOڣ&Ͼ| :&þ(о:v\w 2S ."BX24)2˾T8qؽnȾ3ɾX0cQqEK꽐X8+dOlZrRZ᜾bn,ȞHT$FSQnh62D H0 ;b,f}n*)~Ͼ|ʾG|9q`$^gv㊾XݚP*h(\Tih`ĔiGe`uP T-v=<E<4<@X<u4::<"=@#< bЄh9OBl<=;@w4 xJ$*p/ 6!.S<@I,=@ U=<-=c==X%=c=` =@ U=@<0\S=xK==k>|6+>XN>@i>r>#l>Lc8>¸=g;@ o(ɽlp6潐=6"<< =0c?=@ <JIldPJK |dҖ(+> >pi=`=;=S=8=>T8>\>˂>Ԑ>vL>N>2>L}>*>= =c== >1/>4{l>B>n>Y>h]>M >=HR=== 7>J>$>=pP =@13<\:]<@=8Q====` =>,8>>=m=J=@= >\#M>>N>6>>¢>>s>'>\h>ܑt>a>n>>><\>*>H >`= f= ">vM> {s>nR>@i>,>{>s>L/M>v'>>=΄=pVX=0= h=X=P==|$>/.>7>@>sI>y(>h>=d==`՚==j >7>ؤ`>Du>>9x>@c>@ol>>F>Ȏ>">/>|t>$s?>k>= =>B>y>ԙ> F>^>>?>M>>D%:> > >$>TV>4r>>>>X>>Ϲ>>ج>ã>>->s>Yj>Xu>>*>>jކ>zY>v>9>r->>}>Ћa>|JX>S>h>d>8ƈ>z><>@>% >=@KF==P=X=` =`W弨ދƽ֒@ ＀<= >4 4>|>`= oz=is>2">>>ë>@k>L >H\>uN>8>%>q>h> >7>l[>l>4>X>>8O>>4Ft>iU>H6>PK >== r=$==>0>*>>>u="=ӕ2Bν9漀*9<~5=P|7=[<b;ڪ0]ෑPb=ph=4>|6+>J>W>E>7.>D>P>{&>$>,>\5>/>8A>~>>>J>>>`.>h=A= H-= =8=.>y>v֠>ư>O>\0>P=sM؏&F,W,nf8.Gt\x禽 ƻ T;] %YHb[$?: - =@U=8=;<lFEu=V>m(>XV>tU>>8}>Tk> V>E/>!>j.>l->/>?>Dg>1>wZ>zb> e>P>Y!>=P={=0]`=щ=(==p=Ƅ=Pu=t= ==]=9=a;{ἀa N*+L|p_^yU1 Dy`, &T:eE~$ƏA|s~pޭ2̢˾۾X㾾VЭپ1оVݿErtʾ襾pPp؆鷾&оپP:`\uľq\O` SͽJp,D}dϾ|lXᄊn4B'ԾJǾ*¾Vþ<˾߾t0 hY}Ǎ[ 7r"-.O7'0]KJľ3TG`P]ZʾaվTо4ξdXwTG @ $_Jo7`@\xkQAx0 ˉ}X 2UbDL^".|걾܎j&ʾ Ҿľrں(;4F睾dDT1~6NL. 4|# Hݽ8ֵ@ bf0%===P=@~===t=<H;ݼ`+FPݽ޽@ HxQ< ~=`=y4RDd.VJ0`J<7e=֒=Aj=P:=(=#==`<X<<o;M=>84>L>?=<>P}ĽEKR< =`h04->z<>6!>=8=0=,===>80> w>֞>"c>Ƭ>>>v<>hn={=`===t>+>!>%>>>{>m>ЛZ>xO>O[>X%g>5K>S>0=T0= ɼ@+Լ;= Q=s===PN=:>|Z>X&>">=0=0=ڸ=I>I>< b>b>|G>->B>>?> y`> ~>hЍ>d>>P>l3>e>$)>Љ=$>=_4==f5>x>g>>ra>Z{>̞M>=Y=@"<z{;WIU>'P>4<>L>@=<@LuK> r>|n~>Qx>_h>08a>ln>U>b>ţ>3>:>Q>+P>>=Л=<[ >=K>R>n!>\>.>G>[>>(j>TK?>2+> u,>_P>_>ŝ>a>>*>>p>Z>՘>Bώ>x>ܮ>>h>[T>uG>L>y@>Z>H>`֍> >b>Z>p>t`7>d]>@ >\>>h)>pC> J>@>pS1>7#>T>=<0`ٽp2S[d@):==>>>@==4hr(;<̆= >z><>&>>;>b\>a>/>>&=X==|%%>Hp>zj>T>$ǜ>zY>>s>z[>8>h'>A>Y=H =xč=R=(=~<>$gz>J>}> E>=`eK= ֻ)Hb` <`<;:03:0](J8Ƽ|Sۼ#<0=H>2>8U>=>xn>H==g=0= =>8>Y>xz>>8s>ķ>Jb>lU>i>$>`>M >>p>X>>>@>B>>h9Y>Ը%>h=@%<H ٽ_9/*8sg@)<^C<ݻ\ i`.m@J9#<<.;%>L==$>\4S>Mn>{> ݂>8N>>R>(:>f>>0|>g>\5`>p>>>*©>>V> R>4>>=j=8==P=p===H== ==x=T0=< TBжs(ýh0ýJ_h;Nw;z۽`\<^6V6,HזSvG4 d&8ajd~ޙ8BȾd;Ӿ^׾E׾ZоϾpv Ln s^Ͼn<殾䗾ɽPϾ< SRdþ_`bXp9->ln",ľ\"ھ=޾%޾><ھNϾtȏǾ֔;Vk˾gǾXϾ8۾.?3Hݾd ;9dnS$y[*j"i 뾊ĺ$=`˾R>lrPDwPpКM=kB<NiUpS\hbɾľol@4?cS-O2<`b==_=؏=pP=`-`=e=%=@c?<@Aj@M``{I>LH>=P13=pH޽⽰Mж@O =09:=p&=ӕ;y,9D@.1@p"Y0@XpR8U4$ܝpǽZ>xp==̷<< <@Ģ<=h===>0>>6>>>$~>ZJ>{=R=*=P=P=z<>ʭ>♟>nv>9>(L>)>>>O>>(==(=(= >G#>Y:>">d]>V> >04->|A>6>d>x=>==1=n>(\>,> > R>;=`==$_>(7>k>х>4>֗>.ߎ> w>4B>@ >(r=P8=o=Hf=K>>>>Hu>,>> 5>=<üڼ`;@=D">L>&p>Ltr>fi>T8S>\>Q=@=ԼyFY;NJ=>A> ]>tuq>p}>|i>07T>0d>

    p#z>_>o>X{>p>>>N>R>>覥>n˚>>Y>>2ݨ>>h>&>>\q>4o>y>P>r>>g>2F>>*>>G>"A>^>i>DI>W>fT>\5`>9>^`>> >3>>6r>xt>`6>X=x=M=+=X!>$dS>( v>4>}> U:>h= =v:"5=p=m<@P>JO>(>l>9q>A>s>3==Y:==(=0! >lX>>R>lk^>HE`>LO>hA>8D><>>i6>d6>>=5=h==i=h3>dg>F>xQ>Z>+>g>=FJ=)>p5>Q>\i>>>&>5c>@'>j=`pk=1=`=`=>\Wl>)>$ڼ>>'>bL>PG>=\=Ht.40z+p0]̛;50;N;@ @!B齀W޽c'znyc;=T>0>P>$^>R>+>>hI>->h>*>,>*>#?>`>,Ј>@k>><ˆ>@v>>>|>=8=rw=Aj=0ܛ=8=L> >F>>`P=԰=Z=<(;޻:޼`Çнhݽ ƽP嚽*32;뀻t46hi( Jd),𝘾\ꆾh|9xfdg(䁾 ̖<ըҖ?N& ¾"10ɾھfNIfFѾt`t+ɘ tž:PӾ:LF?꾒پ@þ2!YBp$ oF⬾Ҿ`r޾۾JѾ3b8\F׾>U 侚۾׾@޾ !c(BZ̾f8R*Ktغxô(浾vLJ{Ԩ`,J܎MJtp0Y6|H>W)x`J)RhNRԩml|~̆t^H|rfCesC۝.x丄Hc~̆8fIjΧP~|Fxhh HSξ;BFC> _>T >H> D==>2>$>p>đ>>`U>>2E>>>->B>V>8=xH=|)=M=H=!>\5`>\ڍ>F>y>6c>dӚ>Lu>&$>S=P==N>0#'>/1>Ї->g>>0]=h]=p6=>8r+>K>a>1R>xS>Xw>=x>wP>(,4>x>8o>f=(=P>>g->\O>t> >d>m>>N>p=0b2=`᤼@I@;W=G>n>xn> yY> e3> = )=Cσppp7s0> = =,>|T>Fi> Y>#I>:5>=PJ=<}@KZ5>8>8>3>5><1>d:>]c>s}>~>h>(K>d0>g>X>,=d>8>X:>U>>>>>`>{>\> 1>TG>,m%>`>2>@>Թf>B>n!>&>\>f>\>>D>>>>u>ΐ>>Xv> >&o>>ю>(>>9|>l>_>P>e>>,X>>&> >s>>(=p뻠,*~|=0=8E==Ō=0=`c==8=pa> S>#>8;>0E3>C>q >=@=p7=0> c>^>>>#>>A=>`=0w=9==L=&==t>l">h>D!> >0=Ic=<^ ;@ܼ݅h&dS[޼:)<=@=J>8>>&=$L= f<4"=஋=H>>C>0]>HeR>8>;.>00>l->T>><_?>лL>/B>K>e>b>L>Xg1>8=(=`<ʻ`;}>~ޙ>l>#>>G>(Ŷ=fBo=`>>>>:>_> r>#.>a=c#=:P8B${; ==M=P=j=\7=7ܞ>#>T]>0&N>x3>$q%>02>?>=81=E=p=x== >,5>K= =P=D=CϾpS˾"wپ龜Q*@:ھf6xtx RpZWľDǝضskP&2 } exit_err() { log_err "$1" exit 1 } check_deps() { local missing_deps='' for dep in ${SCRIPT_DEPS}; do if ! which "${dep}" > /dev/null 2>&1; then missing_deps="${missing_deps} ${dep}" fi done if [[ -n "${missing_deps}" ]]; then exit_err "Missing commands:${missing_deps}\n" fi } check_metainfo_releases() { local new_version="$1" local old_version='' local xpath='string(//release[1]/@version)' old_version="$(xmllint --xpath "${xpath}" "${METAINFO_FILE}")" if [[ "$?" -ne 0 ]]; then exit_err "Failed to find any existing releases in ${METAINFO_FILE}." fi if [ "${old_version}" == "${new_version}" ] && [ "${MAKE_NEW_RELEASE}" == y ]; then log_info 'Current app release is already in metainfo. No action taken.' log_info 'Since you said you are making a new release, ensure to set a new version in the root meson.build.' exit 0 fi } get_version() { local file='' local version='' # Read main project meson.build file file="${REPO_DIR}/$(< meson.build)" if [[ "$?" -ne 0 ]]; then exit_err 'Failed to read meson.build file.' fi # Extract version string # Works as long as "meson_version:" is defined below "version:" file="${file#*version:*\'}" version="${file%%\'*}" printf "%b" "${version}\n" } get_date() { local date='' if ! date="$(date --utc +%F)" ; then exit_err 'Failed to get the current date.' fi printf "%b" "${date}\n" } convert_to_changelog() { # converts a specific type of yaml news file to a markdown changelog file # At the end copy a working template to the top of the changelog for the next release. log_info "Copying file to changelog" TEMP_CHANGELOG_FILE=$(mktemp) cp "${TEMP_NEWS}" "${TEMP_CHANGELOG_FILE}" log_info "Adjusting changelog formatting" sed -i 's/---/ /g' "${TEMP_CHANGELOG_FILE}" sed -i 's/- Features/### Features/g' "${TEMP_CHANGELOG_FILE}" sed -i 's/- Bug fixes/### Bug fixes/g' "${TEMP_CHANGELOG_FILE}" sed -i 's/- Other notes/### Other notes/g' "${TEMP_CHANGELOG_FILE}" sed -i 's/Description://g' "${TEMP_CHANGELOG_FILE}" # replace ratio character with colon sed -i 's/∶/:/g' "${TEMP_CHANGELOG_FILE}" sed -i 's/^Version:/##/' "${TEMP_CHANGELOG_FILE}" sed -i 's/^Date:/###/' "${TEMP_CHANGELOG_FILE}" sed -i "1i # Changelog" "${TEMP_CHANGELOG_FILE}" cp "${TEMP_CHANGELOG_FILE}" "${CHANGELOG_FILE}" } remove_unneeded_template() { # if just refreshing the existing release notes, we don't want the template to be present since it is for the new release if [ "${MAKE_NEW_RELEASE}" == n ] then log_info "Removing template part from temporary NEWS.yaml file, since not generating new release" removed_template=false for i in {3..1000} do if [ "$(sed -n "${i}"p "${TEMP_NEWS}")" == "---" ] then sed -i "1, "$((i - 2))"d" "${TEMP_NEWS}" removed_template=true break fi done if [ ! "${removed_template}" == true ] then rm "${TEMP_NEWS:?}" log_err "Could not remove the template from your NEWS.yaml file. \n" log_err "Please verify it follows the correct format and try again. \n" exit_err "Note a NEWS.yaml file template (the top release in the NEWS.yaml file) of up to 1000 lines long is attempted to be removed when regenerating a release. \n" fi fi } prepare_release_entry() { # check if new release version is not already in metainfo. # adds a date and version number to the latest release in news if [ "${MAKE_NEW_RELEASE}" == y ] then if ! grep -q UNRELEASED_VERSION "${TEMP_NEWS}"; then rm "${TEMP_NEWS:?}" exit_err 'UNRELEASED_VERSION not found in NEWS. Verify NEWS file contains news-release-template.yaml at the top.' fi sed -i "{s/UNRELEASED_VERSION/${NEW_RELEASE_VERSION}/g}" "${TEMP_NEWS}"; log_info "Release version ${NEW_RELEASE_VERSION} put in NEWS file." if ! grep -q UNRELEASED_DATE "${TEMP_NEWS}"; then rm "${TEMP_NEWS:?}" exit_err "UNRELEASED_DATE not found in NEWS. Verify NEWS file contains contents of news-release-template.yaml at the top." fi sed -i "{s/UNRELEASED_DATE/${NEW_RELEASE_DATE}/g}" "${TEMP_NEWS}"; log_info "Release date ${NEW_RELEASE_DATE} put in NEWS file." fi } prepare_metainfo() { sed 's/@APP_ID@/com.github.wwmm.easyeffects/g' -i "${TEMP_METAINFO_FILE}" } finalize_metainfo() { sed 's/com.github.wwmm.easyeffects/@APP_ID@/g' -i "${TEMP_METAINFO_FILE}" } check_appstream_cli() { log_info "Checking appstreamcli validate --pedantic" APPSTREAM_CLI_OUT=$(appstreamcli validate --pedantic --explain "${TEMP_METAINFO_FILE}") if [ $? -ne 0 ]; then log_err "appstreamcli validate --pedantic failed \n" log_err "appstreamcli: $APPSTREAM_CLI_OUT \n" rm "${TEMP_NEWS:?}" rm "${TEMP_METAINFO_FILE:?}" exit 1 fi log_info "Passed appstreamcli validate --pedantic" } check_appstream_util() { log_info "Checking appstream-util validate-relax" if [ "$(appstream-util validate-relax "${TEMP_METAINFO_FILE}" 2>&1 > /dev/null)" ]; then log_err "appstream-util validate-relax failed \n" log_err "appstream-util: $(appstream-util validate-relax "${TEMP_METAINFO_FILE}") \n" rm "${TEMP_NEWS:?}" rm "${TEMP_METAINFO_FILE:?}" exit 1 fi log_info "Passed appstream-util validate-relax" log_info "Checking appstream-util validate" log_info "This script will hide errors relating to screenshots or style-invalid, as those are considered false positives." log_info "However, errors that are not relating to screenshots or style-invalid are considered important to fix." TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT=$(mktemp) set +o noclobber appstream-util validate "${TEMP_METAINFO_FILE}" > "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" 2>&1 set -o noclobber sed "/easyeffects-light-screenshot/d" -i "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" sed "/style-invalid/d" -i "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" sed "/failed/d" -i "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" sed "/FAILED/d" -i "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" sed "/com.github.wwmm.easyeffects.metainfo.xml.in/d" -i "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" if [ -s "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" ]; then log_err "appstream-util validate gave non-screenshot related errors \n" log_err "appstream-util validate failed \n" cat "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT}" rm "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT:?}" rm "${TEMP_METAINFO_FILE:?}" rm "${TEMP_NEWS:?}" exit 1 fi log_info "Passed appstream-util validate" rm "${TEMP_APPSTREAM_UTIL_EXCESS_OUTPUT:?}" } convert_news_to_metainfo() { # need to remove URLs as under certain conditions URLs are not permitted in AppStream release notes. # only some implementations will actually fail validation an AppStream file on this, though. # this only effects the outputted metainfo file, not news or changelog TEMP_NEWS_CLEANED=$(mktemp) cp "${TEMP_NEWS}" "${TEMP_NEWS_CLEANED}" sed -i 's|https://github.com/wwmm/easyeffects/issues/|issue |g' "${TEMP_NEWS_CLEANED}" sed -i 's!http[s]\?://\S*!!g' "${TEMP_NEWS_CLEANED}" # remove backticks as these are not useful in metainfo sed -i 's/`//g' "${TEMP_NEWS_CLEANED}" log_info "Converting news to metainfo" # must use actual file extension otherwise appstream-util will complain TEMP_METAINFO_FILE=$(mktemp --suffix .metainfo.xml.in) cp "${METAINFO_FILE}" "${TEMP_METAINFO_FILE}" if [ "$(appstreamcli news-to-metainfo --format=yaml "${TEMP_NEWS_CLEANED}" "${TEMP_METAINFO_FILE}" 2>&1 > /dev/null)" ]; then rm "${TEMP_NEWS:?}" log_err "Converting news to metainfo failed. \n" log_err "Check formatting, don't leave section headers with nothing beneath them. \n" log_err "Also remove any line break in the fields description. \n" log_err "appstreamcli: $(appstreamcli news-to-metainfo --format=yaml "${TEMP_NEWS_CLEANED}" "${TEMP_METAINFO_FILE}" 2>&1 > /dev/null) \n" rm "${TEMP_NEWS_CLEANED:?}" rm "${TEMP_METAINFO_FILE:?}" exit 1 fi log_info "Successfully converted news to metainfo" # replace ratio character with colon sed -i 's/∶/:/g' "${TEMP_METAINFO_FILE}" rm "${TEMP_NEWS_CLEANED:?}" } set +o nounset if [[ "$1" == "--make-new-release" ]]; then MAKE_NEW_RELEASE='y' elif [[ "$1" == "--no-new-release" ]]; then MAKE_NEW_RELEASE='n' elif [[ ! "$1" == "" ]]; then log_err "Unknown argument, exiting \n" exit 1 else read -r -e -p "Create a new release? (y/n): " MAKE_NEW_RELEASE fi set -o nounset if ! [ "${MAKE_NEW_RELEASE}" == y ] && ! [ "${MAKE_NEW_RELEASE}" == n ] then exit_err "Invalid input entered. Enter only exactly \"y\" or \"n\" \n" fi if [ "${MAKE_NEW_RELEASE}" == n ] then log_info "Not making a new release, just refreshing changelog and metainfo with current releases." log_info "The top entry of the NEWS.yaml file will not be used for refreshing, since that is supposed to be the next release." fi check_deps init "$0" NEW_RELEASE_VERSION="$(get_version)" || exit 1 check_metainfo_releases "${NEW_RELEASE_VERSION}" NEW_RELEASE_DATE="$(get_date)" || exit 1 TEMP_NEWS=$(mktemp) cp "${NEWS_FILE}" "${TEMP_NEWS}" remove_unneeded_template prepare_release_entry convert_news_to_metainfo prepare_metainfo check_appstream_cli check_appstream_util convert_to_changelog if [ "${MAKE_NEW_RELEASE}" == y ] then log_info "Copying new dates to NEWS.yaml" cp "${TEMP_NEWS}" "${NEWS_FILE}" log_info "Copying template for next release to NEWS.yaml" sed -i -e "1 e cat ${REPO_DIR}/util/news-release-template.yaml" "${NEWS_FILE}" fi log_info "Copying changes to metainfo file" finalize_metainfo cp "${TEMP_METAINFO_FILE}" "${METAINFO_FILE}" rm "${TEMP_METAINFO_FILE:?}" rm "${TEMP_NEWS:?}" easyeffects-7.1.7/util/update_translation_templates.sh000077500000000000000000000002021463533416400233240ustar00rootroot00000000000000#!/usr/bin/env bash ninja easyeffects-pot ninja easyeffects-update-po ninja easyeffects-news-pot ninja easyeffects-news-update-poeasyeffects-7.1.7/util/valgrind.txt000066400000000000000000000002401463533416400173600ustar00rootroot00000000000000valgrind --suppressions=/usr/share/gtk-4.0/valgrind/gtk.supp --suppressions=/usr/share/glib-2.0/valgrind/glib.supp --leak-check=full --show-leak-kinds=definite

    .VuԳz'˩j.—Ҧ͛}Iӌ=z_mZjO[ ._f]BE%EEۯ[}Қc~hmsUUλfv8TWW~tQjJ 5p@/ǟTJr:}nyy= w~kN"葤m99:9H a[ uEs+˥7]jޅ;LggTT\._jUt'SU]-۷kqC^ϟ>X}"LJMI'8_V}5gZTS~ _D\,w:jV- ?Ih[8~lPx2d(z_ qxTד|9M6U}RS5 }b\ܼE7lX6nڬʪ*]w"Y,y=UeU**+O7TDY?;t7};vu7oq+/2Lo_PɽvǿM?Z0w>x+*q{nDw^zz'5Y7lj?zc5ܳuuedX?>GkdRmm,תHv{=g{ 0{ӈa{DvMս79v@w{VYYO~FOtT_ ǎwR)8uKCÏ;D}e&Mc4knMMߢk_-0>yL8C}Nqn;ke2o~%N{6ڲu^{韲ZZozL=ǧth>~=l6n0~nRx>'s_??_f-7}s #A^g;#5tioߦj\D~jN/ә;{bbePtCgi'=0 C>H'Nn_ކf};5{ Wh˶z5wLm_lj^{0|ޱܲEssh%X-e h9j/I^X3*}}x oLvqj2dZ"CL&_Po.yO3fH}}:y^U(>.N& EBBo,Y֡%_hz璤JlIZhwtz|՚+1A+VӢK}5 _}{.=S_k;r8].F.?^[u(/OӦvI{Waqu,٬Ǖktc6g8/ԍ5iSG(W/eefh9˯Ok&ǣL5ewbMӿ^}CJοXϞO7n$͛ T^ykIw\ZK$ fiSOLv\;ĄY,fAs;iѥrhAf5GE%2 C~y qu?װ5iX]0ܐVU]rIW;zN}jLp|ͻhN+Sttt@ CΆ&=K? h5)] :W_nB/YÇk7|j2[gĉڹk$C>G˒_kXi'6F~-Z 8PN;[-^>uijϽf%R=1 ]Ȑ]UrR{+gs.[^W;wbQvVةf7VESΜnsvCfYG 7rTW_'$.6Vi)tꓚ*茚Z} 9;hgV}w*4w,Uh~v֮={u͢˃ҏQG\zՖ:t8O /fe5u;n$O yMO7nҟ_ &t3;gqGtR?-2L*,*}>_fg^UeU?7)d{~L89;rƻk˶]uj;vuhYժ/m9\B|{ND1r\Z7tyZpں}QzM7h d6U^Q8zL&՝4o_3F<&~:\Ƙ='UT\6l˯7zG~㔻8Yt9I=. ^spj*HFj6þ ;I։Fe7iy8={FǎWheݫ9*#Gi(SQqdI|&eEEE)!.cixnI*/л/՗/vPEaV,ege7rIK552 C wT'T5ةYgLuMG/t엙՟|5IKb-+.=P 쟭F8rHY 4mŦt \v?n[Λv&Iƌָ1u`,sAO¢"y^&xiZswޯR$Z{8N޻W$I _yLՊmw_?n:|X7~6+͖mُk[RSy9c.x˕"nFrӍZSB| =gL5|6+1!^E%Qj3E^U>QF߾*Pή=rta M=s9~WÆ VáǵwMorӷb6TǏ$M?g^}]r 4Heڻ.`f~3s\}.N0ٸ+Ԫ~:w|ߴԠ/K)z=|Wsvi~ny:^ | 2(˓f {-Pvݧ _nҀl7Mn@vtQQΞk5ٳwmN;v٧o zO>B̔٤'j۾nlO>ӐԿ_v~gt3URzL?^jo_}~U_ԸQ8cҵW^jjj5fp;m.~ӷ[m_?G H#n ߻ۺyzk5,G>5r0tuo3M2mN/P,_qw=<ege-_ToPWW?:sDB;vU}}.@DŽc f_7v֬[״)gi;^h9|Ιk{ 3ߠ^mvmڼEwf}řL&=Z| ?/j-=eZN ̿DΒZ7>a/AOqVJrR͗ؿ&:jeĿl[:춆!?O}/3C]0SrP$'iԈa:{QQIMm-JW]qvVYyJWB|ϝݬͤVrrqTUW^vlۡ#Gs(w;l6ҹsڑKcFPB|lÐ׷XL'MRi)͚IRb|lYڞKEX,:) M)r8=$Iao3P>i2[L <@H~_-\0OfW8JIP#WMKS]]8l٬ ]fgeMMU^du֤'|!X,y<d$_.IzÏ%HZjY-*J7_oRU5<ُtJ}Hףޯ?7d@9. -gasW|VYĄx1(!>r]L3Λ&Ţk?QqIΘ0^3m;s}ǭ>tJJJ5IٽYx<|ؐf=U`ckv36JL=wޮẎ*=8|vtL 2XK%L&RSu]wj]wtwh񊍍 YJOзJ /LI!YQz5+::Z-&ÐFT/<~߿Կ^yM5iX5iMf4x}q\.g+|QfE!͚1CEk굊Ӆg; u/M, S$$)NYvm" {+VUmmmNnGx5]u uqz @y3lQtpYyw5bX4w ]}EhLzޥ'-K.K7Nm^30 UW+S羟k{@iͺƌ.I$UIi$9%$y.DA^=5?:mYa{յ52[̊2#PZ|ťM0;+CRvfFJ un3B],dasOe5zpn5'X,w. 3p޷n;.F;"@BQ[8acz"0jm80AcXWv Huq"Rn]^W)1F}1[VVjkdn7hz-(W\}1A4,լOs=Z-IP¿g1 yEIDATG4,f=&d6[UYVF*d6[ɵ('uΘiVUi_|^Wǥn Ns,V ):&FQ6{h \zlb;uMeU(%-'*UR/%J!3Av ]RIIA@0 jny[$𪦺J 4Y,,憠8Rvqx<.i5$A!08ͪi.d2l6o<&L$0|beB^4\G8^zi!09 QiƃRC@6} 5= zy[zm9|5 x!=]liȀiaN<< 4 |Z@RÞ@,MÞͲZ;= 4 z }Z =-V|Hr$Dw-w TZ7F? ]MhIENDB`easyeffects-7.1.7/images/easyeffects_plugins.png000066400000000000000000002426211463533416400220640ustar00rootroot00000000000000PNG  IHDRz OsBIT|dtEXtSoftwaregnome-screenshot>&tEXtCreation Timeter 06 jul 2021 17:20:31 IDATxw|OvPhKK[6e#QDAQ "HQTd(-2e**{7iC5)iV?o_giO5'@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDT5$|DDDDDDDD&j,\ĿY!"""""""K%xd(!Yֿ,MBO2UY)S$\R>xʚJOU)#-r!"""""""jj<*dŞSS##-1I(""""""""cãNI MݣhCW*-ȊL<8PUA.DDDDDDDDƒ @2x y? >@{GO"`Yrh ;ۨuLDDDDDDDO穧5h ?ySQE=cKɱx <"'k1I4""""""""#u {Oɱ{[Uz WWWB8"#3W߀_ JCw"'7nnpvr4pu7a]߷ H$2^{>SRZ7)Z%+/@|C,Y+/i~w/6?[.u BQp12$ BJݾ{ .\'\]\V! _U<ǐXd?oނ 60166x ӫ#1h}HbQIWSOk<>^cͣVӖ8prrrAܿ/jUˠ)CzzvGʥ_*5)l[} ^mq4)9* # @'eΌ>t1-s~7SUk{> ztA$'"""S3`z mcАcu RtGMZ4ƌc3K_Řo`ٗݽyQu0) |} W߄\tW~~>fnAPix9ca/Iz{A] z?]ק3qu4 Aݠ@?&&%Xer1w[~ى- UO@C=mbrqv223?cw:pwE h|żԻRR}<52$% ##vvڶ;B*Ьic 1XNDd ;ψpd%⻏R{3=~j00)֬]/3 nn9.'v-H$D_Af7lَ]8uڴҶ;_pPRoVŠuZcGC+,J[AΜsL;V}m2j .D_DP@/ŭDwk[GP)wϟFi< 0ip{{:3p}ƕkב(]<JOtH%AVV6݌ChpwXj,Ռ;".^DFmAG>Z64='9%* 671d^ `P?͇-32鉅f/99HMM/6xra#<=q<Ѧ5F|B|qqP1沤-@VV^]޻ _טgEŞJy@F hzt!b`8>UJzFFmE.GZz:!J_TRnݹK[oV!9%>662@P/ݻh MBVV6AX?J{29w>T*ZEK Hz۴ ї4=&>bhߦeփ~u(^y7^yhOۊ tun܄>xװ=Q, =^4>//QgbQM[^^n†kPr 1,^Û"??}F۷"''|Fh nn`=˯xzz 33CF07V~sWKq߳ Jyyyxk=|8 +V.}p6?J>ġ=>% }^aET|Z~un߽S. êu?C"`~cAhռYU$smJͅ~^2 "aߡeĤd,j9fM YSgE`/]: {{kC" {3k۰Q٩KU1ՅRW|?++ &!1;wZx w lm}ûbj8;/tM[!++KӫNp=C*oVkHxP,~XA4N*q[ ēԴt8:ؗzCo1|DR \ߋ}R8ucꌙ45 lmlO?rq;76l܌-~[(R1Ő";;'OUxD= j_/ /D7'c Y!"lqF &%ᇟ`nARr dR)B(Z]۸Z D&I"@mSkչu8u^ 8x/M[vR<}c.cAF/77>E_ axzVGD?13&Bi /Í88;9ӸA}dfe{HMMCP`9)TtW-V) cJj<s>A;=oΝm gwko8s5,[YTfMY&۶c@ز}233]VRDnn^m^ܳҩ#|']#r[:tש׬ij=c?b-{c__,*v2$j΃,\)ڶMFm2{7b .Zc=ڷi ggG\Ū x{Wvx?nچ#~|_H"h~IMKC[֝{!<ݴ1+ dgȿй}DP*o{{;@LU^N޵ 8p / 0~J?mhn;WY%]%+;99PlDM( #5,TCT zmp,vF n&:}.Ќs2@z=KZ7Y FzF֬ۀ';u,nXz8;F*;Ϣ%=t̓L1 g*{ϟ"tSLkvu11}*f_o<ʰ=U78:Ǹ7ĨaCT޻7noMBfV|]m >HLJBٳxkc@$^0Ç '.\FoЫsa~u'r94>l!A@hݺÁC7+r96ۯSخ=yB)髰׎5|I)>w\w'+va~/aqM"s6x׳- Q1[J$X5=N7s=5-Eܑex{m{ǁq6i$ d2"ЦNF>}u~@cƔɘB̞u|te\|1cbC 4zia_ѩ][qqvYs|Ho/5uacB:v$C o+\aP(0my98pvtS;jBOп u {N8s&/={ݱzOxM"@;ޞh"AbF!HѴQ}xy⧭; ?X}wxl߽n܄#rrsmuj#48q:k_o/m.۵ƉNڍ8m ޛ<L~g}3}8{D_u1f tҩ`ꖓk㝝wɤhX? RD=/ OumH% >[qPNV|2Ln؄@mokɘ*K҂1m ח&vƻa\~[4 L&նD<OE\ExV-J-nOlEjҡ9yS~X(lTJB9>kDd *|%T԰ge:24CtL J6 &\<A@^ɨߤ }?/!˴kra!|<C%HP(Dcj5ju,Ȓ-"2k͚5Cvvj*SIDDDDDdX!"""""""Ft*ƍptt,͛hܸ1BBBpqym߾Æ 3pDDDDDDd.X!2sppp(=55 ":/[DDDDDDDDV=z`|}}acc#s5H$rrrrp-Ch{O4fڴiشi2""""""sB֭[Ѻuk'''ʕ+JTxE:E`ggg#eCDDDDD挗nY !"" 2L4&;; )#""""EϞ=/f)#T,YhL&Meu&WN0=zٱc`kk+:ޥ kd=X!"իJUn{~~> BDDDD%4m+W?>_H$т 9͛7^n|:CDTMرAAAH܇~3fƼKؼy2ꀅ""eooN4… aaܸq17nMaۣO>1qqq8p^={6&N(/?kd,Y{PNј)))3f ˍQFիضm6lػw/ytY4vժUѣ+]vDDZb-Z Dc~ 2J>|"""XX`h-兵k׊ܹSB\]]EcJ^$aѣsωl۶ )))Wq X|9\]]pByٳ۶mCXXL"{s:t0`t"pBzmELOOO#ec8JtmUz`t={,Z'O6RFDDDTM4 gggc޼yF̈CDDDDDDVFZmOKKc =DT-IRHRј<L&𶘅DDDDT"sdgg)#"BUK+V#DcڶmcǎɓhԨh\.Z6dTD֭+w^)#"""2 o߾1Ctt2}? 3g|Fʈ*""Q(ؾ}hLLL &Md{g^zԭ[/_6RFDDDDE.V4FP)z,L&3<#mlLe˖Xbh1o<5 h[jDBUGGG4iD4СCwwwƊ=aʤIXn{ff&,X`Čڵk^4ҥKҀX!""d^睓|;uT۞BQ*J. ++ˈ5Yv-:v(x#edX!"ѧOL:U4>ƍ6m"""Dc^}U_JocczJ48qD,\9su-=//oYzjx{{UV1b==z;Dc~w)cccclڌ5 9u =DDDdP֭CxxhLVfz,3$IHII1bF DzDcd2!"""^X!""7n܀Sn݂3"""""s$5uDDDDDDDDdCDDDDDd`'N더U,EP(IOOÇ1h |嗢ӧODze  >>^\Ri?s =Ddp,U!!!1nB\\2""2 ⥗^ٷo"##aoo;;;ؤ$2EzӢ1? JWWWX[[[رc1vX؎;СC%LDUӦM9y$V^m =DDDܹ3l"G7RFDD⼼'Ɯ""c̞\.4888TiƍC&MDc>#zȤN =zLQFoEcmۆs)#"""t,#Zj%@siZE=| hs86 OOO=zT4ȑ#ޠqARܻwNX!"""F¢EDcƌ+V`Μ9xWEcq)CՠA{1{ڵkd LVn{~~>޽ \ y]v~zt]4VZ<:CDDDD[a)>>J =/j֬Yn{JJ lDDD =DDDDDDDDVnEhLdd$222a,|޽{ƄҥKFʈ-"""*#GDnn믛:M"""*=DDDdUR)rCnY2!"""""""CDDDd@r1bΟ?={)#6l0L0A4fƌسg2"""l,D"A``hLJJ15j@-Dcݍ [DDDDDDDDV9s&yј!CذaDc[hJ#GƝ;wCEf7߈nܸ1i$Yf_ܹsѭ[7~!66V4,W+y1 ~S&U8OAƞ8qSa ((X[[[v"""""""ltJCDDDDDDDd%X!""""""",Y ,ڞ7oBRVZ)))>%$''/0z'&&FhР7nTy֬YaÆaРAXdhĉ+!"""""""dtJCDDDDDDDd%X!""""""",Y z =DDDDDDDDV""""""""+B`JCDDDDDDDd%X!""""""",Y z =DDDDDDDDV""""""""+B`JCDDDDDDDd%X!""""""",Y z =DDDDDDDDV""""""""+B`JCDDDDDDDd%X!""""""",Y !+lLZXdeY ` `g!CDDDDDDDd%^D z#X[`4@h\T2) QI9l+Gݓ8\VWJx"u8T^h$8u.eͤ-ۡIqT"vsu㾌jݿ>B\*N_]noH#)w! 7s^TᅎN> q>ݿA;ߚz0In&|b܋o3]}aku^avg5P;.*LN}\ ֙ emKJڥX\P¥G6硰zܶT.݄KmunWo*~gd۵H{r~T|*$?&Y E36&iFh4z{J|fmqaz 1kh#3z34}a!!1dŕL/==lB:*<+EI‡[u>a>Yp=`Sb|TQp /zyYh%:rYPkcyYGFCҴqɗ=+L]me>#ɶ}Ichj&58@SSCGON-`J<%5퉟oH.(_ !?'CHvhmD.G1fTD[fC2jıoB)?jtkqwR yWc?|'6m{ڸbHˊÑЩ]C"Ó*\ѹyA@:2+k/sط0Q<7΂\cH+ƍ뇡sv")o[e:)P qq:&жQM<7 q:̋۶UNj=p E.|\пM=gv 2Ů}GO@QdT4ҥh׶ <5{\wm#9 ;At\ º! 0S~ kfUZvpSɐ]_ 7<*ȶ +/wC뾓qhE6v0Թw~$J]д]Gd]m}ֳ>YIh@[3!Sٖ9[q|PJ%+N{oo 'V*7k|H߲.ǙcqVHT݇A+'oDTjm9[FJkl[}?#m ˨UoŨk;=/riI51D9'#:WC6ާBMDNO$g`Q.\/C-p [Jxq.[Gw$ڃ0#p"f]5|79hVþ̶K'pv=~`fB"퐑xG>CwDi٧ʖX'W ĺz逃@z%z\ <}7\<pyͻ?\,Z.USaX;5X;~ieeBsÞ {NGq6uo+5ca7?sW캑Q[Bc[CY_^{,˫fpfWܿYgocK3Ql ?_P̞pL*`i6]~{yz{H"W<;G꠭r% yY sl}rIGm[t*<nyy]|+6~Yn{h5aBvm:\Pc \r6=HA%h IDATy^yz Hu="B/*kj؄i 'SccJzrWVWb@" _?V!:]scp-mk+@n? q9_Pm[6{μ~ymPgkUz>G<C_yÚ#_˙9va4#d A?O@׾P$Vg5/<4}5_&RIٳ'3T{u~U_ğ$g$#6x+58 ]r/V_-k="F"\zp=F2e5;'`.?Lޘ=L|i}[ӯ^Y51f~KYTCv}wv94^+ڊ;?,Vz \g@0[x KW }Eqq9J+ K-5KF%&cĆdžETPTD~7''RNyy2;7)t^=#yn\c[okzu4NB!N+.%=ٯzz7 SYDŽB(2n֥-dd\e{kм=zfe),7A."z"3牖6 FhlT\KBq !y4R9pOolNj5[xC!D%cj So?BOrܽ>:`DL!DRb Ψe=zҢCu?z= !To/M0"˓ȳL}"}u7V!}Lo=Ud:aLRW?bީmAYτ-N>-f{- R(b~w׷j4û M)T0T=3NbޟQEH!kor:q7JpB{CGjX^u[GQ5v[Ҵ#BE훶sU?{qs-fB8v"u+S>^`9_yR?3UǗ TzRAjktm!JBɾAJ +5nngQY@xn_*wU;u+$> tQz9}迣{{z0Ǟ~*"w7-S>}Z{HU(R~[?R#;]VPYqsvCƷZtq7_dd)E"Eپ|jQyjp4R jP=H'ڶMzTυM̈́Ck(x1+uzkYBT[iYJH"ձ-R54%1ئ8nEʫ̂*U[>CU SpyѲIf-߇eZ+qxUcUkbÒq¹7'+=#sLx.. 7{ d=P$Ddf5:D\>8㍙~TS'Zڜa>>o=mYEb;igDbLoĶBf=>$xUT\ 9}sW^O:g['_4+:{Ra{}R= ]Ą9KŶ;ĺ?^͇]#+V~K!DF \sdu!{]==1cgOoᵹenU|~6u?CH"?BQQK¤N^k 8c?+MX#.UL~^&s'Ps~Y۶IۗsIҤv捅+(GuzYaBHex_z=&P|5s'*Vʵ>%٪Wvn_v|KϭchV ~Ѯ.<&gCTÝp/ vCa=WR6V8qT02@{Wr& RHѾj;/J^j#\3!F:w>~e:$sFVS|ؼ9y]"S8J@g[Su4B},0n}3(.k_>nt ߛnzYbd^2ս , X>w2g9 3H{!\L T%X<6߼p89C2$=ڍ={쌲bϳt5B"3S"vlD3Kc-o͑]ם+!/4iuZ+UET*;YȣdU6q>^WoR24=\rpzY9C0l!P?hRe+74~~^>OJt%UO5[6 '>|oNѹP y]uœۜ<ՙ/PҸe+ȵ7UM):/e9?}nm-z 1|gl<]ZH|:}ѧ{gZAգgo'ݙӾ45\6^kuB!R5-g}οu!֜dZmxssֽ{wa&UmgVapJӈNF&bѹj<¶m -l=N9#[e0bx]+[]wA[csֱ޽ {ݻ-*C!{D֍D&T?/Է>=;-tcfT)O~wFۜRcYWvfI13SY h0REסER]A(=-8V߼b_GI"U|բ] ss +2Ez/7(ۃsmGRq1EPORZGgjl:Rn8ugDu^9jߠ6^kCm@]Uak^㊌gWҶ-Lҧ(95 4&?&j.w[~ygcgG_nh3 +- /ogzpq_;Phɷ(=-8Joo>ﲕjw3>FvH|zbtq| "M |'oBY!-+3g"+U]Wϻ)1xn}9]ZRwb}<|u#V,9|}S^sY6 hq3.VH}Gw`5{}6b΋E,m>czý6X8y%]zޮ0Pu#,7Zw4na61̀ߙqFh&%=@<.A1S@ Kup,"""""""h2ftrSQjDDDDDDDD`HO0CDDDDDDD'^`̢D@U] """""LdB=DDDDDDDDz""""""""=@`HOpH$]""3lOQɬaۇH0УBFG"&2I]*& K+wD lQ !$vqsmڶKɬ+J=Q@O !$'¾b%-"Q1%&!2)RQ ({RD"QߓYϺ_=QWJ[/߫[[S""@`HOp`7W"""z뙈(7!"""""""ѣ? poԨP3#:& wyf&nI$ժil'hؠ~M( t1퓧Oljb g035-yzB?yqr,TDD_ݥ@P _@P`}>]nO&|KgNC*Ykl$&&Afn,'$rJ9[6࿫Ӓ8~@iixG/ 4_N\y !;#KDDTڼwPBy@llԿNW{n9{wk]oPMdDDDWJmXd?oxսٿ];`mmq&"==mZD ^I5z%y]8{9 S}.\|VjӺ5ZlY7lނǏ_a41УH1__|=S sm/[L9w^ xؾ)uau:ˏdty?R}J~||}ut7=zο_L3|?/t~6G!!o@=`5gf"0 w:uDjj*""#n[o#1)) i_ffƕ״BzloD x'O @`=rzr ʷbͺXrU!""zS !PdU[onPPnBllvH\\ּq7(AT*W(x!n߹<룢pBDz7wÇBÇgaaeffN` cbU1z^Wlmlcߴ3NVoP(o !!.իvF#99L E*VԺ.S'&]^>aT_5k;sV*""#a*TT 0q4czSo^سo?,-- é Q1:KWuiK իN^БwA; HKKÇc?a*CIDD(-=!pժUEbRbbcJ9?|G]xv쨑KѭKg4o`fj2>L#Q+++@m77|:c:z}V-=|31l J!~ˮBuϒN4^Q9^V/}xv수 DxwO\9l'b(ܣ3gB"%K5`˶8S$''!33իVy!_ߘXtT684GD*m[ʓj&ta~?B.( = c?Y|tIǀ1~;{P81thddd 2<ޣ-~YJeR)nݾ{|r000Pcfj&kuhw˞d5Sfb С0 IDATAy\6/ʙk~~}jvR]m@kr͟hG˗\cO!nTeXaE.C;6:)EsX[Y!<y~Կns5>C+QQx ؅{Ⱦ0sF_T/135sjq~tn&))) }4 2,7S4>׭SKcF4Rwc ՘1"++Ke) ym RjUP\]!j ||}Ν?忣f W@Bb"233ѹSGH$@jZvT*EƍXoogw{˗!1) :oE""TvWJ=z^#ǎC&3Grs vۏ1Fb̯1oѢYS<žC!37W3xw0=}z@JJ*z(q9#)9ϜEM Щ};|3;h$LMMqt[@U11b0`w_yHeddБXl۱]hWL |5sкe!}4k^YTr0Уl+Aw<!{x`/Kp{ukƶmlli#wƅKQjUl۴~Cn5_U+W).՝صw?lllѨA}|lں o F'O$)6o݆waei&'hԏ{}}:j̬H3hhƌZf ""* ]ܓ*W5\q{]y!ƺ;B c< ɳMTܾ$|23x( --McBM[ ܾyf& n'$?64XB kkn`G v.00χ`W:ul2̓쯱]:QRhۺ%JeW7}U##CLcХ;9 @V-aaaׯv; 7t$ R)>36m*c۫:V*::'~?xy333@EGGXZZY $'_Me$""*2رcݻQZ5P]BBB0`,X]v-q/_~ vvvy:tM4 pmȑ#={DDDDEabbF>} \lpSR?47qo |vPl%' 33իV%)) K+] w\irp8UgߦMq70LMϋ>zJ-Y8|;{F c; ߯sADDM(J\~۷G͚5ܹ3ݻP>}={… ѯ_?ԪUK'e""""R Z׻:;#""ǐ: nGG k066B;%{W yVU r 33BG9Ԫ][7~\|/\į.1mT_֭\]] rݺu{-eYb,)`ܽ}t""""]RDժUr?>dz6Ⲑ`!ai,OII)v/z{2pBM0{lO>Abb"<==1nܸWVfffWΝB[`ccU9WWj\899b.Ù|2ڶmTaÆ|or(kI1qؾs֯3s/MYy`x <"!C1/ }Y_π׬9ߜhެ)BbÐtթi_؏F!=##FWZl:b$F 333ؽujuη-{Ŕ_c̨\ 7oq#tlO'NBQ*0q7joEDDo2 ya3ff{š5k HPrS.Wc<<<|L)S -- Wƶm0fL4I]ޥKrx zooo >>:uӱ`(Jf͚%>DDDTUT 5k`vG*B rxty'N\.ިd2s,n.s^7nR[*h6P˗.>8wԮ²[J>JNNhPCKc՟טYذy T=| U I5;緼{ck>,kPaJXl 7aeeaa@w5LL#:k4m|7ǥ+Wpp%=### oGC$ c̳B:8K.M6P*x)4?{ *UT*ѲebkZcd>^z?-֯_}mذ'O?*Ud4k ͛7ǦM{{{ :s΅3^,o7PչFia. 2d)@&$ˣ0lk̙4h㏱h"֮]iEe63m4,YD֦Mԯkظq#[Ɣ)SOIIIŽ{4=x e6!C k֬ٳ#FfCشi̙;v,Vj-L&Cݺuۇ0lgܸq7nApp0奱+VZUjarOc X6l0Z |5MMlGEpp0TO3KxzzJ*ѣGKlmڴŋqdeeyyyaΝضm`Pܰb ݻ~-Μ9S*&""""""zR)q8q666'pC*-׬QڴiS6-Z@՟-[nݺa͚5HIIرÇիq5)0a9r'`oo022Bǎa``PADDDDDDDLO'$ N<:GT&qzu"""""׋ӫOiTWH""""""""=@`HO0CDDDDDDD'!"""""""  z=DDDDDDDDz""""""""=@`HO0CDDDDDDD'!"""""""  z=DDDDDDDDz""""""""=@`HO0CDDDDDDD'!"""""""  t 8q}(W~̄F233KDDDDD) DDF"!!H#"2mne>s14i=~~~~:x4icǎxVBj憞={ XvΎ+ر#ɐd:uj)97j:6oUp&##w¦-۰c^s?xM%&""zsvJJTh߾=j֬x@Νq= ϸqm6\)r9.^5kYp!Zj;:,Q=y gϟGؽ9>z`bb11pG# 37߀R=ݺu+^puuEnJ|saÆ FʕˍѾ}2 ,@ڵK122¾}tX*"""9v$jP|y۫v݇ '*: d062h{q~""7I ^>>>Bpp0w>lڴ gFpp0>$&&ƍ+FCjy“'ODFFB&!,, m۶6 h޼99AAAHMM ʗ/@dR(ulllPjU8g7r9߿$ԫWܹspwwL&ב=uNY.NNNXbZjT ???TREc_"""dff"9%[XTROŹz.] OƍW_a|ev x{{c͚5yaprrf̘y֬YoooXYYYxMm}||0`+VD&Mv!))IcnݺŋT+kkktݻw?~ 2e ҰzjL0L>VVVhҤ :traٲe[n>`ѢE0a:;;vĭ[Ϙ1 ۬z^Gjjj/_< H${;wzףvڰDVVJ%BBBG;99XiѢ6lTT YYY+w_qufΜA!<<W^E`` >+wiӦuMlqFC֭ 6055_UΝ;=Rկ9d2,[ f͂-'?qqq5j*W-Z'Bl=ԩSw^cIIIŴiyfbc#CtEcL&Cݺuq)k׮"EffJs IDAT% dgzutuELll[ !""z۔ƍøq ///\]]j*uڴiT}b0Χ+qA̚5 ?F!JѡCt7oʕ+_׽JÇaPm)!gݰaðj*$''t6/"""JR2.\:ԯ_LLL`mm@ƉS쟍5׮ݻW -=O[wJ!l'ѣG*Uf͚xzz޽{ѣGѽ{@?...ťK0zh 8}"-- k׮hYXXk֬A֭ѪU+8qk׮ŋqar{{{nǮ]Tۗ>G.XqwAZn W͞>035ESww>hXZXR߆@T*;vލjժ\rTA 0@gct Xz5.\899o߾װѶm[[ZZVZx1֭^nll#G̙38ufmv؁WFƍ1l0}zi޽&."JO=CZZT 33b5=yPJMsխcccGT!""gfb{R) 0yH>#`ؿs+(1RpDGE 91t),lP yDfi/8z$R)r9d7iղ6i2vmtPZ@錡\c1!N9o~ c."ёxxLQ \k)@Bl4Ÿ=Fȃ@TQKD=y Iظv5WDoz@B< DLd85mm aZ**UEb|,߹8TQXlpqSƏ[~DNxCƾDDJ ! ֭")) 8 i쓒wHJGfmy^deS ERbݿJHDo T B@;Ï?L`@ h9>y4ukq"!@/"^<7CFf& ZJDZI>D$njGrHD˛ٽm#^>h"i 汧ҭKg֮߀ 999<<|<4rޟ[1_f3׳%T %zDDҥ7HOOdAwsጊ/&D(,*`Ƭwٳw/AINqp"r-M&qwp⿮;8ђ؃{)\"׉S,)n}FmZK/`ggO+~34?>>> /1z?d0f_SYJD*nHȏK~{&~ǞzD[ڵ[8;;d◕x^vP j=5.ADӧprv|UNΤN5z:όSJݫwN_xzx}b0_4vDT֭nb_bDΡ_EΜ>I:W9DHw"!WL幧0]:u:D-rj|*eTvf"Lפ9ZҠqD%Μ:y"R ^]_޷1]W|+gS*5&Z$zr͡X`PDl3nnHya4K̕X8::}s=pwɯZTIJTN#NNN8:9S\xm"rifJNz74ggwdKHNI,\\\\i1TVOdefTBc /"UѣAzD#Ƃ|\\]+TјC."UԭʒE`` zMc~{ڴnIV78F~̗|ˁCgaqvrxE2=im a٧Wv""""Wɞ(f3*#""r 61LݷF =Ǒ#GILLl2UJ[jL&[=?^z=[q3ӦZmJ-8|p1(**AIK5z"#ѠA(lܸɲM$&&ҠA(U/EDDD\\ h8DXDK%yDDD.fG,+6n܄'qq8992a}@.7g$..O$++Ν;1+-LQQQia7ήyq񤤤Dz!% >4i''q=DD4ɉXf37.sd"662rsW/DRRRhڴEc?xFF8HZz:MK3Bɓlт3gINN&"U͉HZ;5H7jpf}M9rI ?f9>| TMca![iyeԭL>- wsۯ[pA6lH:u_hwEԩS3gΜÇ/318;;ӦMk;7i5k(.6J&Ytq5|brsYr׵qf^DGPXX-1mϞ9$(((`럛&..|3gptr"//fI17h=Gccʽ贈.%xDDDʧ2Bs#n6luቧNP;v䎻`2صs;JO:uVbggO?.$?ƤW^>1;v???͝Cǎz7nL0(;wbϮnӎ={0i 23prrŅq[ټq=`69~+37/s1:urtAQa}MHHYt֝|L~~>K}Khh2\~?<̳|tp ŌyiV;`0ˣ 72xr s^ӦᄄX{'8S ͛Ze.w]pvXu`ooϤI/c%KՕz;;; ͛5ÇcʢSǎٳ={R~}8~ A___yym1[K~gtޒ%Kk<:z$LzbpqqaGshޒ#Gє;v2c[DO`@ Z}Zо};ޗ=4nF|{AAAtƿ57Pi1ԭ[O"宫,.L2,,)ߦMk|X_Wr]2xdeeZWQÆ8::֬wҋf=]xiԨ!7nsN9rx֮]Gn+??ŋ`63' Fz{=?~Rvvnt?gr޽{?n!00}ͥw.S|ͷ?*ƴt֝z6'Nz ???^{u/4̌L"u%''ٕr"""""""5'z vvlтO?OHH]"`ɢo8q"G`W56l@Dګ NNNZ g!")[6m'k_pvrѣOjӦ5۷Ezz!!uSv1m{3))),nYcw;...nݚ:%--/W+Wݝ&8[=Dp//~I@Ztٌ`( ~zY^ K"r=EDDDDDZ=^G\%UT|NT J􈈈J􈈈J􈈈J􈈈J􈈈VM8:9[yO?c""""""&zܭټH1U=.n{Z3W7k!""""""אё G9:9$u8;GT%"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC(#"""""""RC8X;ֽ{w Wzccc9qD""" pEEE88Ը[""""""JzJ29Ū=񯅷Cl>j*&NȲe e׮]f8p ӦMwjgټ:2x ?|p-ZDzz:...KDDDDDjS'O >Ǫ 9p\X;j=&;wҵkW4iBzz:z"&&Ǐc2* * uޝL(((`ڴi?WW*iSDDDDDT2RSpv(Ղ#dꦑ="e0TR6G pm@{<*l6ӤIbcc<FLL C.uر,^=LJdIr8 [; hf3 ,gb0 v("1 d|6sEڱŘ͛ǐ!C=z48991}tHHH`ڴi899ѣ2dͫxY~}ׯ%=z-[hw6o @aa!7n`ӦM[uuV233K/,,dӦMm6 *~"""""rd+SG~"DOtt4/fL<Lpp0&L`̟?ŋ]6F#֭+xyyѷo_K< ,o<ڬ,zAXX $$3gzjo)7~x&NȘ1cHNNN;[.s 6޽;/^^^r-;vB-"""""""f9s&s;vd21lذRe ĉcr-j3--!Cڟ-bРA} FŊ+<;SNqqqx{{Ϗ͛7Æ JL8p Ft8pmڴwDFFgG>|(6lhYGDDDDDDDj6MXc;ׯvvvvk*UUquu?쏊2jdggc2,WvmZjUlEcpgҤI)\ .W^`ȑdff^+'%%a4ɓg/F|I777 3f̠cǎ65jFl6zjbcc8q"'N,Q.,,>蚌p),,cǎL>ҥK>=-ZիWӳgeggg)k׮4i҄~z) a„ ̜9 O~xW ct֍ח#F0j(5kFxx8?3[&22#Fڵk>}z ;\/x쩱/\!I5df-?};? IDATԱ{z,_?`qvvY;)T^zu2;wÃܼGaQQ-r["""۶'>>g_}XL:fMeV HȠ~zLx)ÜwfQ^EKヹpuu%3+@fLBa,vүZ[yo\~{ɜy8gkС};rs=#>h>vv̚1*7EEܵ䔒4ܵ'O!5- ݫ'o"O3c>Gq׷7y#]:ud;BjZnlɻ3ߴL6LL1_~]iiܺ53nYwihޜ-JLg;o[~&OFz>eޙۋ Z4o9/q jt CCJU ooyl cMz9}377_xvMzzcC汧}_pqq&//ǣ#GXc:xs&7jl"orsa֜yPT\=#J]&'7W`?O+0ͼ7} ujUͅ\7{G AWHHjZ/{oϠYӦ yxc<;a"K>&ۮ={yÏxwܺYټk4%5=7݈d)SWY'{z,=",f=%갷緟~ř3ϒ/GҩS y_ =}?|K@Z;Ψ'qhwΦvP99 y!&J2'fz|dffp2|HD?899QTTT*%UΎo7fŴo3cֻtp E,F>ujzOr2) wwUFAA[~^+SϠS[iyCsRRSy^罷ޤMVL&z}F=$?*T\`^}.N̞F[7h w ̢e?'_Тyj Փt41ZZST ո[""r}'q6dܵ"i6 (0?__zDvݝfMsO?ũg,L}s{֭`p(:buuqM7g{G#//j/_/?JswwƖ-pvvudמ=%M}m-7ήD쨌7݈/7sD7nlǟaW 8QhzL2=oQ:pww?qe^lK$}dgddP\T̙sӀ,u˵Û?,'F<uvba/ @ڵ<+~Œ<V͍n`Ύo/O~e{lCשedT>~& 3f`oo70=700(?_RRSGe\]]bCмUn/%ļO?5k1MxCqqqrCnX*ɓgRΡ(ӬiSf3ٖ[ l*eggc4i /Nxq/ĠШaC:w{kTp{o=̝ Ѹ8qss+|Vuhߎku99eڴnס? 0V74H\|˜܎ȵDش>?Tbs_V\2S$͋g[0̈́7i7l__J2GȣOб-4h/OU<8>psskN<;pqv~}9žpwa3F٥3чcv` /Nx#G㸭g3HNI(.*f}FɁٹ{~>5jXDB"&=?h`t Ύ[Ӄ={m=scU޻n]:YrMY qO:vtBhwsbC3٧is:}޽zYYDS"{EЩ4/'OrAb믾|ѵ`IOO'!!#GQX;vp<=iۦ ~~o>%]9r(monë/\svKAn]:R5}_S'q\W"L&oiw2-ohNBbbӶM899+ чɥcvxp(vvg' ˖)*.&&:Zk= SiTקN] $FV&ήP*c9,KOn6lU mH%8 [;  kVrх9gaWtaX`+ _Vd!!;8Цu++HMn\<=<CDD""""""""5=""""""""5=""""""ՔE)*,aTKJ􈈈TS>0[;jX-k!R-i1fjǏ\2RSprv!YUQa!Ƃ|v8"Ւ=""""""XP\\HOI&+#XAu)#r J􈈈Ts>~JnHhBBƭӽ{w Wà ^%T(/YSN88TN8s 111tرRKDϪU8q"˖-#44]v`6gL6޽{W$^֯_٘fn-ZTRfΜɯjy})qqq;p>>>ի3f gΜDf0f0BP.+ WRjj;OL&vI׮]iҤ g7ثW/bbb8~8&BmfZjEvHJJ"((89v옥_|A~~>GP{U>+ӓsrZ)"f2RHK!7'\=ׯ|U>+ WRjb)'zCXX?~ܲԭ0S69u .,1ڥYf4k?'==&zDDl6sT"y99֩C.efqdFc>A6%WzP~%U+Ř͛ǐ!C=z48991}tHHH`ڴi899ѣ2dͻΏJJJh۷Nvv6֭ofSjIKK ::G8֭[,m޽{西3l۶ PZZw裂⁊Hv/y994h/VK䐑jԯ+ WRjRMDGGxbϟɓ?~<3a&O Yx1WVpp0j[oe*3ebbb8qcƌ_[d vmmۖ-ZpÇ3sLÉ{pwPn]yJaիGhݺ5|WuNFhРw25j}t+T_fdfm` LzjMU~6_U&+KD̙3ٲe vvg/aذaʜgggǖ-[9sUeooOTTݺucx{{3`V\i)|rڵkGDD{eժUQ@?˗/ĉINJoocI 8ӉgϞ=̚5kmرc&//c2r+as 6ϳb IMM%<<Ν;SXXX2ڷo9&..\ߏU*"՛ld2/f3ڪK^n&&_UMJUiWs~%r96Y|9ǎcڴiDGGӷo_}KkQV-<==믿عs'$))\K޽{3`\]]_z{_K ;w.>>>}OXGDDDDDDD*f= <///ϟϤIMZp! #G$33Ja„ L:&zZhcXf``ƌtر2%~ޱc.Oy888Z ?? ̅ g֬Y,\m="""""""fn5o>0F#'Nnݺԭ['b4 㣏>oeԨQWՖdh4ڿzjťTg}dlrEm#GGG|An& @dd$&Me˖s!fϞ}vgZnMdd$#Fɉk2}t۷/7p?}ڶm~׻`BCC1bL6^xri޼9|ٓhx vJڵٵku]W'zhݺ5˖-#44???~w8p`oTVXf ˗/'::t4h+իܠA8q˖-LJCeY~=cРAڷoOHHHv7oyꫯocooۙ9s&6lϏc裏b0.{]]t!00~bbb>}:?5bѢEyWTE}Fll,Ǐ??u+,,>}X+k>v"""""""be6;uk޼y 2ѣGӧO'!!M=!C0o޼k[aa!;v찌ٸqX^^ׯ/U~ݺu%Ff9¦MHLLl۷o'** 4֭[Wj۾}{sf3 &&Ʋy7nĎ;8s̕ """""""r숞h/^lIPL<[O0'2| !!!jh4On,~ט2e ^^^sw?RXX=ǎgϞZIMM%22lYnwNݝl… / g3rl6EY|9K,aȑxxxEHHhԨpvԬYxezDDDDDDDj숞3geS V}vvvlٲ3gVʹ2c>lZr%:+)))dffRnRe.u,Yl233ٰa-b۶m:SNݻײxxx_9qiiiDFFҩS̘1~ ɓDDDDDDDڳ=pŘx JϞ=pwwg̙3$] ח 6о}+СCˬ[777쨣Zj_3gr/u_Q""ӧI&h222hժWfAAeg~~>-ǝhԨAAAWT؞t A-m6rssKСPs*''(֭Kݺu/ZWy?.uڵ֭}^Ib4ٲeK...r-%L&ك=-[d9s::v%"Uf=ƍ߶Ypey ,~`z<s)gΜ{p=ż+,^D@@]Q=F.]OuV2227n\򑑑88K-%"b,XK/ĉ'|>_:ӧ۷oggg>3 T{{{L!NKK#77n˗|o "))MbŊK&| Brr2^^^%oٲSХ)Ԏ;xٺu+nnnо}{~w<==-u]g%X*!d64mڴ&tgHzؼy }:$&&2}t^yF ҘlM7n .dݺu>|-[_ݝ~-Zƚ5kJmNNNW܎Hu4}tz-(((O>a?l6[FN:u,y ɓ'+ӑ#G8~8ٖ?{Uq;3If&^H)+(bD@Q\+UYTl˂EPTD RD.-O!Ąd\׹.<>䞧xc땺ga޼yڵ4ߏb)3_E\.cǎe޽e6%yB<^~eJglܸ+_&. n.rϕ<\|tM瓞NTT_x<TF&z>S~mZnd̘1cƌtҺuk~m>S瞀ԫW/Ǝ[aXPPPLDDC93w\vJF*z/a4gfΜɲe zG̬ HشiC nc4;hժ/1Yv-;w$99DÙ8q"{w0`VZUJ0uTJfHLL?g߾}=tX!Jp2ϩO?'x?s'(W. >.CGMtt4&LbРA.]Jvv6-HEЭR};vYfmۖŋЯ_?mƎ;K|-_nRRm۶eԩhтݻsw˿2e5kF ݻ7=ټe}<<3$$$7ߔY<22ĻyWn\lvv6C/ge- ]vg}6W_}5}駟欳blٲɓ'W$"RW5os7-Za0x衇x[bÆ ԯ_)((M6']^GBBBoˡdڇ"!!!Iw@>}zUyv,֯__nn/K:ag֬Y1̾HZlɸq?\4{>yDĂ>c4֭_~%-Z >>ݻw3xjkM6tڕӧ;ִiSڶmKbb"7o?ϧ]v,\$gF[SO1{ly3zhV+DEEq3p@ˡjeʔ)|>|s=={uo۶^z+vtt4]v_~%~!~-K.Yfep'%%Y埛H]wyk׮ .(+¹}Y}Y&)).] mݺu^-[Tn.Oܹ3_=&Mϳro].{a֬YX,zIO3'zN{e&d >JxJJ 6m⪫믿>=I*#''-ZгgOȃ>xzz|9~i0;;*<~t<""/b,STTD̳>߿?=\=Æ Xr:u*?xL/{.bfΜhdܹNspz-l6;w$4s*??3ggUUo>a\>6l~xONxԾR^=ƍGNN[lYf̛7:P\\{mR\\|̺:thv衆F1nܸrϋHDϟ)UTT_ƏϲeXdw TUN .#FpWKxGx̙Cvv6鄇cXشiSsW^MLLLO??KD=A߾} %Æ c͚5\J 27瞣Yf>M&vTlxSn$''pnhf̘qJ5jU!Js2ϩ3f0vXr6UUwqv'VK}R{J,ӤI ?sC*#--3fךT=֠A~jZDDN?_*|,((`ɒ% =EEEe=$99˲s9;Lv!9!&22X.p8p8t(^oIpXbIͣ"D) p-{ѯ_r+:Usa̙,[̿rNJxx8 6gݺul߾_fCU9C>}W_]DBn(Y _d,]KxXV~7."&!!{zfxٳ':ӦMe˖tޝ;3\&Mt̲ 矓Pfr} ~6#G裏l2p8{mۖAk˗/gȐ!ou:tw}&MO-Isjҥ\qt/D۶m+: :/իWzj,EW{s;}0}2e6mJ۶mSv>uo߾ɖmF^W^񗉎V'\>ڶmի֭h/Yt)V?kiӆ޽{WxtQ ۷o/PAv kLG63`"ۑ-*zSDjܖMhުMm!Fs/0ʹXz5۶mPjo+~CFvuB]I ]I BcG> Ǒp.sdcDD䴵l2 VaiJODDDAED5j(CNSj"""JikȑDDD$4tKDDDDDDD$D(#"""""""" J􈈈%zDDDDDDDDB=""""""""!B˫H|>~]Ðv%v%v%"5I (׋`Ksk;9_Wz1sUݤv%v%JxԪED$`|>^Ðcz|㔩]mjWjWڮDND=zDD$&_nծ.+ + `nW"ǣDKI ]I ]I ]HM-DHPGDDDDDDD$D=]tŋ+V$ C(c"49ڕڕڕԌѳpBwή]|]5kصkݻwg…v=Ņ^E]Qm֤38N:v"""""""R͂Ge͚5$%%Ѷm[0`۶mc޽xjފ+!22g}>ؽ{7| ?xu* Dxxx\[DN_ZmDAJAJAJDjJ'zH֭ٱc{/պukXm{G{i޼9>h=v矯D믿^+ ڡ[CeذaرK/Djj*X,va:t(NY\\̚5kxk+\X|9e/lڴ vZ<K,aɒ%害cVZEaa1cٷo֭rŎ;~c͚5z4^O碢"|>7o#"""""""#h{lݺ?ܟxg=zc=1cxw1 4mڴJ'11  /o <1c0rH[oW_믿ꫯR\\1 >|++Wb{eSSSKIII!::G׮]֭&M+`޼yDEEG||< ,Gvmk׎sex<233С?^EDN d + + +Aۣg„ ,_nreJF/_΄ tѣG3b#F駟R^z)|6 6aW^4jԈ|rrr/xwx׀ղzEv'++E/پ};8z_O?|rÇbto"""""""R6S ؼy3;wj߾=YYYdddT{c>#"""k?~RRR*,g+Wdر[ vs4o޼ZW+ Ʃz^pI[S֤f]I ]I ]HM DOv눎w駟7\kڴi;ロ\ڵkW=<7{)SIS?::b|>(S{'&&2G+,,$))7|c0ضm۷?DDDDDDD$m{{xbv1c3fLr[>fbdk.rF/́_>6 裏rɠN:t:/2d?E]T̬YkeСC8N ݸH 2WI { W W W NA)w߱c5kF۶mYx1c۶mرK/ט>}:4lذܱf͚aZy뭷xy5j۷gٲel߾Lmr?A.]+ep X3̝;Ν;ϩWsa˖-̘1\&O|Ν;?>s;w$::[ooMFF-bРA4oޜpЯʙgɬY(..f۶m^A={,ϟ?$$$ЧO*DDDDDDDfU~zvh""'7\ + + +JvѠA8qIy9)d8 ^~CDDDDDDDꠠ_uKDDDDDDDDJ(#""""""""4tKDDjOˍH]I ]I ]HMQDf'?7Ð#ssF]-jWjWҮDE (@tlk;9"@:ѱq Ԯ+ + PhW"ǣD`h4b!jgFkf"vQ1Ơ|U[Ԯ$Ԯ$B]&c2 L&b%g!@{wNKVȘ8"b0LArvUw]I ]I R9%zDD$J_pc٣|Z} -_pծ+ + PkW"ǣD\鋕hd2嶖!(} vjWuڕڕB+cQGDDjDK^jWծP] WӁ=""R%v%v%v%"UDDDDDDDDB=""""""""!BDHPGDDDDDDD$D(#"""""""" J􈈈%zDDDDDDDDBe IDAT=""""""""!BVԄ[(.**SXf֮߀-W[׳_uPGDDDD$dbqx<IDL&af aG.ԸgnޛXvԜ/> X\I31فEIx>aUhJ􈈈Hv9R&>؉בDOX) ׯ %"""""""uJs\dKbԾqqelؔ &&tO ӂbf欯'--l !>.w|e}|>F?^Rџ%zDDDDDDD$dyy:?sg)0y1cO8? ,qkos/Ls{S37QJ􈈈)|7 5*s2u\MܨQC&0²0eG пqȃ9߰(y1C_Sj="""rR|>هQKaa {ٌjMl|=%|DDD̖J;oRzKM=qHx1$%zDDD|>Yܟf'^M"[atSGN! AccEfXeX ^Pt1% )rxy3ࢾS (#"""8J`:h.ł%q(#mn $6lѨdHmx#]΀^#"RL&a$y6l? .Lq0{4_n >󲳳)v:ILHh40B9Y^~fŪ_HjrN\}_s$&$7_|qd+ *$)#r D+_~Y3k;V:\+Aڴ\:oH\D 㒠vz~^S E͸0)..pA F#&M3j0rj*ѣDDNOf{C$^/3hԴ9%5jڜixZT$XKMK^̽wBjz:|w>dI޻;:t`EA3?%zDDNG`=H@9ffRf'71d~L֭iݪ q嗳kn+<`f&9\sՕXVL&I}f _DDNcJHP&=#e6G|LmQAqq1k֭/vf:u6xY@ݖH|_庢c)UG"z*qFR*~e5QQQVkzv3Ѵꖈտw#>.?v`2x~Xy[O Hwώ}> cQ~^_wn^|5"W'{aQ\A\ߪ^f絥n"ʇŤmւ*i'm.da45W*@dT4Vqi/w~DDZ;`f&M5*U|?٧HGC3{H ?,>OLruײx,].ǟedLy 6<~&y%y&^a[[9ף=R'|>rOX}d)2aa& *<Un98D=kDhRXXX&c< &Gj+l˟$巪 Y=*Hp9 2""R4tKDB 8=ˆeæB;ԫGꌬ0\N'cA{\N'FHP:tDGq:DDD9t9iРAYd?PnÁh$,L""-eԩ7 ߭:跍.'Mo.ZrUHV!x<˥ ?zU ?[d$4d2i 6йcb9e kۺ5k֭iVJԟ yLLv>;nSD$(L&4}uzj3d`}.d'&0|ŕ9WuRGDN EELCߤ z%&ފ? \dWrs#)*a4iִ)WÙse5Ĕp8xG&`zvV)7өCIR8d.\t""zGJpupݵnj27`DN'r7\7G?ҋPBD{ r-yy|5gnztojpq~5}+"e00DFǒyGA~5|6ъ[t.b|4g}E3ۑylkj\3sǭ75"ݺǥ?n, sa˶mSSOl@FJJHPX,~4mҘ{pÐki԰gE-5Os{1p@ 3l_ue/"ܮ&:M|ܱ=#c:޺ f,@`;E=}>ߤjT-ѼU|& |Uۡ ǃ&;s?n-[v l&6氰 pR6"'1h v;fN;?ͥW fK/p8.]5W0 G" ϑJj薈c4 3O$Aضp iZm'f2iIi333g}ExD8iideg3d5<nqq;C>/{14Z(#""" 2a6CLDy8lH.GA>y9Y:KllhJ["""Rn00LFm#"""fTy'ԋg_j1F-8&)#"""e00ka2t>:;J>IKH2[,YZ{Wq:lLI!CJ>\&^޵{7yy oJ􈈈I)}1:V"G 6&&;v9xd2fL`æM$7jLNn~KsϓF=_?Rr]:M$ENC""""""^~fŪ_HjrN\}_s$&$7_J􈜆Y51V-L+ J􈈈%zDDDDDDDDB=""""""""!BDHPGDDDDDDD$D(#"""""""" J􈈈%zDDDDDDDDB=""""""""!BDHPGDDDDDDD$D(#"""""""" J􈈈%zDDDDDDDDB=""""""""!BVԄ[(.**SXf\RSӈa5b)#""""bmr21]N<Om$"rB&0.qϐf/7'S?1y-iٻ/Hiڤ /= gj="""""!fb k;xx z=X#r ] ][qƈapns'++ύg U4GHq1Ӊ Hnc{A.اϧHLMS.g@u;SvaXYi薈)[r??,YbSŖ+)wrٸ1Ͼ??+D33g}ExD8iideg3d5<2&g2idgбC{+HUJ􈈈HX~>9<"`e.L^gӱC{p83~@jF9%> Ts_:.&snԨ!^_aKcO22R6{; ¿&^t\5E9)>Ç(˥FٌjMl|=%|DDD̖J;oRzKM=nF r0`cIJ􈈈q|>r8? NlDb)Yv, ?C:AbD)#R&-."lf6W{^Pt1% `Ν>29].l!V{LD`F*j=2ꨣ%C, zף ?)*tذ F="6&&;v9zHu2Lذi30ƍҠ~}n&x9=h԰!Y|;;bccWu/`: ؎l@O7%"`˦u4oզ(]=n7mnDN{IE3ڝҹwn%,̬d=͡Ç &&Φ$1!!h u^~fŪ_HjrN\}_s(y1l%c~l6=u+ ,j}elȇU@>8NxlOx9 եDe[0ٸ\.F#^ /GY!Jke:H+Ua\֮[W` 3thټ_v&ӱ7|=8hd2rq~i}1CM%zbar2^Ϗ /)wVOΌ:EE 45mNɻƩo6`Fޣ7 Rҁs]뇐μϾ]w}wN:0" [DDD=\ƍ)ӣ;9=)/R|8EEꂒ"uiۺ5[ ^=rv}/!ff5W]jd2|lV+ɋED4DԚW&~UX͏Kؽg/)o.SpV7nJCغ};^5kױf:u6rٺmYY容aS 33Kټ:a"QKtl|늎 /W *.իƍb4IMK𼕿&** ˟&zv3Ѵꖈ áÇ!,3Kxw9EBz| ֭LYr |[/q\Lx50}g6}n/^R1O>ͭ7_/вEs^z_f絥n"ʇŤmւ*i'm.da45W*@dT4O_XX@dkgjY4iԨV-[x<d"""="R+zDESn/y>yzٓƌ&<QU$>݄+=lt 3zԣGG~^ ˹,E^QR&,D~AAyܞ Jzhs JH0YqS2nF03۵e8ᤚ"%Rr0ߪ/Hf&+Hp9 2""RFDjEDx8e]~2a0 H I}Χά`Raz*KU?XOhPJn;%m.' 4</p80ŅT^-6ޜ.1ٺ};l(FmDV :oχ?溿 pԤLY&82߰fErUZP2/w;-Z,E卷-w,%Z+Ϗ_ƍ-8f/?//{7ޤm,_qc>^"f$7'fHMYbeg_VNLLI MZVzv<7)BdaQ{ry +Uxf;$uzHi԰!O><ҿXaaƍX ߣi}5W>cO>fT2=~5mwߧM3Lܱ#Y˺ ˬuwy퍷hټk7ld_j*-[4?EB`h4KVAN8 )r8HlD+nIй쒋4>lGCl޲k_9sILTd$ֈztr`&Qݰ }V\H+=n*ѣ[WKXE=zDV t 3?F.]Xn6m]6̚1+]Vlll,6,]3 N.guf ٽw/ Spn%ԫg>,"iտe=^"4؀Խ^q+#u/ 䑠dXiڤ1!ҨaC:V-[`}n/OAZzݻ૮EDU+r;q'//olfD#[$MkH5زi[0jT߁xжM<.].<;v l&6氰 pR6"'1h v;fN;[ܝÆ^um<1vVy=a`8lEp#[&&-)h4f2HΡm3 7=0.GA>aڈO$dҒ"""Rg-ffpfkx2sy-@bD)d b%b.#mDXmDaGbXq|r(*t=ȪvZiKDDDjhKxD۟ ¹˔]ώc П<&3NYDH.lC$%fGaSXGnv2Rq\DDذ%6v'H""""*þ_:.QLxa|e/ߏ?aԏ8?<:͛uvn%K+[MPGDN ^~C JFWh$,,[d >``0b21'TVRs?|S*P/}8v;3<--b_}M&Mf00ka2t>:;J>IKHpMM IDAT2[,YZ{Wq:lLI!Clr=ӤgTx.RGDDDNJѱ9J11Axˉǣ}&0s`<6m|~&ѸQcrrs=[ԯm7k%zDDD(#R daPaID$؜թF>ȊU|JV+VǝV-@H yFI7S:o PDaDDDDDDDDz(#"""""""" J􈈈%zDDDDDDDDB=""""""""!BDHPGDDDDDDD$D(#"""""""" J􈈈%zDDDDDDDDB=""""""""!BDHPGDDDDDDD$D(#"""""""" J􈈈%zDDDDDDDDB=""""""""!B)'5-))s:YWQU?!""""".-=7 |>n;@Dꞙ_~?7f;y|l7Χ}mr21]N<O@#"""" L&af a;c=}yl݆fA3170KlؔO%;;C ѤqVԣGDN[y Xae ;Uܼ<6lJ33٘={jH0q^e_3[x1W^>gYӦLhZUԣGD*vYv]&r֬]S<,"""(,,??GzΫIqq17p=﹛cХ0DEFr8+~}/{3WpV]ū^b%5y MVV6=uc‹FD/ҹcG\!''-+iެ/= s!&&:woLFy3 dO-@DDDDt!Rp4nԨdu1ԡ@99\<_ҽ\RqU7%zDByy<9r^oڶqc9][Ya#|6M/:o_ĢoΚu#O `*# _+V왟={g<41ޞ7ޛiؠ v{rl2G{)Rf~M7&774^{MRH7ł.(h4b/}GQlfUzD("߽ް_{kbAPK!lMt~gΜMvg997?:,ZLK f(,,,.6&]viۦM2];w0 bc1|Uˣvm|;&qr i߮CdyY;^]M||+yQBB|>? f[ofHfV-[nnzڴN*W5k ӧQGDʔW^eosy՗i٢_o+}/..q=Xo)+#-=?ŧ3lz+ &~ת\d"++ w{±|4N9roFqj(uKDʼ Աc ૢc9[?mVToxx8^bcb8cH^2\񫔭irlv{LpЮm2=ht-^n':?iuW]u۶2e']"rPƞ>|}fQQ̛΃{br1?6n̴_p&n>ټe+ҸI<Q:䷹󈈈|T喓9wzs` Gn\zL?˧S?fmJգGv''¢Kp:>rCttt`{tV=w#)1ܺmZx kS&3uoo׎wڷֵ+1-,*޽zV[gےg$6&!pƨ:7.ZMLngTwig? ))y~}ʘL&^2?%Kb۹;+ jLAR;%K800烰/ Ѧ]n~3 J"pޒdjI9zDDDDDDDD 􈈈&9L(#"""""""rPGDDDDDDD0@aBÄ="""""""" zDDDDDDDD 􈈈&9L(#"""""""rPGDDDDDDD0@a 0nBc2 """(#""""2 LPi2aDE *>""Ҥ(#""""U2 ;)'6>ȨnREZj E%(#""Mr􈈈H%=y إ<DFEӱK 6i2J `of %6> H[""""Ra|> 򉈌F1EDFe:|>&ICDDѩGT*u%""M="""""""" zDDDDDDDD#""""5А$Cz􈈈&ԣGDDDD;RRHKOeW`ݳgwG[C?p\g P];w`8!eamU\,!!!AP@ԫϾƧAtfd1|8sW興{~fn7~ ѧSIu88o9\uٿ[GQQWx3tX IILrۺ\.yi~u6>/}"+۵;ovmwbŗbXq8< v{xw7֛f=??D0ᐦ@Ի͛3iKOʽ>Dll ^yE? &ꮯ_>`6`0t̛̠cߪ{gZwrPv=X GnlW_ˆe@~L&Rwbͺ˧_L#2"sǝ}Pm0rr.cGJ va ydfe~C=""""R`&ce2Od7˃\;;lBBn4 G` / 7^%!>AgZ{*<{23ٰqvf ^M[xشy ׬%;''~޽,/T8u}dwZk׭rn5kב+V֪ͯ_L]|$&$^=L q/uо\{Ks v~{$yg~֏!]q.:x<~Vjc-U/(`ܹ{q=ݷl6lʅc9~}pm2pwMebŗ\~\0&ϳgs1x@"""yW8i(x%"z|"y<pPh޼٥dfo^|>x1~L&,\>O?1^}VC !!U)FGQ/xK* ogr[d"lNI7ȳ/HF^m^mԉ[n>zҦMk2^D7kW\V[m&c28cHBC|wby$%&pʉ'bj77v;MTju4+Is'ο\;nƜo'S`@~q6n?W_w_M#$$0&Gh36k߻8u>DFF0d@^-7\$=='zDDDD1L16o0By{6Ko_}E}xKaa!Nܗ-[G}Y? 1>]ؾe9xKڽχle5npзw/?k\Ŭ <3y r2;:PmOioW-s$?jgj* <|?*=v1G/z9cjIg9og˜9lظus͍73HLH eQmoYO=70 3:4.j/yc]t [m_Cδb}ض}{`hS?`y uoKn^Ӏ_Zz:[ne%6w&wnfLlm{޵+F&'zDDDDbūS`ƍLߤJm¸ǻ|X.h9cG`SOprՓabs'/j=֕0gqKٟEppp ⍷ߡG3SVһ6JJgNOi2ګգGuҙ/? 7υ;^|[xCD]9l3wX-_o= \̈́jܮ:%Bّ{7^ReNǕHŔgGkgO?ݺtՌoؽ;Ʋ&bڵ;-g%T ܺum:ofrGsEV*SfbZKz~AdfOtѦu_Z]5W\˖3o|=y7YcYDDDD=lݶ+3ׄЪU>~s_tЁ&3=’hjwޭv;so_XDr8BXp~˙f͍^C}6}ìӣ[7| j=lfp$,]JNN.i}>\. 0LtIJ z\^od/..f2Xn=i,k1?:qgWX###+vJ Geݸ\.f̜YcbbZb>̔6}Siz禼Ė[cu^&Pd2ѣ[Wnw` fafp ΰr c6qAu0ԣGDDDD\֭(|3m*&O=j\wqu7лgڔ}8+HH7]w-Ͼ0ܼ<p p42"Gx3ǜA6D˸GkmӚ+V#%m(,*djNk9}w?/3F$?>w؁﹋_K..+Đ%**r$? _sO>^3WbJ֍N9-Zt:-_ǕȂ?2|JIr~'22pc25<5<3y / S^y5:3=&l>t*}1ϾV-ZptΞ'}s/e+Vp:7oB$>}$%%bZȱgz+M_={iX,ZŒ ?n,i;A,H$>#ADԞDE7ofHH#&vk#%'s1h._N=Yf8u8Xx ;Rv.9^=z`XiMXRRv2t &|\ ݻvoެ]MffQ;dOҥ4nN2S ;il:"rڷkGvmYr%)ۇǞAqq1 O5ֳlrxx5dO1eՌ8u86SO%;'+WbګogK/|91DFDF8F1%3n3ݺqwA||+N:xHn^vmےeˉcӪlKB|<8͈Eޝ?o.0l63zi\vv̠c*.n]zԡ=_8=;R8 u`s(f3NR IDATNB|<' cU$&3t҅~}f ٣;W_o&ܛcω'OxX$ӧw/?wWQ!I C0+p`XSHHW#e9];5=tj@HCQ?e`aq zǽ.p+L<&9ŊP2%"""GM.""@4Vë?Zܖki 􈈈4zιiYDDAs7>""" =|#AB}(6r]^[""""""""^vtpwo6q1U>!22v/%k^v;5ؓjYTTQ*"e*VqjWC„f ݑ"W1͢"1 iՖm<ր+ښOaaao'77VfQXkw-MGَ%uMKx|j2a9x5ֱ#%}N:vlw|J]䇢WӜy vǎӶidb~%YY:t5f yy\y ,Ba_x9u4g?ΞGDx9y?n Æ?2oL~=mGl<~AWDDD%c.b`Ū|ޒGك^=qmh٢y_vڶiMlG~=SOVM+ jOz7?Lt_b~7f|=Ɵݑf,^0g(vb13a\@4?F[+mp/a~&~c!I$&iR w@[Vד,۽2-7gWW_񧟥[t>.UϾ}9ې:1XͬR]>_ދ)Fw&`Ѐ ׷_,[\Aa!^ݺuhgh(;v9:)mZ,SO]p%V`Z9~X,f#aǎowYqg葄_/kN >L&؁n``3f)0'wv ͚Oq_<3K%Uv#ϾXC.9"x磩jr.0~DDD4\밌L]`@Nv.`V*wov^ aޜ*M[IOCq =}O\>f̠cTx4Oٶ>b7⫬_@>˭iΝvж](,,۵iiڕViy} =`ա}uVX튊\S8]ddT}A~!{ή-6mԪlNN.EE.zvvD]VتUZ`ibGZ 9?kͺu]o_WfݺJ嗯XIffVuXaC^0Y{vz23ذqS alߑŠHMu@a-+qs*.{ڻ7lBV>n#w/v_PHZzFmf]In[ 36x^RRwy6tl@iѢE-Mai M"Gm#,3˜yޕn]:6"#a.-HٙahɈ' S:1mwp8(rѩ}{RRS9-[r5v۱7;9' @|8X1-[ӲEu\9֛L&BBB؞B6mۜyڛ#|>vU*[XTX%K].vs%/EE.ڷM>U[mvvpl6s CYv=;RS1|> OY&cO&Ng(yy4GQ7M EFN\[hcμl-yq\%*+qœant)KHZUn.~P `sOӵsg~'#?};#P˯_|@|dffaY)*rq~Ix /:ڵgނf<-[qӤ;((( 4Az .`bF_Pɔ7N{ݏH+<" 9)։L_- JNnGu] =oN 3CAA!>|/-G$=+׬aؐ$&-tF60n-̙˨SOS IK`c sRPPȬ_fO^~>V⼒Ru32x~Wf&bZ`d gZ((( bwzƌ.q3{J ?ၟ=N{bk/^"#r!g;t3 ~f2 /]Ю-fEKb((ks(x<ڝ#NmWں`og!n~s]p$g[ =!(-S:՗_a{:[oxn~nt'M">{dѼKAL^\~\0&ϳgs1x@N'5f q;,+76!qפ[1LcZ5ul3va>5mll޺Ǟey ^yBvH''tL?n~]~ z`ovQ5)"""W,!K.DsIfQQ9_mVzv+\.[qI8B10u:HNNb݆M=޺0 ~}`\_WSN<\3g)'V}Ƕ$a6=cX `elںqcFcZe yJg*+//ϧϨ~%<<^=VϿ᫴?ϋdj!6%&??ԗ̤mr6=we U#pLfSw؝^.gZL^f6+͛7j m5 6=?czio˯\p9Xfqefĩw?ޮU"f[dewߓܦ5ά~v1a9\wDGGӲE >6.7/:?-[G}Yv-XVvE^Q\rxٛBN'aa:Ɗw_ydLme/V #NV\n"Zrq֞,fp=%!@0x``v6Ilќ.f1s, d2Up畈1daaaM)v|DN]-["P[Kc[md6&)Ms.6x:worOi^b;0$e5CJ۰m PcZq9P}1͘fdeY=v?bVMUê41d~3/Ctf$%&Уk砜`Y@10Nv| [l*zvZM)`C, ÎSKtj4{ &? E'/F-5p\|7k&&;3ǜ^}?\o7lEezoreryV>s `R2Z%=u%}4r4}zd1쳪V 0t~3@1aN'|Æ <)v CvKr)\0L>z&f|OΝrlyd=1N]b}̤e)IV >֭b&) -wwjp19Up`6ٙ\MEr 9@ˆiɂS)Q,XÆEj]9gͺJRwѱ}ow l6#N9vbu] l&U>|:)tҙ/? 7υ;^|:,Y֪jaU|xnmz&r:=@`>8N9a(k7lbL8{ T4 |2V)tҥ&1*̞;9DE{WMݺVy]9Ue\ߺ2Btjߞ$>:":~yj*.".&~S[V6m!-`QMIՂP1/J:thߎ3e}IIXV|]jJءݺtn?c{)k+(zX lbB+^/-]1}{d2ѥSt;Hi=zӋ~_%K -=vcy\fVa8Fic=e'OQ;p'+ 7sAr?GuoIRdW3,:ol6li'XOl6qƈ:w>׬G.DFL^y{DXL%YsrsiYnh@TD8v{L=rIZ]ӰX,7ؒ!Y_vX,撙3a*.tЖ-vcFa6Q-ݻILhU2K9hk !9,Z4PdDͣ=&2_פ)׵3GYV<#O?|ÏywϚMJLg5C]wΡ{n2{۵?-WO=(**[׮ج1h߮-3i_}Mh;?(::^={Vjׅ&0?eom65 &wn-pI'$\>΁ؘt^eM`С]2l'k/=}Yq_. ׬'+k/{tcX.ڷM.׫K8BTi:j0t1ݰ֭'"<]x.W{H n`)YlpΒ%q烰&s),,< 33 s6vs:o"r 񒟛Mu⫯$ȭjrpUWuv(tn\[zb"Z-zblvgtػzyE֗ UvXQqϭspqۯOf\:a4E:wX%KP orPwHpzßaNOgȱ` u666E:o"r_W_W7N6VZatءRI0[C&9y-;'wi>;EDDNH|r3g|Z-lشp6IMx}^OgD鼉A;;<5Y+9}Y+Va%tjWq1'?$0 Z:B^I'cn ؝mZ'ѭQA4EE,*j7y<"""麺O.*6\EDx8ːc7vDDD5ḋ*L^XED`?)pS`Zyy݌*1-[pYg4v3qd"""Mz􈈈40SGJL/"""RLs[zEDDah-P9hZ&28=!b IDAT!$6ag IDAT!, IDAT   -&+ IDAT   { 28=28=!!!! '+.&*/ '+.&*/ '+.&*/ '+.&*/ '+.!] IDATךo7l{<۰'\k;ql1!!!  |z -;K]Q5|z'ZI㼣#UMЛr 7fo;mGya(    IDAT ;I3ƹa.1̍e Bto3zq [VԲ&0=NNA/ڷ0@Q`O/ﶆrǒTQ%YOڷ0@Q`O/ݻ0K[ZO'y|칅RCR&0=NNA/ڳ PM̿+X-ݨ%OsL٥ta+ J|n:mn4ﶆsP~X"ܦ%OsL٥ta+ ުB1&"+װ ,CIʫͭ P' ʹPlI",CIʫͭ P' ʹPlI"-DK ˩֮'^5۾1T? (ݵ>B1&"+װ 쌏 {싓QLH/,)ݑ  LHF543hdbƭqkjMaPߟҼm)B@."!=P黯"6WSX9 "XyvÔj ")7HQ> ďUC^-"XyvÔj ")7HQ> !Vxẉti.IZ[.IQ9Мb[0ct=P*"6WSX9 z[  1Mbk_5njMG pml987OVX\YXidb28= ␘}w %*-:9DA>ǀyu!$(39>m IDATãkd_#!730RMIŞ  744411:975^W7Okl-Z״5w4Ლ,BcncCѪ%4PcfV.ڲ,BcncCiR=,fE뫔%4PcfV.Ɗurp:86eb`7>@JGHHEC–qlj3.,mf`<87RMI@>>CA@:87u)ޭy}]-ˢ|b'䲐A*,?鵆}]-ˢ|bBmaRK ՞{A*,?쌐B>;tpnD@>C@=v~=DHü=DHüB?>@>=̥-m)+TgN"῱#_O* 2\`B]' &Ep)#_O* 2\`B])(&Ep)l IDAT}0/.ڀ:7tsyts?<9rxz΍653 1/.-+)#! RNKqA  3YoL ͉QD H,Ry{g.CPRG& ͉QD HRy{g.CPRG& olk.,+753{zchkTRPmhg '&%FBB)''hnqRON643=;:Wp. 9kO7\<`ẍmyy@ 9kO7\<`ẍmyyB 431IGFsnnÖtpnHEB=96h`\.*)HGEzvu$"!~{zGFDyqliA?>okh@>> IDATYURCR-eD+Һ"qc8ףRH5&CR-eD+Һ"qc=  + ΣRH5&eba;;8|xv>EI»QZ`ÖtpnD@=zutHEBE@;JHF=:8GEDNIFQE@ GEMQC>QC>QE@R@; O;6 &;>H 81/:66 R@; UJH QC>QC>QE@R@; O;6 QE@ GEMQC>QC>QE@R@; O;6  >88 733PLILR`LpQt2Wy\LpQt ,\cWy\>:7EC@ IDATumhb\Vheclih4;='&%EAA 󻾾(&&PMLΠTPOSG>UJC  SG>TIA B81 QKPLA9 ??FTIA   SG>SG>UJC  SG>-%D?IEJ@<:!1.->FJº {skdyts &$$yusSPOLII439 QLQZFD  71-!B25B25 42@K>8!439:56  868" "B25B25 42@K>8!439 QLQZFD  71-!B25B25 42@K>8!439*'=1(' 2'1 ?98 C=;  QLQ439A>;%#"1.- QPN" V\`+*(ywkge;97rnl.06YRM ޾ 4/* "'D87 ƻV** *-=,#,#W.06H;1' HA@(_TY** *-=,#,#W.06YRM ޾ 4/* "'D87 ƻV** *-=,#,#W.06 ZPM=4.80N9:CYRM.06('& IDATyvuNSVyvtȿ#!   ZROú  7>C7>C-$!%+UIB C=@ȿ#! UIB QF=PJO #'5UIB 7>C7>C-$!%+UIB C=@ȿ#!   ZROú  7>C7>C-$!%+UIB C=@ȿ#! ,)-#!& ȿ#! 51.+!+!W IEHPHJ &"&    A@HE80 E8/") !'E:<+!+!W ,#$  65<E80 E8/") !'E:<+!+!W IEHPHJ &"&    A@HE80 E8/") !'E:<+!+!W   IEHPHJ+!+!W   .07 '$ $&-0 #4*4*F4*4*F4*:1)½@=@D75  .07 IDAT&#% 55<4*4*F4*4*F4*:1)½@=@D75  .07 '$ $&-0 #4*4*F4*4*F4*:1)½@=@D75  .07  %(/   '$ .07$#!>;9: /$_TY@77Ү A40  @;BͿ [RX/ $+?. $_TY5,$@;FK=7": D;@ݬ SLSYMXOB=/ $+?. $_TY5,$@;FK=7": /$_TY@77Ү A40  @;BͿ [RX/ $+?. $_TY5,$@;FK=7":@89ӭ =8; /$:)&$)&$LHEJEB28=  %( %( #% ﱷ_YV RMJKABKABKAB󶻾`ZV *('#% #% #% #'+39>&ڂ IDAT  (&$631JEHJEHJEH EB?875     (&$621732732C@>    731731 P IDAT              {  X IDATNrv7 IDATŕl IDAT%)-39>SA IDAT {/ IDAT᳸ IDATI IDAT%] IDAT {Hà IDATa IDAT\_: IDATgulJ IDAT {z IDATL IDAT#] IDAT$ IDAT_ IDAT {7j E IDATI IDAT_' IDATuxq IDAT {# IDATt5 IDATJ IDAT4d IDAT {9X‚ IDATQ IDAT}N IDAT IDAT {Y IDATR IDAT1 IDATH(N IDAT {n^ IDAT1 IDAT IDAT%q IDAT {gj IDATB IDAT@ IDAT٢$ IDATfJvfJvfJv { IDAT˫q`GFG?N]j™yYOJ>HU]}vJQlJ]qM:BȧPD8?B8?B8?B8?B9DnvJQlJ]ΑX:?B8?B9IΑX:?B8?B9I˫q`GFG?N]jvJQlJ]Ыn\GGJKb›nUNJ?JW^|™yYOJ>HU]}vJQlJ]›nUNJ?JW^|ʎU:?B8?B8?B8?GhvJQlJ]̞hOJHHU]}vJQlJ]б-\d!ڙtܦ`Rz୏(4yR +B@2o‡F 2o‡F б-\d!ڙtҝo}I{HȶAjM~ܦ`RzȶAjM~RT️:t,~୏(б-\d!ڙtܦ`Rz6h6">aM@/ص,ZF %OfOcMb ʋLwPx4ᮊg{%nʱ6lAʋLwPx46h6">aM@/_ IDATʋLwPx4긠JtI) 9bk Biw *OK2!ص,ZF %OfOcMb ʋLwPx4 Biw *OK2!ݮR}Q( ʋLwPx4)VM08M> <ᮊg{%nݮR}Q( ʋLwPx46h6">aM@/ص,ZF %OfOcMb ݮR}Q( ʋLwPx4#F(%&& 6uu֢vw0J)ߧd==:6uu֢vw0J)#F6uu֢vw0J))~a| 4Qhnb6ܷ6c,(%&& 6uu֢vw0J)ܷ6c,}G *;QihP-ʖ}%km=6uu֢vw0J) <;;U+ ̵#<8ߧd=ʖ}%km=6uu֢vw0J)#F(%&& ʖ}%km=6uu֢vw0J)߰$iB  n<%4䷇{s`. ۩c=巵E4 n<%4䷇{s`. ߰$iBn<%4䷇{s`. ϽwٯxV|K Kz>  n<%4䷇{s`. |K Kz>6rrȢrN޴~K~Y* n<%4䷇{s`. -[qS|~iR8mP$۩c=޴~K~Y* n<%4䷇{s`. ߰$iB  ޴~K~Y* n<%4䷇{s`. = IDATܮrYQ Ul,ndʕvZ{@ݫg=ٸ!Ky'Ul,ndʕvZ{@ܮrYQUl,ndʕvZ{@ #K]K#.SZCxU HHƦp q8 Ul,ndʕvZ{@ HHƦp q9 #>jhtLSٷGP) Ul,ndʕvZ{@ޣwzl@"׶|tNݫg=ٷGP) Ul,ndʕvZ{@ܮrYQ ٷGP) Ul,ndʕvZ{@զ}o^\' "#$!٧y<||T|QC8?B:UfGUʹ-II٧y<||Tզ}o^\' ٧y<||T!&!@WG'"#$!٧y<||T!@WG'/ex!yv٧y<||T?PC%,MM7|QC8?B:UfGU/ex!yv٧y<||Tզ}o^\' "#$!/ex!yv٧y<||TΝxth~T# (JIԩܲ+JF组kh/  Dƫn2`j+DZ:L@组kh/ Νxth~T# 组kh/ !GL)涣ӭ,@3ɞۻ +.(JIԩܲ+JF组kh/  IDATɞۻ +.ɋR?tɘØ+>7Hzv {t组kh/ #$׶&!ɋR?t Dƫn2`j+Hzv {t组kh/ Νxth~T# (JIԩܲ+JFHzv {t组kh/ Ƥ\ Ey<%Z~lT 5O|MŴWPx4龴 ?9 ŴWPx4yNwE2wQyNwE2wPƤ\ Ey<ŴWPx4P|vW"7XlO/F7ښs!.=s`= %Z~lT 5O|MŴWPx4/F7ښs!.=s`= 0MDڙs *;`fM?rzqvo@ŴWPx4.hllV/Fy}\#?rzqvo@ŴWPx4Ƥ\ Ey<%Z~lT 5O|M?rzqvo@ŴWPx428=).228=39> {W IDATѿ IDAT!"# ('& IDAT('&GŽG IDAT*)(6C IDAT {[ IDATtm{,tm{,tm{,:K0RJV%QL IDAT M( $ C ( :)L+tkV DtkV DtkVu O< R' aaidcf44l@hVu U?Q$ tkV G39k2$ ^U~ IDATG/). &/#S UNg/#S UNgcXx5 a^ 66BJC{-:8gYr1Lx34U #/$ȴ^ EBN |A (hPV3 K LI.I.! U4$ ! R  Q   F,0t.. ! cD/    ;;a,#     m'ZGZt[} IDAT {M) x & >      '> 0G4  ""! k;,4 @% ? u666M)(. 7  O(. 7  O^C #  Y@ "  V& S536 + J 6B/ T10. CRCR= R&ok-xfX?+ ;#yL? P3> \EyJK IDAT28=28=6tkVutkVuC PML('&28=39>ƾ IDAT' IDAT{rÁc IDAT {\! IDAT#fI IDAT  + IDAT  D IDAT   {@~ IDAT' IDATn Pn PG` IDAT׆4]N m??n PjBs`8  .QiA$7an PȂ1_AjŔhG- !8XnBtc=" Mgkm_df( IDATbͱgӰ|PU#ҢU ʡow+~MlBʁHFn `֜CPErĴE_^bd`]\hdc_ceJOQKPR {6^h<4'@bf1 6$ Rov@NiU%؟D`7h~V(ron@>=987txyB@?hedMKJ)('vz|><;hedő$## Z4Z_a@>=@>=Z_aHe IDAT$##V[]V[]$##^M }zy976pml<;:osua_^TQPpmlJHHkgg&%$ @ Dki/а.z> tt1MKJMKJ422&%$ǚife;99B IDATOjCpS-cJ6i:V'$>[S|c.;99;9928=28= PML('&28=39>G8 IDATdk IDAT {1W IDATFYh IDAT        R9 IDAT    ; IDAT { IDAT5 IDATx IDAT    [ IDAT   {I IDATq IDATj$ IDATn PdUN m۵hL6% "-;N𷟬r;3Mw^ɱc.?[ U& IDAT欟34 Z `ߐ=2т1_AjÒfE,/Il}ec}M,  '7OpR ׆4(@`n PnDymD'  2Ygkm_dfݧSX$̡,~MlBGGph߬WhDOȯER?)z٨XǢuPeĵG͟Uϩvs^bd`]\hdc_ceJOQKPR.X IDAT {ңOU@:US&إ Bhn8 Bna7ǓAJ EUD6ctJ A?+txyb`_987987b`_txyMKJTQPƠPU:.TS)᪟  ldⶁX;'<Z_a@>=@>=Z_a$##V[]V[]$##󼟪@1걟 7QL뼱u[4lnrturqpmlpmlzwuosupml\ab\abpmlM IDAT쳟]l񹟫!̻ڪ  Eig, 迒 6je: Ei- ߛd^ ҟMKJ976422TQP&%$ifeife&%$嬠BM@ 7MGß1o~L)O,;p/J1CpS-cJ9b4DQ?gu-Jˬ[$ޒX0 1y1BS`M- Sj>h-$?~-=;99;9928=28=ק IDAT PML('&28=39>n< IDATA IDAT {vX IDAT  u IDAT          {m IDATjٵ IDAT {J IDAT IDAT  C IDAT  I IDAT   {Ѽ[ IDATX IDAT%} IDAT۵hL6% "-;NN mr;3Mw^ɱc.}ec}M,  '7OpR ׆4(@`ӂ1_AjŔhG- !8Xgkm_dfE_ IDATȯER?)z٨XǢuPe-~MlBʁHFn `֜CPEr^bd`]\hdc_ceJOQKPR {AJ EUD Gov@!NiU%ܟtxyb`_987987b`_txyMKJTQPldⶁX;'<Z4 IDATZ_a@>=@>=Z_a$##V[]V[]$##7QL뼱u[4l^ҁ0nrturqpmlpmlzwuosupml\ab\abpml EiVԛd^!b>  ҟ @ Dki/а.z> tt1MKJMKJ422&%$ǚife;99) IDATJˬ[$ޒX0 1y1BS`M- Sj>h-$?~-=CpS-cJ6i:V'$>[S|c.;99;99 )R|R|%XX 2nn:jjm' IDATxe7 IDAT {8 IDAT5Q7i IDAT       (# IDAT     X IDAT {i IDAT8I IDAT,e IDAT    .4 IDAT   U} r0 IDAT IDATt IDATn Pn Pn PD$s׆4+zj GN m۵hL6% "-;NN m؜䦍?[ r;3Mw^ɱc.)Γ IDAT찍͖ Z `ߐ=2Ղ1_Ajn Pќg?# #An׆4(@`nDymD'  2Yաh=  'Fo}ec}M,  '7OpR ׆4(@`ӂ1_AjŔhG- !8Xgkm_dfUmX̕఍%alJ+~MlBķQڽv(_Q)z٨XǢuPeĵG͟UϩvsxOd,x˜A׶ȯER?)z٨XǢuPe-~MlBʁHFn `֜CPEr^bd`]\hdc_ceJOQKPR!̞ IDAT Dpi2sQ~ ?ok62_nE 9ld=أ EUD6ctJ A?+Aho<MlY(AJ EUD Gov@!NiU%ܟtxyb`_987987b`_txyMKJTQP)drMXs\ⶁX;'<  ldⶁX;'<Z4Z_a@>=@>=Z_a$##V[]V[]$##Qra%0hpE u[4l 7QL뼱u[4l^ҁ0nrturqpmlpmlzwuosupml\ab\abpmlIQ IDAT9{+!̻ڪ ͡Ȕ&[]: ҟ A^Y ⴕ Ei- ߛd^ ҟ  Dki/ ¥[XMKJ976422TQP&%$ifeife&%$1o~L)O,;p/J1CpS-cJh-$?~-= Cc9҇D)1_%H5Jˬ[$ޒX0 1y1BS`M- Sj>h-$?~-=CpS-cJ6i:V'$>[S|c.;99;9928=28=K$ IDAT PML('&28=39>.P IDATa`, IDAT IDAT  -l IDAT          ?V IDAT/g IDAT IDATy. IDAT   IDAT  b IDAT   E] IDATn IDATQ[ IDATٱdH2!  )9Nq;4Q{kèM}fctD# (;UzQÒfE,/IljBs`8  .QiA$7anCvg?# #AnnBtc=" MŔhG- !8XZ9#  #4KjZ9#  #4KjÒfE,/IlnBtc=" Mgkm_df: IDATɯEQ> GGph߬WhDObͱgӰ|PU#ҢU ʡowķQڽv(_QĴEWۂHFn `֜CPErƇc{jŸo.ݓƇc{jŸo.ݓGGph߬WhDOĴE_^bd`]\hdc_ceJOQKPR Bhn8 Bna7Ǔ6^h<24'@bf186$2_nE 9ld=أ7h~V( Gov@!NiU%ܟħ'YGħ'YG Bhn8 Bna7Ǔ7h~V(txyb`_987987b`_txyMKJTQP   Z4?mQ& mZL>0!9t?mQ& mZL>0!9t  ֊m IDATZ_a@>=@>=Z_a$##V[]V[]$##7QL켱  ^ҁ0.i}HȔ.i}HȔ nrturqpmlpmlzwuosupml\ab\abpml Ei- e_ɯaz Eig, 迒 6je:͡Ȕ&[]; Dki/ ¥[Xˊ[g5DID,  ˊ[g5DID,   Eig, 迒 6je:MKJ976422TQP&%$ifeife&%$'Z IDATJˬ\$ݐT, "5Pv  9b4DQ?gu-[S|c.1bt@qM/I3UR1bt@qM/I3UR 9b4DQ?gu-;99;9928=28=n$CO[  (&&('&28=39>*((*((E` IDAT?I IDAT2s IDAT IDAT       % IDAT      IDAT{B IDATæc IDATX IDAT    w6 IDAT   b IDATT/ IDATTy IDATn Pn Pn PD$s׆4+zj GN mٱdH2!  )9N؜䦍?[ q;4Q{kèM`Ar IDAT찍͖ Z `ߐ=2ӂ1_Ajn Pќg?# #An׆4(@`nDymD'  2Yաh=  'Fo}fctD# (;UzQÒfE,/IljBs`8  .QiA$7anCvg?# #AnnBtc=" MŔhG- !8XZ9#  #4KjZ9#  #4KjÒfE,/IlnBtc=" Mgkm_dfUmX̕఍%alJ-~MlBķQڽv(_Q)z٨XǢuPeĵG͟UϩvsxOd,x˜A׶ɯEQ> GGph߬WhDObͱgӰ|PU#ҢU ʡowķQڽv(_QĴEWۂHFn `֜CPErƇc{jŸo.ݓƇc{jŸo.ݓGGph߬WhDOĴE_^bd`]\hdc_ceJOQKPR` IDAT Dpi2sQ~ ?ok62_nE 9ld=أ EUD6ctJ A?+Aho<MlY( Bhn8 Bna7Ǔ6^h<24'@bf186$2_nE 9ld=أ7h~V( Gov@!NiU%ܟħ'YGħ'YG Bhn8 Bna7Ǔ7h~V(txyb`_987987b`_txyMKJTQP)drMXs\ⶁX;'<     Z4?mQ& mZL>0!9t?mQ& mZL>0!9t  Z_a@>=@>=Z_a$##V[]V[]$##Qra%0hpE u[4l 7QL켱  ^ҁ0.i}HȔ.i}HȔ nrturqpmlpmlzwuosupml\ab\abpmlX| IDAT9{+!̻ڪ ͡Ȕ&[]: ҟ A^Y ⴕ Ei- e_ɯaz Eig, 迒 6je:͡Ȕ&[]; Dki/ ¥[Xˊ[g5DID,  ˊ[g5DID,   Eig, 迒 6je:MKJ976422TQP&%$ifeife&%$1o~L)O,;p/J1CpS-cJh-$?~-= Cc9҇D)1_%H5Jˬ\$ݐT, "5Pv  9b4DQ?gu-[S|c.1bt@qM/I3UR1bt@qM/I3UR 9b4DQ?gu-;99;9928=28=& IDATn$CO[  ('&28=39> IDAT?>] IDAT-4 IDAT  Ր IDAT          ai IDAT՞n IDATr6@ IDATR IDAT  ~{ IDAT   IDAT   _ IDATb IDATn PE! IDATٱdH2!  )9Nq;4Q{kèM}fctD# (;UzQÒfE,/IlnDymD'  2Yh[}- DÒfE,/Ilh[}- DŔhG- !8XnBtc=" Mgkm_df IDATɯEQ> GGph߬WhDOĵG͟Uϩvs@b[%˦IcVGGph߬WhDO @b[%˦IcV́HFn `֜CPErĴE_^bd`]\hdc_ceJOQKPR Bhn8 Bna7Ǔ6ctJ A?+3`_1񹥲ƦRcM Bhn8 Bna7Ǔ3`_1񹥲ƦRcM Gov@!NiU%ܟ7h~V(txyb`_987987b`_txyMKJTQP  &\b? ھ#ZcC   &\b? ھ#ZcC Z4'w IDATZ_a@>=@>=Z_a$##V[]V[]$##7QL켱FC  UbIzÚi0_`6 UbIzÚi0_`6^M }zy976pml<;:osua_^TQPpmlJHHkgg&%$ Ei- e_ɯaz Eig, 迒 6je:LbSп =c]) Eig, 迒 6je:LbSп =c]) Dki/ ¥[XMKJ976422TQP&%$ifeife&%$' IDATJˬ\$ݐT, "5Pv  9b4DQ?gu- CbZ#HcV 9b4DQ?gu- CbZ#HcV 6i:V'$>[S|c.;99;9928=28= ('&28=39>?ȡ IDAT$ IDAT IDATf IDAT       Jj IDAT     !dr IDAT-1 IDATu2 IDATƠ IDAT    b IDAT   I* IDAT IDATBW IDATn P׆4 *?]׆4<\s!ä}Ud\r"N IDAT0F<׆4(@`Z9#  #4KjZ9#  #4KjnDymD'  2YԡmD'  2Y׆4(@`nDymD'  2YɚnM2  7[ŔhG- !8XnBtc=" Mgkm_dfҼ69))z٨XǢuPeƇc{jŸo.ݓƇc{jŸo.ݓĵG͟UϩvsĵG͟Uϩvs)z٨XǢuPeĵG͟Uϩvs˃ICh?͢`ʁHFn `֜CPErĴE_^bd`]\hdc_ceJOQKPR-H IDATO3|4gnJ EUDħ'YGħ'YGO%u6ctJ A?+6ctJ A?+ EUD6ctJ A?+Bu]- 'Eo`* Gov@!NiU%ܟ7h~V(txyb`_987987b`_txyMKJTQP\ˇ@ ʈQ[ⶁX;'<?mQ& mZL>0!9t?mQ& mZL>0!9t\ۋ9ⶁX;'<Z4Z_a@>=@>=Z_a$##V[]V[]$##1PG'u[4l.i}HȔ.i}HȔu[4l^ҁ0nrturqpmlpmlzwuosupml\ab\abpmlH5[u IDATϰ+/' ҟˊ[g5DID,  ˊ[g5DID,   ҟ Dkk1 vݽ| Dki/ ¥[XMKJ976422TQP&%$ifeife&%$O;:X~o(Sj>h-$?~-=1bt@qM/I3UR1bt@qM/I3UROjSj>h-$?~-=5~kE n5/YDK' 6i:V'$>[S|c.;99;9928=28= IDAT ('&28=39> IDAT IDAT[" IDAT  2"d IDAT           IDATـ IDATS IDAT w IDAT    IDAT  Tv IDAT   'A{ IDAT, IDATn PkU IDAT׆4<N m\N?a!FQTɚnM2  7[n PƂ1_AjŔhG- !8XnBtc=" Mgkm_dfq4 IDATNp,zdgr%e[˃ICh?͢`-~MlBʁHFn `֜CPErĴE_^bd`]\hdc_ceJOQKPRO$t֋9>>yyQ 2{HGu]-Eo Rov@NiU%؟D`7h~V(ron@>=987txyB@?hedMKJ)('vz|><;hedő$##\ۋ9/ivPFpn6 Z4\8 IDATZ_a@>=@>=Z_a$##V[]V[]$##zv {qCS^M }zy976pml<;:osua_^TQPpmlJHHkgg&%$jaTŧ_hc Dkk1 vݽ|  Dki/ ¥[XMKJ976422TQP&%$ifeife&%$, IDATOjٖak]Z1Oh&t^5~kE n5/YDK'CpS-cJ6i:V'$>[S|c.;99;9928=28= ('&28=39> IDATN3 IDATc IDATl\ IDAT       m IDAT     )> IDAT , IDAT;e7 IDATE[ IDAT    @ZK IDAT   ] IDATڥ# IDAT IDATn Pn PٱdH2!  )9NN mrETNd<îz IDAT?}fctD# (;UzQnBtc="_x( JZ9#  #4Kjӂ1_Aj׆4(@`n PkfŔhG- !8XnBtc=" Mgkm_dfɯEQ> ĴEn%객ͬ DZI݈c{jŸo.ݓ-~MlB )z٨XǢuPeAюCʁHFn `֜CPErĴE_^bd`]\hdc_ceJOQKPRvr IDAT7h~V(5de5󻝧˫HZKħ'YG EUDeOw(d|> Gov@!NiU%ܟ7h~V(txyb`_987987b`_txyMKJTQP%]hGǞƫKYH?mQ& mZL>0!9tⶁX;'<{PbKKZ4Z_a@>=@>=Z_a$##V[]V[]$##7QL켱RiU֝jtMYE.i}HȔu[4lחZU 5ze&^ҁ0nrturqpmlpmlzwuosupml\ab\abpml> IDAT Ei- e_ɯaz Cg_(PYA ˊ[g5DID,    ҟru"]; Dki/ ¥[XMKJ976422TQP&%$ifeife&%$Jˬ\$ݐT, "5Pv 2cf: RZ= 1bt@qM/I3URCpS-cJRj>h-$?~-=ޢTf 6i:V'$>[S|c.;99;9928=28=B%n&vԉ7|P IDAT ('&28=39>ݶ 6ea4N 'n :in()$ IDAT^^N9 IDAT IDAT  . IDAT       IDAT28=\uv IDATE IDATkN IDAT=O IDAT=O IDAT=O IDATB IDAT=O IDAT=O IDAT=O IDAT IDAT=O IDAT=O IDAT=O IDATf IDAT=O IDAT=O IDAT=O IDATq IDAT=O IDAT=O IDAT=O IDATek IDAT=O IDAT=O IDAT=O IDAT_- IDAT=O IDAT=O IDAT=O IDATB.# IDAT=O%IDATɢ?"hvIENDB`easyeffects-7.1.7/include/000077500000000000000000000000001463533416400154635ustar00rootroot00000000000000easyeffects-7.1.7/include/app_info.hpp000066400000000000000000000027441463533416400177760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "pipe_objects.hpp" namespace ui::app_info { G_BEGIN_DECLS #define EE_TYPE_APP_INFO (app_info_get_type()) G_DECLARE_FINAL_TYPE(AppInfo, app_info, EE, APP_INFO, GtkBox) G_END_DECLS auto create() -> AppInfo*; void setup(AppInfo* self, app::Application* application, GSettings* settings, GtkIconTheme* icon_theme, std::unordered_map& enabled_app_list); void update(AppInfo* self, NodeInfo node_info); } // namespace ui::app_info easyeffects-7.1.7/include/application.hpp000066400000000000000000000033501463533416400205000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "presets_manager.hpp" #include "stream_input_effects.hpp" #include "stream_output_effects.hpp" namespace app { G_BEGIN_DECLS #define EE_TYPE_APPLICATION (application_get_type()) G_DECLARE_FINAL_TYPE(Application, application, EE, APP, AdwApplication) G_END_DECLS struct Data { public: std::vector connections; std::vector gconnections, gconnections_sie, gconnections_soe; }; struct _Application { AdwApplication parent_instance; GSettings* settings; GSettings* soe_settings; GSettings* sie_settings; PipeManager* pm; StreamOutputEffects* soe; StreamInputEffects* sie; PresetsManager* presets_manager; Data* data; }; auto application_new() -> GApplication*; void hide_all_windows(GApplication* app); } // namespace app easyeffects-7.1.7/include/application_ui.hpp000066400000000000000000000022421463533416400211740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include namespace ui::application_window { G_BEGIN_DECLS #define EE_TYPE_APPLICATION_WINDOW (application_window_get_type()) G_DECLARE_FINAL_TYPE(ApplicationWindow, application_window, EE, APP_WINDOW, AdwApplicationWindow) G_END_DECLS auto create(GApplication* gapp) -> ApplicationWindow*; } // namespace ui::application_window easyeffects-7.1.7/include/apps_box.hpp000066400000000000000000000024031463533416400200060ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include "application.hpp" #include "pipeline_type.hpp" namespace ui::apps_box { G_BEGIN_DECLS #define EE_TYPE_APPS_BOX (apps_box_get_type()) G_DECLARE_FINAL_TYPE(AppsBox, apps_box, EE, APPS_BOX, GtkBox) G_END_DECLS auto create() -> AppsBox*; void setup(AppsBox* self, app::Application* application, PipelineType pipeline_type, GtkIconTheme* icon_theme); } // namespace ui::apps_boxeasyeffects-7.1.7/include/autogain.hpp000066400000000000000000000054341463533416400200110ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class AutoGain : public PluginBase { public: AutoGain(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); AutoGain(const AutoGain&) = delete; auto operator=(const AutoGain&) -> AutoGain& = delete; AutoGain(const AutoGain&&) = delete; auto operator=(const AutoGain&&) -> AutoGain& = delete; ~AutoGain() override; enum class Reference { momentary, shortterm, integrated, geometric_mean_msi, geometric_mean_ms, geometric_mean_mi, geometric_mean_si }; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; sigc::signal results; // range double momentary = 0.0; double shortterm = 0.0; double global = 0.0; double relative = 0.0; double range = 0.0; double loudness = 0.0; private: bool ebur128_ready = false; uint old_rate = 0U; double target = -23.0; // target loudness level double silence_threshold = -70.0; double internal_output_gain = 1.0; Reference reference = Reference::geometric_mean_msi; std::vector data; ebur128_state* ebur_state = nullptr; std::vector mythreads; auto init_ebur128() -> bool; static auto parse_reference_key(const std::string& key) -> Reference; void set_maximum_history(const int& seconds); }; easyeffects-7.1.7/include/autogain_preset.hpp000066400000000000000000000021171463533416400213660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class AutoGainPreset : public PluginPresetBase { public: explicit AutoGainPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/autogain_ui.hpp000066400000000000000000000023751463533416400205070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "autogain.hpp" namespace ui::autogain_box { G_BEGIN_DECLS #define EE_TYPE_AUTOGAIN_BOX (autogain_box_get_type()) G_DECLARE_FINAL_TYPE(AutogainBox, autogain_box, EE, AUTOGAIN_BOX, GtkBox) G_END_DECLS auto create() -> AutogainBox*; void setup(AutogainBox* self, std::shared_ptr autogain, const std::string& schema_path); } // namespace ui::autogain_box easyeffects-7.1.7/include/bass_enhancer.hpp000066400000000000000000000033321463533416400207700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class BassEnhancer : public PluginBase { public: BassEnhancer(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); BassEnhancer(const BassEnhancer&) = delete; auto operator=(const BassEnhancer&) -> BassEnhancer& = delete; BassEnhancer(const BassEnhancer&&) = delete; auto operator=(const BassEnhancer&&) -> BassEnhancer& = delete; ~BassEnhancer() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; sigc::signal harmonics; double harmonics_port_value = 0.0; private: }; easyeffects-7.1.7/include/bass_enhancer_preset.hpp000066400000000000000000000021261463533416400223520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class BassEnhancerPreset : public PluginPresetBase { public: explicit BassEnhancerPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/bass_enhancer_ui.hpp000066400000000000000000000024651463533416400214730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "bass_enhancer.hpp" namespace ui::bass_enhancer_box { G_BEGIN_DECLS #define EE_TYPE_BASS_ENHANCER_BOX (bass_enhancer_box_get_type()) G_DECLARE_FINAL_TYPE(BassEnhancerBox, bass_enhancer_box, EE, BASS_ENHANCER_BOX, GtkBox) G_END_DECLS auto create() -> BassEnhancerBox*; void setup(BassEnhancerBox* self, std::shared_ptr bass_enhancer, const std::string& schema_path); } // namespace ui::bass_enhancer_box easyeffects-7.1.7/include/bass_loudness.hpp000066400000000000000000000031521463533416400210410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class BassLoudness : public PluginBase { public: BassLoudness(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); BassLoudness(const BassLoudness&) = delete; auto operator=(const BassLoudness&) -> BassLoudness& = delete; BassLoudness(const BassLoudness&&) = delete; auto operator=(const BassLoudness&&) -> BassLoudness& = delete; ~BassLoudness() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: }; easyeffects-7.1.7/include/bass_loudness_preset.hpp000066400000000000000000000021261463533416400224230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class BassLoudnessPreset : public PluginPresetBase { public: explicit BassLoudnessPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/bass_loudness_ui.hpp000066400000000000000000000024651463533416400215440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "bass_loudness.hpp" namespace ui::bass_loudness_box { G_BEGIN_DECLS #define EE_TYPE_BASS_LOUDNESS_BOX (bass_loudness_box_get_type()) G_DECLARE_FINAL_TYPE(BassLoudnessBox, bass_loudness_box, EE, BASS_LOUDNESS_BOX, GtkBox) G_END_DECLS auto create() -> BassLoudnessBox*; void setup(BassLoudnessBox* self, std::shared_ptr bass_loudness, const std::string& schema_path); } // namespace ui::bass_loudness_box easyeffects-7.1.7/include/blocklist_menu.hpp000066400000000000000000000024121463533416400212050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "application.hpp" #include "pipeline_type.hpp" namespace ui::blocklist_menu { G_BEGIN_DECLS #define EE_TYPE_BLOCKLIST_MENU (blocklist_menu_get_type()) G_DECLARE_FINAL_TYPE(BlocklistMenu, blocklist_menu, EE, BLOCKLIST_MENU, GtkPopover) G_END_DECLS auto create() -> BlocklistMenu*; void setup(BlocklistMenu* self, app::Application* application, PipelineType pipeline_type); } // namespace ui::blocklist_menu easyeffects-7.1.7/include/chart.hpp000066400000000000000000000042221463533416400172750ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include namespace ui::chart { G_BEGIN_DECLS #define EE_TYPE_CHART (chart_get_type()) G_DECLARE_FINAL_TYPE(Chart, chart, EE, CHART, GtkWidget) G_END_DECLS enum class ChartType { bar, line, dots }; enum class ChartScale { linear, logarithmic }; void set_chart_type(Chart* self, const ChartType& value); void set_chart_scale(Chart* self, const ChartScale& value); void set_x_data(Chart* self, const std::vector& x); void set_y_data(Chart* self, const std::vector& y); void set_background_color(Chart* self, GdkRGBA color); void set_color(Chart* self, GdkRGBA color); void set_axis_labels_color(Chart* self, GdkRGBA color); void set_line_width(Chart* self, const float& value); void set_draw_bar_border(Chart* self, const bool& v); void set_rounded_corners(Chart* self, const bool& v); void set_fill_bars(Chart* self, const bool& v); void set_n_x_decimals(Chart* self, const int& v); void set_n_y_decimals(Chart* self, const int& v); void set_x_unit(Chart* self, const std::string& value); void set_y_unit(Chart* self, const std::string& value); void set_margin(Chart* self, const float& v); auto get_is_visible(Chart* self) -> bool; void set_dynamic_y_scale(Chart* self, const bool& v); auto create() -> Chart*; } // namespace ui::chart easyeffects-7.1.7/include/client_info_holder.hpp000066400000000000000000000024321463533416400220230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "pipe_objects.hpp" namespace ui::holders { G_BEGIN_DECLS #define EE_TYPE_CLIENT_INFO_HOLDER (client_info_holder_get_type()) G_DECLARE_FINAL_TYPE(ClientInfoHolder, client_info_holder, EE, CLIENT_INFO_HOLDER, GObject) G_END_DECLS struct _ClientInfoHolder { GObject parent_instance; ClientInfo* info; sigc::signal info_updated; }; auto create(const ClientInfo& info) -> ClientInfoHolder*; } // namespace ui::holderseasyeffects-7.1.7/include/compressor.hpp000066400000000000000000000042061463533416400203720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Compressor : public PluginBase { public: Compressor(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Compressor(const Compressor&) = delete; auto operator=(const Compressor&) -> Compressor& = delete; Compressor(const Compressor&&) = delete; auto operator=(const Compressor&&) -> Compressor& = delete; ~Compressor() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; auto get_latency_seconds() -> float override; void update_probe_links() override; sigc::signal reduction, sidechain, curve, envelope; float reduction_port_value = 0.0F; float sidechain_port_value = 0.0F; float curve_port_value = 0.0F; float envelope_port_value = 0.0F; private: uint latency_n_frames = 0U; std::vector list_proxies; void update_sidechain_links(const std::string& key); }; easyeffects-7.1.7/include/compressor_preset.hpp000066400000000000000000000021231463533416400217500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class CompressorPreset : public PluginPresetBase { public: explicit CompressorPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/compressor_ui.hpp000066400000000000000000000025431463533416400210710ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "compressor.hpp" #include "pipe_manager.hpp" namespace ui::compressor_box { G_BEGIN_DECLS #define EE_TYPE_COMPRESSOR_BOX (compressor_box_get_type()) G_DECLARE_FINAL_TYPE(CompressorBox, compressor_box, EE, COMPRESSOR_BOX, GtkBox) G_END_DECLS auto create() -> CompressorBox*; void setup(CompressorBox* self, std::shared_ptr compressor, const std::string& schema_path, PipeManager* pm); } // namespace ui::compressor_box easyeffects-7.1.7/include/convolver.hpp000066400000000000000000000067431463533416400202230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "util.hpp" class Convolver : public PluginBase { public: Convolver(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Convolver(const Convolver&) = delete; auto operator=(const Convolver&) -> Convolver& = delete; Convolver(const Convolver&&) = delete; auto operator=(const Convolver&&) -> Convolver& = delete; ~Convolver() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; bool do_autogain = false; const std::string irs_ext = ".irs"; auto search_irs_path(const std::string& name) -> std::string; private: std::string local_dir_irs; std::vector system_data_dir_irs; bool kernel_is_initialized = false; bool n_samples_is_power_of_2 = true; bool zita_ready = false; bool ready = false; bool notify_latency = false; uint blocksize = 512U; uint ir_width = 100U; uint latency_n_frames = 0U; std::vector kernel_L, kernel_R; std::vector original_kernel_L, original_kernel_R; std::vector data_L, data_R; std::deque deque_out_L, deque_out_R; Convproc* conv = nullptr; std::vector mythreads; void read_kernel_file(); void apply_kernel_autogain(); void set_kernel_stereo_width(); void setup_zita(); auto get_zita_buffer_size() -> uint; void prepare_kernel(); template void do_convolution(T1& data_left, T1& data_right) { std::span conv_left_in(conv->inpdata(0), get_zita_buffer_size()); std::span conv_right_in(conv->inpdata(1), get_zita_buffer_size()); std::span conv_left_out(conv->outdata(0), get_zita_buffer_size()); std::span conv_right_out(conv->outdata(1), get_zita_buffer_size()); std::copy(data_left.begin(), data_left.end(), conv_left_in.begin()); std::copy(data_right.begin(), data_right.end(), conv_right_in.begin()); if (zita_ready) { const int& ret = conv->process(true); // thread sync mode set to true if (ret != 0) { util::debug(log_tag + "IR: process failed: " + util::to_string(ret, "")); zita_ready = false; } else { std::copy(conv_left_out.begin(), conv_left_out.end(), data_left.begin()); std::copy(conv_right_out.begin(), conv_right_out.end(), data_right.begin()); } } } }; easyeffects-7.1.7/include/convolver_menu_combine.hpp000066400000000000000000000025371463533416400227400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include namespace ui::convolver_menu_combine { G_BEGIN_DECLS #define EE_TYPE_CONVOLVER_MENU_COMBINE (convolver_menu_combine_get_type()) G_DECLARE_FINAL_TYPE(ConvolverMenuCombine, convolver_menu_combine, EE, CONVOLVER_MENU_COMBINE, GtkPopover) G_END_DECLS auto create() -> ConvolverMenuCombine*; void append_to_string_list(ConvolverMenuCombine* self, const std::string& irs_filename); void remove_from_string_list(ConvolverMenuCombine* self, const std::string& irs_filename); } // namespace ui::convolver_menu_combine easyeffects-7.1.7/include/convolver_menu_impulses.hpp000066400000000000000000000031461463533416400231620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "application.hpp" namespace ui::convolver_menu_impulses { G_BEGIN_DECLS #define EE_TYPE_CONVOLVER_MENU_IMPULSES (convolver_menu_impulses_get_type()) G_DECLARE_FINAL_TYPE(ConvolverMenuImpulses, convolver_menu_impulses, EE, CONVOLVER_MENU_IMPULSES, GtkPopover) G_END_DECLS auto create() -> ConvolverMenuImpulses*; void setup(ConvolverMenuImpulses* self, const std::string& schema_path, app::Application* application, std::shared_ptr convolver); void append_to_string_list(ConvolverMenuImpulses* self, const std::string& irs_filename); void remove_from_string_list(ConvolverMenuImpulses* self, const std::string& irs_filename); } // namespace ui::convolver_menu_impulses easyeffects-7.1.7/include/convolver_preset.hpp000066400000000000000000000021211463533416400215670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class ConvolverPreset : public PluginPresetBase { public: explicit ConvolverPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/convolver_ui.hpp000066400000000000000000000025441463533416400207130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "application.hpp" #include "convolver.hpp" namespace ui::convolver_box { G_BEGIN_DECLS #define EE_TYPE_CONVOLVER_BOX (convolver_box_get_type()) G_DECLARE_FINAL_TYPE(ConvolverBox, convolver_box, EE, CONVOLVER_BOX, GtkBox) G_END_DECLS auto create() -> ConvolverBox*; void setup(ConvolverBox* self, std::shared_ptr convolver, const std::string& schema_path, app::Application* application); } // namespace ui::convolver_box easyeffects-7.1.7/include/convolver_ui_common.hpp000066400000000000000000000020231463533416400222530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include namespace ui::convolver { auto read_kernel(std::filesystem::path irs_dir, const std::string& irs_ext, const std::string& file_name) -> std::tuple, std::vector>; }easyeffects-7.1.7/include/crossfeed.hpp000066400000000000000000000032241463533416400201520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Crossfeed : public PluginBase { public: Crossfeed(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Crossfeed(const Crossfeed&) = delete; auto operator=(const Crossfeed&) -> Crossfeed& = delete; Crossfeed(const Crossfeed&&) = delete; auto operator=(const Crossfeed&&) -> Crossfeed& = delete; ~Crossfeed() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: std::vector data; bs2b_base bs2b; }; easyeffects-7.1.7/include/crossfeed_preset.hpp000066400000000000000000000021211463533416400215270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class CrossfeedPreset : public PluginPresetBase { public: explicit CrossfeedPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/crossfeed_ui.hpp000066400000000000000000000024111463533416400206440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "crossfeed.hpp" namespace ui::crossfeed_box { G_BEGIN_DECLS #define EE_TYPE_CROSSFEED_BOX (crossfeed_box_get_type()) G_DECLARE_FINAL_TYPE(CrossfeedBox, crossfeed_box, EE, CROSSFEED_BOX, GtkBox) G_END_DECLS auto create() -> CrossfeedBox*; void setup(CrossfeedBox* self, std::shared_ptr crossfeed, const std::string& schema_path); } // namespace ui::crossfeed_box easyeffects-7.1.7/include/crystalizer.hpp000066400000000000000000000164521463533416400205570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include "fir_filter_base.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" class Crystalizer : public PluginBase { public: Crystalizer(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Crystalizer(const Crystalizer&) = delete; auto operator=(const Crystalizer&) -> Crystalizer& = delete; Crystalizer(const Crystalizer&&) = delete; auto operator=(const Crystalizer&&) -> Crystalizer& = delete; ~Crystalizer() override; auto get_latency() const -> float; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: bool n_samples_is_power_of_2 = true; bool filters_are_ready = false; bool notify_latency = false; bool do_first_rotation = true; uint blocksize = 512U; uint latency_n_frames = 0U; static constexpr uint nbands = 13U; std::vector data_L; std::vector data_R; std::array band_mute; std::array band_bypass; std::array frequencies; std::array band_intensity; std::array band_last_L; std::array band_last_R; std::array band_next_L; std::array band_next_R; std::array, nbands> band_data_L; std::array, nbands> band_data_R; std::array, nbands> band_gain; std::array, nbands> band_second_derivative_L; std::array, nbands> band_second_derivative_R; std::array, nbands> filters; std::deque deque_out_L, deque_out_R; void bind_band(const int& n); template void enhance_peaks(T1& data_left, T1& data_right) { for (uint n = 0U; n < nbands; n++) { std::copy(data_left.begin(), data_left.end(), band_data_L.at(n).begin()); std::copy(data_right.begin(), data_right.end(), band_data_R.at(n).begin()); filters.at(n)->process(band_data_L.at(n), band_data_R.at(n)); /* Later we will need to calculate the second derivative of each band. This is done through the central difference method. In order to calculate the derivative at the last elements of the array we have to know the first element of the next buffer. As we do not have this information the only way to do this calculation is delaying the signal by 1 sample. */ // last (R,L) becomes the first std::rotate(band_data_L.at(n).rbegin(), band_data_L.at(n).rbegin() + 1, band_data_L.at(n).rend()); std::rotate(band_data_R.at(n).rbegin(), band_data_R.at(n).rbegin() + 1, band_data_R.at(n).rend()); if (do_first_rotation) { /* band_data was rotated. Its first values are the last ones from the original array. we have to save them for the next round. */ band_next_L.at(n) = band_data_L.at(n)[0]; band_next_R.at(n) = band_data_R.at(n)[0]; band_last_L.at(n) = 0.0F; band_last_R.at(n) = 0.0F; band_data_L.at(n)[0] = 0.0F; band_data_R.at(n)[0] = 0.0F; do_first_rotation = false; } else { /* band_data was rotated. Its first values are the last ones from the original array. we have to save them for the next round. */ const float L = band_data_L.at(n)[0]; const float R = band_data_R.at(n)[0]; band_data_L.at(n)[0] = band_next_L.at(n); band_data_R.at(n)[0] = band_next_R.at(n); band_next_L.at(n) = L; band_next_R.at(n) = R; } } for (uint n = 0U; n < nbands; n++) { // Calculating the second derivative if (!band_bypass.at(n)) { for (uint m = 0U; m < blocksize; m++) { const float L = band_data_L.at(n)[m]; const float R = band_data_R.at(n)[m]; if (m > 0U && m < blocksize - 1U) { const float& L_lower = band_data_L.at(n)[m - 1U]; const float& R_lower = band_data_R.at(n)[m - 1U]; const float& L_upper = band_data_L.at(n)[m + 1U]; const float& R_upper = band_data_R.at(n)[m + 1U]; band_second_derivative_L.at(n)[m] = L_upper - 2.0F * L + L_lower; band_second_derivative_R.at(n)[m] = R_upper - 2.0F * R + R_lower; } else if (m == 0U) { const float& L_lower = band_last_L.at(n); const float& R_lower = band_last_R.at(n); const float& L_upper = band_data_L.at(n)[m + 1U]; const float& R_upper = band_data_R.at(n)[m + 1U]; band_second_derivative_L.at(n)[m] = L_upper - 2.0F * L + L_lower; band_second_derivative_R.at(n)[m] = R_upper - 2.0F * R + R_lower; } else if (m == blocksize - 1U) { const float& L_upper = band_next_L.at(n); const float& R_upper = band_next_R.at(n); const float& L_lower = band_data_L.at(n)[m - 1U]; const float& R_lower = band_data_R.at(n)[m - 1U]; band_second_derivative_L.at(n)[m] = L_upper - 2.0F * L + L_lower; band_second_derivative_R.at(n)[m] = R_upper - 2.0F * R + R_lower; } } // peak enhancing using second derivative for (uint m = 0U; m < blocksize; m++) { const float L = band_data_L.at(n)[m]; const float R = band_data_R.at(n)[m]; const float& d2L = band_second_derivative_L.at(n)[m]; const float& d2R = band_second_derivative_R.at(n)[m]; band_data_L.at(n)[m] = L - band_intensity.at(n) * d2L; band_data_R.at(n)[m] = R - band_intensity.at(n) * d2R; if (m == blocksize - 1U) { band_last_L.at(n) = L; band_last_R.at(n) = R; } } } else { band_last_L.at(n) = band_data_L.at(n)[blocksize - 1U]; band_last_R.at(n) = band_data_R.at(n)[blocksize - 1U]; } } // add bands for (uint m = 0U; m < blocksize; m++) { data_left[m] = 0.0F; data_right[m] = 0.0F; for (uint n = 0U; n < nbands; n++) { if (!band_mute.at(n)) { data_left[m] += band_data_L.at(n)[m]; data_right[m] += band_data_R.at(n)[m]; } } } } }; easyeffects-7.1.7/include/crystalizer_preset.hpp000066400000000000000000000021251463533416400221310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class CrystalizerPreset : public PluginPresetBase { public: explicit CrystalizerPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/crystalizer_ui.hpp000066400000000000000000000024411463533416400212450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "crystalizer.hpp" namespace ui::crystalizer_box { G_BEGIN_DECLS #define EE_TYPE_CRYSTALIZER_BOX (crystalizer_box_get_type()) G_DECLARE_FINAL_TYPE(CrystalizerBox, crystalizer_box, EE, CRYSTALIZER_BOX, GtkBox) G_END_DECLS auto create() -> CrystalizerBox*; void setup(CrystalizerBox* self, std::shared_ptr crystalizer, const std::string& schema_path); } // namespace ui::crystalizer_box easyeffects-7.1.7/include/deepfilternet.hpp000066400000000000000000000040331463533416400210260ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "ladspa_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "resampler.hpp" class DeepFilterNet : public PluginBase { public: DeepFilterNet(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); DeepFilterNet(const DeepFilterNet&) = delete; auto operator=(const DeepFilterNet&) -> DeepFilterNet& = delete; DeepFilterNet(const DeepFilterNet&&) = delete; auto operator=(const DeepFilterNet&&) -> DeepFilterNet& = delete; ~DeepFilterNet() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: std::unique_ptr ladspa_wrapper; bool resample = false; bool resampler_ready = true; std::unique_ptr resampler_inL, resampler_outL; std::unique_ptr resampler_inR, resampler_outR; std::vector resampled_outL, resampled_outR; std::vector carryover_l, carryover_r; }; easyeffects-7.1.7/include/deepfilternet_preset.hpp000066400000000000000000000021201463533416400224030ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class DeepFilterNetPreset : public PluginPresetBase { public: explicit DeepFilterNetPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/deepfilternet_ui.hpp000066400000000000000000000024601463533416400215250ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "deepfilternet.hpp" namespace ui::deepfilternet_box { G_BEGIN_DECLS #define EE_TYPE_DEEPFILTERNET_BOX (deepfilternet_box_get_type()) G_DECLARE_FINAL_TYPE(DeepFilterNetBox, deepfilternet_box, EE, DEEPFILTERNET_BOX, GtkBox) G_END_DECLS auto create() -> DeepFilterNetBox*; void setup(DeepFilterNetBox* self, std::shared_ptr deepfilternet, const std::string& schema_path); } // namespace ui::deepfilternet_box easyeffects-7.1.7/include/deesser.hpp000066400000000000000000000033011463533416400176230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Deesser : public PluginBase { public: Deesser(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Deesser(const Deesser&) = delete; auto operator=(const Deesser&) -> Deesser& = delete; Deesser(const Deesser&&) = delete; auto operator=(const Deesser&&) -> Deesser& = delete; ~Deesser() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; sigc::signal compression, detected; double compression_port_value = 0.0; double detected_port_value = 0.0; private: }; easyeffects-7.1.7/include/deesser_preset.hpp000066400000000000000000000021151463533416400212070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class DeesserPreset : public PluginPresetBase { public: explicit DeesserPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/deesser_ui.hpp000066400000000000000000000023611463533416400203250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "deesser.hpp" namespace ui::deesser_box { G_BEGIN_DECLS #define EE_TYPE_DEESSER_BOX (deesser_box_get_type()) G_DECLARE_FINAL_TYPE(DeesserBox, deesser_box, EE, DEESSER_BOX, GtkBox) G_END_DECLS auto create() -> DeesserBox*; void setup(DeesserBox* self, std::shared_ptr deesser, const std::string& schema_path); } // namespace ui::deesser_box easyeffects-7.1.7/include/delay.hpp000066400000000000000000000030661463533416400172770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Delay : public PluginBase { public: Delay(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Delay(const Delay&) = delete; auto operator=(const Delay&) -> Delay& = delete; Delay(const Delay&&) = delete; auto operator=(const Delay&&) -> Delay& = delete; ~Delay() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: uint latency_n_frames = 0U; }; easyeffects-7.1.7/include/delay_preset.hpp000066400000000000000000000021111463533416400206470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class DelayPreset : public PluginPresetBase { public: explicit DelayPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/delay_ui.hpp000066400000000000000000000023311463533416400177660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "delay.hpp" namespace ui::delay_box { G_BEGIN_DECLS #define EE_TYPE_DELAY_BOX (delay_box_get_type()) G_DECLARE_FINAL_TYPE(DelayBox, delay_box, EE, DELAY_BOX, GtkBox) G_END_DECLS auto create() -> DelayBox*; void setup(DelayBox* self, std::shared_ptr delay, const std::string& schema_path); } // namespace ui::delay_box easyeffects-7.1.7/include/echo_canceller.hpp000066400000000000000000000047671463533416400211400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include #include #include class EchoCanceller : public PluginBase { public: EchoCanceller(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); EchoCanceller(const EchoCanceller&) = delete; auto operator=(const EchoCanceller&) -> EchoCanceller& = delete; EchoCanceller(const EchoCanceller&&) = delete; auto operator=(const EchoCanceller&&) -> EchoCanceller& = delete; ~EchoCanceller() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; auto get_latency_seconds() -> float override; private: bool notify_latency = false; bool ready = false; uint filter_length_ms = 100U; uint latency_n_frames = 0U; int residual_echo_suppression = -10; int near_end_suppression = -10; const float inv_short_max = 1.0F / (SHRT_MAX + 1.0F); std::vector data_L; std::vector data_R; std::vector probe_mono; std::vector filtered_L; std::vector filtered_R; SpeexEchoState* echo_state_L = nullptr; SpeexEchoState* echo_state_R = nullptr; SpeexPreprocessState *state_left = nullptr, *state_right = nullptr; void free_speex(); void init_speex(); }; easyeffects-7.1.7/include/echo_canceller_preset.hpp000066400000000000000000000021311463533416400225010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class EchoCancellerPreset : public PluginPresetBase { public: explicit EchoCancellerPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/echo_canceller_ui.hpp000066400000000000000000000025011463533416400216150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "echo_canceller.hpp" namespace ui::echo_canceller_box { G_BEGIN_DECLS #define EE_TYPE_ECHO_CANCELLER_BOX (echo_canceller_box_get_type()) G_DECLARE_FINAL_TYPE(EchoCancellerBox, echo_canceller_box, EE, ECHO_CANCELLER_BOX, GtkBox) G_END_DECLS auto create() -> EchoCancellerBox*; void setup(EchoCancellerBox* self, std::shared_ptr echo_canceller, const std::string& schema_path); } // namespace ui::echo_canceller_box easyeffects-7.1.7/include/effects_base.hpp000066400000000000000000000101471463533416400206100ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include "autogain.hpp" #include "bass_enhancer.hpp" #include "bass_loudness.hpp" #include "compressor.hpp" #include "convolver.hpp" #include "crossfeed.hpp" #include "crystalizer.hpp" #include "deepfilternet.hpp" #include "deesser.hpp" #include "delay.hpp" #include "echo_canceller.hpp" #include "equalizer.hpp" #include "exciter.hpp" #include "expander.hpp" #include "filter.hpp" #include "gate.hpp" #include "limiter.hpp" #include "loudness.hpp" #include "maximizer.hpp" #include "multiband_compressor.hpp" #include "multiband_gate.hpp" #include "output_level.hpp" #include "pipe_manager.hpp" #include "pitch.hpp" #include "plugin_base.hpp" #include "reverb.hpp" #include "rnnoise.hpp" #include "spectrum.hpp" #include "speex.hpp" #include "stereo_tools.hpp" class EffectsBase { public: EffectsBase(std::string tag, const std::string& schema, PipeManager* pipe_manager, PipelineType pipe_type); EffectsBase(const EffectsBase&) = delete; auto operator=(const EffectsBase&) -> EffectsBase& = delete; EffectsBase(const EffectsBase&&) = delete; auto operator=(const EffectsBase&&) -> EffectsBase& = delete; virtual ~EffectsBase(); const std::string log_tag; PipeManager* pm = nullptr; PipelineType pipeline_type; std::shared_ptr output_level; std::shared_ptr spectrum; std::shared_ptr autogain; std::shared_ptr bass_enhancer; std::shared_ptr bass_loudness; std::shared_ptr compressor; std::shared_ptr convolver; std::shared_ptr crossfeed; std::shared_ptr crystalizer; std::shared_ptr deepfilternet; std::shared_ptr deesser; std::shared_ptr delay; std::shared_ptr echo_canceller; std::shared_ptr equalizer; std::shared_ptr exciter; std::shared_ptr expander; std::shared_ptr filter; std::shared_ptr gate; std::shared_ptr limiter; std::shared_ptr loudness; std::shared_ptr maximizer; std::shared_ptr multiband_compressor; std::shared_ptr multiband_gate; std::shared_ptr pitch; std::shared_ptr reverb; std::shared_ptr rnnoise; std::shared_ptr speex; std::shared_ptr stereo_tools; auto get_pipeline_latency() -> float; void reset_settings(); sigc::signal pipeline_latency; auto get_plugins_map() -> std::map>; template auto get_plugin_instance(const std::string& name) -> std::shared_ptr { return std::dynamic_pointer_cast(plugins[name]); } protected: GSettings *settings = nullptr, *global_settings = nullptr; std::string schema_base_path; std::map> plugins; std::vector list_proxies, list_proxies_listen_mic; std::vector connections; std::vector gconnections, gconnections_global; void create_filters_if_necessary(); void remove_unused_filters(); void activate_filters(); void deactivate_filters(); void broadcast_pipeline_latency(); }; easyeffects-7.1.7/include/effects_box.hpp000066400000000000000000000024721463533416400204700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "application.hpp" #include "pipeline_type.hpp" namespace ui::effects_box { G_BEGIN_DECLS #define EE_TYPE_EFFECTS_BOX (effects_box_get_type()) G_DECLARE_FINAL_TYPE(EffectsBox, effects_box, EE, EFFECTS_BOX, GtkBox) G_END_DECLS auto create() -> EffectsBox*; void setup(EffectsBox* self, app::Application* application, PipelineType pipeline_type, GtkIconTheme* icon_theme); } // namespace ui::effects_boxeasyeffects-7.1.7/include/equalizer.hpp000066400000000000000000000071451463533416400202040ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_equalizer.hpp" class Equalizer : public PluginBase { public: Equalizer(const std::string& tag, const std::string& schema, const std::string& schema_path, const std::string& schema_channel, const std::string& schema_channel_left_path, const std::string& schema_channel_right_path, PipeManager* pipe_manager, PipelineType pipe_type); Equalizer(const Equalizer&) = delete; auto operator=(const Equalizer&) -> Equalizer& = delete; Equalizer(const Equalizer&&) = delete; auto operator=(const Equalizer&&) -> Equalizer& = delete; ~Equalizer() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; void sort_bands(); static constexpr uint max_bands = 32U; private: GSettings *settings_left = nullptr, *settings_right = nullptr; uint latency_n_frames = 0U; std::vector gconnections_unified; template constexpr void bind_band() { using namespace tags::equalizer; // left channel lv2_wrapper->bind_key_enum(settings_left); lv2_wrapper->bind_key_enum(settings_left); lv2_wrapper->bind_key_enum(settings_left); lv2_wrapper->bind_key_bool(settings_left); lv2_wrapper->bind_key_bool(settings_left); lv2_wrapper->bind_key_double(settings_left); lv2_wrapper->bind_key_double(settings_left); lv2_wrapper->bind_key_double(settings_left); lv2_wrapper->bind_key_double_db(settings_left); // right channel lv2_wrapper->bind_key_enum(settings_right); lv2_wrapper->bind_key_enum(settings_right); lv2_wrapper->bind_key_enum(settings_right); lv2_wrapper->bind_key_bool(settings_right); lv2_wrapper->bind_key_bool(settings_right); lv2_wrapper->bind_key_double(settings_right); lv2_wrapper->bind_key_double(settings_right); lv2_wrapper->bind_key_double(settings_right); lv2_wrapper->bind_key_double_db(settings_right); } template constexpr void bind_bands(std::index_sequence /*unused*/) { (bind_band(), ...); } void on_split_channels(); }; easyeffects-7.1.7/include/equalizer_band_box.hpp000066400000000000000000000024111463533416400220270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include namespace ui::equalizer_band_box { G_BEGIN_DECLS #define EE_TYPE_EQUALIZER_BAND_BOX (equalizer_band_box_get_type()) G_DECLARE_FINAL_TYPE(EqualizerBandBox, equalizer_band_box, EE, EQUALIZER_BAND_BOX, GtkBox) G_END_DECLS auto create() -> EqualizerBandBox*; void setup(EqualizerBandBox* self, GSettings* settings); void bind(EqualizerBandBox* self, int index); } // namespace ui::equalizer_band_box easyeffects-7.1.7/include/equalizer_preset.hpp000066400000000000000000000033551463533416400215650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class EqualizerPreset : public PluginPresetBase { public: explicit EqualizerPreset(PresetType preset_type, const int& index = 0); EqualizerPreset(const EqualizerPreset&) = delete; auto operator=(const EqualizerPreset&) -> EqualizerPreset& = delete; EqualizerPreset(const EqualizerPreset&&) = delete; auto operator=(const EqualizerPreset&&) -> EqualizerPreset& = delete; ~EqualizerPreset() override; private: GSettings *input_settings_left = nullptr, *input_settings_right = nullptr, *output_settings_left = nullptr, *output_settings_right = nullptr; void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; static void save_channel(nlohmann::json& json, GSettings* settings, const int& nbands); void load_channel(const nlohmann::json& json, GSettings* settings, const int& nbands); void load_legacy_preset(); }; easyeffects-7.1.7/include/equalizer_ui.hpp000066400000000000000000000025441463533416400206770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "application.hpp" #include "equalizer.hpp" namespace ui::equalizer_box { G_BEGIN_DECLS #define EE_TYPE_EQUALIZER_BOX (equalizer_box_get_type()) G_DECLARE_FINAL_TYPE(EqualizerBox, equalizer_box, EE, EQUALIZER_BOX, GtkBox) G_END_DECLS auto create() -> EqualizerBox*; void setup(EqualizerBox* self, std::shared_ptr equalizer, const std::string& schema_path, app::Application* application); } // namespace ui::equalizer_box easyeffects-7.1.7/include/exciter.hpp000066400000000000000000000032171463533416400176420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Exciter : public PluginBase { public: Exciter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Exciter(const Exciter&) = delete; auto operator=(const Exciter&) -> Exciter& = delete; Exciter(const Exciter&&) = delete; auto operator=(const Exciter&&) -> Exciter& = delete; ~Exciter() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; sigc::signal harmonics; double harmonics_port_value = 0.0; private: }; easyeffects-7.1.7/include/exciter_preset.hpp000066400000000000000000000021151463533416400212200ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class ExciterPreset : public PluginPresetBase { public: explicit ExciterPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/exciter_ui.hpp000066400000000000000000000023611463533416400203360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "exciter.hpp" namespace ui::exciter_box { G_BEGIN_DECLS #define EE_TYPE_EXCITER_BOX (exciter_box_get_type()) G_DECLARE_FINAL_TYPE(ExciterBox, exciter_box, EE, EXCITER_BOX, GtkBox) G_END_DECLS auto create() -> ExciterBox*; void setup(ExciterBox* self, std::shared_ptr exciter, const std::string& schema_path); } // namespace ui::exciter_box easyeffects-7.1.7/include/expander.hpp000066400000000000000000000041501463533416400200020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Expander : public PluginBase { public: Expander(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Expander(const Expander&) = delete; auto operator=(const Expander&) -> Expander& = delete; Expander(const Expander&&) = delete; auto operator=(const Expander&&) -> Expander& = delete; ~Expander() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; auto get_latency_seconds() -> float override; void update_probe_links() override; sigc::signal reduction, sidechain, curve, envelope; float reduction_port_value = 0.0F; float sidechain_port_value = 0.0F; float curve_port_value = 0.0F; float envelope_port_value = 0.0F; private: uint latency_n_frames = 0U; std::vector list_proxies; void update_sidechain_links(const std::string& key); }; easyeffects-7.1.7/include/expander_preset.hpp000066400000000000000000000021171463533416400213650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class ExpanderPreset : public PluginPresetBase { public: explicit ExpanderPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/expander_ui.hpp000066400000000000000000000024521463533416400205020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "expander.hpp" #include "pipe_manager.hpp" namespace ui::expander_box { G_BEGIN_DECLS #define EE_TYPE_EXPANDER_BOX (expander_box_get_type()) G_DECLARE_FINAL_TYPE(ExpanderBox, expander_box, EE, EXPANDER_BOX, GtkBox) G_END_DECLS auto create() -> ExpanderBox*; void setup(ExpanderBox* self, std::shared_ptr expander, const std::string& schema_path, PipeManager* pm); } // namespace ui::expander_box easyeffects-7.1.7/include/filter.hpp000066400000000000000000000030201463533416400174540ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Filter : public PluginBase { public: Filter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Filter(const Filter&) = delete; auto operator=(const Filter&) -> Filter& = delete; Filter(const Filter&&) = delete; auto operator=(const Filter&&) -> Filter& = delete; ~Filter() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: }; easyeffects-7.1.7/include/filter_preset.hpp000066400000000000000000000021131463533416400210400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class FilterPreset : public PluginPresetBase { public: explicit FilterPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/filter_ui.hpp000066400000000000000000000023451463533416400201620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "filter.hpp" namespace ui::filter_box { G_BEGIN_DECLS #define EE_TYPE_FILTER_BOX (filter_box_get_type()) G_DECLARE_FINAL_TYPE(FilterBox, filter_box, EE, FILTER_BOX, GtkBox) G_END_DECLS auto create() -> FilterBox*; void setup(FilterBox* self, std::shared_ptr filter, const std::string& schema_path); } // namespace ui::filter_box easyeffects-7.1.7/include/fir_filter_bandpass.hpp000066400000000000000000000023301463533416400221720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "fir_filter_base.hpp" class FirFilterBandpass : public FirFilterBase { public: FirFilterBandpass(std::string tag); FirFilterBandpass(const FirFilterBandpass&) = delete; auto operator=(const FirFilterBandpass&) -> FirFilterBandpass& = delete; FirFilterBandpass(const FirFilterBandpass&&) = delete; auto operator=(const FirFilterBandpass&&) -> FirFilterBandpass& = delete; ~FirFilterBandpass() override; void setup() override; }; easyeffects-7.1.7/include/fir_filter_base.hpp000066400000000000000000000056561463533416400213270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "util.hpp" class FirFilterBase { public: FirFilterBase(std::string tag); FirFilterBase(const FirFilterBase&) = delete; auto operator=(const FirFilterBase&) -> FirFilterBase& = delete; FirFilterBase(const FirFilterBase&&) = delete; auto operator=(const FirFilterBase&&) -> FirFilterBase& = delete; virtual ~FirFilterBase(); void set_rate(const uint& value); void set_n_samples(const uint& value); void set_min_frequency(const float& value); void set_max_frequency(const float& value); void set_transition_band(const float& value); virtual void setup(); [[nodiscard]] auto get_delay() const -> float; template void process(T1& data_left, T1& data_right) { std::span conv_left_in(conv->inpdata(0), n_samples); std::span conv_right_in(conv->inpdata(1), n_samples); std::span conv_left_out(conv->outdata(0), n_samples); std::span conv_right_out(conv->outdata(1), n_samples); std::copy(data_left.begin(), data_left.end(), conv_left_in.begin()); std::copy(data_right.begin(), data_right.end(), conv_right_in.begin()); if (zita_ready) { const int& ret = conv->process(true); // thread sync mode set to true if (ret != 0) { util::debug(log_tag + "IR: process failed: " + util::to_string(ret, "")); zita_ready = false; } else { std::copy(conv_left_out.begin(), conv_left_out.end(), data_left.begin()); std::copy(conv_right_out.begin(), conv_right_out.end(), data_right.begin()); } } } protected: const std::string log_tag; bool zita_ready = false; uint n_samples = 0U; uint rate = 0U; float min_frequency = 20.0F; float max_frequency = 22000.0F; float transition_band = 100.0F; // Hz float delay = 0.0F; std::vector kernel; Convproc* conv = nullptr; [[nodiscard]] auto create_lowpass_kernel(const float& cutoff, const float& transition_band) const -> std::vector; void setup_zita(); static void direct_conv(const std::vector& a, const std::vector& b, std::vector& c); }; easyeffects-7.1.7/include/fir_filter_highpass.hpp000066400000000000000000000023301463533416400222050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "fir_filter_base.hpp" class FirFilterHighpass : public FirFilterBase { public: FirFilterHighpass(std::string tag); FirFilterHighpass(const FirFilterHighpass&) = delete; auto operator=(const FirFilterHighpass&) -> FirFilterHighpass& = delete; FirFilterHighpass(const FirFilterHighpass&&) = delete; auto operator=(const FirFilterHighpass&&) -> FirFilterHighpass& = delete; ~FirFilterHighpass() override; void setup() override; }; easyeffects-7.1.7/include/fir_filter_lowpass.hpp000066400000000000000000000023151463533416400220720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "fir_filter_base.hpp" class FirFilterLowpass : public FirFilterBase { public: FirFilterLowpass(std::string tag); FirFilterLowpass(const FirFilterLowpass&) = delete; auto operator=(const FirFilterLowpass&) -> FirFilterLowpass& = delete; FirFilterLowpass(const FirFilterLowpass&&) = delete; auto operator=(const FirFilterLowpass&&) -> FirFilterLowpass& = delete; ~FirFilterLowpass() override; void setup() override; }; easyeffects-7.1.7/include/gate.hpp000066400000000000000000000044621463533416400171220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Gate : public PluginBase { public: Gate(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Gate(const Gate&) = delete; auto operator=(const Gate&) -> Gate& = delete; Gate(const Gate&&) = delete; auto operator=(const Gate&&) -> Gate& = delete; ~Gate() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; auto get_latency_seconds() -> float override; void update_probe_links() override; sigc::signal attack_zone_start, attack_threshold, release_zone_start, release_threshold, reduction, sidechain, curve, envelope; float attack_zone_start_port_value = 0.0F; float attack_threshold_port_value = 0.0F; float release_zone_start_port_value = 0.0F; float release_threshold_port_value = 0.0F; float reduction_port_value = 0.0F; float sidechain_port_value = 0.0F; float curve_port_value = 0.0F; float envelope_port_value = 0.0F; private: uint latency_n_frames = 0U; std::vector list_proxies; void update_sidechain_links(const std::string& key); }; easyeffects-7.1.7/include/gate_preset.hpp000066400000000000000000000021071463533416400204760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class GatePreset : public PluginPresetBase { public: explicit GatePreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/gate_ui.hpp000066400000000000000000000023721463533416400176150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "gate.hpp" #include "pipe_manager.hpp" namespace ui::gate_box { G_BEGIN_DECLS #define EE_TYPE_GATE_BOX (gate_box_get_type()) G_DECLARE_FINAL_TYPE(GateBox, gate_box, EE, GATE_BOX, GtkBox) G_END_DECLS auto create() -> GateBox*; void setup(GateBox* self, std::shared_ptr gate, const std::string& schema_path, PipeManager* pm); } // namespace ui::gate_box easyeffects-7.1.7/include/ladspa_wrapper.hpp000066400000000000000000000255221463533416400212060ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "string_literal_wrapper.hpp" #include "util.hpp" namespace ladspa { using namespace std::string_literals; class LadspaWrapper { public: LadspaWrapper(const std::string& plugin_filename, const std::string& plugin_label); LadspaWrapper(const LadspaWrapper&) = delete; auto operator=(const LadspaWrapper&) -> LadspaWrapper& = delete; LadspaWrapper(const LadspaWrapper&&) = delete; auto operator=(const LadspaWrapper&&) -> LadspaWrapper& = delete; virtual ~LadspaWrapper(); auto create_instance(uint rate) -> bool; void connect_data_ports(const std::span& left_in, const std::span& right_in, const std::span& left_out, const std::span& right_out); void connect_data_ports(const std::span& left_in, const std::span& right_in, const std::span& left_out, const std::span& right_out, const std::span& probe_left, const std::span& probe_right); void activate(); void deactivate(); void run() const; [[nodiscard]] auto get_control_port_count() const -> uint; [[nodiscard]] auto get_control_port_name(uint index) const -> std::string; [[nodiscard]] auto is_control_port_output(uint index) const -> bool; [[nodiscard]] auto get_control_port_range(uint index) const -> std::tuple; [[nodiscard]] auto get_control_port_default(uint index) const -> float; [[nodiscard]] auto get_control_port_value(uint index) const -> float; [[nodiscard]] auto get_control_port_value(const std::string& symbol) const -> float; auto set_control_port_value_clamp(uint index, float value) -> float; auto set_control_port_value_clamp(const std::string& symbol, float value) -> float; [[nodiscard]] auto found_plugin() const -> bool { return found; } [[nodiscard]] auto has_instance() const -> bool { return instance != nullptr; } [[nodiscard]] auto get_rate() const -> uint { return rate; } using genum = gint; template void load_from_gsettings(GSettings* settings, const char* gkey, const char* port_name) { float value = 0.0F; if constexpr (std::is_same_v) { value = static_cast(g_settings_get_double(settings, gkey)); } else if constexpr (std::is_same_v) { value = static_cast(g_settings_get_int(settings, gkey)); } else if constexpr (std::is_same_v) { value = static_cast(g_settings_get_boolean(settings, gkey)); } else if constexpr (std::is_same_v) { value = static_cast(g_settings_get_enum(settings, gkey)); } auto actual_value = set_control_port_value_clamp(port_name, value); if (actual_value != value && !(std::isnan(actual_value) && std::isnan(value))) { if constexpr (std::is_same_v) { g_settings_set_double(settings, gkey, static_cast(actual_value)); } else if constexpr (std::is_same_v) { g_settings_set_int(settings, gkey, static_cast(actual_value)); } else if constexpr (std::is_same_v) { g_settings_set_boolean(settings, gkey, static_cast(actual_value)); } else if constexpr (std::is_same_v) { g_settings_set_enum(settings, gkey, static_cast(actual_value)); } } } template void bind_key_bool(GSettings* settings) { load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); }), this); } template void bind_key_enum(GSettings* settings) { load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); }), this); } template void bind_key_int(GSettings* settings) { load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); }), this); } template void bind_key_double(GSettings* settings) { load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->load_from_gsettings(settings, gkey_wrapper.msg.data(), key_wrapper.msg.data()); }), this); } template void bind_key_double_db_exponential(GSettings* settings) { const auto db_v = static_cast(g_settings_get_double(settings, gkey_wrapper.msg.data())); const auto clamped = (!lower_bound && db_v <= util::minimum_db_level) ? -std::numeric_limits::infinity() : db_v; const auto new_v = set_control_port_value_clamp(key_wrapper.msg.data(), clamped); // Update gsettings if the new value is valid and clamped/different from the original if (new_v != clamped && !(std::isnan(new_v) && std::isnan(clamped))) { g_settings_set_double(settings, gkey_wrapper.msg.data(), static_cast(new_v)); } g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto db_v = static_cast(g_settings_get_double(settings, gkey_wrapper.msg.data())); const auto clamped = (!lower_bound && db_v <= util::minimum_db_level) ? -std::numeric_limits::infinity() : db_v; const auto new_v = self->set_control_port_value_clamp(key_wrapper.msg.data(), clamped); // Update gsettings if the new value is valid and clamped/different from the original if (new_v != clamped && !(std::isnan(new_v) && std::isnan(clamped))) g_settings_set_double(settings, gkey_wrapper.msg.data(), static_cast(new_v)); }), this); } template void bind_key_double_db(GSettings* settings) { const auto db_v = static_cast(g_settings_get_double(settings, gkey_wrapper.msg.data())); const auto clamped_v = (!lower_bound && db_v <= util::minimum_db_level) ? 0.0F : util::db_to_linear(db_v); const auto new_v = set_control_port_value_clamp(key_wrapper.msg.data(), clamped_v); // Update gsettings if the new value is valid and clamped/different from the original if (new_v != clamped_v && !(std::isnan(new_v) && std::isnan(clamped_v))) { g_settings_set_double(settings, gkey_wrapper.msg.data(), static_cast(util::linear_to_db(new_v))); } g_signal_connect( settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto db_v = static_cast(g_settings_get_double(settings, gkey_wrapper.msg.data())); const auto clamped_v = (!lower_bound && db_v <= util::minimum_db_level) ? 0.0F : util::db_to_linear(db_v); const auto new_v = self->set_control_port_value_clamp(key_wrapper.msg.data(), clamped_v); // Update gsettings if the new value is valid and clamped/different from the original if (new_v != clamped_v && !(std::isnan(new_v) && std::isnan(clamped_v))) g_settings_set_double(settings, gkey_wrapper.msg.data(), static_cast(util::linear_to_db(new_v))); }), this); } uint n_samples = 0U; private: std::string plugin_name; void* dl_handle = nullptr; const LADSPA_Descriptor* descriptor = nullptr; LADSPA_Handle instance = nullptr; static constexpr unsigned long null_ul = (unsigned long)-1L; bool found = false; bool active = false; uint rate = 0U; LADSPA_Data* control_ports = nullptr; bool* control_ports_initialized = nullptr; std::unordered_map map_cp_name_to_idx = std::unordered_map(); }; } // namespace ladspa easyeffects-7.1.7/include/level_meter.hpp000066400000000000000000000047051463533416400205050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class LevelMeter : public PluginBase { public: LevelMeter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); LevelMeter(const LevelMeter&) = delete; auto operator=(const LevelMeter&) -> LevelMeter& = delete; LevelMeter(const LevelMeter&&) = delete; auto operator=(const LevelMeter&&) -> LevelMeter& = delete; ~LevelMeter() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; void reset_history(); sigc::signal results; // range private: bool ebur128_ready = false; uint old_rate = 0U; double momentary = 0.0; double shortterm = 0.0; double global = 0.0; double relative = 0.0; double range = 0.0; double true_peak_L = 0.0; double true_peak_R = 0.0; std::vector data; ebur128_state* ebur_state = nullptr; std::vector mythreads; auto init_ebur128() -> bool; }; easyeffects-7.1.7/include/level_meter_preset.hpp000066400000000000000000000021231463533416400220570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class LevelMeterPreset : public PluginPresetBase { public: explicit LevelMeterPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/level_meter_ui.hpp000066400000000000000000000024351463533416400212000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "level_meter.hpp" namespace ui::level_meter_box { G_BEGIN_DECLS #define EE_TYPE_LEVEL_METER_BOX (level_meter_box_get_type()) G_DECLARE_FINAL_TYPE(LevelMeterBox, level_meter_box, EE, LEVEL_METER_BOX, GtkBox) G_END_DECLS auto create() -> LevelMeterBox*; void setup(LevelMeterBox* self, std::shared_ptr level_meter, const std::string& schema_path); } // namespace ui::level_meter_box easyeffects-7.1.7/include/libportal.hpp000066400000000000000000000017361463533416400201730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "libportal-gtk4/portal-gtk4.h" #include "libportal/portal.h" namespace libportal { void init(GtkSwitch* g_enable_autostart, GtkSwitch* g_shutdown_on_window_close); } // namespace libportaleasyeffects-7.1.7/include/limiter.hpp000066400000000000000000000041551463533416400176460ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Limiter : public PluginBase { public: Limiter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Limiter(const Limiter&) = delete; auto operator=(const Limiter&) -> Limiter& = delete; Limiter(const Limiter&&) = delete; auto operator=(const Limiter&&) -> Limiter& = delete; ~Limiter() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; void update_probe_links() override; auto get_latency_seconds() -> float override; sigc::signal gain_left, gain_right, sidechain_left, sidechain_right; float gain_l_port_value = 0.0F; float gain_r_port_value = 0.0F; float sidechain_l_port_value = 0.0F; float sidechain_r_port_value = 0.0F; private: uint latency_n_frames = 0U; std::vector list_proxies; void update_sidechain_links(const std::string& key); }; easyeffects-7.1.7/include/limiter_preset.hpp000066400000000000000000000021151463533416400212220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class LimiterPreset : public PluginPresetBase { public: explicit LimiterPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/limiter_ui.hpp000066400000000000000000000024361463533416400203430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "limiter.hpp" #include "pipe_manager.hpp" namespace ui::limiter_box { G_BEGIN_DECLS #define EE_TYPE_LIMITER_BOX (limiter_box_get_type()) G_DECLARE_FINAL_TYPE(LimiterBox, limiter_box, EE, LIMITER_BOX, GtkBox) G_END_DECLS auto create() -> LimiterBox*; void setup(LimiterBox* self, std::shared_ptr limiter, const std::string& schema_path, PipeManager* pm); } // namespace ui::limiter_box easyeffects-7.1.7/include/loudness.hpp000066400000000000000000000031431463533416400200310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Loudness : public PluginBase { public: Loudness(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Loudness(const Loudness&) = delete; auto operator=(const Loudness&) -> Loudness& = delete; Loudness(const Loudness&&) = delete; auto operator=(const Loudness&&) -> Loudness& = delete; ~Loudness() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: uint latency_n_frames = 0U; }; easyeffects-7.1.7/include/loudness_preset.hpp000066400000000000000000000021171463533416400214130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class LoudnessPreset : public PluginPresetBase { public: explicit LoudnessPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/loudness_ui.hpp000066400000000000000000000023751463533416400205340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "loudness.hpp" namespace ui::loudness_box { G_BEGIN_DECLS #define EE_TYPE_LOUDNESS_BOX (loudness_box_get_type()) G_DECLARE_FINAL_TYPE(LoudnessBox, loudness_box, EE, LOUDNESS_BOX, GtkBox) G_END_DECLS auto create() -> LoudnessBox*; void setup(LoudnessBox* self, std::shared_ptr loudness, const std::string& schema_path); } // namespace ui::loudness_box easyeffects-7.1.7/include/lv2_wrapper.hpp000066400000000000000000000234671463533416400204530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "string_literal_wrapper.hpp" #include "util.hpp" namespace lv2 { using namespace std::string_literals; #define LV2_UI_makeResident LV2_UI_PREFIX "makeResident" #define LV2_UI_makeSONameResident LV2_UI_PREFIX "makeSONameResident" enum PortType { TYPE_CONTROL, TYPE_AUDIO, TYPE_ATOM }; struct Port { PortType type; // Datatype uint index; // Port index std::string name; std::string symbol; float value = 0.0F; // Control value (if applicable) float min = -std::numeric_limits::infinity(); float max = std::numeric_limits::infinity(); bool is_input; // True if an input port bool optional; // True if the connection is optional }; class Lv2Wrapper { public: Lv2Wrapper(const std::string& plugin_uri); Lv2Wrapper(const Lv2Wrapper&) = delete; auto operator=(const Lv2Wrapper&) -> Lv2Wrapper& = delete; Lv2Wrapper(const Lv2Wrapper&&) = delete; auto operator=(const Lv2Wrapper&&) -> Lv2Wrapper& = delete; virtual ~Lv2Wrapper(); bool found_plugin = false; auto create_instance(const uint& rate) -> bool; void set_n_samples(const uint& value); [[nodiscard]] auto get_n_samples() const -> uint; [[nodiscard]] auto get_rate() const -> uint; void connect_data_ports(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out); void connect_data_ports(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right); void activate(); void run() const; void deactivate(); void set_control_port_value(const std::string& symbol, const float& value); auto get_control_port_value(const std::string& symbol) -> float; auto has_instance() -> bool; void load_ui(); void notify_ui(); void update_ui(); auto has_ui() -> bool; void close_ui(); void set_ui_update_rate(const uint& value); void ui_port_event(const uint& port_index, const float& value); void native_ui_to_gsettings(); template void bind_key_bool(GSettings* settings) { set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_boolean(settings, gkey_wrapper.msg.data()))); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_boolean(settings, key))); }), this); auto gkey = gkey_wrapper.msg.data(); auto key = key_wrapper.msg.data(); gsettings_sync_funcs.emplace_back([settings, gkey, key, this]() { g_settings_set_boolean(settings, gkey, static_cast(get_control_port_value(key))); }); } template void bind_key_enum(GSettings* settings) { set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_enum(settings, gkey_wrapper.msg.data()))); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_enum(settings, key))); }), this); auto gkey = gkey_wrapper.msg.data(); auto key = key_wrapper.msg.data(); gsettings_sync_funcs.emplace_back([settings, gkey, key, this]() { g_settings_set_enum(settings, gkey, static_cast(get_control_port_value(key))); }); } template void bind_key_int(GSettings* settings) { set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_int(settings, gkey_wrapper.msg.data()))); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_int(settings, key))); }), this); auto gkey = gkey_wrapper.msg.data(); auto key = key_wrapper.msg.data(); gsettings_sync_funcs.emplace_back([settings, gkey, key, this]() { g_settings_set_int(settings, gkey, static_cast(get_control_port_value(key))); }); } template void bind_key_double(GSettings* settings) { set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_double(settings, gkey_wrapper.msg.data()))); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->set_control_port_value(key_wrapper.msg.data(), static_cast(g_settings_get_double(settings, key))); }), this); auto gkey = gkey_wrapper.msg.data(); auto key = key_wrapper.msg.data(); gsettings_sync_funcs.emplace_back([settings, gkey, key, this]() { g_settings_set_double(settings, gkey, static_cast(get_control_port_value(key))); }); } template void bind_key_double_db(GSettings* settings) { auto key_v = g_settings_get_double(settings, gkey_wrapper.msg.data()); auto linear_v = (!lower_bound && key_v <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_v)); set_control_port_value(key_wrapper.msg.data(), linear_v); g_signal_connect(settings, ("changed::"s + gkey_wrapper.msg.data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); auto key_v = g_settings_get_double(settings, gkey_wrapper.msg.data()); auto linear_v = (!lower_bound && key_v <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_v)); self->set_control_port_value(key_wrapper.msg.data(), linear_v); }), this); auto gkey = gkey_wrapper.msg.data(); auto key = key_wrapper.msg.data(); gsettings_sync_funcs.emplace_back([settings, gkey, key, this]() { const auto linear_v = get_control_port_value(key); const auto db_v = (!lower_bound & (linear_v == 0.0F)) ? util::minimum_db_d_level : util::linear_to_db(linear_v); g_settings_set_double(settings, gkey, static_cast(db_v)); }); } private: std::string plugin_uri; LilvWorld* world = nullptr; const LilvPlugin* plugin = nullptr; LilvInstance* instance = nullptr; LV2UI_Handle ui_handle = nullptr; const LV2UI_Descriptor* ui_descriptor = nullptr; const LV2UI_Idle_Interface* idle_iface = nullptr; void* libhandle = nullptr; uint n_ports = 0U; uint n_audio_in = 0U; uint n_audio_out = 0U; uint n_samples = 0U; uint rate = 0U; uint ui_update_rate = 30U; std::vector ports; std::vector> gsettings_sync_funcs; std::unordered_map map_uri_to_urid; std::unordered_map map_urid_to_uri; const std::array static_features{{{LV2_BUF_SIZE__boundedBlockLength, nullptr}}}; std::mutex ui_mutex; void check_required_features(); void create_ports(); void connect_control_ports(); auto map_urid(const std::string& uri) -> LV2_URID; }; } // namespace lv2 easyeffects-7.1.7/include/maximizer.hpp000066400000000000000000000033421463533416400202030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Maximizer : public PluginBase { public: Maximizer(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Maximizer(const Maximizer&) = delete; auto operator=(const Maximizer&) -> Maximizer& = delete; Maximizer(const Maximizer&&) = delete; auto operator=(const Maximizer&&) -> Maximizer& = delete; ~Maximizer() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; sigc::signal reduction; double reduction_port_value = 0.0; private: uint latency_n_frames = 0U; }; easyeffects-7.1.7/include/maximizer_preset.hpp000066400000000000000000000021211463533416400215570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class MaximizerPreset : public PluginPresetBase { public: explicit MaximizerPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/maximizer_ui.hpp000066400000000000000000000024111463533416400206740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "maximizer.hpp" namespace ui::maximizer_box { G_BEGIN_DECLS #define EE_TYPE_MAXIMIZER_BOX (maximizer_box_get_type()) G_DECLARE_FINAL_TYPE(MaximizerBox, maximizer_box, EE, MAXIMIZER_BOX, GtkBox) G_END_DECLS auto create() -> MaximizerBox*; void setup(MaximizerBox* self, std::shared_ptr maximizer, const std::string& schema_path); } // namespace ui::maximizer_box easyeffects-7.1.7/include/module_info_holder.hpp000066400000000000000000000025141463533416400220330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include "pipe_objects.hpp" namespace ui::holders { G_BEGIN_DECLS #define EE_TYPE_MODULE_INFO_HOLDER (module_info_holder_get_type()) G_DECLARE_FINAL_TYPE(ModuleInfoHolder, module_info_holder, EE, MODULE_INFO_HOLDER, GObject) G_END_DECLS struct _ModuleInfoHolder { GObject parent_instance; ModuleInfo* info; sigc::signal info_updated; }; auto create(const ModuleInfo& info) -> ModuleInfoHolder*; } // namespace ui::holderseasyeffects-7.1.7/include/multiband_compressor.hpp000066400000000000000000000130561463533416400224340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_multiband_compressor.hpp" class MultibandCompressor : public PluginBase { public: MultibandCompressor(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); MultibandCompressor(const MultibandCompressor&) = delete; auto operator=(const MultibandCompressor&) -> MultibandCompressor& = delete; MultibandCompressor(const MultibandCompressor&&) = delete; auto operator=(const MultibandCompressor&&) -> MultibandCompressor& = delete; ~MultibandCompressor() override; static constexpr uint n_bands = tags::multiband_compressor::n_bands; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; auto get_latency_seconds() -> float override; void update_probe_links() override; sigc::signal)> reduction, envelope, curve, frequency_range; std::array frequency_range_end_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; std::array envelope_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; std::array curve_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; std::array reduction_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; private: uint latency_n_frames = 0U; std::vector list_proxies; void update_sidechain_links(const std::string& key); template constexpr void bind_band() { using namespace tags::multiband_compressor; using namespace std::string_literals; if (n > 0U) { lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_double(settings); } lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); // This control can assume -inf lv2_wrapper->bind_key_double_db(settings); gconnections.push_back(g_signal_connect(settings, ("changed::"s + band_external_sidechain[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); } template constexpr void bind_bands(std::index_sequence /*unused*/) { (bind_band(), ...); } }; easyeffects-7.1.7/include/multiband_compressor_band_box.hpp000066400000000000000000000033151463533416400242650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include namespace ui::multiband_compressor_band_box { G_BEGIN_DECLS #define EE_TYPE_MULTIBAND_COMPRESSOR_BAND_BOX (multiband_compressor_band_box_get_type()) G_DECLARE_FINAL_TYPE(MultibandCompressorBandBox, multiband_compressor_band_box, EE, MULTIBAND_COMPRESSOR_BAND_BOX, GtkBox) G_END_DECLS auto create() -> MultibandCompressorBandBox*; void setup(MultibandCompressorBandBox* self, GSettings* settings, int index); void set_end_label(MultibandCompressorBandBox* self, const float& value); void set_envelope_label(MultibandCompressorBandBox* self, const float& value); void set_curve_label(MultibandCompressorBandBox* self, const float& value); void set_gain_label(MultibandCompressorBandBox* self, const float& value); } // namespace ui::multiband_compressor_band_box easyeffects-7.1.7/include/multiband_compressor_preset.hpp000066400000000000000000000023551463533416400240160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_multiband_compressor.hpp" class MultibandCompressorPreset : public PluginPresetBase { public: explicit MultibandCompressorPreset(PresetType preset_type, const int& index = 0); private: static constexpr uint n_bands = tags::multiband_compressor::n_bands; void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/multiband_compressor_ui.hpp000066400000000000000000000027271463533416400231340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "multiband_compressor.hpp" #include "pipe_manager.hpp" namespace ui::multiband_compressor_box { G_BEGIN_DECLS #define EE_TYPE_MULTIBAND_COMPRESSOR_BOX (multiband_compressor_box_get_type()) G_DECLARE_FINAL_TYPE(MultibandCompressorBox, multiband_compressor_box, EE, MULTIBAND_COMPRESSOR_BOX, GtkBox) G_END_DECLS auto create() -> MultibandCompressorBox*; void setup(MultibandCompressorBox* self, std::shared_ptr multiband_compressor, const std::string& schema_path, PipeManager* pm); } // namespace ui::multiband_compressor_box easyeffects-7.1.7/include/multiband_gate.hpp000066400000000000000000000125461463533416400211630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_multiband_gate.hpp" class MultibandGate : public PluginBase { public: MultibandGate(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); MultibandGate(const MultibandGate&) = delete; auto operator=(const MultibandGate&) -> MultibandGate& = delete; MultibandGate(const MultibandGate&&) = delete; auto operator=(const MultibandGate&&) -> MultibandGate& = delete; ~MultibandGate() override; static constexpr uint n_bands = tags::multiband_gate::n_bands; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) override; auto get_latency_seconds() -> float override; void update_probe_links() override; sigc::signal)> reduction, envelope, curve, frequency_range; float latency_port_value = 0.0F; std::array frequency_range_end_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; std::array envelope_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; std::array curve_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; std::array reduction_port_array = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; private: uint latency_n_frames = 0U; std::vector list_proxies; void update_sidechain_links(const std::string& key); template constexpr void bind_band() { using namespace tags::multiband_gate; using namespace std::string_literals; if (n > 0U) { lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_double(settings); } lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_bool(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_enum(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); lv2_wrapper->bind_key_double_db(settings); gconnections.push_back(g_signal_connect(settings, ("changed::"s + band_external_sidechain[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); } template constexpr void bind_bands(std::index_sequence /*unused*/) { (bind_band(), ...); } }; easyeffects-7.1.7/include/multiband_gate_band_box.hpp000066400000000000000000000030531463533416400230100ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include namespace ui::multiband_gate_band_box { G_BEGIN_DECLS #define EE_TYPE_MULTIBAND_GATE_BAND_BOX (multiband_gate_band_box_get_type()) G_DECLARE_FINAL_TYPE(MultibandGateBandBox, multiband_gate_band_box, EE, MULTIBAND_GATE_BAND_BOX, GtkBox) G_END_DECLS auto create() -> MultibandGateBandBox*; void setup(MultibandGateBandBox* self, GSettings* settings, int index); void set_end_label(MultibandGateBandBox* self, const float& value); void set_envelope_label(MultibandGateBandBox* self, const float& value); void set_curve_label(MultibandGateBandBox* self, const float& value); void set_gain_label(MultibandGateBandBox* self, const float& value); } // namespace ui::multiband_gate_band_box easyeffects-7.1.7/include/multiband_gate_preset.hpp000066400000000000000000000023251463533416400225370ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_multiband_gate.hpp" class MultibandGatePreset : public PluginPresetBase { public: explicit MultibandGatePreset(PresetType preset_type, const int& index = 0); private: static constexpr uint n_bands = tags::multiband_gate::n_bands; void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/multiband_gate_ui.hpp000066400000000000000000000026171463533416400216560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "multiband_gate.hpp" #include "pipe_manager.hpp" namespace ui::multiband_gate_box { G_BEGIN_DECLS #define EE_TYPE_MULTIBAND_GATE_BOX (multiband_gate_box_get_type()) G_DECLARE_FINAL_TYPE(MultibandGateBox, multiband_gate_box, EE, MULTIBAND_GATE_BOX, GtkBox) G_END_DECLS auto create() -> MultibandGateBox*; void setup(MultibandGateBox* self, std::shared_ptr multiband_gate, const std::string& schema_path, PipeManager* pm); } // namespace ui::multiband_gate_box easyeffects-7.1.7/include/node_info_holder.hpp000066400000000000000000000026641463533416400215010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "pipe_objects.hpp" namespace ui::holders { G_BEGIN_DECLS #define EE_TYPE_NODE_INFO_HOLDER (node_info_holder_get_type()) G_DECLARE_FINAL_TYPE(NodeInfoHolder, node_info_holder, EE, NODE_INFO_HOLDER, GObject) G_END_DECLS struct _NodeInfoHolder { GObject parent_instance; NodeInfo* info; std::string icon_name; // The name of the icon that will represent the node when we show it in a list sigc::signal info_updated; }; auto create(const NodeInfo& info) -> NodeInfoHolder*; } // namespace ui::holderseasyeffects-7.1.7/include/output_level.hpp000066400000000000000000000031201463533416400207170ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class OutputLevel : public PluginBase { public: OutputLevel(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); OutputLevel(const OutputLevel&) = delete; auto operator=(const OutputLevel&) -> OutputLevel& = delete; OutputLevel(const OutputLevel&&) = delete; auto operator=(const OutputLevel&&) -> OutputLevel& = delete; ~OutputLevel() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; }; easyeffects-7.1.7/include/pipe_manager.hpp000066400000000000000000000126061463533416400206300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_objects.hpp" class PipeManager { public: PipeManager(); PipeManager(const PipeManager&) = delete; auto operator=(const PipeManager&) -> PipeManager& = delete; PipeManager(const PipeManager&&) = delete; auto operator=(const PipeManager&&) -> PipeManager& = delete; ~PipeManager(); pw_thread_loop* thread_loop = nullptr; pw_core* core = nullptr; pw_registry* registry = nullptr; pw_metadata* metadata = nullptr; inline static bool exiting = false; inline static bool exclude_monitor_stream = true; spa_hook metadata_listener{}; std::map node_map; std::vector list_links; std::vector list_ports; std::vector list_modules; std::vector list_clients; std::vector list_devices; std::string default_output_device_name, default_input_device_name; NodeInfo ee_sink_node, ee_source_node; NodeInfo output_device, input_device; constexpr static auto blocklist_node_name = std::to_array({"Easy Effects", "EasyEffects", "easyeffects", "easyeffects_soe", "easyeffects_sie", "EasyEffectsWebrtcProbe", "libcanberra", "gsd-media-keys", "GNOME Shell", "speech-dispatcher", "speech-dispatcher-dummy", "speech-dispatcher-espeak-ng", "Mutter", "gameoverlayui"}); std::array blocklist_app_id = {"org.PulseAudio.pavucontrol", "org.gnome.VolumeControl"}; std::array blocklist_media_role = {"event", "Notification"}; std::string header_version, library_version, core_name, version; std::string default_clock_rate = "0"; std::string default_min_quantum = "0"; std::string default_max_quantum = "0"; std::string default_quantum = "0"; auto node_map_at_id(const uint& id) -> NodeInfo&; auto stream_is_connected(const uint& id, const std::string& media_class) -> bool; void connect_stream_output(const uint& id) const; void connect_stream_input(const uint& id) const; void disconnect_stream(const uint& id) const; static void set_node_volume(pw_proxy* proxy, const uint& n_vol_ch, const float& value); static void set_node_mute(pw_proxy* proxy, const bool& state); auto count_node_ports(const uint& node_id) -> uint; /* Links the output ports of the node output_node_id to the input ports of the node input_node_id */ auto link_nodes(const uint& output_node_id, const uint& input_node_id, const bool& probe_link = false, const bool& link_passive = true) -> std::vector; void destroy_object(const int& id) const; /* Destroy all the filters links */ void destroy_links(const std::vector& list) const; void lock() const; void unlock() const; void sync_wait_unlock() const; auto wait_full() const -> int; static void lock_node_map(); static void unlock_node_map(); static auto json_object_find(const char* obj, const char* key, char* value, const size_t& len) -> int; sigc::signal stream_output_added; sigc::signal stream_input_added; sigc::signal stream_output_changed; sigc::signal stream_input_changed; sigc::signal stream_output_removed; sigc::signal stream_input_removed; /* Do not pass NodeInfo by reference. Sometimes it dies before we use it and a segmentation fault happens. */ sigc::signal source_added; sigc::signal source_changed; sigc::signal source_removed; sigc::signal sink_added; sigc::signal sink_changed; sigc::signal sink_removed; sigc::signal new_default_sink_name; sigc::signal new_default_source_name; sigc::signal device_input_route_changed; sigc::signal device_output_route_changed; sigc::signal link_changed; private: pw_context* context = nullptr; pw_proxy *proxy_stream_output_sink = nullptr, *proxy_stream_input_source = nullptr; spa_hook core_listener{}, registry_listener{}; void set_metadata_target_node(const uint& origin_id, const uint& target_id, const uint64_t& target_serial) const; }; easyeffects-7.1.7/include/pipe_manager_box.hpp000066400000000000000000000023271463533416400214770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "application.hpp" namespace ui::pipe_manager_box { G_BEGIN_DECLS #define EE_TYPE_PIPE_MANAGER_BOX (pipe_manager_box_get_type()) G_DECLARE_FINAL_TYPE(PipeManagerBox, pipe_manager_box, EE, PIPE_MANAGER_BOX, GtkBox) G_END_DECLS auto create() -> PipeManagerBox*; void setup(PipeManagerBox* self, app::Application* application); } // namespace ui::pipe_manager_boxeasyeffects-7.1.7/include/pipe_objects.hpp000066400000000000000000000061641463533416400206510ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include struct NodeInfo { pw_proxy* proxy = nullptr; uint id = SPA_ID_INVALID; uint device_id = SPA_ID_INVALID; uint64_t serial = SPA_ID_INVALID; std::string name; std::string description; std::string media_class; std::string media_role; std::string app_name; std::string app_process_id; std::string app_process_binary; std::string app_icon_name; std::string media_icon_name; std::string device_icon_name; std::string media_name; std::string format; std::string application_id; int priority = -1; pw_node_state state = PW_NODE_STATE_IDLE; bool mute = false; bool connected = false; int n_input_ports = 0; int n_output_ports = 0; int rate = 1; // used as divisor to calculate latency, so do not initialize it as 0 uint n_volume_channels = 0U; float latency = 0.0F; float volume = 0.0F; }; struct LinkInfo { std::string path; uint id = SPA_ID_INVALID; uint input_node_id = 0U; uint input_port_id = 0U; uint output_node_id = 0U; uint output_port_id = 0U; uint64_t serial = SPA_ID_INVALID; bool passive = false; // does not cause the graph to be runnable pw_link_state state = PW_LINK_STATE_UNLINKED; }; struct PortInfo { std::string path; std::string format_dsp; std::string audio_channel; std::string name; std::string direction; bool physical = false; bool terminal = false; bool monitor = false; uint id = SPA_ID_INVALID; uint node_id = 0U; uint port_id = 0U; uint64_t serial = SPA_ID_INVALID; }; struct ModuleInfo { uint id; uint64_t serial = SPA_ID_INVALID; std::string name; std::string description; std::string filename; }; struct ClientInfo { uint id; uint64_t serial = SPA_ID_INVALID; std::string name; std::string access; std::string api; }; struct DeviceInfo { uint id; uint64_t serial = SPA_ID_INVALID; std::string name; std::string description; std::string nick; std::string media_class; std::string api; std::string input_route_name; std::string output_route_name; std::string bus_id; std::string bus_path; spa_param_availability input_route_available; spa_param_availability output_route_available; }; easyeffects-7.1.7/include/pipeline_type.hpp000066400000000000000000000014531463533416400210450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once enum class PipelineType { input, output }; easyeffects-7.1.7/include/pitch.hpp000066400000000000000000000050231463533416400173030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include "SoundTouch.h" #include "pipe_manager.hpp" #include "plugin_base.hpp" class Pitch : public PluginBase { public: Pitch(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Pitch(const Pitch&) = delete; auto operator=(const Pitch&) -> Pitch& = delete; Pitch(const Pitch&&) = delete; auto operator=(const Pitch&&) -> Pitch& = delete; ~Pitch() override; enum class Mode { speed, quality, consistency }; enum class Formant { shifted, preserved }; enum class Transients { crisp, mixed, smooth }; enum class Detector { compound, percussive, soft }; enum class Phase { laminar, independent }; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: bool soundtouch_ready = false; bool notify_latency = false; uint latency_n_frames = 0U; std::vector data_L, data_R, data; std::deque deque_out_L, deque_out_R; soundtouch::SoundTouch* snd_touch = nullptr; bool anti_alias = false; bool quick_seek = false; int sequence_length_ms = 40; int seek_window_ms = 15; int overlap_length_ms = 8; double semitones = 0.0; double tempo_difference = 0.0; double rate_difference = 0.0; void set_semitones(); void set_sequence_length(); void set_seek_window(); void set_overlap_length(); void set_quick_seek(); void set_anti_alias(); void set_tempo_difference(); void set_rate_difference(); void init_soundtouch(); }; easyeffects-7.1.7/include/pitch_preset.hpp000066400000000000000000000021111463533416400206600ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class PitchPreset : public PluginPresetBase { public: explicit PitchPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/pitch_ui.hpp000066400000000000000000000023311463533416400177770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "pitch.hpp" namespace ui::pitch_box { G_BEGIN_DECLS #define EE_TYPE_PITCH_BOX (pitch_box_get_type()) G_DECLARE_FINAL_TYPE(PitchBox, pitch_box, EE, PITCH_BOX, GtkBox) G_END_DECLS auto create() -> PitchBox*; void setup(PitchBox* self, std::shared_ptr pitch, const std::string& schema_path); } // namespace ui::pitch_box easyeffects-7.1.7/include/plugin_base.hpp000066400000000000000000000113601463533416400204650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipeline_type.hpp" #include "util.hpp" class PluginBase { public: PluginBase(std::string tag, std::string plugin_name, std::string plugin_package, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type, const bool& enable_probe = false); PluginBase(const PluginBase&) = delete; auto operator=(const PluginBase&) -> PluginBase& = delete; PluginBase(const PluginBase&&) = delete; auto operator=(const PluginBase&&) -> PluginBase& = delete; virtual ~PluginBase(); struct data; struct port { struct data* data; }; struct data { struct port* in_left = nullptr; struct port* in_right = nullptr; struct port* out_left = nullptr; struct port* out_right = nullptr; struct port* probe_left = nullptr; struct port* probe_right = nullptr; PluginBase* pb = nullptr; }; const std::string log_tag; std::string name, package; PipelineType pipeline_type{}; pw_filter* filter = nullptr; pw_filter_state state = PW_FILTER_STATE_UNCONNECTED; bool can_get_node_id = false; bool enable_probe = false; uint n_samples = 0U; uint rate = 0U; bool package_installed = true; bool bypass = false; bool connected_to_pw = false; bool send_notifications = false; float delta_t = 0.0F; float notification_time_window = 1.0F / 20.0F; // seconds float latency_value = 0.0F; // seconds std::chrono::time_point clock_start; std::vector dummy_left, dummy_right; [[nodiscard]] auto get_node_id() const -> uint; void set_active(const bool& state) const; void set_post_messages(const bool& state); auto connect_to_pw() -> bool; void disconnect_from_pw(); void reset_settings(); void show_native_ui(); void close_native_ui(); void set_native_ui_update_frequency(const uint& value); virtual void setup(); virtual void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out); virtual void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right); virtual void update_probe_links(); virtual auto get_latency_seconds() -> float; sigc::signal input_level; sigc::signal output_level; sigc::signal latency; protected: std::mutex data_mutex; GSettings *settings = nullptr, *global_settings = nullptr; PipeManager* pm = nullptr; spa_hook listener{}; data pf_data = {}; bool post_messages = false; uint n_ports = 4U; float input_gain = 1.0F; float output_gain = 1.0F; std::unique_ptr lv2_wrapper; std::vector gconnections; void setup_input_output_gain(); void initialize_listener(); void notify(); void get_peaks(const std::span& left_in, const std::span& right_in, std::span& left_out, std::span& right_out); static void apply_gain(std::span& left, std::span& right, const float& gain); void update_filter_params(); private: uint node_id = 0U; float input_peak_left = util::minimum_linear_level, input_peak_right = util::minimum_linear_level; float output_peak_left = util::minimum_linear_level, output_peak_right = util::minimum_linear_level; }; easyeffects-7.1.7/include/plugin_preset_base.hpp000066400000000000000000000115221463533416400220470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "preset_type.hpp" #include "util.hpp" class PluginPresetBase { public: PluginPresetBase(const char* schema_id, const char* schema_path_input, const char* schema_path_output, PresetType preset_type, const int& index); PluginPresetBase(const PluginPresetBase&) = delete; auto operator=(const PluginPresetBase&) -> PluginPresetBase& = delete; PluginPresetBase(const PluginPresetBase&&) = delete; auto operator=(const PluginPresetBase&&) -> PluginPresetBase& = delete; virtual ~PluginPresetBase(); void write(nlohmann::json& json) { try { save(json); } catch (const nlohmann::json::exception& e) { util::warning(e.what()); } } void read(const nlohmann::json& json) { /* Old presets do not have the filter instance id. */ if (!json.at(section).contains(instance_name)) { instance_name.erase(instance_name.find('#')); } // For simplicity, exceptions raised while reading presets parameters // should be handled outside this method. g_settings_delay(settings); load(json); g_settings_apply(settings); } protected: int index = 0; GSettings* settings = nullptr; std::string section, instance_name; PresetType preset_type; virtual void save(nlohmann::json& json) = 0; virtual void load(const nlohmann::json& json) = 0; template auto get_default(GSettings* settings, const std::string& key) -> T { GVariant* variant = g_settings_get_default_value(settings, key.c_str()); T value{}; if constexpr (std::is_same_v) { value = g_variant_get_double(variant); } else if constexpr (std::is_same_v) { value = g_variant_get_int32(variant); } else if constexpr (std::is_same_v) { value = g_variant_get_boolean(variant); } else if constexpr (std::is_same_v) { gsize* length = nullptr; value = const_cast(g_variant_get_string(variant, length)); } g_variant_unref(variant); return value; } template void update_key(const nlohmann::json& json, GSettings* settings, const std::string& key, const std::string& json_key) { T new_value; if constexpr (!std::is_same_v) { new_value = json.value(json_key, get_default(settings, key)); } else { std::string tmp = json.value(json_key, get_default(settings, key)); new_value = g_strdup(tmp.c_str()); } T current_value; if constexpr (std::is_same_v) { current_value = g_settings_get_double(settings, key.c_str()); } else if constexpr (std::is_same_v) { current_value = g_settings_get_int(settings, key.c_str()); } else if constexpr (std::is_same_v) { current_value = g_settings_get_boolean(settings, key.c_str()); } else if constexpr (std::is_same_v) { current_value = g_settings_get_string(settings, key.c_str()); } if (is_different(current_value, new_value)) { if constexpr (std::is_same_v) { g_settings_set_double(settings, key.c_str(), new_value); } else if constexpr (std::is_same_v) { g_settings_set_int(settings, key.c_str(), new_value); } else if constexpr (std::is_same_v) { g_settings_set_boolean(settings, key.c_str(), new_value); } else if constexpr (std::is_same_v) { g_settings_set_string(settings, key.c_str(), new_value); } } if constexpr (std::is_same_v) { g_free(new_value); g_free(current_value); } } private: /* Very naive test for equal values... */ template auto is_different(const T& a, const T& b) -> bool { if constexpr (std::is_same_v) { return static_cast(g_strcmp0(a, b) != 0); } return a != b; } }; easyeffects-7.1.7/include/plugins_box.hpp000066400000000000000000000023171463533416400205300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include "application.hpp" #include "pipeline_type.hpp" namespace ui::plugins_box { G_BEGIN_DECLS #define EE_TYPE_PLUGINS_BOX (plugins_box_get_type()) G_DECLARE_FINAL_TYPE(PluginsBox, plugins_box, EE, PLUGINS_BOX, GtkBox) G_END_DECLS auto create() -> PluginsBox*; void setup(PluginsBox* self, app::Application* application, PipelineType pipeline_type); } // namespace ui::plugins_box easyeffects-7.1.7/include/plugins_menu.hpp000066400000000000000000000023701463533416400207030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "application.hpp" #include "pipeline_type.hpp" namespace ui::plugins_menu { G_BEGIN_DECLS #define EE_TYPE_PLUGINS_MENU (plugins_menu_get_type()) G_DECLARE_FINAL_TYPE(PluginsMenu, plugins_menu, EE, PLUGINS_MENU, GtkPopover) G_END_DECLS auto create() -> PluginsMenu*; void setup(PluginsMenu* self, app::Application* application, PipelineType pipeline_type); } // namespace ui::plugins_menu easyeffects-7.1.7/include/preferences_general.hpp000066400000000000000000000023031463533416400221700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #ifdef ENABLE_LIBPORTAL #include "libportal.hpp" #endif namespace ui::preferences::general { G_BEGIN_DECLS #define EE_TYPE_PREFERENCES_GENERAL (preferences_general_get_type()) G_DECLARE_FINAL_TYPE(PreferencesGeneral, preferences_general, EE, PREFERENCES_GENERAL, AdwPreferencesPage) G_END_DECLS auto create() -> PreferencesGeneral*; } // namespace ui::preferences::generaleasyeffects-7.1.7/include/preferences_spectrum.hpp000066400000000000000000000022221463533416400224150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include namespace ui::preferences::spectrum { G_BEGIN_DECLS #define EE_TYPE_PREFERENCES_SPECTRUM (preferences_spectrum_get_type()) G_DECLARE_FINAL_TYPE(PreferencesSpectrum, preferences_spectrum, EE, PREFERENCES_SPECTRUM, AdwPreferencesPage) G_END_DECLS auto create() -> PreferencesSpectrum*; } // namespace ui::preferences::spectrumeasyeffects-7.1.7/include/preferences_window.hpp000066400000000000000000000022041463533416400220620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include namespace ui::preferences::window { G_BEGIN_DECLS #define EE_TYPE_PREFERENCES_WINDOW (preferences_window_get_type()) G_DECLARE_FINAL_TYPE(PreferencesWindow, preferences_window, EE, PREFERENCES_WINDOW, AdwPreferencesWindow) G_END_DECLS auto create() -> PreferencesWindow*; } // namespace ui::preferences::windoweasyeffects-7.1.7/include/preset_type.hpp000066400000000000000000000014511463533416400205400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once enum class PresetType { input, output }; easyeffects-7.1.7/include/presets_autoloading_holder.hpp000066400000000000000000000030101463533416400235760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include namespace ui::holders { G_BEGIN_DECLS #define EE_TYPE_PRESETS_AUTOLOADING_HOLDER (presets_autoloading_holder_get_type()) G_DECLARE_FINAL_TYPE(PresetsAutoloadingHolder, presets_autoloading_holder, EE, PRESETS_AUTOLOADING_HOLDER, GObject) G_END_DECLS struct PresetsAutoLoadingData { public: std::string device, device_description, device_profile, preset_name; }; struct _PresetsAutoloadingHolder { GObject parent_instance; PresetsAutoLoadingData* data; }; auto create(const std::string& device, const std::string& device_description, const std::string& device_profile, const std::string& preset_name) -> PresetsAutoloadingHolder*; } // namespace ui::holderseasyeffects-7.1.7/include/presets_manager.hpp000066400000000000000000000153541463533416400213630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class PresetsManager { public: PresetsManager(); PresetsManager(const PresetsManager&) = delete; auto operator=(const PresetsManager&) -> PresetsManager& = delete; PresetsManager(const PresetsManager&&) = delete; auto operator=(const PresetsManager&&) -> PresetsManager& = delete; ~PresetsManager(); enum class PresetError { blocklist_format, blocklist_generic, pipeline_format, pipeline_generic, plugin_format, plugin_generic }; const std::string json_ext = ".json"; // signal sending title and description strings sigc::signal preset_load_error; auto get_all_community_presets_paths(const PresetType& preset_type) -> std::vector; auto scan_community_package_recursive(std::filesystem::directory_iterator& it, const uint& top_scan_level, const std::string& origin = "") -> std::vector; auto get_community_preset_info(const PresetType& preset_type, const std::string& path) -> std::pair; auto get_local_presets_name(const PresetType& preset_type) -> std::vector; auto search_names(std::filesystem::directory_iterator& it) -> std::vector; void add(const PresetType& preset_type, const std::string& name); void save_preset_file(const PresetType& preset_type, const std::string& name); static void write_plugins_preset(const PresetType& preset_type, const std::vector& plugins, nlohmann::json& json); void remove(const PresetType& preset_type, const std::string& name); auto load_local_preset_file(const PresetType& preset_type, const std::string& name) -> bool; auto load_community_preset_file(const PresetType& preset_type, const std::string& full_path_stem, const std::string& package_name) -> bool; auto read_effects_pipeline_from_preset(const PresetType& preset_type, const std::filesystem::path& input_file, nlohmann::json& json, std::vector& plugins) -> bool; auto read_plugins_preset(const PresetType& preset_type, const std::vector& plugins, const nlohmann::json& json) -> bool; void import_from_filesystem(const PresetType& preset_type, const std::string& file_path); void import_from_community_package(const PresetType& preset_type, const std::string& file_path, const std::string& package); void add_autoload(const PresetType& preset_type, const std::string& preset_name, const std::string& device_name, const std::string& device_description, const std::string& device_profile); void remove_autoload(const PresetType& preset_type, const std::string& preset_name, const std::string& device_name, const std::string& device_profile); auto find_autoload(const PresetType& preset_type, const std::string& device_name, const std::string& device_profile) -> std::string; void autoload(const PresetType& preset_type, const std::string& device_name, const std::string& device_profile); auto get_autoload_profiles(const PresetType& preset_type) -> std::vector; auto preset_file_exists(const PresetType& preset_type, const std::string& name) -> bool; sigc::signal user_output_preset_created; sigc::signal user_output_preset_removed; sigc::signal user_input_preset_created; sigc::signal user_input_preset_removed; sigc::signal& profiles)> autoload_input_profiles_changed; sigc::signal& profiles)> autoload_output_profiles_changed; private: std::string user_config_dir; std::filesystem::path user_input_dir, user_output_dir, user_irs_dir, user_rnnoise_dir, autoload_input_dir, autoload_output_dir; std::vector system_data_dir_input, system_data_dir_output, system_data_dir_irs, system_data_dir_rnnoise; GSettings *settings = nullptr, *soe_settings = nullptr, *sie_settings = nullptr; GFileMonitor *user_output_monitor = nullptr, *user_input_monitor = nullptr; GFileMonitor *autoload_output_monitor = nullptr, *autoload_input_monitor = nullptr; static void create_user_directory(const std::filesystem::path& path); auto import_addons_from_community_package(const PresetType& preset_type, const std::filesystem::path& path, const std::string& package) -> bool; void set_last_preset_keys(const PresetType& preset_type, const std::string& preset_name = "", const std::string& package_name = ""); auto load_preset_file(const PresetType& preset_type, const std::filesystem::path& input_file) -> bool; void save_blocklist(const PresetType& preset_type, nlohmann::json& json); auto load_blocklist(const PresetType& preset_type, const nlohmann::json& json) -> bool; void notify_error(const PresetError& preset_error, const std::string& plugin_name = ""); static auto create_wrapper(const PresetType& preset_type, std::string_view filter_name) -> std::optional>; }; easyeffects-7.1.7/include/presets_menu.hpp000066400000000000000000000023621463533416400207100ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include "application.hpp" #include "preset_type.hpp" namespace ui::presets_menu { G_BEGIN_DECLS #define EE_TYPE_PRESETS_MENU (presets_menu_get_type()) G_DECLARE_FINAL_TYPE(PresetsMenu, presets_menu, EE, PRESETS_MENU, GtkPopover) G_END_DECLS auto create() -> PresetsMenu*; void setup(PresetsMenu* self, app::Application* application, PresetType preset_type); } // namespace ui::presets_menu easyeffects-7.1.7/include/resampler.hpp000066400000000000000000000041661463533416400201750ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include class Resampler { public: Resampler(const int& input_rate, const int& output_rate); Resampler(const Resampler&) = delete; auto operator=(const Resampler&) -> Resampler& = delete; Resampler(const Resampler&&) = delete; auto operator=(const Resampler&&) -> Resampler& = delete; ~Resampler(); template auto process(const T& input, const bool& end_of_input) -> const std::vector& { output.resize(std::ceil(1.5 * resample_ratio * input.size())); // The number of frames of data pointed to by data_in src_data.input_frames = input.size(); // A pointer to the input data samples src_data.data_in = input.data(); // Maximum number of frames pointed to by data_out src_data.output_frames = static_cast(output.size()); // A pointer to the output data samples src_data.data_out = output.data(); // Equal to output_sample_rate / input_sample_rate src_data.src_ratio = resample_ratio; // Equal to 0 if more input data is available and 1 otherwise src_data.end_of_input = static_cast(end_of_input); src_process(src_state, &src_data); output.resize(src_data.output_frames_gen); return output; } private: double resample_ratio = 1.0; SRC_STATE* src_state = nullptr; SRC_DATA src_data{}; std::vector output; }; easyeffects-7.1.7/include/reverb.hpp000066400000000000000000000030201463533416400174540ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Reverb : public PluginBase { public: Reverb(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Reverb(const Reverb&) = delete; auto operator=(const Reverb&) -> Reverb& = delete; Reverb(const Reverb&&) = delete; auto operator=(const Reverb&&) -> Reverb& = delete; ~Reverb() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: }; easyeffects-7.1.7/include/reverb_preset.hpp000066400000000000000000000021131463533416400210400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class ReverbPreset : public PluginPresetBase { public: explicit ReverbPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/reverb_ui.hpp000066400000000000000000000023451463533416400201620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "reverb.hpp" namespace ui::reverb_box { G_BEGIN_DECLS #define EE_TYPE_REVERB_BOX (reverb_box_get_type()) G_DECLARE_FINAL_TYPE(ReverbBox, reverb_box, EE, REVERB_BOX, GtkBox) G_END_DECLS auto create() -> ReverbBox*; void setup(ReverbBox* self, std::shared_ptr reverb, const std::string& schema_path); } // namespace ui::reverb_box easyeffects-7.1.7/include/rnnoise.hpp000066400000000000000000000131031463533416400176470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #ifdef ENABLE_RNNOISE #include #endif #include #include "plugin_base.hpp" #include "resampler.hpp" class RNNoise : public PluginBase { public: RNNoise(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); RNNoise(const RNNoise&) = delete; auto operator=(const RNNoise&) -> RNNoise& = delete; RNNoise(const RNNoise&&) = delete; auto operator=(const RNNoise&&) -> RNNoise& = delete; ~RNNoise() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; void init_release(); auto search_model_path(const std::string& name) -> std::string; #ifndef ENABLE_RNNOISE bool package_installed = false; #endif const std::string rnnn_ext = ".rnnn"; bool standard_model = true; sigc::signal model_changed; private: std::string local_dir_rnnoise; std::vector system_data_dir_rnnoise; bool resample = false; bool notify_latency = false; bool rnnoise_ready = false; bool resampler_ready = false; bool enable_vad = false; uint blocksize = 480U; uint rnnoise_rate = 48000U; uint latency_n_frames = 0U; float vad_thres = 0.95F; float wet_ratio = 1.0F; uint release = 2U; const float inv_short_max = 1.0F / (SHRT_MAX + 1.0F); std::deque deque_out_L, deque_out_R; std::vector data_L, data_R, data_tmp; std::vector resampled_data_L, resampled_data_R; std::unique_ptr resampler_inL, resampler_outL; std::unique_ptr resampler_inR, resampler_outR; #ifdef ENABLE_RNNOISE RNNModel* model = nullptr; DenoiseState *state_left = nullptr, *state_right = nullptr; float vad_prob_left, vad_prob_right; int vad_grace_left, vad_grace_right; auto get_model_from_name() -> RNNModel*; void free_rnnoise(); template void remove_noise(const T1& left_in, const T1& right_in, T2& out_L, T2& out_R) { for (const auto& v : left_in) { data_L.push_back(v); if (data_L.size() == blocksize) { if (state_left != nullptr) { std::ranges::for_each(data_L, [](auto& v) { v *= static_cast(SHRT_MAX + 1); }); data_tmp = data_L; vad_prob_left = rnnoise_process_frame(state_left, data_L.data(), data_L.data()); if (enable_vad) { if (vad_prob_left >= vad_thres) { vad_grace_left = release; } if (vad_grace_left >= 0) { --vad_grace_left; for (size_t i = 0U; i < data_L.size(); i++) { data_L[i] = data_L[i] * wet_ratio + data_tmp[i] * (1.0F - wet_ratio); data_L[i] *= inv_short_max; } } else { std::ranges::for_each(data_L, [&](auto& v) { v = 0.0F; }); } } else { for (size_t i = 0U; i < data_L.size(); i++) { data_L[i] = data_L[i] * wet_ratio + data_tmp[i] * (1.0F - wet_ratio); data_L[i] *= inv_short_max; } } } for (const auto& v : data_L) { out_L.push_back(v); } data_L.resize(0U); } } for (const auto& v : right_in) { data_R.push_back(v); if (data_R.size() == blocksize) { if (state_right != nullptr) { std::ranges::for_each(data_R, [](auto& v) { v *= static_cast(SHRT_MAX + 1); }); data_tmp = data_R; vad_prob_right = rnnoise_process_frame(state_right, data_R.data(), data_R.data()); if (enable_vad) { if (vad_prob_right >= vad_thres) { vad_grace_right = release; } if (vad_grace_right >= 0) { --vad_grace_right; for (size_t i = 0U; i < data_R.size(); i++) { data_R[i] = data_R[i] * wet_ratio + data_tmp[i] * (1.0F - wet_ratio); data_R[i] *= inv_short_max; } } else { std::ranges::for_each(data_R, [&](auto& v) { v = 0.0F; }); } } else { for (size_t i = 0U; i < data_R.size(); i++) { data_R[i] = data_R[i] * wet_ratio + data_tmp[i] * (1.0F - wet_ratio); data_R[i] *= inv_short_max; } } } for (const auto& v : data_R) { out_R.push_back(v); } data_R.resize(0U); } } } #endif }; easyeffects-7.1.7/include/rnnoise_preset.hpp000066400000000000000000000021151463533416400212320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class RNNoisePreset : public PluginPresetBase { public: explicit RNNoisePreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/rnnoise_ui.hpp000066400000000000000000000025141463533416400203500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "application.hpp" #include "rnnoise.hpp" namespace ui::rnnoise_box { G_BEGIN_DECLS #define EE_TYPE_RNNOISE_BOX (rnnoise_box_get_type()) G_DECLARE_FINAL_TYPE(RNNoiseBox, rnnoise_box, EE, RNNOISE_BOX, GtkBox) G_END_DECLS auto create() -> RNNoiseBox*; void setup(RNNoiseBox* self, std::shared_ptr rnnoise, const std::string& schema_path, app::Application* application); } // namespace ui::rnnoise_box easyeffects-7.1.7/include/spectrum.hpp000066400000000000000000000037231463533416400200430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Spectrum : public PluginBase { public: Spectrum(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Spectrum(const Spectrum&) = delete; auto operator=(const Spectrum&) -> Spectrum& = delete; Spectrum(const Spectrum&&) = delete; auto operator=(const Spectrum&&) -> Spectrum& = delete; ~Spectrum() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; sigc::signal)> power; // rate, nbands, magnitudes private: bool fftw_ready = false; fftwf_plan plan = nullptr; fftwf_complex* complex_output = nullptr; std::vector real_input; std::vector output; uint n_bands = 8192U; std::deque deque_in_mono; }; easyeffects-7.1.7/include/speex.hpp000066400000000000000000000040561463533416400173250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class Speex : public PluginBase { public: Speex(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); Speex(const Speex&) = delete; auto operator=(const Speex&) -> Speex& = delete; Speex(const Speex&&) = delete; auto operator=(const Speex&&) -> Speex& = delete; ~Speex() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; private: bool speex_ready = false; int enable_denoise = 0, noise_suppression = -15, enable_agc = 0, enable_vad = 0, vad_probability_start = 95, vad_probability_continue = 90, enable_dereverb = 0; uint latency_n_frames = 0U; const float inv_short_max = 1.0F / (SHRT_MAX + 1); std::vector data_L, data_R; SpeexPreprocessState *state_left = nullptr, *state_right = nullptr; void free_speex(); }; easyeffects-7.1.7/include/speex_preset.hpp000066400000000000000000000021111463533416400206750ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class SpeexPreset : public PluginPresetBase { public: explicit SpeexPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/speex_ui.hpp000066400000000000000000000024231463533416400200160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "application.hpp" #include "speex.hpp" namespace ui::speex_box { G_BEGIN_DECLS #define EE_TYPE_SPEEX_BOX (speex_box_get_type()) G_DECLARE_FINAL_TYPE(SpeexBox, speex_box, EE, SPEEX_BOX, GtkBox) G_END_DECLS auto create() -> SpeexBox*; void setup(SpeexBox* self, std::shared_ptr speex, const std::string& schema_path, app::Application* application); } // namespace ui::speex_box easyeffects-7.1.7/include/stereo_tools.hpp000066400000000000000000000032431463533416400207170ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" class StereoTools : public PluginBase { public: StereoTools(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type); StereoTools(const StereoTools&) = delete; auto operator=(const StereoTools&) -> StereoTools& = delete; StereoTools(const StereoTools&&) = delete; auto operator=(const StereoTools&&) -> StereoTools& = delete; ~StereoTools() override; void setup() override; void process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) override; auto get_latency_seconds() -> float override; double correlation_port_value = 0.0; private: float dry = 0.0F, wet = 1.0F; }; easyeffects-7.1.7/include/stereo_tools_preset.hpp000066400000000000000000000021251463533416400222770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" class StereoToolsPreset : public PluginPresetBase { public: explicit StereoToolsPreset(PresetType preset_type, const int& index = 0); private: void save(nlohmann::json& json) override; void load(const nlohmann::json& json) override; }; easyeffects-7.1.7/include/stereo_tools_ui.hpp000066400000000000000000000024511463533416400214140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include "stereo_tools.hpp" namespace ui::stereo_tools_box { G_BEGIN_DECLS #define EE_TYPE_STEREO_TOOLS_BOX (stereo_tools_box_get_type()) G_DECLARE_FINAL_TYPE(StereoToolsBox, stereo_tools_box, EE, STEREO_TOOLS_BOX, GtkBox) G_END_DECLS auto create() -> StereoToolsBox*; void setup(StereoToolsBox* self, std::shared_ptr stereo_tools, const std::string& schema_path); } // namespace ui::stereo_tools_box easyeffects-7.1.7/include/stream_input_effects.hpp000066400000000000000000000030721463533416400224070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include "effects_base.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" class StreamInputEffects : public EffectsBase { public: StreamInputEffects(PipeManager* pipe_manager); StreamInputEffects(const StreamInputEffects&) = delete; auto operator=(const StreamInputEffects&) -> StreamInputEffects& = delete; StreamInputEffects(const StreamInputEffects&&) = delete; auto operator=(const StreamInputEffects&&) -> StreamInputEffects& = delete; ~StreamInputEffects() override; void set_bypass(const bool& state); void set_listen_to_mic(const bool& state); private: bool bypass = false; void connect_filters(const bool& bypass = false); void disconnect_filters(); auto apps_want_to_play() -> bool; void on_app_added(NodeInfo node_info); void on_link_changed(LinkInfo link_info); }; easyeffects-7.1.7/include/stream_output_effects.hpp000066400000000000000000000030271463533416400226100ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include "effects_base.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" class StreamOutputEffects : public EffectsBase { public: StreamOutputEffects(PipeManager* pipe_manager); StreamOutputEffects(const StreamOutputEffects&) = delete; auto operator=(const StreamOutputEffects&) -> StreamOutputEffects& = delete; StreamOutputEffects(const StreamOutputEffects&&) = delete; auto operator=(const StreamOutputEffects&&) -> StreamOutputEffects& = delete; ~StreamOutputEffects() override; void set_bypass(const bool& state); private: bool bypass = false; void connect_filters(const bool& bypass = false); void disconnect_filters(); auto apps_want_to_play() -> bool; void on_app_added(NodeInfo node_info); void on_link_changed(LinkInfo link_info); }; easyeffects-7.1.7/include/string_literal_wrapper.hpp000066400000000000000000000021631463533416400227600ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include template struct StringLiteralWrapper { // NOLINTNEXTLINE(hicpp-explicit-conversions) constexpr StringLiteralWrapper(const char (&str)[N]) : msg(std::to_array(str)) {} // NOLINTNEXTLINE(hicpp-explicit-conversions) constexpr StringLiteralWrapper(std::array arr) : msg(arr) {} std::array msg; }; easyeffects-7.1.7/include/tags_app.hpp000066400000000000000000000022261463533416400177740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once namespace tags::app { inline constexpr auto minimum_pw_version = "0.3.44"; inline constexpr auto id = "com.github.wwmm.easyeffects"; inline constexpr auto path = "/com/github/wwmm/easyeffects"; inline constexpr auto path_stream_inputs = "/com/github/wwmm/easyeffects/streaminputs/"; inline constexpr auto path_stream_outputs = "/com/github/wwmm/easyeffects/streamoutputs/"; } // namespace tags::app easyeffects-7.1.7/include/tags_equalizer.hpp000066400000000000000000000370761463533416400212300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include namespace tags::equalizer { // bands constexpr auto band_id = std::to_array( {"band0", "band1", "band2", "band3", "band4", "band5", "band6", "band7", "band8", "band9", "band10", "band11", "band12", "band13", "band14", "band15", "band16", "band17", "band18", "band19", "band20", "band21", "band22", "band23", "band24", "band25", "band26", "band27", "band28", "band29", "band30", "band31"}); constexpr auto band_type = std::to_array({{"band0-type"}, {"band1-type"}, {"band2-type"}, {"band3-type"}, {"band4-type"}, {"band5-type"}, {"band6-type"}, {"band7-type"}, {"band8-type"}, {"band9-type"}, {"band10-type"}, {"band11-type"}, {"band12-type"}, {"band13-type"}, {"band14-type"}, {"band15-type"}, {"band16-type"}, {"band17-type"}, {"band18-type"}, {"band19-type"}, {"band20-type"}, {"band21-type"}, {"band22-type"}, {"band23-type"}, {"band24-type"}, {"band25-type"}, {"band26-type"}, {"band27-type"}, {"band28-type"}, {"band29-type"}, {"band30-type"}, std::to_array("band31-type")}); constexpr auto band_mode = std::to_array({{"band0-mode"}, {"band1-mode"}, {"band2-mode"}, {"band3-mode"}, {"band4-mode"}, {"band5-mode"}, {"band6-mode"}, {"band7-mode"}, {"band8-mode"}, {"band9-mode"}, {"band10-mode"}, {"band11-mode"}, {"band12-mode"}, {"band13-mode"}, {"band14-mode"}, {"band15-mode"}, {"band16-mode"}, {"band17-mode"}, {"band18-mode"}, {"band19-mode"}, {"band20-mode"}, {"band21-mode"}, {"band22-mode"}, {"band23-mode"}, {"band24-mode"}, {"band25-mode"}, {"band26-mode"}, {"band27-mode"}, {"band28-mode"}, {"band29-mode"}, {"band30-mode"}, std::to_array("band31-mode")}); constexpr auto band_slope = std::to_array({{"band0-slope"}, {"band1-slope"}, {"band2-slope"}, {"band3-slope"}, {"band4-slope"}, {"band5-slope"}, {"band6-slope"}, {"band7-slope"}, {"band8-slope"}, {"band9-slope"}, {"band10-slope"}, {"band11-slope"}, {"band12-slope"}, {"band13-slope"}, {"band14-slope"}, {"band15-slope"}, {"band16-slope"}, {"band17-slope"}, {"band18-slope"}, {"band19-slope"}, {"band20-slope"}, {"band21-slope"}, {"band22-slope"}, {"band23-slope"}, {"band24-slope"}, {"band25-slope"}, {"band26-slope"}, {"band27-slope"}, {"band28-slope"}, {"band29-slope"}, {"band30-slope"}, std::to_array("band31-slope")}); constexpr auto band_solo = std::to_array({{"band0-solo"}, {"band1-solo"}, {"band2-solo"}, {"band3-solo"}, {"band4-solo"}, {"band5-solo"}, {"band6-solo"}, {"band7-solo"}, {"band8-solo"}, {"band9-solo"}, {"band10-solo"}, {"band11-solo"}, {"band12-solo"}, {"band13-solo"}, {"band14-solo"}, {"band15-solo"}, {"band16-solo"}, {"band17-solo"}, {"band18-solo"}, {"band19-solo"}, {"band20-solo"}, {"band21-solo"}, {"band22-solo"}, {"band23-solo"}, {"band24-solo"}, {"band25-solo"}, {"band26-solo"}, {"band27-solo"}, {"band28-solo"}, {"band29-solo"}, {"band30-solo"}, std::to_array("band31-solo")}); constexpr auto band_mute = std::to_array({{"band0-mute"}, {"band1-mute"}, {"band2-mute"}, {"band3-mute"}, {"band4-mute"}, {"band5-mute"}, {"band6-mute"}, {"band7-mute"}, {"band8-mute"}, {"band9-mute"}, {"band10-mute"}, {"band11-mute"}, {"band12-mute"}, {"band13-mute"}, {"band14-mute"}, {"band15-mute"}, {"band16-mute"}, {"band17-mute"}, {"band18-mute"}, {"band19-mute"}, {"band20-mute"}, {"band21-mute"}, {"band22-mute"}, {"band23-mute"}, {"band24-mute"}, {"band25-mute"}, {"band26-mute"}, {"band27-mute"}, {"band28-mute"}, {"band29-mute"}, {"band30-mute"}, std::to_array("band31-mute")}); constexpr auto band_frequency = std::to_array( {{"band0-frequency"}, {"band1-frequency"}, {"band2-frequency"}, {"band3-frequency"}, {"band4-frequency"}, {"band5-frequency"}, {"band6-frequency"}, {"band7-frequency"}, {"band8-frequency"}, {"band9-frequency"}, {"band10-frequency"}, {"band11-frequency"}, {"band12-frequency"}, {"band13-frequency"}, {"band14-frequency"}, {"band15-frequency"}, {"band16-frequency"}, {"band17-frequency"}, {"band18-frequency"}, {"band19-frequency"}, {"band20-frequency"}, {"band21-frequency"}, {"band22-frequency"}, {"band23-frequency"}, {"band24-frequency"}, {"band25-frequency"}, {"band26-frequency"}, {"band27-frequency"}, {"band28-frequency"}, {"band29-frequency"}, {"band30-frequency"}, std::to_array("band31-frequency")}); constexpr auto band_q = std::to_array({{"band0-q"}, {"band1-q"}, {"band2-q"}, {"band3-q"}, {"band4-q"}, {"band5-q"}, {"band6-q"}, {"band7-q"}, {"band8-q"}, {"band9-q"}, {"band10-q"}, {"band11-q"}, {"band12-q"}, {"band13-q"}, {"band14-q"}, {"band15-q"}, {"band16-q"}, {"band17-q"}, {"band18-q"}, {"band19-q"}, {"band20-q"}, {"band21-q"}, {"band22-q"}, {"band23-q"}, {"band24-q"}, {"band25-q"}, {"band26-q"}, {"band27-q"}, {"band28-q"}, {"band29-q"}, {"band30-q"}, std::to_array("band31-q")}); constexpr auto band_width = std::to_array({{"band0-width"}, {"band1-width"}, {"band2-width"}, {"band3-width"}, {"band4-width"}, {"band5-width"}, {"band6-width"}, {"band7-width"}, {"band8-width"}, {"band9-width"}, {"band10-width"}, {"band11-width"}, {"band12-width"}, {"band13-width"}, {"band14-width"}, {"band15-width"}, {"band16-width"}, {"band17-width"}, {"band18-width"}, {"band19-width"}, {"band20-width"}, {"band21-width"}, {"band22-width"}, {"band23-width"}, {"band24-width"}, {"band25-width"}, {"band26-width"}, {"band27-width"}, {"band28-width"}, {"band29-width"}, {"band30-width"}, std::to_array("band31-width")}); constexpr auto band_gain = std::to_array({{"band0-gain"}, {"band1-gain"}, {"band2-gain"}, {"band3-gain"}, {"band4-gain"}, {"band5-gain"}, {"band6-gain"}, {"band7-gain"}, {"band8-gain"}, {"band9-gain"}, {"band10-gain"}, {"band11-gain"}, {"band12-gain"}, {"band13-gain"}, {"band14-gain"}, {"band15-gain"}, {"band16-gain"}, {"band17-gain"}, {"band18-gain"}, {"band19-gain"}, {"band20-gain"}, {"band21-gain"}, {"band22-gain"}, {"band23-gain"}, {"band24-gain"}, {"band25-gain"}, {"band26-gain"}, {"band27-gain"}, {"band28-gain"}, {"band29-gain"}, {"band30-gain"}, std::to_array("band31-gain")}); // left channel constexpr auto ftl = std::to_array( {{"ftl_0"}, {"ftl_1"}, {"ftl_2"}, {"ftl_3"}, {"ftl_4"}, {"ftl_5"}, {"ftl_6"}, {"ftl_7"}, {"ftl_8"}, {"ftl_9"}, {"ftl_10"}, {"ftl_11"}, {"ftl_12"}, {"ftl_13"}, {"ftl_14"}, {"ftl_15"}, {"ftl_16"}, {"ftl_17"}, {"ftl_18"}, {"ftl_19"}, {"ftl_20"}, {"ftl_21"}, {"ftl_22"}, {"ftl_23"}, {"ftl_24"}, {"ftl_25"}, {"ftl_26"}, {"ftl_27"}, {"ftl_28"}, {"ftl_29"}, {"ftl_30"}, std::to_array("ftl_31")}); constexpr auto fml = std::to_array( {{"fml_0"}, {"fml_1"}, {"fml_2"}, {"fml_3"}, {"fml_4"}, {"fml_5"}, {"fml_6"}, {"fml_7"}, {"fml_8"}, {"fml_9"}, {"fml_10"}, {"fml_11"}, {"fml_12"}, {"fml_13"}, {"fml_14"}, {"fml_15"}, {"fml_16"}, {"fml_17"}, {"fml_18"}, {"fml_19"}, {"fml_20"}, {"fml_21"}, {"fml_22"}, {"fml_23"}, {"fml_24"}, {"fml_25"}, {"fml_26"}, {"fml_27"}, {"fml_28"}, {"fml_29"}, {"fml_30"}, std::to_array("fml_31")}); constexpr auto sl = std::to_array( {{"sl_0"}, {"sl_1"}, {"sl_2"}, {"sl_3"}, {"sl_4"}, {"sl_5"}, {"sl_6"}, {"sl_7"}, {"sl_8"}, {"sl_9"}, {"sl_10"}, {"sl_11"}, {"sl_12"}, {"sl_13"}, {"sl_14"}, {"sl_15"}, {"sl_16"}, {"sl_17"}, {"sl_18"}, {"sl_19"}, {"sl_20"}, {"sl_21"}, {"sl_22"}, {"sl_23"}, {"sl_24"}, {"sl_25"}, {"sl_26"}, {"sl_27"}, {"sl_28"}, {"sl_29"}, {"sl_30"}, std::to_array("sl_31")}); constexpr auto xsl = std::to_array( {{"xsl_0"}, {"xsl_1"}, {"xsl_2"}, {"xsl_3"}, {"xsl_4"}, {"xsl_5"}, {"xsl_6"}, {"xsl_7"}, {"xsl_8"}, {"xsl_9"}, {"xsl_10"}, {"xsl_11"}, {"xsl_12"}, {"xsl_13"}, {"xsl_14"}, {"xsl_15"}, {"xsl_16"}, {"xsl_17"}, {"xsl_18"}, {"xsl_19"}, {"xsl_20"}, {"xsl_21"}, {"xsl_22"}, {"xsl_23"}, {"xsl_24"}, {"xsl_25"}, {"xsl_26"}, {"xsl_27"}, {"xsl_28"}, {"xsl_29"}, {"xsl_30"}, std::to_array("xsl_31")}); constexpr auto xml = std::to_array( {{"xml_0"}, {"xml_1"}, {"xml_2"}, {"xml_3"}, {"xml_4"}, {"xml_5"}, {"xml_6"}, {"xml_7"}, {"xml_8"}, {"xml_9"}, {"xml_10"}, {"xml_11"}, {"xml_12"}, {"xml_13"}, {"xml_14"}, {"xml_15"}, {"xml_16"}, {"xml_17"}, {"xml_18"}, {"xml_19"}, {"xml_20"}, {"xml_21"}, {"xml_22"}, {"xml_23"}, {"xml_24"}, {"xml_25"}, {"xml_26"}, {"xml_27"}, {"xml_28"}, {"xml_29"}, {"xml_30"}, std::to_array("xml_31")}); constexpr auto ql = std::to_array( {{"ql_0"}, {"ql_1"}, {"ql_2"}, {"ql_3"}, {"ql_4"}, {"ql_5"}, {"ql_6"}, {"ql_7"}, {"ql_8"}, {"ql_9"}, {"ql_10"}, {"ql_11"}, {"ql_12"}, {"ql_13"}, {"ql_14"}, {"ql_15"}, {"ql_16"}, {"ql_17"}, {"ql_18"}, {"ql_19"}, {"ql_20"}, {"ql_21"}, {"ql_22"}, {"ql_23"}, {"ql_24"}, {"ql_25"}, {"ql_26"}, {"ql_27"}, {"ql_28"}, {"ql_29"}, {"ql_30"}, std::to_array("ql_31")}); constexpr auto wl = std::to_array( {{"wl_0"}, {"wl_1"}, {"wl_2"}, {"wl_3"}, {"wl_4"}, {"wl_5"}, {"wl_6"}, {"wl_7"}, {"wl_8"}, {"wl_9"}, {"wl_10"}, {"wl_11"}, {"wl_12"}, {"wl_13"}, {"wl_14"}, {"wl_15"}, {"wl_16"}, {"wl_17"}, {"wl_18"}, {"wl_19"}, {"wl_20"}, {"wl_21"}, {"wl_22"}, {"wl_23"}, {"wl_24"}, {"wl_25"}, {"wl_26"}, {"wl_27"}, {"wl_28"}, {"wl_29"}, {"wl_30"}, std::to_array("wl_31")}); constexpr auto fl = std::to_array( {{"fl_0"}, {"fl_1"}, {"fl_2"}, {"fl_3"}, {"fl_4"}, {"fl_5"}, {"fl_6"}, {"fl_7"}, {"fl_8"}, {"fl_9"}, {"fl_10"}, {"fl_11"}, {"fl_12"}, {"fl_13"}, {"fl_14"}, {"fl_15"}, {"fl_16"}, {"fl_17"}, {"fl_18"}, {"fl_19"}, {"fl_20"}, {"fl_21"}, {"fl_22"}, {"fl_23"}, {"fl_24"}, {"fl_25"}, {"fl_26"}, {"fl_27"}, {"fl_28"}, {"fl_29"}, {"fl_30"}, std::to_array("fl_31")}); constexpr auto gl = std::to_array( {{"gl_0"}, {"gl_1"}, {"gl_2"}, {"gl_3"}, {"gl_4"}, {"gl_5"}, {"gl_6"}, {"gl_7"}, {"gl_8"}, {"gl_9"}, {"gl_10"}, {"gl_11"}, {"gl_12"}, {"gl_13"}, {"gl_14"}, {"gl_15"}, {"gl_16"}, {"gl_17"}, {"gl_18"}, {"gl_19"}, {"gl_20"}, {"gl_21"}, {"gl_22"}, {"gl_23"}, {"gl_24"}, {"gl_25"}, {"gl_26"}, {"gl_27"}, {"gl_28"}, {"gl_29"}, {"gl_30"}, std::to_array("gl_31")}); // right channel constexpr auto ftr = std::to_array( {{"ftr_0"}, {"ftr_1"}, {"ftr_2"}, {"ftr_3"}, {"ftr_4"}, {"ftr_5"}, {"ftr_6"}, {"ftr_7"}, {"ftr_8"}, {"ftr_9"}, {"ftr_10"}, {"ftr_11"}, {"ftr_12"}, {"ftr_13"}, {"ftr_14"}, {"ftr_15"}, {"ftr_16"}, {"ftr_17"}, {"ftr_18"}, {"ftr_19"}, {"ftr_20"}, {"ftr_21"}, {"ftr_22"}, {"ftr_23"}, {"ftr_24"}, {"ftr_25"}, {"ftr_26"}, {"ftr_27"}, {"ftr_28"}, {"ftr_29"}, {"ftr_30"}, std::to_array("ftr_31")}); constexpr auto fmr = std::to_array( {{"fmr_0"}, {"fmr_1"}, {"fmr_2"}, {"fmr_3"}, {"fmr_4"}, {"fmr_5"}, {"fmr_6"}, {"fmr_7"}, {"fmr_8"}, {"fmr_9"}, {"fmr_10"}, {"fmr_11"}, {"fmr_12"}, {"fmr_13"}, {"fmr_14"}, {"fmr_15"}, {"fmr_16"}, {"fmr_17"}, {"fmr_18"}, {"fmr_19"}, {"fmr_20"}, {"fmr_21"}, {"fmr_22"}, {"fmr_23"}, {"fmr_24"}, {"fmr_25"}, {"fmr_26"}, {"fmr_27"}, {"fmr_28"}, {"fmr_29"}, {"fmr_30"}, std::to_array("fmr_31")}); constexpr auto sr = std::to_array( {{"sr_0"}, {"sr_1"}, {"sr_2"}, {"sr_3"}, {"sr_4"}, {"sr_5"}, {"sr_6"}, {"sr_7"}, {"sr_8"}, {"sr_9"}, {"sr_10"}, {"sr_11"}, {"sr_12"}, {"sr_13"}, {"sr_14"}, {"sr_15"}, {"sr_16"}, {"sr_17"}, {"sr_18"}, {"sr_19"}, {"sr_20"}, {"sr_21"}, {"sr_22"}, {"sr_23"}, {"sr_24"}, {"sr_25"}, {"sr_26"}, {"sr_27"}, {"sr_28"}, {"sr_29"}, {"sr_30"}, std::to_array("sr_31")}); constexpr auto xsr = std::to_array( {{"xsr_0"}, {"xsr_1"}, {"xsr_2"}, {"xsr_3"}, {"xsr_4"}, {"xsr_5"}, {"xsr_6"}, {"xsr_7"}, {"xsr_8"}, {"xsr_9"}, {"xsr_10"}, {"xsr_11"}, {"xsr_12"}, {"xsr_13"}, {"xsr_14"}, {"xsr_15"}, {"xsr_16"}, {"xsr_17"}, {"xsr_18"}, {"xsr_19"}, {"xsr_20"}, {"xsr_21"}, {"xsr_22"}, {"xsr_23"}, {"xsr_24"}, {"xsr_25"}, {"xsr_26"}, {"xsr_27"}, {"xsr_28"}, {"xsr_29"}, {"xsr_30"}, std::to_array("xsr_31")}); constexpr auto xmr = std::to_array( {{"xmr_0"}, {"xmr_1"}, {"xmr_2"}, {"xmr_3"}, {"xmr_4"}, {"xmr_5"}, {"xmr_6"}, {"xmr_7"}, {"xmr_8"}, {"xmr_9"}, {"xmr_10"}, {"xmr_11"}, {"xmr_12"}, {"xmr_13"}, {"xmr_14"}, {"xmr_15"}, {"xmr_16"}, {"xmr_17"}, {"xmr_18"}, {"xmr_19"}, {"xmr_20"}, {"xmr_21"}, {"xmr_22"}, {"xmr_23"}, {"xmr_24"}, {"xmr_25"}, {"xmr_26"}, {"xmr_27"}, {"xmr_28"}, {"xmr_29"}, {"xmr_30"}, std::to_array("xmr_31")}); constexpr auto qr = std::to_array( {{"qr_0"}, {"qr_1"}, {"qr_2"}, {"qr_3"}, {"qr_4"}, {"qr_5"}, {"qr_6"}, {"qr_7"}, {"qr_8"}, {"qr_9"}, {"qr_10"}, {"qr_11"}, {"qr_12"}, {"qr_13"}, {"qr_14"}, {"qr_15"}, {"qr_16"}, {"qr_17"}, {"qr_18"}, {"qr_19"}, {"qr_20"}, {"qr_21"}, {"qr_22"}, {"qr_23"}, {"qr_24"}, {"qr_25"}, {"qr_26"}, {"qr_27"}, {"qr_28"}, {"qr_29"}, {"qr_30"}, std::to_array("qr_31")}); constexpr auto wr = std::to_array( {{"wr_0"}, {"wr_1"}, {"wr_2"}, {"wr_3"}, {"wr_4"}, {"wr_5"}, {"wr_6"}, {"wr_7"}, {"wr_8"}, {"wr_9"}, {"wr_10"}, {"wr_11"}, {"wr_12"}, {"wr_13"}, {"wr_14"}, {"wr_15"}, {"wr_16"}, {"wr_17"}, {"wr_18"}, {"wr_19"}, {"wr_20"}, {"wr_21"}, {"wr_22"}, {"wr_23"}, {"wr_24"}, {"wr_25"}, {"wr_26"}, {"wr_27"}, {"wr_28"}, {"wr_29"}, {"wr_30"}, std::to_array("wr_31")}); constexpr auto fr = std::to_array( {{"fr_0"}, {"fr_1"}, {"fr_2"}, {"fr_3"}, {"fr_4"}, {"fr_5"}, {"fr_6"}, {"fr_7"}, {"fr_8"}, {"fr_9"}, {"fr_10"}, {"fr_11"}, {"fr_12"}, {"fr_13"}, {"fr_14"}, {"fr_15"}, {"fr_16"}, {"fr_17"}, {"fr_18"}, {"fr_19"}, {"fr_20"}, {"fr_21"}, {"fr_22"}, {"fr_23"}, {"fr_24"}, {"fr_25"}, {"fr_26"}, {"fr_27"}, {"fr_28"}, {"fr_29"}, {"fr_30"}, std::to_array("fr_31")}); constexpr auto gr = std::to_array( {{"gr_0"}, {"gr_1"}, {"gr_2"}, {"gr_3"}, {"gr_4"}, {"gr_5"}, {"gr_6"}, {"gr_7"}, {"gr_8"}, {"gr_9"}, {"gr_10"}, {"gr_11"}, {"gr_12"}, {"gr_13"}, {"gr_14"}, {"gr_15"}, {"gr_16"}, {"gr_17"}, {"gr_18"}, {"gr_19"}, {"gr_20"}, {"gr_21"}, {"gr_22"}, {"gr_23"}, {"gr_24"}, {"gr_25"}, {"gr_26"}, {"gr_27"}, {"gr_28"}, {"gr_29"}, {"gr_30"}, std::to_array("gr_31")}); } // namespace tags::equalizer easyeffects-7.1.7/include/tags_multiband_compressor.hpp000066400000000000000000000460721463533416400234560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include namespace tags::multiband_compressor { // mb comp band num const constexpr unsigned n_bands = 8U; // gsettings keys tags constexpr auto band_enable = std::to_array({{"enable-band0"}, {"enable-band1"}, {"enable-band2"}, {"enable-band3"}, {"enable-band4"}, {"enable-band5"}, {"enable-band6"}, std::to_array("enable-band7")}); constexpr auto band_compression_mode = std::to_array({{"compression-mode0"}, {"compression-mode1"}, {"compression-mode2"}, {"compression-mode3"}, {"compression-mode4"}, {"compression-mode5"}, {"compression-mode6"}, std::to_array("compression-mode7")}); constexpr auto band_compressor_enable = std::to_array({{"compressor-enable0"}, {"compressor-enable1"}, {"compressor-enable2"}, {"compressor-enable3"}, {"compressor-enable4"}, {"compressor-enable5"}, {"compressor-enable6"}, std::to_array("compressor-enable7")}); constexpr auto band_split_frequency = std::to_array({{"split-frequency0"}, {"split-frequency1"}, {"split-frequency2"}, {"split-frequency3"}, {"split-frequency4"}, {"split-frequency5"}, {"split-frequency6"}, std::to_array("split-frequency7")}); constexpr auto band_mute = std::to_array( {{"mute0"}, {"mute1"}, {"mute2"}, {"mute3"}, {"mute4"}, {"mute5"}, {"mute6"}, std::to_array("mute7")}); constexpr auto band_solo = std::to_array( {{"solo0"}, {"solo1"}, {"solo2"}, {"solo3"}, {"solo4"}, {"solo5"}, {"solo6"}, std::to_array("solo7")}); constexpr auto band_lowcut_filter = std::to_array({{"sidechain-custom-lowcut-filter0"}, {"sidechain-custom-lowcut-filter1"}, {"sidechain-custom-lowcut-filter2"}, {"sidechain-custom-lowcut-filter3"}, {"sidechain-custom-lowcut-filter4"}, {"sidechain-custom-lowcut-filter5"}, {"sidechain-custom-lowcut-filter6"}, std::to_array("sidechain-custom-lowcut-filter7")}); constexpr auto band_highcut_filter = std::to_array({{"sidechain-custom-highcut-filter0"}, {"sidechain-custom-highcut-filter1"}, {"sidechain-custom-highcut-filter2"}, {"sidechain-custom-highcut-filter3"}, {"sidechain-custom-highcut-filter4"}, {"sidechain-custom-highcut-filter5"}, {"sidechain-custom-highcut-filter6"}, std::to_array("sidechain-custom-highcut-filter7")}); constexpr auto band_external_sidechain = std::to_array({{"external-sidechain0"}, {"external-sidechain1"}, {"external-sidechain2"}, {"external-sidechain3"}, {"external-sidechain4"}, {"external-sidechain5"}, {"external-sidechain6"}, std::to_array("external-sidechain7")}); constexpr auto band_sidechain_mode = std::to_array({{"sidechain-mode0"}, {"sidechain-mode1"}, {"sidechain-mode2"}, {"sidechain-mode3"}, {"sidechain-mode4"}, {"sidechain-mode5"}, {"sidechain-mode6"}, std::to_array("sidechain-mode7")}); constexpr auto band_sidechain_source = std::to_array({{"sidechain-source0"}, {"sidechain-source1"}, {"sidechain-source2"}, {"sidechain-source3"}, {"sidechain-source4"}, {"sidechain-source5"}, {"sidechain-source6"}, std::to_array("sidechain-source7")}); constexpr auto band_stereo_split_source = std::to_array({{"stereo-split-source0"}, {"stereo-split-source1"}, {"stereo-split-source2"}, {"stereo-split-source3"}, {"stereo-split-source4"}, {"stereo-split-source5"}, {"stereo-split-source6"}, std::to_array("stereo-split-source7")}); constexpr auto band_lowcut_filter_frequency = std::to_array({{"sidechain-lowcut-frequency0"}, {"sidechain-lowcut-frequency1"}, {"sidechain-lowcut-frequency2"}, {"sidechain-lowcut-frequency3"}, {"sidechain-lowcut-frequency4"}, {"sidechain-lowcut-frequency5"}, {"sidechain-lowcut-frequency6"}, std::to_array("sidechain-lowcut-frequency7")}); constexpr auto band_highcut_filter_frequency = std::to_array({{"sidechain-highcut-frequency0"}, {"sidechain-highcut-frequency1"}, {"sidechain-highcut-frequency2"}, {"sidechain-highcut-frequency3"}, {"sidechain-highcut-frequency4"}, {"sidechain-highcut-frequency5"}, {"sidechain-highcut-frequency6"}, std::to_array("sidechain-highcut-frequency7")}); constexpr auto band_attack_time = std::to_array({{"attack-time0"}, {"attack-time1"}, {"attack-time2"}, {"attack-time3"}, {"attack-time4"}, {"attack-time5"}, {"attack-time6"}, std::to_array("attack-time7")}); inline constexpr auto band_attack_threshold = std::to_array({{"attack-threshold0"}, {"attack-threshold1"}, {"attack-threshold2"}, {"attack-threshold3"}, {"attack-threshold4"}, {"attack-threshold5"}, {"attack-threshold6"}, std::to_array("attack-threshold7")}); inline constexpr auto band_release_time = std::to_array({{"release-time0"}, {"release-time1"}, {"release-time2"}, {"release-time3"}, {"release-time4"}, {"release-time5"}, {"release-time6"}, std::to_array("release-time7")}); inline constexpr auto band_release_threshold = std::to_array({{"release-threshold0"}, {"release-threshold1"}, {"release-threshold2"}, {"release-threshold3"}, {"release-threshold4"}, {"release-threshold5"}, {"release-threshold6"}, std::to_array("release-threshold7")}); constexpr auto band_ratio = std::to_array( {{"ratio0"}, {"ratio1"}, {"ratio2"}, {"ratio3"}, {"ratio4"}, {"ratio5"}, {"ratio6"}, std::to_array("ratio7")}); constexpr auto band_knee = std::to_array( {{"knee0"}, {"knee1"}, {"knee2"}, {"knee3"}, {"knee4"}, {"knee5"}, {"knee6"}, std::to_array("knee7")}); constexpr auto band_makeup = std::to_array({{"makeup0"}, {"makeup1"}, {"makeup2"}, {"makeup3"}, {"makeup4"}, {"makeup5"}, {"makeup6"}, std::to_array("makeup7")}); constexpr auto band_sidechain_preamp = std::to_array({{"sidechain-preamp0"}, {"sidechain-preamp1"}, {"sidechain-preamp2"}, {"sidechain-preamp3"}, {"sidechain-preamp4"}, {"sidechain-preamp5"}, {"sidechain-preamp6"}, std::to_array("sidechain-preamp7")}); constexpr auto band_sidechain_reactivity = std::to_array({{"sidechain-reactivity0"}, {"sidechain-reactivity1"}, {"sidechain-reactivity2"}, {"sidechain-reactivity3"}, {"sidechain-reactivity4"}, {"sidechain-reactivity5"}, {"sidechain-reactivity6"}, std::to_array("sidechain-reactivity7")}); constexpr auto band_sidechain_lookahead = std::to_array({{"sidechain-lookahead0"}, {"sidechain-lookahead1"}, {"sidechain-lookahead2"}, {"sidechain-lookahead3"}, {"sidechain-lookahead4"}, {"sidechain-lookahead5"}, {"sidechain-lookahead6"}, std::to_array("sidechain-lookahead7")}); constexpr auto band_boost_amount = std::to_array({{"boost-amount0"}, {"boost-amount1"}, {"boost-amount2"}, {"boost-amount3"}, {"boost-amount4"}, {"boost-amount5"}, {"boost-amount6"}, std::to_array("boost-amount7")}); constexpr auto band_boost_threshold = std::to_array({{"boost-threshold0"}, {"boost-threshold1"}, {"boost-threshold2"}, {"boost-threshold3"}, {"boost-threshold4"}, {"boost-threshold5"}, {"boost-threshold6"}, std::to_array("boost-threshold7")}); // LSP port tags constexpr auto sce = std::to_array( {{"sce_0"}, {"sce_1"}, {"sce_2"}, {"sce_3"}, {"sce_4"}, {"sce_5"}, {"sce_6"}, std::to_array("sce_7")}); constexpr auto cbe = std::to_array( {{"cbe_0"}, {"cbe_1"}, {"cbe_2"}, {"cbe_3"}, {"cbe_4"}, {"cbe_5"}, {"cbe_6"}, std::to_array("cbe_7")}); constexpr auto sf = std::to_array({{"sf_0"}, {"sf_1"}, {"sf_2"}, {"sf_3"}, {"sf_4"}, {"sf_5"}, {"sf_6"}, std::to_array("sf_7")}); constexpr auto sscs = std::to_array( {{"sscs_0"}, {"sscs_1"}, {"sscs_2"}, {"sscs_3"}, {"sscs_4"}, {"sscs_5"}, {"sscs_6"}, std::to_array("sscs_7")}); constexpr auto scs = std::to_array( {{"scs_0"}, {"scs_1"}, {"scs_2"}, {"scs_3"}, {"scs_4"}, {"scs_5"}, {"scs_6"}, std::to_array("scs_7")}); constexpr auto scm = std::to_array( {{"scm_0"}, {"scm_1"}, {"scm_2"}, {"scm_3"}, {"scm_4"}, {"scm_5"}, {"scm_6"}, std::to_array("scm_7")}); constexpr auto sla = std::to_array( {{"sla_0"}, {"sla_1"}, {"sla_2"}, {"sla_3"}, {"sla_4"}, {"sla_5"}, {"sla_6"}, std::to_array("sla_7")}); constexpr auto scr = std::to_array( {{"scr_0"}, {"scr_1"}, {"scr_2"}, {"scr_3"}, {"scr_4"}, {"scr_5"}, {"scr_6"}, std::to_array("scr_7")}); constexpr auto scp = std::to_array( {{"scp_0"}, {"scp_1"}, {"scp_2"}, {"scp_3"}, {"scp_4"}, {"scp_5"}, {"scp_6"}, std::to_array("scp_7")}); constexpr auto sclc = std::to_array( {{"sclc_0"}, {"sclc_1"}, {"sclc_2"}, {"sclc_3"}, {"sclc_4"}, {"sclc_5"}, {"sclc_6"}, std::to_array("sclc_7")}); constexpr auto schc = std::to_array( {{"schc_0"}, {"schc_1"}, {"schc_2"}, {"schc_3"}, {"schc_4"}, {"schc_5"}, {"schc_6"}, std::to_array("schc_7")}); constexpr auto sclf = std::to_array( {{"sclf_0"}, {"sclf_1"}, {"sclf_2"}, {"sclf_3"}, {"sclf_4"}, {"sclf_5"}, {"sclf_6"}, std::to_array("sclf_7")}); constexpr auto schf = std::to_array( {{"schf_0"}, {"schf_1"}, {"schf_2"}, {"schf_3"}, {"schf_4"}, {"schf_5"}, {"schf_6"}, std::to_array("schf_7")}); constexpr auto cm = std::to_array({{"cm_0"}, {"cm_1"}, {"cm_2"}, {"cm_3"}, {"cm_4"}, {"cm_5"}, {"cm_6"}, std::to_array("cm_7")}); constexpr auto ce = std::to_array({{"ce_0"}, {"ce_1"}, {"ce_2"}, {"ce_3"}, {"ce_4"}, {"ce_5"}, {"ce_6"}, std::to_array("ce_7")}); constexpr auto bs = std::to_array({{"bs_0"}, {"bs_1"}, {"bs_2"}, {"bs_3"}, {"bs_4"}, {"bs_5"}, {"bs_6"}, std::to_array("bs_7")}); constexpr auto bm = std::to_array({{"bm_0"}, {"bm_1"}, {"bm_2"}, {"bm_3"}, {"bm_4"}, {"bm_5"}, {"bm_6"}, std::to_array("bm_7")}); constexpr auto al = std::to_array({{"al_0"}, {"al_1"}, {"al_2"}, {"al_3"}, {"al_4"}, {"al_5"}, {"al_6"}, std::to_array("al_7")}); constexpr auto at = std::to_array({{"at_0"}, {"at_1"}, {"at_2"}, {"at_3"}, {"at_4"}, {"at_5"}, {"at_6"}, std::to_array("at_7")}); constexpr auto rrl = std::to_array( {{"rrl_0"}, {"rrl_1"}, {"rrl_2"}, {"rrl_3"}, {"rrl_4"}, {"rrl_5"}, {"rrl_6"}, std::to_array("rrl_7")}); constexpr auto rt = std::to_array({{"rt_0"}, {"rt_1"}, {"rt_2"}, {"rt_3"}, {"rt_4"}, {"rt_5"}, {"rt_6"}, std::to_array("rt_7")}); constexpr auto cr = std::to_array({{"cr_0"}, {"cr_1"}, {"cr_2"}, {"cr_3"}, {"cr_4"}, {"cr_5"}, {"cr_6"}, std::to_array("cr_7")}); constexpr auto kn = std::to_array({{"kn_0"}, {"kn_1"}, {"kn_2"}, {"kn_3"}, {"kn_4"}, {"kn_5"}, {"kn_6"}, std::to_array("kn_7")}); constexpr auto bth = std::to_array( {{"bth_0"}, {"bth_1"}, {"bth_2"}, {"bth_3"}, {"bth_4"}, {"bth_5"}, {"bth_6"}, std::to_array("bth_7")}); constexpr auto bsa = std::to_array( {{"bsa_0"}, {"bsa_1"}, {"bsa_2"}, {"bsa_3"}, {"bsa_4"}, {"bsa_5"}, {"bsa_6"}, std::to_array("bsa_7")}); constexpr auto mk = std::to_array({{"mk_0"}, {"mk_1"}, {"mk_2"}, {"mk_3"}, {"mk_4"}, {"mk_5"}, {"mk_6"}, std::to_array("mk_7")}); } // namespace tags::multiband_compressor easyeffects-7.1.7/include/tags_multiband_gate.hpp000066400000000000000000000453621463533416400222030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include namespace tags::multiband_gate { // mb gate band num const constexpr unsigned n_bands = 8U; // gsettings keys tags constexpr auto band_enable = std::to_array({{"enable-band0"}, {"enable-band1"}, {"enable-band2"}, {"enable-band3"}, {"enable-band4"}, {"enable-band5"}, {"enable-band6"}, std::to_array("enable-band7")}); constexpr auto band_gate_enable = std::to_array({{"gate-enable0"}, {"gate-enable1"}, {"gate-enable2"}, {"gate-enable3"}, {"gate-enable4"}, {"gate-enable5"}, {"gate-enable6"}, std::to_array("gate-enable7")}); constexpr auto band_split_frequency = std::to_array({{"split-frequency0"}, {"split-frequency1"}, {"split-frequency2"}, {"split-frequency3"}, {"split-frequency4"}, {"split-frequency5"}, {"split-frequency6"}, std::to_array("split-frequency7")}); constexpr auto band_mute = std::to_array( {{"mute0"}, {"mute1"}, {"mute2"}, {"mute3"}, {"mute4"}, {"mute5"}, {"mute6"}, std::to_array("mute7")}); constexpr auto band_solo = std::to_array( {{"solo0"}, {"solo1"}, {"solo2"}, {"solo3"}, {"solo4"}, {"solo5"}, {"solo6"}, std::to_array("solo7")}); constexpr auto band_lowcut_filter = std::to_array({{"sidechain-custom-lowcut-filter0"}, {"sidechain-custom-lowcut-filter1"}, {"sidechain-custom-lowcut-filter2"}, {"sidechain-custom-lowcut-filter3"}, {"sidechain-custom-lowcut-filter4"}, {"sidechain-custom-lowcut-filter5"}, {"sidechain-custom-lowcut-filter6"}, std::to_array("sidechain-custom-lowcut-filter7")}); constexpr auto band_highcut_filter = std::to_array({{"sidechain-custom-highcut-filter0"}, {"sidechain-custom-highcut-filter1"}, {"sidechain-custom-highcut-filter2"}, {"sidechain-custom-highcut-filter3"}, {"sidechain-custom-highcut-filter4"}, {"sidechain-custom-highcut-filter5"}, {"sidechain-custom-highcut-filter6"}, std::to_array("sidechain-custom-highcut-filter7")}); constexpr auto band_external_sidechain = std::to_array({{"external-sidechain0"}, {"external-sidechain1"}, {"external-sidechain2"}, {"external-sidechain3"}, {"external-sidechain4"}, {"external-sidechain5"}, {"external-sidechain6"}, std::to_array("external-sidechain7")}); constexpr auto band_sidechain_mode = std::to_array({{"sidechain-mode0"}, {"sidechain-mode1"}, {"sidechain-mode2"}, {"sidechain-mode3"}, {"sidechain-mode4"}, {"sidechain-mode5"}, {"sidechain-mode6"}, std::to_array("sidechain-mode7")}); constexpr auto band_sidechain_source = std::to_array({{"sidechain-source0"}, {"sidechain-source1"}, {"sidechain-source2"}, {"sidechain-source3"}, {"sidechain-source4"}, {"sidechain-source5"}, {"sidechain-source6"}, std::to_array("sidechain-source7")}); constexpr auto band_stereo_split_source = std::to_array({{"stereo-split-source0"}, {"stereo-split-source1"}, {"stereo-split-source2"}, {"stereo-split-source3"}, {"stereo-split-source4"}, {"stereo-split-source5"}, {"stereo-split-source6"}, std::to_array("stereo-split-source7")}); constexpr auto band_lowcut_filter_frequency = std::to_array({{"sidechain-lowcut-frequency0"}, {"sidechain-lowcut-frequency1"}, {"sidechain-lowcut-frequency2"}, {"sidechain-lowcut-frequency3"}, {"sidechain-lowcut-frequency4"}, {"sidechain-lowcut-frequency5"}, {"sidechain-lowcut-frequency6"}, std::to_array("sidechain-lowcut-frequency7")}); constexpr auto band_highcut_filter_frequency = std::to_array({{"sidechain-highcut-frequency0"}, {"sidechain-highcut-frequency1"}, {"sidechain-highcut-frequency2"}, {"sidechain-highcut-frequency3"}, {"sidechain-highcut-frequency4"}, {"sidechain-highcut-frequency5"}, {"sidechain-highcut-frequency6"}, std::to_array("sidechain-highcut-frequency7")}); constexpr auto band_attack_time = std::to_array({{"attack-time0"}, {"attack-time1"}, {"attack-time2"}, {"attack-time3"}, {"attack-time4"}, {"attack-time5"}, {"attack-time6"}, std::to_array("attack-time7")}); constexpr auto band_release_time = std::to_array({{"release-time0"}, {"release-time1"}, {"release-time2"}, {"release-time3"}, {"release-time4"}, {"release-time5"}, {"release-time6"}, std::to_array("release-time7")}); constexpr auto band_hysteresis = std::to_array({{"hysteresis0"}, {"hysteresis1"}, {"hysteresis2"}, {"hysteresis3"}, {"hysteresis4"}, {"hysteresis5"}, {"hysteresis6"}, std::to_array("hysteresis7")}); constexpr auto band_hysteresis_threshold = std::to_array({{"hysteresis-threshold0"}, {"hysteresis-threshold1"}, {"hysteresis-threshold2"}, {"hysteresis-threshold3"}, {"hysteresis-threshold4"}, {"hysteresis-threshold5"}, {"hysteresis-threshold6"}, std::to_array("hysteresis-threshold7")}); constexpr auto band_hysteresis_zone = std::to_array({{"hysteresis-zone0"}, {"hysteresis-zone1"}, {"hysteresis-zone2"}, {"hysteresis-zone3"}, {"hysteresis-zone4"}, {"hysteresis-zone5"}, {"hysteresis-zone6"}, std::to_array("hysteresis-zone7")}); constexpr auto band_curve_threshold = std::to_array({{"curve-threshold0"}, {"curve-threshold1"}, {"curve-threshold2"}, {"curve-threshold3"}, {"curve-threshold4"}, {"curve-threshold5"}, {"curve-threshold6"}, std::to_array("curve-threshold7")}); constexpr auto band_curve_zone = std::to_array({{"curve-zone0"}, {"curve-zone1"}, {"curve-zone2"}, {"curve-zone3"}, {"curve-zone4"}, {"curve-zone5"}, {"curve-zone6"}, std::to_array("curve-zone7")}); constexpr auto band_reduction = std::to_array({{"reduction0"}, {"reduction1"}, {"reduction2"}, {"reduction3"}, {"reduction4"}, {"reduction5"}, {"reduction6"}, std::to_array("reduction7")}); constexpr auto band_makeup = std::to_array({{"makeup0"}, {"makeup1"}, {"makeup2"}, {"makeup3"}, {"makeup4"}, {"makeup5"}, {"makeup6"}, std::to_array("makeup7")}); constexpr auto band_sidechain_preamp = std::to_array({{"sidechain-preamp0"}, {"sidechain-preamp1"}, {"sidechain-preamp2"}, {"sidechain-preamp3"}, {"sidechain-preamp4"}, {"sidechain-preamp5"}, {"sidechain-preamp6"}, std::to_array("sidechain-preamp7")}); constexpr auto band_sidechain_reactivity = std::to_array({{"sidechain-reactivity0"}, {"sidechain-reactivity1"}, {"sidechain-reactivity2"}, {"sidechain-reactivity3"}, {"sidechain-reactivity4"}, {"sidechain-reactivity5"}, {"sidechain-reactivity6"}, std::to_array("sidechain-reactivity7")}); constexpr auto band_sidechain_lookahead = std::to_array({{"sidechain-lookahead0"}, {"sidechain-lookahead1"}, {"sidechain-lookahead2"}, {"sidechain-lookahead3"}, {"sidechain-lookahead4"}, {"sidechain-lookahead5"}, {"sidechain-lookahead6"}, std::to_array("sidechain-lookahead7")}); // LSP port tags constexpr auto cbe = std::to_array( {{"cbe_0"}, {"cbe_1"}, {"cbe_2"}, {"cbe_3"}, {"cbe_4"}, {"cbe_5"}, {"cbe_6"}, std::to_array("cbe_7")}); constexpr auto sf = std::to_array({{"sf_0"}, {"sf_1"}, {"sf_2"}, {"sf_3"}, {"sf_4"}, {"sf_5"}, {"sf_6"}, std::to_array("sf_7")}); constexpr auto sce = std::to_array( {{"sce_0"}, {"sce_1"}, {"sce_2"}, {"sce_3"}, {"sce_4"}, {"sce_5"}, {"sce_6"}, std::to_array("sce_7")}); constexpr auto sscs = std::to_array( {{"sscs_0"}, {"sscs_1"}, {"sscs_2"}, {"sscs_3"}, {"sscs_4"}, {"sscs_5"}, {"sscs_6"}, std::to_array("sscs_7")}); constexpr auto scs = std::to_array( {{"scs_0"}, {"scs_1"}, {"scs_2"}, {"scs_3"}, {"scs_4"}, {"scs_5"}, {"scs_6"}, std::to_array("scs_7")}); constexpr auto scm = std::to_array( {{"scm_0"}, {"scm_1"}, {"scm_2"}, {"scm_3"}, {"scm_4"}, {"scm_5"}, {"scm_6"}, std::to_array("scm_7")}); constexpr auto sla = std::to_array( {{"sla_0"}, {"sla_1"}, {"sla_2"}, {"sla_3"}, {"sla_4"}, {"sla_5"}, {"sla_6"}, std::to_array("sla_7")}); constexpr auto scr = std::to_array( {{"scr_0"}, {"scr_1"}, {"scr_2"}, {"scr_3"}, {"scr_4"}, {"scr_5"}, {"scr_6"}, std::to_array("scr_7")}); constexpr auto scp = std::to_array( {{"scp_0"}, {"scp_1"}, {"scp_2"}, {"scp_3"}, {"scp_4"}, {"scp_5"}, {"scp_6"}, std::to_array("scp_7")}); constexpr auto sclc = std::to_array( {{"sclc_0"}, {"sclc_1"}, {"sclc_2"}, {"sclc_3"}, {"sclc_4"}, {"sclc_5"}, {"sclc_6"}, std::to_array("sclc_7")}); constexpr auto schc = std::to_array( {{"schc_0"}, {"schc_1"}, {"schc_2"}, {"schc_3"}, {"schc_4"}, {"schc_5"}, {"schc_6"}, std::to_array("schc_7")}); constexpr auto sclf = std::to_array( {{"sclf_0"}, {"sclf_1"}, {"sclf_2"}, {"sclf_3"}, {"sclf_4"}, {"sclf_5"}, {"sclf_6"}, std::to_array("sclf_7")}); constexpr auto schf = std::to_array( {{"schf_0"}, {"schf_1"}, {"schf_2"}, {"schf_3"}, {"schf_4"}, {"schf_5"}, {"schf_6"}, std::to_array("schf_7")}); constexpr auto ce = std::to_array({{"ge_0"}, {"ge_1"}, {"ge_2"}, {"ge_3"}, {"ge_4"}, {"ge_5"}, {"ge_6"}, std::to_array("ge_7")}); constexpr auto bs = std::to_array({{"bs_0"}, {"bs_1"}, {"bs_2"}, {"bs_3"}, {"bs_4"}, {"bs_5"}, {"bs_6"}, std::to_array("bs_7")}); constexpr auto bm = std::to_array({{"bm_0"}, {"bm_1"}, {"bm_2"}, {"bm_3"}, {"bm_4"}, {"bm_5"}, {"bm_6"}, std::to_array("bm_7")}); constexpr auto gh = std::to_array({{"gh_0"}, {"gh_1"}, {"gh_2"}, {"gh_3"}, {"gh_4"}, {"gh_5"}, {"gh_6"}, std::to_array("gh_7")}); constexpr auto ht = std::to_array({{"ht_0"}, {"ht_1"}, {"ht_2"}, {"ht_3"}, {"ht_4"}, {"ht_5"}, {"ht_6"}, std::to_array("ht_7")}); constexpr auto hz = std::to_array({{"hz_0"}, {"hz_1"}, {"hz_2"}, {"hz_3"}, {"hz_4"}, {"hz_5"}, {"hz_6"}, std::to_array("hz_7")}); constexpr auto gt = std::to_array({{"gt_0"}, {"gt_1"}, {"gt_2"}, {"gt_3"}, {"gt_4"}, {"gt_5"}, {"gt_6"}, std::to_array("gt_7")}); constexpr auto gz = std::to_array({{"gz_0"}, {"gz_1"}, {"gz_2"}, {"gz_3"}, {"gz_4"}, {"gz_5"}, {"gz_6"}, std::to_array("gz_7")}); constexpr auto at = std::to_array({{"at_0"}, {"at_1"}, {"at_2"}, {"at_3"}, {"at_4"}, {"at_5"}, {"at_6"}, std::to_array("at_7")}); constexpr auto rt = std::to_array({{"rt_0"}, {"rt_1"}, {"rt_2"}, {"rt_3"}, {"rt_4"}, {"rt_5"}, {"rt_6"}, std::to_array("rt_7")}); constexpr auto gr = std::to_array({{"gr_0"}, {"gr_1"}, {"gr_2"}, {"gr_3"}, {"gr_4"}, {"gr_5"}, {"gr_6"}, std::to_array("gr_7")}); constexpr auto mk = std::to_array({{"mk_0"}, {"mk_1"}, {"mk_2"}, {"mk_3"}, {"mk_4"}, {"mk_5"}, {"mk_6"}, std::to_array("mk_7")}); } // namespace tags::multiband_gate easyeffects-7.1.7/include/tags_pipewire.hpp000066400000000000000000000027071463533416400210440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once namespace tags::pipewire { inline constexpr auto ee_source_name = "easyeffects_source"; inline constexpr auto ee_sink_name = "easyeffects_sink"; } // namespace tags::pipewire namespace tags::pipewire::media_class { inline constexpr auto device = "Audio/Device"; inline constexpr auto sink = "Audio/Sink"; inline constexpr auto source = "Audio/Source"; inline constexpr auto virtual_source = "Audio/Source/Virtual"; inline constexpr auto input_stream = "Stream/Input/Audio"; inline constexpr auto output_stream = "Stream/Output/Audio"; } // namespace tags::pipewire::media_class namespace tags::pipewire::media_role { inline constexpr auto dsp = "DSP"; } // namespace tags::pipewire::media_role easyeffects-7.1.7/include/tags_plugin_name.hpp000066400000000000000000000066261463533416400215220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include namespace tags::plugin_package { inline constexpr auto bs2b = "bs2b"; inline constexpr auto calf = "Calf Studio Gear"; inline constexpr auto deepfilternet = "DeepFilterNet"; inline constexpr auto ebur128 = "libebur128"; inline constexpr auto ee = "Easy Effects"; inline constexpr auto lsp = "Linux Studio Plugins"; inline constexpr auto mda = "MDA"; inline constexpr auto rnnoise = "RNNoise"; inline constexpr auto sound_touch = "SoundTouch"; inline constexpr auto speex = "SpeexDSP"; inline constexpr auto zam = "ZamAudio"; inline constexpr auto zita = "Zita"; } // namespace tags::plugin_package namespace tags::plugin_name { inline constexpr auto autogain = "autogain"; inline constexpr auto bass_enhancer = "bass_enhancer"; inline constexpr auto bass_loudness = "bass_loudness"; inline constexpr auto compressor = "compressor"; inline constexpr auto convolver = "convolver"; inline constexpr auto crossfeed = "crossfeed"; inline constexpr auto crystalizer = "crystalizer"; inline constexpr auto deepfilternet = "deepfilternet"; inline constexpr auto deesser = "deesser"; inline constexpr auto delay = "delay"; inline constexpr auto echo_canceller = "echo_canceller"; inline constexpr auto equalizer = "equalizer"; inline constexpr auto exciter = "exciter"; inline constexpr auto expander = "expander"; inline constexpr auto filter = "filter"; inline constexpr auto gate = "gate"; inline constexpr auto level_meter = "level_meter"; inline constexpr auto limiter = "limiter"; inline constexpr auto loudness = "loudness"; inline constexpr auto maximizer = "maximizer"; inline constexpr auto multiband_compressor = "multiband_compressor"; inline constexpr auto multiband_gate = "multiband_gate"; inline constexpr auto pitch = "pitch"; inline constexpr auto speex = "speex"; inline constexpr auto reverb = "reverb"; inline constexpr auto rnnoise = "rnnoise"; inline constexpr auto stereo_tools = "stereo_tools"; inline constexpr auto list = std::to_array( {autogain, bass_enhancer, bass_loudness, compressor, convolver, crossfeed, crystalizer, deesser, delay, deepfilternet, echo_canceller, equalizer, exciter, expander, filter, gate, level_meter, limiter, loudness, maximizer, multiband_compressor, multiband_gate, pitch, reverb, rnnoise, speex, stereo_tools}); auto get_translated() -> std::map; auto get_base_name(std::string_view name) -> std::string; auto get_id(const std::string& name) -> uint; } // namespace tags::plugin_name easyeffects-7.1.7/include/tags_resources.hpp000066400000000000000000000132601463533416400212260ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once namespace tags::resources { // Custom icon path inline constexpr auto icons = "/com/github/wwmm/easyeffects/icons"; // Custom css file path inline constexpr auto css = "/com/github/wwmm/easyeffects/ui/custom.css"; // Flatpak info file inline constexpr auto flatpak_info_file = "/.flatpak-info"; // Path to the widgets xml files inline constexpr auto app_info_ui = "/com/github/wwmm/easyeffects/ui/app_info.ui"; inline constexpr auto application_window_ui = "/com/github/wwmm/easyeffects/ui/application_window.ui"; inline constexpr auto apps_box_ui = "/com/github/wwmm/easyeffects/ui/apps_box.ui"; inline constexpr auto autogain_ui = "/com/github/wwmm/easyeffects/ui/autogain.ui"; inline constexpr auto autoload_row_ui = "/com/github/wwmm/easyeffects/ui/autoload_row.ui"; inline constexpr auto bass_enhancer_ui = "/com/github/wwmm/easyeffects/ui/bass_enhancer.ui"; inline constexpr auto bass_loudness_ui = "/com/github/wwmm/easyeffects/ui/bass_loudness.ui"; inline constexpr auto blocklist_menu_ui = "/com/github/wwmm/easyeffects/ui/blocklist_menu.ui"; inline constexpr auto chart_ui = "/com/github/wwmm/easyeffects/ui/chart.ui"; inline constexpr auto compressor_ui = "/com/github/wwmm/easyeffects/ui/compressor.ui"; inline constexpr auto convolver_ui = "/com/github/wwmm/easyeffects/ui/convolver.ui"; inline constexpr auto convolver_menu_impulses_ui = "/com/github/wwmm/easyeffects/ui/convolver_menu_impulses.ui"; inline constexpr auto convolver_menu_combine_ui = "/com/github/wwmm/easyeffects/ui/convolver_menu_combine.ui"; inline constexpr auto crossfeed_ui = "/com/github/wwmm/easyeffects/ui/crossfeed.ui"; inline constexpr auto crystalizer_ui = "/com/github/wwmm/easyeffects/ui/crystalizer.ui"; inline constexpr auto crystalizer_band_ui = "/com/github/wwmm/easyeffects/ui/crystalizer_band.ui"; inline constexpr auto deepfilternet_ui = "/com/github/wwmm/easyeffects/ui/deepfilternet.ui"; inline constexpr auto deesser_ui = "/com/github/wwmm/easyeffects/ui/deesser.ui"; inline constexpr auto delay_ui = "/com/github/wwmm/easyeffects/ui/delay.ui"; inline constexpr auto echo_canceller_ui = "/com/github/wwmm/easyeffects/ui/echo_canceller.ui"; inline constexpr auto effects_box_ui = "/com/github/wwmm/easyeffects/ui/effects_box.ui"; inline constexpr auto equalizer_band_ui = "/com/github/wwmm/easyeffects/ui/equalizer_band.ui"; inline constexpr auto equalizer_ui = "/com/github/wwmm/easyeffects/ui/equalizer.ui"; inline constexpr auto exciter_ui = "/com/github/wwmm/easyeffects/ui/exciter.ui"; inline constexpr auto expander_ui = "/com/github/wwmm/easyeffects/ui/expander.ui"; inline constexpr auto filter_ui = "/com/github/wwmm/easyeffects/ui/filter.ui"; inline constexpr auto gate_ui = "/com/github/wwmm/easyeffects/ui/gate.ui"; inline constexpr auto level_meter_ui = "/com/github/wwmm/easyeffects/ui/level_meter.ui"; inline constexpr auto limiter_ui = "/com/github/wwmm/easyeffects/ui/limiter.ui"; inline constexpr auto loudness_ui = "/com/github/wwmm/easyeffects/ui/loudness.ui"; inline constexpr auto maximizer_ui = "/com/github/wwmm/easyeffects/ui/maximizer.ui"; inline constexpr auto multiband_compressor_ui = "/com/github/wwmm/easyeffects/ui/multiband_compressor.ui"; inline constexpr auto multiband_compressor_band_ui = "/com/github/wwmm/easyeffects/ui/multiband_compressor_band.ui"; inline constexpr auto multiband_gate_ui = "/com/github/wwmm/easyeffects/ui/multiband_gate.ui"; inline constexpr auto multiband_gate_band_ui = "/com/github/wwmm/easyeffects/ui/multiband_gate_band.ui"; inline constexpr auto pipe_manager_box_ui = "/com/github/wwmm/easyeffects/ui/pipe_manager_box.ui"; inline constexpr auto pitch_ui = "/com/github/wwmm/easyeffects/ui/pitch.ui"; inline constexpr auto plugin_row_ui = "/com/github/wwmm/easyeffects/ui/plugin_row.ui"; inline constexpr auto plugins_box_ui = "/com/github/wwmm/easyeffects/ui/plugins_box.ui"; inline constexpr auto plugins_menu_ui = "/com/github/wwmm/easyeffects/ui/plugins_menu.ui"; inline constexpr auto preferences_general_ui = "/com/github/wwmm/easyeffects/ui/preferences_general.ui"; inline constexpr auto preferences_spectrum_ui = "/com/github/wwmm/easyeffects/ui/preferences_spectrum.ui"; inline constexpr auto preferences_window_ui = "/com/github/wwmm/easyeffects/ui/preferences_window.ui"; inline constexpr auto preset_row_ui = "/com/github/wwmm/easyeffects/ui/preset_row.ui"; inline constexpr auto preset_row_community_ui = "/com/github/wwmm/easyeffects/ui/preset_community_row.ui"; inline constexpr auto presets_menu_ui = "/com/github/wwmm/easyeffects/ui/presets_menu.ui"; inline constexpr auto reverb_ui = "/com/github/wwmm/easyeffects/ui/reverb.ui"; inline constexpr auto rnnoise_ui = "/com/github/wwmm/easyeffects/ui/rnnoise.ui"; inline constexpr auto speex_ui = "/com/github/wwmm/easyeffects/ui/speex.ui"; inline constexpr auto shortcuts_ui = "/com/github/wwmm/easyeffects/ui/shortcuts.ui"; inline constexpr auto stereo_tools_ui = "/com/github/wwmm/easyeffects/ui/stereo_tools.ui"; } // namespace tags::resources easyeffects-7.1.7/include/tags_schema.hpp000066400000000000000000000242021463533416400204520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once namespace tags::schema { inline constexpr auto id_input = "com.github.wwmm.easyeffects.streaminputs"; inline constexpr auto id_output = "com.github.wwmm.easyeffects.streamoutputs"; } // namespace tags::schema namespace tags::schema::autogain { inline constexpr auto id = "com.github.wwmm.easyeffects.autogain"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/autogain/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/autogain/"; } // namespace tags::schema::autogain namespace tags::schema::bass_enhancer { inline constexpr auto id = "com.github.wwmm.easyeffects.bassenhancer"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/bassenhancer/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/bassenhancer/"; } // namespace tags::schema::bass_enhancer namespace tags::schema::bass_loudness { inline constexpr auto id = "com.github.wwmm.easyeffects.bassloudness"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/bassloudness/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/bassloudness/"; } // namespace tags::schema::bass_loudness namespace tags::schema::compressor { inline constexpr auto id = "com.github.wwmm.easyeffects.compressor"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/compressor/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/compressor/"; } // namespace tags::schema::compressor namespace tags::schema::convolver { inline constexpr auto id = "com.github.wwmm.easyeffects.convolver"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/convolver/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/convolver/"; } // namespace tags::schema::convolver namespace tags::schema::crossfeed { inline constexpr auto id = "com.github.wwmm.easyeffects.crossfeed"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/crossfeed/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/crossfeed/"; } // namespace tags::schema::crossfeed namespace tags::schema::crystalizer { inline constexpr auto id = "com.github.wwmm.easyeffects.crystalizer"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/crystalizer/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/crystalizer/"; } // namespace tags::schema::crystalizer namespace tags::schema::deepfilternet { inline constexpr auto id = "com.github.wwmm.easyeffects.deepfilternet"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/deepfilternet/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/deepfilternet/"; } // namespace tags::schema::deepfilternet namespace tags::schema::deesser { inline constexpr auto id = "com.github.wwmm.easyeffects.deesser"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/deesser/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/deesser/"; } // namespace tags::schema::deesser namespace tags::schema::delay { inline constexpr auto id = "com.github.wwmm.easyeffects.delay"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/delay/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/delay/"; } // namespace tags::schema::delay namespace tags::schema::echo_canceller { inline constexpr auto id = "com.github.wwmm.easyeffects.echocanceller"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/echocanceller/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/echocanceller/"; } // namespace tags::schema::echo_canceller namespace tags::schema::equalizer { inline constexpr auto id = "com.github.wwmm.easyeffects.equalizer"; inline constexpr auto channel_id = "com.github.wwmm.easyeffects.equalizer.channel"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/equalizer/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/equalizer/"; } // namespace tags::schema::equalizer namespace tags::schema::exciter { inline constexpr auto id = "com.github.wwmm.easyeffects.exciter"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/exciter/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/exciter/"; } // namespace tags::schema::exciter namespace tags::schema::expander { inline constexpr auto id = "com.github.wwmm.easyeffects.expander"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/expander/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/expander/"; } // namespace tags::schema::expander namespace tags::schema::filter { inline constexpr auto id = "com.github.wwmm.easyeffects.filter"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/filter/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/filter/"; } // namespace tags::schema::filter namespace tags::schema::gate { inline constexpr auto id = "com.github.wwmm.easyeffects.gate"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/gate/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/gate/"; } // namespace tags::schema::gate namespace tags::schema::level_meter { inline constexpr auto id = "com.github.wwmm.easyeffects.levelmeter"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/levelmeter/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/levelmeter/"; } // namespace tags::schema::level_meter namespace tags::schema::limiter { inline constexpr auto id = "com.github.wwmm.easyeffects.limiter"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/limiter/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/limiter/"; } // namespace tags::schema::limiter namespace tags::schema::loudness { inline constexpr auto id = "com.github.wwmm.easyeffects.loudness"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/loudness/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/loudness/"; } // namespace tags::schema::loudness namespace tags::schema::maximizer { inline constexpr auto id = "com.github.wwmm.easyeffects.maximizer"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/maximizer/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/maximizer/"; } // namespace tags::schema::maximizer namespace tags::schema::multiband_compressor { inline constexpr auto id = "com.github.wwmm.easyeffects.multibandcompressor"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/multibandcompressor/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/multibandcompressor/"; } // namespace tags::schema::multiband_compressor namespace tags::schema::multiband_gate { inline constexpr auto id = "com.github.wwmm.easyeffects.multibandgate"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/multibandgate/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/multibandgate/"; } // namespace tags::schema::multiband_gate namespace tags::schema::output_level { inline constexpr auto id = "com.github.wwmm.easyeffects.outputlevel"; } // namespace tags::schema::output_level namespace tags::schema::pitch { inline constexpr auto id = "com.github.wwmm.easyeffects.pitch"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/pitch/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/pitch/"; } // namespace tags::schema::pitch namespace tags::schema::reverb { inline constexpr auto id = "com.github.wwmm.easyeffects.reverb"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/reverb/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/reverb/"; } // namespace tags::schema::reverb namespace tags::schema::rnnoise { inline constexpr auto id = "com.github.wwmm.easyeffects.rnnoise"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/rnnoise/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/rnnoise/"; } // namespace tags::schema::rnnoise namespace tags::schema::speex { inline constexpr auto id = "com.github.wwmm.easyeffects.speex"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/speex/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/speex/"; } // namespace tags::schema::speex namespace tags::schema::stereo_tools { inline constexpr auto id = "com.github.wwmm.easyeffects.stereotools"; inline constexpr auto input_path = "/com/github/wwmm/easyeffects/streaminputs/stereotools/"; inline constexpr auto output_path = "/com/github/wwmm/easyeffects/streamoutputs/stereotools/"; } // namespace tags::schema::stereo_tools namespace tags::schema::spectrum { inline constexpr auto id = "com.github.wwmm.easyeffects.spectrum"; } // namespace tags::schema::spectrum easyeffects-7.1.7/include/test_signals.hpp000066400000000000000000000046031463533416400206760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include "pipe_manager.hpp" enum class TestSignalType { sine_wave, gaussian, pink }; class TestSignals { public: TestSignals(PipeManager* pipe_manager); TestSignals(const TestSignals&) = delete; auto operator=(const TestSignals&) -> TestSignals& = delete; TestSignals(const TestSignals&&) = delete; auto operator=(const TestSignals&&) -> TestSignals& = delete; virtual ~TestSignals(); struct data; struct port { struct data* data; }; struct data { struct port* out_left = nullptr; struct port* out_right = nullptr; TestSignals* ts = nullptr; }; pw_filter* filter = nullptr; pw_filter_state state = PW_FILTER_STATE_UNCONNECTED; uint n_samples = 0U; uint rate = 0U; bool create_left_channel = true; bool create_right_channel = true; bool can_get_node_id = false; float sine_phase = 0.0F; float sine_frequency = 1000.0F; TestSignalType signal_type = TestSignalType::sine_wave; void set_state(const bool& state); void set_frequency(const float& value); [[nodiscard]] auto get_node_id() const -> uint; void set_active(const bool& state) const; void set_signal_type(const TestSignalType& value); auto white_noise() -> float; private: PipeManager* pm = nullptr; spa_hook listener{}; data pf_data = {}; uint node_id = 0U; std::vector list_proxies; std::random_device rd{}; std::mt19937 random_generator; std::normal_distribution normal_distribution{0.0F, 0.3F}; }; easyeffects-7.1.7/include/ui_helpers.hpp000066400000000000000000000173501463533416400203410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define FMT_HEADER_ONLY #include #include #include #include #include "string_literal_wrapper.hpp" #include "util.hpp" namespace ui { void show_fixed_toast(AdwToastOverlay* toast_overlay, const std::string& text, const AdwToastPriority& priority = ADW_TOAST_PRIORITY_HIGH); void show_autohiding_toast(AdwToastOverlay* toast_overlay, const std::string& text, const uint& timeout = 5U, const AdwToastPriority& priority = ADW_TOAST_PRIORITY_HIGH); auto missing_plugin_box(const std::string& base_name, const std::string& package) -> GtkWidget*; void show_simple_message_dialog(GtkWidget* parent, const std::string& title, const std::string& descr); auto parse_spinbutton_output(GtkSpinButton* button, const char* unit, const bool& lower_bound = true) -> gboolean; auto parse_spinbutton_input(GtkSpinButton* button, gdouble* new_value, const bool& lower_bound = true) -> gint; auto get_new_filter_serial() -> uint; void set_ignore_filter_idle_add(const uint& serial, const bool& state); auto get_ignore_filter_idle_add(const uint& serial) -> bool; void save_user_locale(); auto get_user_locale() -> std::locale; auto get_plugin_credit_translated(const std::string& plugin_package) -> std::string; void update_level(GtkLevelBar* w_left, GtkLabel* w_left_label, GtkLevelBar* w_right, GtkLabel* w_right_label, const float& left, const float& right); void append_to_string_list(GtkStringList* string_list, const std::string& name); void remove_from_string_list(GtkStringList* string_list, const std::string& name); void init_global_app_settings(); void unref_global_app_settings(); auto get_global_app_settings() -> GSettings*; template void prepare_spinbutton(GtkSpinButton* button) { if (button == nullptr) { util::warning("Null pointer provided: Spinbutton widget not prepared."); return; } g_signal_connect(button, "output", G_CALLBACK(+[](GtkSpinButton* button, gpointer user_data) { return parse_spinbutton_output(button, sl_wrapper.msg.data(), lower_bound); }), nullptr); g_signal_connect(button, "input", G_CALLBACK(+[](GtkSpinButton* button, gdouble* new_value, gpointer user_data) { return parse_spinbutton_input(button, new_value, lower_bound); }), nullptr); } template void prepare_scale(GtkScale* scale) { /* The sanitizer caught a "use after free" inside this function. As the problem happens randomly and is hard to reproduce I am not sure about what could be the cause yet. So for now I am just checking for null pointers. */ if (scale == nullptr) { util::warning("Null pointer provided: Scale widget not prepared."); return; } gtk_scale_set_format_value_func( scale, (GtkScaleFormatValueFunc) + [](GtkScale* scale, double value, gpointer user_data) { if (scale == nullptr) { return g_strdup(""); } auto precision = gtk_scale_get_digits(scale); auto unit = sl_wrapper.msg.data(); using namespace std::string_literals; auto text = fmt::format(ui::get_user_locale(), "{0:.{1}Lf}{2}", value, precision, ((unit != nullptr) ? " "s + unit : "")); return g_strdup(text.c_str()); }, nullptr, nullptr); } template void prepare_spinbuttons(Targs... button) { (prepare_spinbutton(button), ...); } template void prepare_scales(Targs... scale) { (prepare_scale(scale), ...); } template void gsettings_bind_widget(GSettings* settings, const char* key, T widget, GSettingsBindFlags flags = G_SETTINGS_BIND_DEFAULT) { static_assert(std::is_same_v || std::is_same_v || std::is_same_v || std::is_same_v || std::is_same_v); if constexpr (std::is_same_v) { g_settings_bind(settings, key, gtk_spin_button_get_adjustment(widget), "value", flags); } if constexpr (std::is_same_v) { g_settings_bind(settings, key, gtk_range_get_adjustment(GTK_RANGE(widget)), "value", flags); } if constexpr (std::is_same_v || std::is_same_v) { g_settings_bind(settings, key, widget, "active", flags); } if constexpr (std::is_same_v) { g_settings_bind(settings, key, widget, "active-id", flags); } } template void gsettings_bind_widgets(GSettings* settings, Targs... widget) { (gsettings_bind_widget(settings, key_wrapper.msg.data(), widget), ...); } template void gsettings_bind_enum_to_combo_widget(GSettings* settings, const gchar* key, T widget, GSettingsBindFlags flags = G_SETTINGS_BIND_DEFAULT) { static_assert(std::is_same_v || std::is_same_v); struct Data { GSettings* settings; const gchar* key; }; g_settings_bind_with_mapping( settings, key, widget, "selected", flags, +[](GValue* value, GVariant* variant, gpointer user_data) { auto* d = static_cast(user_data); g_value_set_uint(value, static_cast(g_settings_get_enum(d->settings, d->key))); return 1; }, +[](const GValue* value, const GVariantType* expected_type, gpointer user_data) { auto* d = static_cast(user_data); g_settings_set_enum(d->settings, d->key, static_cast(g_value_get_uint(value))); const auto str_value = util::gsettings_get_string(d->settings, d->key); return g_variant_new_string(str_value.c_str()); }, new Data({.settings = settings, .key = key}), +[](gpointer user_data) { auto* d = static_cast(user_data); delete d; }); } } // namespace ui easyeffects-7.1.7/include/util.hpp000066400000000000000000000221321463533416400171510ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace util { // Minimum dB level reported here has to be used in gsettings and spinbuttons // as minimal values for controls that replicates the -infinity state (linear 0). constexpr float minimum_db_level = -100.0F; constexpr double minimum_db_d_level = -100.0; constexpr float minimum_linear_level = 0.00001F; constexpr double minimum_linear_d_level = 0.00001; using source_location = std::source_location; void debug(const std::string& s, source_location location = source_location::current()); void error(const std::string& s, source_location location = source_location::current()); void critical(const std::string& s, source_location location = source_location::current()); void warning(const std::string& s, source_location location = source_location::current()); void info(const std::string& s, source_location location = source_location::current()); auto normalize(const double& x, const double& max, const double& min = 1.0) -> double; auto linear_to_db(const float& amp) -> float; auto linear_to_db(const double& amp) -> double; auto db_to_linear(const float& db) -> float; auto db_to_linear(const double& db) -> double; auto db20_gain_to_linear(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; auto linear_gain_to_db20(const GValue* value, const GVariantType* expected_type, gpointer user_data) -> GVariant*; auto db10_gain_to_linear(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; auto double_to_float(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; auto db20_gain_to_linear_double(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; auto linear_double_gain_to_db20(const GValue* value, const GVariantType* expected_type, gpointer user_data) -> GVariant*; auto double_x10_to_int(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; auto ms_to_ns(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; auto remove_filename_extension(const std::string& basename) -> std::string; void print_thread_id(); auto gchar_array_to_vector(gchar** gchar_array, bool free_data = true) -> std::vector; auto make_gchar_pointer_vector(const std::vector& input) -> std::vector; auto gsettings_get_color(GSettings* settings, const char* key) -> GdkRGBA; auto gsettings_get_string(GSettings* settings, const char* key) -> std::string; auto gsettings_get_range(GSettings* settings, const char* key) -> std::pair; auto add_new_blocklist_entry(GSettings* settings, const std::string& name) -> bool; void remove_blocklist_entry(GSettings* settings, const std::string& name); void idle_add( std::function cb, std::function cleanup_cb = []() {}); auto get_files_name(const std::filesystem::path& dir_path, const std::string& ext) -> std::vector; void reset_all_keys_except(GSettings* settings, const std::vector& blocklist = std::vector(), bool delay = false); auto str_contains(const std::string& haystack, const std::string& needle) -> bool; auto compare_versions(const std::string& v0, const std::string& v1) -> int; void str_trim_start(std::string& str); void str_trim_end(std::string& str); void str_trim(std::string& str); auto search_filename(const std::filesystem::path& path, const std::string& filename, std::string& full_path_result, const uint& top_scan_level = std::numeric_limits::max()) -> bool; template void print_type(T v) { warning(typeid(v).name()); } template auto str_to_num(const std::string& str, T& num) -> bool { // This is a more robust implementation of `std::from_chars` // so that we don't have to do every time with `std::from_chars_result` structure. // We don't care of error types, so a simple bool is returned on success/fail. // A left trim is performed on strings so that the conversion could success // even if there are leading whitespaces and/or the plus sign. auto first_char = str.find_first_not_of(" +\n\r\t\v\f"); if (first_char == std::string::npos) { return false; } #ifndef ENABLE_LIBCPP_WORKAROUNDS const auto result = std::from_chars(str.data() + first_char, str.data() + str.size(), num); return (result.ec == std::errc()); #else if constexpr (std::is_floating_point_v) { char* endp = nullptr; /* we're asking for C locale which is preallocated, so no alloc here */ auto loc = newlocale(LC_ALL_MASK, "C", nullptr); if constexpr (std::is_same_v) { num = strtof_l(str.data() + first_char, &endp, loc); } else { num = strtod_l(str.data() + first_char, &endp, loc); } /* we gotta "free" it anyway */ freelocale(loc); return (endp && !*endp && (endp != (str.data() + first_char))); } else { const auto result = std::from_chars(str.data() + first_char, str.data() + str.size(), num); return (result.ec == std::errc()); } #endif } template auto to_string(const T& num, const std::string def = "0") -> std::string { // This is used to replace `std::to_string` as a locale independent // number conversion using `std::to_chars`. // An additional string parameter could be eventually provided with a // default value to return in case the conversion fails. // Max buffer length: // number of base-10 digits that can be represented by the type T without change + // number of base-10 digits that are necessary to uniquely represent all distinct // values of the type T (meaningful only for real numbers) + // room for other characters such as "+-e,." const size_t max = std::numeric_limits::digits10 + std::numeric_limits::max_digits10 + 10U; std::array buffer; const auto p_init = buffer.data(); const auto result = std::to_chars(p_init, p_init + max, num); return (result.ec == std::errc()) ? std::string(p_init, result.ptr - p_init) : def; } template concept Number = std::is_integral_v || std::is_floating_point_v; template auto logspace(const T& start, const T& stop, const uint& npoints) -> std::vector { std::vector output; if (stop <= start || npoints < 2) { return output; } auto log10_start = std::log10(start); auto log10_stop = std::log10(stop); const T delta = (log10_stop - log10_start) / static_cast(npoints - 1); output.push_back(start); T v = log10_start; while (output.size() < npoints - 1) { v += delta; if constexpr (std::is_same_v) { output.push_back(std::pow(10.0F, v)); } else { output.push_back(std::pow(10.0, v)); } } output.push_back(stop); return output; } template auto linspace(const T& start, const T& stop, const uint& npoints) -> std::vector { std::vector output; if (stop <= start || npoints < 2) { return output; } const T delta = (stop - start) / static_cast(npoints - 1); output.push_back(start); T v = start; while (output.size() < npoints - 1) { v += delta; output.push_back(v); } output.push_back(stop); return output; } // The following is not used and it was made only for reference. May be removed in the future. template auto gsettings_key_check_number_range(GSettings* settings, const char* key, const T& v) -> bool { GSettingsSchema* schema = nullptr; GVariant* g_value = nullptr; // Get GSettingsSchema g_object_get(settings, "settings-schema", &schema, nullptr); auto* schema_key = g_settings_schema_get_key(schema, key); // Get GVariant if constexpr (std::is_same_v) { g_value = g_variant_new_double(v); } else if constexpr (std::is_same_v) { g_value = g_variant_new_int32(v); } if (g_value == nullptr) { return false; } const auto is_in_range = g_settings_schema_key_range_check(schema_key, g_value); g_variant_unref(g_value); g_settings_schema_unref(schema); return is_in_range != 0; } } // namespace util easyeffects-7.1.7/meson.build000066400000000000000000000057101463533416400162050ustar00rootroot00000000000000project( 'easyeffects', 'c', 'cpp', default_options : [ 'cpp_std=c++20', 'buildtype=debugoptimized', # 1: -Wall # 2: -Wall -Wextra # 3: -Wall -Wextra -Wpedantic 'warning_level=2' ], license: 'GPL-3-or-later', version: '7.1.7', meson_version: '>= 0.60.0' ) # see https://github.com/wwmm/easyeffects/pull/1739 for more info cxx = meson.get_compiler('cpp') if cxx.get_id() == 'clang' and not cxx.version().version_compare('>=16.0.0') error('This project only supports gcc or > clang 16 compilers due to usage of c++20 features.') endif suppressed_warnings = [ '-Wno-missing-field-initializers', '-Wno-unused-parameter' ] add_project_arguments ( suppressed_warnings, language: [ 'c', 'cpp' ], ) add_project_arguments('-DG_LOG_DOMAIN="easyeffects"', language : [ 'c', 'cpp' ]) add_project_arguments('-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()), language:'c') gnome_mod = import('gnome') i18n_mod = import('i18n') prefix = get_option('prefix') bindir = join_paths(prefix, get_option('bindir')) libdir = join_paths(prefix, get_option('libdir')) datadir = join_paths(prefix, get_option('datadir')) localedir = join_paths(prefix, get_option('localedir')) include_dir = include_directories('include') config_h_dir = include_directories('.') status = [] if get_option('devel') status += 'Using development build mode with .Devel appended to the application ID.' app_id_suffix = '.Devel' name_suffix = ' (Devel)' else status += 'Using stable build mode with the standard application ID' app_id_suffix = '' name_suffix = '' endif if get_option('enable-mold') # mold 1.11.0 or later needed due to https://github.com/rui314/mold/issues/1017 status += 'Using mold linker, so make sure mold 1.11.0 or later is installed on your system.' # --no-as-needed temporarily necessary due to the seeming return of https://github.com/rui314/mold/issues/1017 link_args = ['-fuse-ld=mold', '-Wl,--no-as-needed'] else link_args = [] endif app_id = 'com.github.wwmm.easyeffects@0@'.format(app_id_suffix) # Configuration for application itself at compile time, such as debug info like the commit that was built conf = configuration_data() conf.set10('IS_DEVEL_BUILD', get_option('devel')) conf.set_quoted('APP_NAME', 'Easy Effects' + name_suffix) conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) conf.set_quoted('LOCALE_DIR', localedir) conf.set_quoted('LIB_DIR', libdir) conf.set_quoted('VERSION', meson.project_version()) conf.set('COMMIT_DESC', '"@VCS_TAG@"') config_h = declare_dependency( sources: vcs_tag( command: ['git', 'rev-parse', '--short', 'HEAD'], fallback: 'Could not find commit of build', input: configure_file( output: 'config.h.in', configuration: conf ), output: 'config.h' ) ) subdir('data') subdir('po') subdir('help') subdir('src') gnome_mod.post_install( glib_compile_schemas: true, gtk_update_icon_cache: true, update_desktop_database: true, ) message('\n '.join(status)) easyeffects-7.1.7/meson_options.txt000066400000000000000000000017561463533416400175060ustar00rootroot00000000000000option( 'devel', description: 'Whether to use development build mode, with .Devel appended to the application ID. For Flatpak builds, user data for development builds is stored separately from stable builds.', type: 'boolean', value: false ) option( 'enable-mold', description: 'Use the mold linker for speed, so mold must be installed. Option exists to allow easily enabling mold for Flatpak builds in GNOME Builder since CC_LD and CXX_LD cannot be reasonably used due to: https://gitlab.gnome.org/GNOME/gnome-builder/-/issues/1168', type: 'boolean', value: false ) option( 'enable-libportal', description: 'Whether to use libportal to handle autostart files.', type: 'boolean', value: false ) option( 'enable-rnnoise', description: 'Whether to use RRNNoise for noise cancellation.', type: 'boolean', value: true ) option( 'enable-libcpp-workarounds', description: 'Whether to enable code paths need for compilation on libc++.', type: 'boolean', value: false ) easyeffects-7.1.7/po/000077500000000000000000000000001463533416400144565ustar00rootroot00000000000000easyeffects-7.1.7/po/LINGUAS000066400000000000000000000002141463533416400155000ustar00rootroot00000000000000cs de fr_FR gl hr id_ID it_IT nl pl pt_BR ru sk sv da nb_NO es_MX es_CO tr zh_CN ro es_VE ja ko es km af th bg ka uk eu nn ca zh_Hant hu ar easyeffects-7.1.7/po/POTFILES.in000066400000000000000000000035361463533416400162420ustar00rootroot00000000000000data/com.github.wwmm.easyeffects.desktop.in data/schemas/com.github.wwmm.easyeffects.gschema.xml data/ui/app_info.ui data/ui/application_window.ui data/ui/apps_box.ui data/ui/autogain.ui data/ui/autoload_row.ui data/ui/bass_enhancer.ui data/ui/bass_loudness.ui data/ui/blocklist_menu.ui data/ui/chart.ui data/ui/compressor.ui data/ui/convolver.ui data/ui/convolver_menu_combine.ui data/ui/convolver_menu_impulses.ui data/ui/crossfeed.ui data/ui/crystalizer.ui data/ui/crystalizer_band.ui data/ui/deepfilternet.ui data/ui/deesser.ui data/ui/delay.ui data/ui/echo_canceller.ui data/ui/effects_box.ui data/ui/equalizer.ui data/ui/equalizer_band.ui data/ui/exciter.ui data/ui/expander.ui data/ui/factory_clients_listview.ui data/ui/factory_input_device_dropdown.ui data/ui/factory_modules_listview.ui data/ui/factory_output_device_dropdown.ui data/ui/factory_presets_dropdown.ui data/ui/factory_rnnoise_listview.ui data/ui/filter.ui data/ui/gate.ui data/ui/level_meter.ui data/ui/limiter.ui data/ui/loudness.ui data/ui/maximizer.ui data/ui/multiband_compressor.ui data/ui/multiband_compressor_band.ui data/ui/multiband_gate.ui data/ui/multiband_gate_band.ui data/ui/pipe_manager_box.ui data/ui/pitch.ui data/ui/plugin_row.ui data/ui/plugins_box.ui data/ui/plugins_menu.ui data/ui/preferences_general.ui data/ui/preferences_spectrum.ui data/ui/preferences_window.ui data/ui/preset_row.ui data/ui/preset_community_row.ui data/ui/presets_menu.ui data/ui/reverb.ui data/ui/rnnoise.ui data/ui/shortcuts.ui data/ui/speex.ui data/ui/stereo_tools.ui src/app_info.cpp src/application.cpp src/application_ui.cpp src/convolver_menu_impulses.cpp src/convolver_ui.cpp src/effects_box.cpp src/equalizer_ui.cpp src/pipe_manager_box.cpp src/plugin_base.cpp src/plugins_box.cpp src/plugins_menu.cpp src/presets_manager.cpp src/presets_menu.cpp src/rnnoise_ui.cpp src/tags_plugin_name.cpp src/ui_helpers.cpp easyeffects-7.1.7/po/af.po000066400000000000000000001604231463533416400154120ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-08-17 04:16+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Afrikaans \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.14-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Oudio-effekte vir PipeWire toepassing" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "EasyEffects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "EasyEffects" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects is 'n gevorederde oudio manipilasie toepassing. Dit sluit in " #~ "'n gelykmaker, beperker, kompressor en nagalminstrument, net om 'n paar " #~ "te noem. Om die te komplementeer is daar ook 'n spektrum ontleder." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects is die opvolger van PulseEffects. EasyEffects ondersteun " #~ "slegs PipeWire se klankbediener. PulseAudio-gebruikers moet eerder " #~ "PulseEffects gebruik." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Omdat EasyEffects die verstek PipeWire-klankbediener gebruik, sal dit met " #~ "die meeste, indien nie alle toepassings wat jy gebruik nie, werk. Alle " #~ "ondersteunde toepassings word in die hoofskerm aangebied, waar elkeen " #~ "individueel geaktiveer kan word." easyeffects-7.1.7/po/ar.po000066400000000000000000001576651463533416400154440ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-20 21:07+0000\n" "Last-Translator: Abdullah Albaroty \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Weblate 5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "موازن وضاغط و ومؤثرات أخرى للصوت" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "تأثيرات صوتية لتطبيقات PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "مكن/عطل هذا التطبيق" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "مكن" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "قائمة التطبيقات المستثناة: أضف/أزل هذا التطبيق" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "استثني" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "اكتم صوت التطبيق" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "غير مستوى صوت هذا التطبيق" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "مستوى صوت التطبيق" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "مساعدة" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "أعد ضبط الإعدادات" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "التفضيلات" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "الاختصارات" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "حول Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "أخرج" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "الإعدادات المسبقة" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "قائمة الإعدادات المسبقة" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "تفعيل/تعطيل تجاهل المؤثرات عمومًا" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "تجاهل المؤثرات العامة" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "القائمة الأساسية" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "نافذة Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "قائمة التطبيقات" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "القائمة فارغة" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "لم يعثر على تطبيق صوتي متاح" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "ضوابط" #: data/ui/autogain.ui:33 msgid "Target" msgstr "الهدف" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "الصمت" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "أقصى زمن" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "المرجع" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "جهاز" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "اسم" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "اسم التطبيق" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "أضف إلى التطبيقات المستثناة" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "قائمة التطبيقات المستثناة" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "أظهر التطبيقات المستثناة" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "الضاغط الصوتي" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "\"Presets\"" #~ msgstr "\"الإعدادات المسبقة\"" easyeffects-7.1.7/po/bg.po000066400000000000000000001650061463533416400154160ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-12-23 05:48+0000\n" "Last-Translator: Ivan Pekov \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.15.1-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Еквалайзер, Компресор и други звукови ефекти" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Звукови ефекти за приложения, използващи PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "ограничител;компресор;ехо;еквалайзер;автосила;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Активирай/спри тази програма" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Активирай" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Лист на програмите изключения: Добави/Премахни тази програма" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Премахни" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Обеззвучи тази програма" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Промени силата на звука на тази програма" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Сила на звука на програмата" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Върни до фабрични настройки" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Настройки" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Преки пътища" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Относно Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Профили" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Меню с профили" #: data/ui/application_window.ui:68 #, fuzzy msgid "Enable/disable the global bypass" msgstr "Активирай/спри тази програма" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Глобален Bypass" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Основно Меню" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Прозорец на Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Лист с програми" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Листа е празен" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Аудио приложение не е налично" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Цел" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Тишина" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Справка" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Моментално" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Краткосрочен" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Интегриран" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Средно аритметично (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Средно аритметично (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Средно аритметично (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Средно аритметично (SI)" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Нулиране" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Относително" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Диапазон" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Изходен gain" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Вход" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Входен gain на добавка" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Изход" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Изходен gain на добавка" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Устройство" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Име" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Профил" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Предварително задаване" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Слушам" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Смесени хармоники" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3-то" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2-ро" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Количество" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Хармоници" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Обхват" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Под" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Минимална стойност" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Линк" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Име на приложението" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Добави към изключени приложения" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Списък на изключени приложения" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Покажи изключените приложения" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Аудио компресор" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Режим" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Надолу" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Нагоре" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Подсилване" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Компресионен режим" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Праг на подсилване" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Време" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Праг" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Съотношение" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Сухо ниво" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Странична верига" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Източник" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "По средата" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Странично" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Наляво" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Надясно" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Надясно" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Надясно" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Странично" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Странично" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Връх" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Режим на странична верига" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Странична верига" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Тип" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Обратна връзка" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Външно" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Тип странична връзка" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Входно устройство" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Филтри на странична верига" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Честота" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Изключено" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Крива" #: data/ui/convolver.ui:40 msgid "L" msgstr "Л" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Ляв канал" #: data/ui/convolver.ui:53 msgid "R" msgstr "Д" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Десен канал" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Импулси" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Комбинирай" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Спектър" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Активирай/спри тази програма" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Предварително задаване" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Връх" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Справка" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Справка" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Честота" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Предварително задаване" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Предварително задаване" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Профили" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Предварително задаване" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Профили" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Предварително задаване" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Списък на изключени приложения" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Профили" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Предварително задаване" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Използвайки" #~ msgid "\"Presets\"" #~ msgstr "\"Профили\"" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Съотношение" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Праг" #~ msgid "_Manual" #~ msgstr "_Наръчник" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Обеззвучи тази програма" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "Активирай/спри глобалния bypass" easyeffects-7.1.7/po/ca.po000066400000000000000000001563231463533416400154130ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-11 02:51+0000\n" "Last-Translator: Roger VC \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalitzador, Compressor i Altres Efectes d'Àudio" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efectes d'àudio per a aplicacions PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitador;compressor;reverberació;equalitzador;autovolum;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Activar/desactivar aquesta aplicació" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Activar" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Llista d'aplicacions excloses: Afegiu/traieu aquesta aplicació" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Exclou" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Silencia l'aplicació" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Canvia el volum d'aquesta aplicació" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volum de l'aplicació" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Ajuda" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "_Restablir parametres" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Preferències" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Dreceres" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Sobre Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Activar/desactivar aquesta aplicació" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.7/po/cs.po000066400000000000000000002435241463533416400154350ustar00rootroot00000000000000# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Pavel Fric , 2017, 2018, 2019. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-18 18:54+0000\n" "Last-Translator: Fjuro \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ekvalizér, kompresor a jiné zvukové efekty" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Zvukové efekty pro programy využívající PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;kompresor;dozvuk;ekvalizér;automatická hlasitost;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Povolit/zakázat tuto aplikaci" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Povolit" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Seznam vyloučených aplikací: Přidat/odstranit tuto aplikaci" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Vyloučit" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Ztlumit aplikaci" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Změnit hlasitost této aplikace" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Hlasitost aplikace" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Nápověda" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Resetovat nastavení" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Nastavení" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Klávesové zkratky" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_O EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Ukončit" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Přednastavení" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Nabídka profilů" #: data/ui/application_window.ui:68 #, fuzzy msgid "Enable/disable the global bypass" msgstr "Povolit/zakázat tuto aplikaci" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Globální bypass" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Hlavní nabídka" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects okno" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Seznam aplikací" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Prázdný seznam" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Není dostupná žádná zvuková aplikace" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 #, fuzzy msgid "Controls" msgstr "Ovladač zesílení" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Cíl" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Ticho" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Maximální historie" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Reference" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Chvilkové" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kratokodobě" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrovaná" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Geometrický průměr (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Geometrický průměr (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Geometrický průměr (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Geometrický průměr (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Vymazat Historii" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Vrátit na výchozí" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Hlasitost" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativní" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rozsah" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Výstupní zesílení" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Vstup" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Vstupní zesílení pluginu" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Výstup" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Výstupní zesílení pluginu" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Zařízení" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Název" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Profil" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Odstranit tento automaticky načítaný profil" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Poslouchat" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Míchat harmonické kmity" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Množství" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonické kmity" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Rozsah" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Spodní mez" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Spodní hodnota" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Odkaz" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Název aplikace" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Přidat do vyloučených aplikací" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Seznam vyloučených aplikací" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Zobrazit vyloučené aplikace" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Zobrazit nativní okno" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Režim" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Dolů" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Nahoru" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Zesílení" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Kompresní režim" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Práh zesílení" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Velikost zesílení" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Náběh" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Čas" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Práh" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Náběh" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Prahová hodnota útoku" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Uvolnění" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Uvolnění" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Práh release" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Poměr" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Přechod" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Pozvednutí" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Dry Level" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Wet Level" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Postranní řetězec" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Stereo režim" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Zdroj" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Střední" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Postranní" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Levý" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Pravý" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Minimum" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Maximum" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Zdroj sidechain" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Zpoždění Levá/Pravá" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Pravý/Levý" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Střední/boční" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Boční/střední" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Výchozí zdroj" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Vrchol" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Nízkofrekvenční filtr" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Jednoduchý klouzavý průměr" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Režim sidechain" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Externí postranní řetězec" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Typ" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Kanál-zpět" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Externí" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Druh sidechain" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Vstupní zařízení" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Předzesílení" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reaktivita" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Výhled" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Filtry sidechain" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "High-Pass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Kmitočet" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Vypnuto" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Režim vysokopásmového filtru" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Filtr vysokého kmitočtu" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Dolní pásmo" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Režim filtrování nízkých frekvencí" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Zesílení" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Obálka" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Křivka" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Levý kanál" #: data/ui/convolver.ui:53 msgid "R" msgstr "P" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Pravý kanál" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsy" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "kombinovat" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Šířka sterea" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Logaritmické měřítko" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autogain" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Kmitočet" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Vzorky" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Doba trvání" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Kombinované odezvy impulsu" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "První jádro" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "druhé jádro" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Název výstupního souboru" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Jméno kombinovaného jádra" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Zavést impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Hledat" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Hledat soubor s impulsem" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Seznam souborů s impulsem" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Výchozí" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Useknutí" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Kanál" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Překlenutí" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Ztlumit" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Tlumení" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Délka filtru" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Zjištění" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Rozšířit" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Rozdělit" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 split" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frekvence 1 split" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 Vrchol" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frekvence 2 vrchol" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Zesílení" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frekvence 1 zvýšení" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 Úroveň" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frekvence 2 level" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Vrchol Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frekvence 2 vrchol Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Nedbalost" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Zjištěno" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Snížení" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Zpoždění" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Obrátit fázi" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Délka filtru" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Potlačení zbytkové ozvěny" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Potlačení ozvěny blízko konce" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Vynechané aplikace" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Povolit/zakázat tuto aplikaci" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Pásma" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Vyvážení" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Pitch levá" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Pitch Pravá" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Rozdělit kanály" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Uhladit" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Vypočítat Kmitočty" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Pásma" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importovat přednastavení" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importovat přednastavení" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Sklon" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Sólo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Jakost" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Šířka" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Strop" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Horní mezní hodnota" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Režim pásma" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Vnitřní" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Přístup" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Popis" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Odstranit tento soubor s přednastavením" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Dolní práh" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Horní práh" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Zvonek" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Překlenutí" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Vroubek" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Rezonance" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Dolní pásmo" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Zmenšení pásma" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Dolní pásmo" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ekvalizér" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtr" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Brána" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zóna" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Hystereze" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Začátek zóny attacku" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Začátek release zóny" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frekvence 2 vrchol" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Vymazat Historii" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Převzorkování" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Dither" #: data/ui/limiter.ui:94 #, fuzzy msgid "Herm Thin" msgstr "Herm tenký" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Herm široký" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Tail" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Duck" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Thin" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Wide" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp Tail" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Duck" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "čára tenká" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "čára široká" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Šířka čáry" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Line Duck" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Žádný" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Polovina x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Polovina x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Polovina x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Polovina x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Polovina x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Polovina x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Polovina x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Polovina x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Polovina x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Polovina x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Kompletní x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Kompletní x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Kompletní x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Kompletní x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Kompletní x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Kompletní x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Kompletní x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Kompletní x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Kompletní x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Kompletní x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC Předzesilovač" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Předzesílení postranního řetězce" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Zesílení" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Spojení sterea" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Externí postranní řetězec" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Externí zdroj postranního řetězce" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Automatické vyrovnávání" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Automatické Úrovně" #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Automatické Úrovně" #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Automatické Úrovně" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Levé zesílení" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Pravé zesílení" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Levý postranní řetězec" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Pravý postranní řetězec" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standardní" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Rovný" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Velikost FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Hlasitost výstupu" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Přiřazení kanálu" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Postranní řetězec" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Růžová BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Růžová MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 #, fuzzy msgid "Brown BT" msgstr "Hnědá BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Hnědá MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Provozní režim" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klasický" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderní" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Obrátit fázi" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Seznam pásem" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Pásmo 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Pásmo 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Pásmo 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Pásmo 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Pásmo 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Pásmo 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Pásmo 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Pásmo 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Začátek pásma" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Konec pásma" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Kompresní režim pásem" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Překlenutí" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Možnosti postranního řetězce" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereo režim" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Nízkopásmový filtr" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Frekvence nízkopásmového filtru" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Vysokopásmový filtr" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Frekvence vysokopásmového filtru" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Předzesilovač" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Pásmové zesílení" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Pásmová obálka" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Pásmová křivka" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Zmenšení pásma" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Obecné" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Správa zařízení" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "V externích aplikacích (např. Nastavení Gnome a Nastavení Plasma Systému) se " "NEDOPORUČUJE nastavovat Easy Effects Sink/Source jako výchozí zařízení." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Použít výchozí vstup" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Vlastní vstupní zařízení" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Použít výchozí výstup" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "vlastní výstupní zařízení" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Informace o serveru" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Verze záhlaví" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Verze knihovny" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Vzorkovací frekvence" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Minimální Kvantum" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Maximální Kvantum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Výchozí Kvantum" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Automatické načítání přednastavení" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Výstupní zařízení" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Profily pro výstup" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Vytvořit asociaci" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Přidat automatické načítání přednastavení výstupu" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Seznam automaticky načítaných profilů pro výstup" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Vstupní zařízení" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Profily pro vstup" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Přidat automatické načítání přednastavení vstupu" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Seznam automaticky načítaných profilů pro vstup" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduly" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Seznam modulů" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Klienti" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "seznam klientů" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Testovací signál" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stav" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Povoleno" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Vlastnosti" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanály" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Oba" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Oba kanály" #: data/ui/pipe_manager_box.ui:605 #, fuzzy msgid "Waveform" msgstr "forma vlny" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusová vlna" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Bílý šum" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Rozsah frekvence" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Okno" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Délka filtru" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Výška tónu" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Půltóny" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Reference" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Reference" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Odstranit tento efekt" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Povolit/zakázat tento efekt" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Změna pozice tohoto efektu" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Přidat efekt" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Odstranit tento efekt" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Seznam použitých pluginů" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Žádné efekty" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Audio Stream není modifikovaný" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Hledat Plugin" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Seznam Pluginů" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Obecné" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Servis" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Spustit službu při spuštění systému" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Vypnout při zavření okna" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Zpracovat všechny výstupní streamy" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Zpracovat všechny vstupní streamy" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Ignorovat streamy z monitoru zařízení" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Použít krychlový objem" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "časový limit nečinnosti" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Vnitřní" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Kmitočet" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Styl" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Použít tmavý vzhled" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Skrýt menu při kliknutí vedle" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Pokusný" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Zavřít okno" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Tvar" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Pruhy" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Čáry" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Tečky" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Body" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Výška" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Šířka čáry" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Výplň" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Ukázat hranici pásem" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Zaoblené rohy" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Barva" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "čáry a pásma" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "štítky os" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Rozsah frekvence" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Nejvýše" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Načíst" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Uložit nynější nastavení do tohoto souboru s přednastavením" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Uložit nynější nastavení do tohoto souboru s přednastavením" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Odstranit tento soubor s přednastavením" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Zkušební" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Hledat profil pro výstup" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importovat model" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Název nového profilu pro vstup" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Vytvořit nové přednastavení" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Hledat profil pro vstup" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Hledat profil pro vstup" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Hledat profil pro výstup" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Seznam profilů pro výstup" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Tlumení vysokého kmitočtu" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Velikost prostoru" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Malý" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Střední" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Velký" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Chodba" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Velký/plynulý" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Pokusný" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Rozptylování" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Předzpoždění" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Čas dozvuku" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Ořezání hloubek" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Ořezání výšek" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Okolní prostředí" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Prázdné zdi" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Pokoj" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Velký prázdný sál" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Velký obsazený sál" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importovat model" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Detekce hlasu" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modely" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Standardní model" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Seznam RNNoise modelů" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Model nenačtený" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktivní model" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Standard RNNoise model" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Přehled" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Celá obrazovka/Obnovit z celé obrazovky" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Zavřít okno" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Ukončit EasyEffects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Odhlučnit" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Automatické Vyhlazení" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Dereverbace" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Pravděpodobnost Hlasové Aktivity" #: data/ui/speex.ui:95 msgid "Start" msgstr "Začít" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Pokračovat" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Potlačení šumu" #: data/ui/speex.ui:145 msgid "Level" msgstr "Úroveň" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Vstupní vyvážení" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Úroveň softclipu" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matrice sterea" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LP > LP (výchozí stereo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LP > SS (stereo ke střední straně)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "SS > LP (střední strana ke stereu)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LP > LL (mono levý kanál)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LP > PP (mono pravý kanál)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LP > L+P (mono součet L+P)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (stereo obrácení kanálů)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereo režim" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Postranní úroveň" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Postranní vyvážení" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Prostřední úroveň" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Prostřední panorama" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Výstupní bilance" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Zpoždění L/P" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Zpoždění Levá/Pravá" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Základ sterea" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fáze sterea" #: src/app_info.cpp:100 msgid "Running" msgstr "Běží" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Pozastaveno" #: src/app_info.cpp:104 msgid "Idle" msgstr "Neaktivní" #: src/app_info.cpp:106 msgid "Creating" msgstr "Tvoření" #: src/app_info.cpp:108 msgid "Error" msgstr "Chyba" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Neznámý" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "Kanály" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Ukončit EasyEffects. Užitečné, při spuštění servisního režimu." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Obnovit EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Skrýt Okno." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "Globální propuštění. 1 pro zapnutí, 2 pro vypnutí, 3 pro získání stavu" #: src/application.cpp:615 msgid "Show available presets." msgstr "Ukázat dostupná přednastavení." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Nahrát přednastavení. Příklad: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Výstup" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Vstup" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Soubor není standardní" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Soubor Impulse může být poškozený nebo nepodporovaný" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Podporovány jsou pouze Stereo Impulse soubory" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Impulse soubor nebyl importován" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Zavést soubor s impulsem" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otevřít" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Odpověď impulsu" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Načíst Impulse" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Odstranit Impuls" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Impulse soubor nebyl načten" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Nepodařilo se nahrát Impulse soubor" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Záznamníky" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Přehrávače" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efekty" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importovat přednastavený soubor APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO Přednastavení" #: src/equalizer_ui.cpp:554 #, fuzzy msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "Přednastavení APO není načtené. Formát souboru může být chybný. Prosím " "zkontrolujte jeho obsah." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importovat přednastavený soubor APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO Přednastavení" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importovat soubor přednastavení GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Přednastavení GraphicEQ" #: src/equalizer_ui.cpp:886 #, fuzzy msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "Přednastavení GraphicEQ není načtené. Formát souboru může být chybný. Prosím " "zkontrolujte jeho obsah." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Odstranit předvolbu automatického načítání" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Výstupní zařízení" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Odstranit" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Výstupní zařízení" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Přidat" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importovat přednastavení" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Seznam vyloučených aplikací" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Název nového profilu pro vstup" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Hledat profil pro vstup" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importovat přednastavení" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Vybraný model nebyl načten. Jeho formát nemusí být podporovaný. Návrat ke " "standardnímu modelu." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importovat modelový soubor" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise Modely" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Zlepšovač hloubek" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Hlasitost basů" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Konvolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Prolínání kanálů" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Krystalizátor" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Odstraňovač sykotu" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Potlačovač echa" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ekvalizér" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Zvukový budič" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Výstupní zařízení" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Omezovač" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Zvětšovač" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Vícepásmový kompresor" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Vícepásmová brána" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Dozvuk" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Redukce šumu" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Řečový procesor" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Nástroje sterea" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} Není dostupný" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "Software potřebný pro efekt {}, \"{}\", není nainstalován. Zvažte použití " "balíčku Easy Effects Flatpak nebo si software nainstalujte sami." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "Efekt {} byl při kompilaci Easy Effects zakázán. Je to pravděpodobně proto, " "že software potřebný pro tento efekt \"{}\" nebyl k dispozici. Zvažte " "použití balíčku Easy Effects Flatpak nebo sestavení vlastního balíčku Easy " "Effects." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Použití" #~ msgid "Ceiling" #~ msgstr "Strop" #~ msgid "\"Presets\"" #~ msgstr "\"Předvolby\"" #~ msgid "Import a preset" #~ msgstr "importovat přednastavení" #~ msgid "Low-Cut Filter" #~ msgstr "Nízkopásmový filtr" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Vysokopásmový filtr" #~ msgid "Uniform" #~ msgstr "Rovnoměrný" #~ msgid "New Output Preset Name" #~ msgstr "Název nového profilu pro výstup" #~ msgid "infinity" #~ msgstr "nekonečno" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Poměr" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Dolní pásmo" #, fuzzy #~ msgid "High-pass" #~ msgstr "High-Pass" #~ msgid "Gating" #~ msgstr "Hradlo" #~ msgid "12dB/oct Lowpass" #~ msgstr "Nízká pásmová propust 12 dB/okt" #~ msgid "24dB/oct Lowpass" #~ msgstr "Nízká pásmová propust 24 dB/okt" #~ msgid "36dB/oct Lowpass" #~ msgstr "Nízká pásmová propust 36 dB/okt" #~ msgid "12dB/oct Highpass" #~ msgstr "Vysoká pásmová propust 12 dB/okt" #~ msgid "24dB/oct Highpass" #~ msgstr "Vysoká pásmová propust 24 dB/okt" #~ msgid "36dB/oct Highpass" #~ msgstr "Vysoká pásmová propust 36 dB/okt" #~ msgid "6dB/oct Bandpass" #~ msgstr "Pásmová propustnost 6 dB/okt" #~ msgid "12dB/oct Bandpass" #~ msgstr "Pásmová propustnost 12 dB/okt" #~ msgid "18dB/oct Bandpass" #~ msgstr "Pásmová propustnost 18 dB/okt" #~ msgid "6dB/oct Bandreject" #~ msgstr "Vyloučení pásma 6 dB/okt" #~ msgid "12dB/oct Bandreject" #~ msgstr "Vyloučení pásma 12 dB/okt" #~ msgid "18dB/oct Bandreject" #~ msgstr "Vyloučení pásma 18 dB/okt" #~ msgid "Inertia" #~ msgstr "Setrvačnost" #, fuzzy #~ msgid "Band Type" #~ msgstr "Překlenutí" #~ msgid "Band Mode" #~ msgstr "Režim pásma" #~ msgid "Band Slope" #~ msgstr "Pásmo sklonu" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Hlasitost" #~ msgid "High Speed" #~ msgstr "Vysoká rychlost" #~ msgid "High Quality" #~ msgstr "Vysoká kvalita" #~ msgid "High Consistency" #~ msgstr "Vysoká konzistence" #~ msgid "Formant" #~ msgstr "Formant" #~ msgid "Shifted" #~ msgstr "Posunutý" #, fuzzy #~ msgid "Preserved" #~ msgstr "Zachovalé" #~ msgid "Transients" #~ msgstr "Transienty" #~ msgid "Crisp" #~ msgstr "Crisp" #~ msgid "Mixed" #~ msgstr "Smíšené" #~ msgid "Smooth" #~ msgstr "Hladký" #~ msgid "Detector" #~ msgstr "detektor" #~ msgid "Compound" #~ msgstr "Složené" #~ msgid "Percussive" #~ msgstr "Perkusivní" #~ msgid "Soft" #~ msgstr "měkké" #~ msgid "Phase" #~ msgstr "Fáze" #~ msgid "Laminar" #~ msgstr "Laminární" #~ msgid "Independent" #~ msgstr "Nezávislý" #~ msgid "Cents" #~ msgstr "Centy" #~ msgid "Octaves" #~ msgstr "Oktávy" #~ msgid "_Manual" #~ msgstr "_Manuál" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Otevřít manuál EasyEffects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} Není nainstalováno v systému" #~ msgid "High Pass" #~ msgstr "Horní pásmo" #~ msgid "Low Pass" #~ msgstr "Dolní pásmo" #~ msgid "Cancel" #~ msgstr "Zrušit" #~ msgid " PreAmplification" #~ msgstr " Předzesílení" #~ msgid "Close (Press ESC)" #~ msgstr "Zavřít (Stiskněte ESC)" #~ msgid "Frame Size" #~ msgstr "Rozměry rámečku" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "" #~ "Povolit/zakázat\n" #~ " globální bypass" #~ msgid " Low-Pass" #~ msgstr " Low-pass" #~ msgid " Uniform" #~ msgstr " Jednotný" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Předzpoždění" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Rozdělit kanály" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Úroveň" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Úroveň" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Úroveň cíle" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Úroveň cíle" #, fuzzy #~ msgid "Suppression" #~ msgstr "Úroveň potlačení" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Zvukové efekty pro programy využívající PulseAudio" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "APO Přednastavení" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Profily pro výstup: " #~ msgid "Input Presets: " #~ msgstr "Profily pro vstupy: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Rozdělit" #~ msgid "Split 1/2" #~ msgstr "Rozdělit 1/2" #~ msgid "Split 2/3" #~ msgstr "Rozdělit 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Kmitočet" #~ msgid "Split 3/4" #~ msgstr "Rozdělit 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Kmitočet" #~ msgid "Sub Band" #~ msgstr "Spodní pásmo" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Pozvednutí" #~ msgid "Max Reduction" #~ msgstr "Snížení" #~ msgid "Low Band" #~ msgstr "Nízké pásmo" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Pozvednutí" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "Mid Band" #~ msgstr "Střední pásmo" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Pozvednutí" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "High Band" #~ msgstr "Vysoké pásmo" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Pozvednutí" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Množství" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Množství" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects je pokročilým nástrojem pro zacházení se zvukem. Obsahuje " #~ "mimo jiné nástroj ekvalizéru, omezovače (limiter), kompresoru a dozvuku. " #~ "Na doplnění je také vestavěn analyzátor spektra." #, fuzzy #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Protože EasyEffects používá výchozí zvukový server PulseAudio, bude " #~ "pracovat s většinou, pokud už ne se všemi vámi používanými programy. " #~ "Všechny podporované programy jsou ukázány v hlavním okně, v němž je možné " #~ "kterýkoli z nich ručně povolit." #, fuzzy #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Vedle práce se zvukovým výstupem dokáže EasyEffects efekty použít i na " #~ "vstupní zařízení, jako je mikrofon. To je užitečné mimo jiné při " #~ "nahrávání zvuku, pracuje to ale dobře během hlasových hovorů." #, fuzzy #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Když je EasyEffects spuštěn, zapamatuje si příhodně nastavení používané " #~ "při posledním sezení. Je možné i uložení všech nynějších nastavení jako " #~ "profilů." #, fuzzy #~ msgid "and #1427" #~ msgstr "Pásma" #~ msgid "Average" #~ msgstr "Průměr" #~ msgid "Failed" #~ msgstr "Nepodařilo se" #, fuzzy #~ msgid "Use Default" #~ msgstr "Použít Výchozí" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Odstranit tento soubor s přednastavením" #~ msgid "Import Presets" #~ msgstr "Zavést přednastavení" #~ msgid "Start Service at Login" #~ msgstr "Spustit službu při přihlášení" #, fuzzy #~ msgid "Activate" #~ msgstr "Agresivní režim" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Černá listina" #~ msgid "Blocklist" #~ msgstr "Černá listina" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibrace mikrofonu" #, fuzzy #~ msgid "enabled" #~ msgstr "Povolit" #, fuzzy #~ msgid "disabled" #~ msgstr "Povolit" #~ msgid "Format" #~ msgstr "Formát" #~ msgid "Latency" #~ msgstr "Prodleva" #~ msgid "Faster" #~ msgstr "Rychleji" #~ msgid "Preserve Formant" #~ msgstr "Zachovat složku rozhodující o barvě zvuku" #~ msgid "Cmoy" #~ msgstr "Sluchátkový zesilovač (CMoy)" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Vstupní zesílení" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanály" #, fuzzy #~ msgid "Value" #~ msgstr "Spodní mez" #~ msgid "Output Effects" #~ msgstr "Výstupní efekty" #~ msgid "Settings" #~ msgstr "Nastavení" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Nastavení" #, fuzzy #~ msgid "Documentation" #~ msgstr "Doba trvání" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Zkušební signály" #, fuzzy #~ msgid "Signal" #~ msgstr "Zkušební signály" #~ msgid "Show Spectrum" #~ msgstr "Ukázat spektrum" #~ msgid "Border" #~ msgstr "Okraj" #~ msgid "Spectrum Type" #~ msgstr "Typ spektra" #~ msgid "Spectrum Color" #~ msgstr "Barva spektra" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Agresivní režim" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Wet" #~ msgstr "Váhy" #~ msgid "S/C Level" #~ msgstr "Úroveň S/C" #~ msgid "Short Term" #~ msgstr "Jednorázové" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Nastavit hlasitost a zapnout/vypnout efekty" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Zahrnuje ekvalizér s vestavěnými přednastaveními" #~ msgid "Input Limiter" #~ msgstr "Omezovač vstupu" #~ msgid "Calibration" #~ msgstr "Kalibrace" #~ msgid "Limit" #~ msgstr "Omezení" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Zvukové efekty pro programy využívající PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Zvukové efekty pro programy PulseAudio" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrace mikrofonu" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automaticky použít toto přednastavení, když je nyní používané zařízení " #~ "zapojeno v systému" #, fuzzy #~ msgid "Version" #~ msgstr "Verze" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Čtverec" #~ msgid "Saw" #~ msgstr "Pila" #~ msgid "Triangle" #~ msgstr "Trojúhelník" #~ msgid "Pink Noise" #~ msgstr "Růžový šum" #~ msgid "Ticks" #~ msgstr "Tiknutí" #~ msgid "Gaussian Noise" #~ msgstr "Gaussovský šum" #~ msgid "Blue Noise" #~ msgstr "Modrý šum" #~ msgid "Violet Noise" #~ msgstr "Fialový šum" #~ msgid "Volume" #~ msgstr "Hlasitost" #~ msgid "Measure Noise" #~ msgstr "Změřit šum" #~ msgid "Subtract Noise" #~ msgstr "Odečíst šum" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Provided by" #~ msgstr "Poskytuje" #~ msgid "Extended Filter" #~ msgstr "Rozšířený filtr" #~ msgid "Low" #~ msgstr "Nízký" #~ msgid "Moderate" #~ msgstr "Střední" #~ msgid "High" #~ msgstr "Vysoký" #~ msgid "Delay Agnostic" #~ msgstr "Zpozdit absolutní" #~ msgid "Very High" #~ msgstr "Velmi vysoký" #~ msgid "Adaptive Digital" #~ msgstr "Přizpůsobivý digitální" #~ msgid "Fixed Digital" #~ msgstr "Pevný digitální" #~ msgid "Detection Likelihood" #~ msgstr "Pravděpodobnost zjištění" #~ msgid "Very Low" #~ msgstr "Velmi nízká" #~ msgid "Use Custom Color" #~ msgstr "Použít vlastní barvu" #~ msgid "Use Gradient" #~ msgstr "Použít přechod" #~ msgid "Gradient Color" #~ msgstr "Barva přechodu" #~ msgid "Import Impulse Response File" #~ msgstr "Zavést soubor s odpovědí impulsu" #~ msgid "Select the impulse Response File" #~ msgstr "Vybrat soubor s odpovědí impulsu" #~ msgid "Aggressive Mode" #~ msgstr "Agresivní režim" #~ msgid "Before" #~ msgstr "Před" #~ msgid "After" #~ msgstr "Po" #~ msgid "Loudness Range" #~ msgstr "Rozsah hlasitosti" #~ msgid "Loudness Compensator" #~ msgstr "Kompenzace Hlasitosti" #~ msgid "Apply" #~ msgstr "Použít" #~ msgid "Based on" #~ msgstr "Na základě" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Výchozí rychlost vzorkování" #~ msgid "Server" #~ msgstr "Server" #~ msgid "File" #~ msgstr "Soubor" #~ msgid "Configuration" #~ msgstr "Nastavení" #, fuzzy #~ msgid "server" #~ msgstr "Server" #, fuzzy #~ msgid "Based on a" #~ msgstr "Na základě" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Spočítat kmitočty" #, fuzzy #~ msgid "Advanced" #~ msgstr "Nastavení" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "APO Přednastavení" #~ msgid "Auto Gain" #~ msgstr "Automatické zesílení" #~ msgid "Detect Silence" #~ msgstr "Zjištění Ticha" #~ msgid "Muted" #~ msgstr "Ztlumeno" #~ msgid "Distant Headphones" #~ msgstr "Vzdálená sluchátka" #~ msgid "Priority Type" #~ msgstr "Typ přednosti" #~ msgid "Niceness" #~ msgstr "Přívětivost" #~ msgid "Priority" #~ msgstr "Přednost" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Minimální Kmitočet" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Maximální Kmitočet" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "Znovu připojit mikrofon pro použití změn provedených v Blocklistu" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "Restartovat přehrávač pro použití změn provedených v Blocklistu" #~ msgid "About" #~ msgstr "O programu" #~ msgid "Protocol" #~ msgstr "Protokol" #~ msgid "Default Sample Format" #~ msgstr "Výchozí formát vzorku" #~ msgid "Resamplers" #~ msgstr "Převzorkovače" #~ msgid "Buffer" #~ msgstr "Vyrovnávací paměť" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Ekvalizér - výstup" #~ msgid "Block Size" #~ msgstr "Velikost Bloku" #~ msgid "Resampler" #~ msgstr "Převzorkovač" #~ msgid "paused" #~ msgstr "Pozastaveno" #~ msgid "playing" #~ msgstr "Přehrává se" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "Import APO Presets" #~ msgstr "Zavést APO Přednastavení" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Zmenšení zesílení" #~ msgid "Exponent" #~ msgstr "Exponent" easyeffects-7.1.7/po/da.po000066400000000000000000002257361463533416400154210ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-08-17 04:16+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.14-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizer, Kompressor og Andre Lydeffekter" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Lyd Effekter for PipeWire Applikationer" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "begrænser;kompressor;efterklang;equalizer;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Aktiveret" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Stum applikation" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Applikationvolume" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Nulstil Indstillinger" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Præferencer" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "_Om EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Forindstillinger" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Forindstillinger Menu" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Global Omgåelse" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Primær Menu" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects-vindue" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Applikationsliste" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Tomme Vægge" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Applikationvolume" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Mål" #: data/ui/autogain.ui:56 #, fuzzy msgid "Silence" msgstr "Stemning" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Maksimum" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Hanvisning" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Øjeblikkelig" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kortfristet" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integreret" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Nustil historie" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Nustil" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Hørestyrke" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rækkevidde" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Udgangsforstærkning" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Indgang" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Plugin-Indgangsforstærkning" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Udgang" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Plugin-Udgangsforstærkning" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Enhed" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Navn" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Forindstilling" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Fjern Autoindlæst Forudindstilling" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Lyt" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Bland Harmonik" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "Tredje" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "Anden" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Mængde" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonik" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Omfang" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Gulv" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Gulvværdi" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Applikationvolume" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Liste over Blokerede Applikationer" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Liste over Blokerede Applikationer" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Liste over Blokerede Applikationer" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Skjul Vinduet." #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompressor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Tilstand" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Nedadrettet" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Opadrettet" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Øge" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Kompressortilstand" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Øg Grænseværdi" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Øgningsbeløb" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Angreb" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tid" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Grænseværdi" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Angrebstid" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Angreb Grænseværdi" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Frigør" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Frigøringstid" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Grænseværdi af Frigivelse" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Forhold" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Knæ" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Makeup" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "TørNiveau" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Vådniveau" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Sidekæde" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Stereotilstand" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Kilde" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Midte" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Side" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Venstre" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Højre" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Minimum" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Maksimum" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Sidekæde Kilde" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Forsinkelse Venstre Højre" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Højre" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Side" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Side" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Stereotilstand" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Top" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Lavpasfiltertilstand" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Sidekæde-tilstand" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Ekstern Sidekæde" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Fremadrettet" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Tilbagemelding" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Ekstern" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Sidekæde Type" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Input-enhed" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Forforstærkning" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reaktivitet" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Fremadskuen" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Sidekæde Filter" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Højpas" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekvens" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Slukket" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Højpasfiltertilstand" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Højpasfilterfrekvens" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Lavpas" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Lavpasfiltertilstand" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Konvolut" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Venstre Kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Højre Kanal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulser" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Kombiner" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereo-bredde" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Rate" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Prøver" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Varighed" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Kombiner Impulsresponser" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Første Kerne" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Anden Kerne" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Udgang Filnavn" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Kombineret Kernenavn" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Import Impulser" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Søg" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Søg Impulsfiler" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Impulsfiler liste" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Standard" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Afskæring" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Foder" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Omgåelse" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Stum" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlængde" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Opsporing" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Bred" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Opdeling" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 Opdeling" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frekvens 1 Opdeling" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 Top" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frekvens 2 Top" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Gain" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frekvens 1 Gain" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 Niveau" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frekvens 2 Niveau" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Top Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frekvens 2 Top Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Lakshed" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detektet" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Reduktion" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 #, fuzzy msgid "Delay" msgstr "Pre Forsinkelse" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inverter Fase" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlængde" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Reduktion" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Reduktion" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bånd" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Sidekæde Venstre" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Sidekæde Højre" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Opdel kanaler" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Flad Respons" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Beregn Frekvenser" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Bånd" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Import Forudindstilling" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Import Forudindstilling" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Hældning" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Bredde" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Ceil" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Ceil Værdi" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Båndtilstand" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Ekstern" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Adgang" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Beskrivelse" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Fjern denne modelfil" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Lav Hylde" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Høj Hylde" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Klokke" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bånd Omgåelse" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Indhak" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonans" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Lavpas" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Bånd 1 Max Reduktion" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Alle Pas" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Båndtilstand" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 #, fuzzy msgid "Filter" msgstr "Filterlængde" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Frigøringstid" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frekvens 2 Top" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Nustil historie" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Oversampling" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Tøve" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm Tynd" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Bred" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Hale" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Duck" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Tynd" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Bred" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp Hale" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Duck" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Linje Tynd" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Linje Bred" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Linje Hale" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Linje Duck" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ingen" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Halv x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Halv x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Halv x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Halv x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Halv x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Halv x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Halv x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Halv x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Halv x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Halv x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Fuld x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Fuld x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Fuld x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Fuld x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Fuld x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Fuld x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Fuld x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Fuld x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Fuld x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Fuld x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC PræAmp" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Sidekæde Forforstærkning" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Boost" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereoforbindelse" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Ekstern Sidekæde" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Ekstern Sidekæde Kilde" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Auto-Nivellering" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Auto-Nivelleringsangreb" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Auto-Nivelleringsudløse" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Auto-Nivellering Knæ" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Gain Venstre" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Gain Højre" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Sidekæde Venstre" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Sidekæde Højre" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Flad" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT Størrelse" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Udgang Volume" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Sidekæde Boost" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Pink BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Pinkt MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Brun BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Brun MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Driftstilstand" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klassik" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderne" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Inverter Fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Båndsliste" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Bånd 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Bånd 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Bånd 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Bånd 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Bånd 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Bånd 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Bånd 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Bånd 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Bånd start" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Bånd Slut" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Bånd Kompressionstilstand" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Bånd Omgåelse" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Bånd Sidekæde Valgmuligheder" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereotilstand" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Lavskåret Filter" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Lavskåret Filter Frekvens" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Højskåret Filter" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Højskåret Filter Frekvens" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "PræAmp" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Bånd Gain" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Bånd Konvolut" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Bånd Kurve" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Bånd 1 Max Reduktion" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Generelt" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Brug Standard Input" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Brugerdefineret Input-Enhed" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Brug Standard Udgang" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Brugerdefineret Udgangs-Enhed" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Serveroplysninger" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Overskriftsversion" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Bibloteksversion" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Prøvetagningsfrekvens" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Minimumsantal" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Maksimumantal" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Standard Antal" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Forindstil Autolæsning" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Udgangsenheder" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Udgangsforindstillinger" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Skab Associering" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Tilføj Autolæsning Udgangsforindstilling" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Udgangsautolæsingsforindstillinger Liste" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Indgangsenheder" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Indgangsforindstillinger" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Tilføj Autolæsning Indgangsforindstilling" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Indgangsautolæsingsforindstillinger Liste" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduler" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Liste over moduler" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Klienter" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Liste over klienter" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Test-Signal" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Tilstand" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktiveret" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanaler" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Begge" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Begge Kanaler" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Bølgeform" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusbølge" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Hvid Støj" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frekvens Rækkevidde" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Skjul Vinduet." #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filterlængde" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitoner" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Hanvisning" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Hanvisning" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Fjern denne modelfil" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Fjern denne modelfil" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Liste over Anvendte Plugins" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "Easyeffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Søgeplugin" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Plugins-liste" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Generelt" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Tjeneste" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 #, fuzzy msgid "Shutdown on Window Closing" msgstr "Luk helt ved vinduelukning" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Lyd" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Behandle Alle Udgange" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Behandle Alle Indgange" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Brug Kubisk Volumen" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Ekstern" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Opdelt Frekvens 1" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Brug Mørk-tilstand" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Eksperimentelt" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Skjul Vinduet." #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Form" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Bjælke" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linjer" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Point" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Højde" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Linje Bredde" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Fil" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Vis Bjælkerammer" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Farve" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Linjer og Bjælker" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Etiketter på akserne" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Frekvens Rækkevidde" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Indlæs" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Gem nuværende indstillinger til denne forindstillingsfil" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Gem nuværende indstillinger til denne forindstillingsfil" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Fjern denne forindstillingsfil" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Søg Udgangeforindstillinger" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Import Model" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Ny Indgangsforindstillingsnavn" #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Opret Forindstilling" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Søg Indgangsforindstillinger" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Liste Af Indgangsforindstillinger" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Søg Udgangeforindstillinger" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Liste af Udgangeforindstillinger" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Højfrekvensdæmpning" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Størrelse af Værelse" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Lille" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mellem" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Stor" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Stor/Glat" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Eksperimentelt" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Diffusion" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre Forsinkelse" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Nedbrydningstime" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Bas Snit" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Diskant Snit" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Stemning" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Tomme Vægge" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Værelse" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Stor Tom Hal" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Large Optaget Hal" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Import Model" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Opsporing" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modeller" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Standard Model" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Liste over RNNoise-Modeller" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktive Modeller" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Standard RNNoise-Model" #: data/ui/shortcuts.ui:11 #, fuzzy msgid "Overview" msgstr "Tjeneste" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 #, fuzzy msgid "Close the Window" msgstr "Skjul Vinduet." #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "_Om EasyEffects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Serveroplysninger" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 #, fuzzy msgid "Start" msgstr "Bånd start" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Reduktion" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "F2 Niveau" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Indgangsbalance" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Softclip-niveau" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Stereo-matrix" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Stereo-Standard)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo til Midtside)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Midtside til Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono Venstre Kanal)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono Højre Kanal)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono sum L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Stereo Vend Kanaler)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereotilstand" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Side Niveau" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Side Balance" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Mellem-Niveau" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Mellem-Panorama" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Udgangsbalance" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Forsinkelse L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Forsinkelse Venstre Højre" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Stereo-Base" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Stereo-Fase" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "Gating" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Kanaler" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Afslut EasyEffects. Nyttigt når man kører i servicetilstand." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Nustli EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Skjul Vinduet." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Global Omgåelse. 1 for at aktivere, 2 for at deaktivere og 3 for at få status" #: src/application.cpp:615 msgid "Show available presets." msgstr "Vis tilgængelige forindstillinger." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Indlæs en forindstilling. Eksempelvis: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Udgang" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Indgang" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Impulsfiler liste" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Import Impulsfil" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Åben" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Impulsrespons" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Indlæs Impuls" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Fjern Impuls" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Impulsfiler liste" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Kunne Ikke Indlæse Impulsfilen" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Optagere" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Spillere" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "Easyeffects" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Import APO Forindstillingsfil" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO-Forindstillinger" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Import APO Forindstillingsfil" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO-Forindstillinger" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Import APO Forindstillingsfil" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Indgangsforindstillinger" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Fjern Autoindlæst Forudindstilling" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Udgangsenhed" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Fjern" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Udgangsenhed" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Tilføj" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Import Forudindstilling" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Liste over Blokerede Applikationer" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Ny Indgangsforindstillingsnavn" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Liste Af Indgangsforindstillinger" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Import Forudindstilling" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Import Modelfil" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise-modeller" #: src/tags_plugin_name.cpp:39 #, fuzzy msgid "Bass Enhancer" msgstr "Balance" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Hørestyrke" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 #, fuzzy msgid "Echo Canceller" msgstr "Annuller" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Udgangsenhed" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 #, fuzzy msgid "Maximizer" msgstr "Maksimum" #: src/tags_plugin_name.cpp:58 #, fuzzy msgid "Multiband Compressor" msgstr "Kompressor" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 #, fuzzy msgid "Reverberation" msgstr "Serveroplysninger" #: src/tags_plugin_name.cpp:62 #, fuzzy msgid "Noise Reduction" msgstr "Reduktion" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 #, fuzzy msgid "Stereo Tools" msgstr "Stereotilstand" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Bruger" #~ msgid "Ceiling" #~ msgstr "Loft" #~ msgid "\"Presets\"" #~ msgstr "\"Forindstillinger\"" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Import Forudindstilling" #~ msgid "Low-Cut Filter" #~ msgstr "Lavskåret Filter" #~ msgid "High-Cut Filter" #~ msgstr "Højskåret Filter" #~ msgid "Uniform" #~ msgstr "Ensartet" #~ msgid "New Output Preset Name" #~ msgstr "Ny Udgangsforindstillingsnavn" #~ msgid "infinity" #~ msgstr "uendelighed" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Forhold" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Grænseværdi" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Lavpas" #, fuzzy #~ msgid "High-pass" #~ msgstr "Højpas" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Lavpas" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Lavpas" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Lavpas" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Højpas" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Højpas" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Højpas" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Båndpas" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Båndpas" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Båndpas" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Båndafvise" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Båndafvise" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Båndafvise" #~ msgid "Inertia" #~ msgstr "Inerti" #~ msgid "Band Type" #~ msgstr "Båndtype" #~ msgid "Band Mode" #~ msgstr "Båndtilstand" #~ msgid "Band Slope" #~ msgstr "Båndhældning" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Hørestyrke" #, fuzzy #~ msgid "High Speed" #~ msgstr "Høj Hylde" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvalitet" #, fuzzy #~ msgid "Formant" #~ msgstr "Formater" #, fuzzy #~ msgid "Preserved" #~ msgstr "Forindstilling" #, fuzzy #~ msgid "Crisp" #~ msgstr "Sprødhed" #, fuzzy #~ msgid "Detector" #~ msgstr "Opsporing" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Cent" #~ msgid "Octaves" #~ msgstr "Oktaver" #~ msgid "_Manual" #~ msgstr "_Manuel" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Nustli EasyEffects." #~ msgid "High Pass" #~ msgstr "Højpas" #~ msgid "Low Pass" #~ msgstr "Lavpas" #~ msgid "Cancel" #~ msgstr "Annuller" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Forforstærkning" #~ msgid "Frame Size" #~ msgstr "Rammestørrelse" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Lavpas" #, fuzzy #~ msgid " Uniform" #~ msgstr "Ensartet" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pre Forsinkelse" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Højre Kanal" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "TørNiveau" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "TørNiveau" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Vådniveau" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Vådniveau" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Fast Fourier Transform Størrelse" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Lydeffekter for PipeWire applikationer" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reduktion" #~ msgid "Load APO Preset" #~ msgstr "Indlæs APO-Forindstilling" #~ msgid "EasyEffects" #~ msgstr "Easyeffects" #~ msgid "Output Presets: " #~ msgstr "Udgangsforindstillinger:" #~ msgid "Input Presets: " #~ msgstr "Indgangsforindstillinger:" #~ msgid "Split Mode" #~ msgstr "Opdelt Tilstand" #~ msgid "Split 1/2" #~ msgstr "Opdel 1/2" #~ msgid "Split 2/3" #~ msgstr "Opdel 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Opdel Frekvens 2" #~ msgid "Split 3/4" #~ msgstr "Opdelt 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Opdel Frekvens 3" #~ msgid "Sub Band" #~ msgstr "Underbånd" #~ msgid "Band 1 Bypass" #~ msgstr "Bånd 1 Omgåelse" #~ msgid "Band 1 Solo" #~ msgstr "Bånd 1 Solo" #~ msgid "Band 1 Detection" #~ msgstr "Bånd 1 Opsporing" #~ msgid "Band 1 Attack" #~ msgstr "Bånd 1 Angreb" #~ msgid "Band 1 Release" #~ msgstr "Bånd 1 Frigivelse" #~ msgid "Band 1 Threshold" #~ msgstr "Bånd 1 Grænseværdi" #~ msgid "Band 1 Ratio" #~ msgstr "Bånd 1 Forhold" #~ msgid "Band 1 Knee" #~ msgstr "Bånd 1 Knæ" #~ msgid "Band 1 Makeup" #~ msgstr "Bånd 1 Makeup" #~ msgid "Max Reduction" #~ msgstr "Max Reduktion" #~ msgid "Low Band" #~ msgstr "Lavbånd" #~ msgid "Band 2 Bypass" #~ msgstr "Bånd 2 Omgåelse" #~ msgid "Band 2 Solo" #~ msgstr "Bånd 2 Solo" #~ msgid "Band 2 Detection" #~ msgstr "Bånd 2 Opsporing" #~ msgid "Band 2 Attack" #~ msgstr "Bånd 2 Angreb" #~ msgid "Band 2 Release" #~ msgstr "Bånd 2 Frigivelse" #~ msgid "Band 2 Threshold" #~ msgstr "Bånd 2 Grænseværdi" #~ msgid "Band 2 Ratio" #~ msgstr "Bånd 2 Forhold" #~ msgid "Band 2 Knee" #~ msgstr "Bånd 2 Knæ" #~ msgid "Band 2 Makeup" #~ msgstr "Bånd 2 Makeup" #~ msgid "Band 2 Max Reduction" #~ msgstr "Bånd 2 Max Reduktion" #~ msgid "Mid Band" #~ msgstr "Mellembånd" #~ msgid "Band 3 Bypass" #~ msgstr "Bånd 3 Omgåelse" #~ msgid "Band 3 Solo" #~ msgstr "Bånd 3 Solo" #~ msgid "Band 3 Detection" #~ msgstr "Bånd 3 Opsporing" #~ msgid "Band 3 Attack" #~ msgstr "Bånd 3 Angreb" #~ msgid "Band 3 Release" #~ msgstr "Bånd 3 Frigivelse" #~ msgid "Band 3 Threshold" #~ msgstr "Bånd 3 Grænseværdi" #~ msgid "Band 3 Ratio" #~ msgstr "Bånd 3 Forhold" #~ msgid "Band 3 Knee" #~ msgstr "Bånd 3 Knæ" #~ msgid "Band 3 Makeup" #~ msgstr "Bånd 3 Makeup" #~ msgid "Band 3 Max Reduction" #~ msgstr "Bånd 3 Max Reduktion" #~ msgid "High Band" #~ msgstr "Højbånd" #~ msgid "Band 4 Bypass" #~ msgstr "Bånd 4 Omgåelse" #~ msgid "Band 4 Solo" #~ msgstr "Bånd 4 Solo" #~ msgid "Band 4 Detection" #~ msgstr "Bånd 4 Opsporing" #~ msgid "Band 4 Attack" #~ msgstr "Bånd 4 Angreb" #~ msgid "Band 4 Release" #~ msgstr "Bånd 4 Frigivelse" #~ msgid "Band 4 Threshold" #~ msgstr "Bånd 4 Grænseværdi" #~ msgid "Band 4 Ratio" #~ msgstr "Bånd 4 Forhold" #~ msgid "Band 4 Knee" #~ msgstr "Bånd 4 Knæ" #~ msgid "Band 4 Makeup" #~ msgstr "Bånd 4 Makeup" #~ msgid "Band 4 Max Reduction" #~ msgstr "Bånd 4 Max Reduktion" #~ msgid "Wet Amount" #~ msgstr "Vådmængde" #~ msgid "Dry Amount" #~ msgstr "Tørmængde" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects er en advanceret lydmanipuleringsværktøj. Det inkluderer en " #~ "equalizer, begrænser, kompressor og et efterklangsværktøj, for blot at " #~ "nævne nogle få. For at supplere til dette er der også en indbygget " #~ "spektrumanalysator." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects er efterfølgeren til PulseEffects. EasyEffects understøtter " #~ "kun PipeWires lydserver. PulseAudio brugere bør i stedet bruge " #~ "PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Da EasyEffects bruger PipeWires standard lydserver, vil den virke med de " #~ "fleste, hvis ikke alle, progammer du bruger." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Ud over manipulering af lydudgange, er EasyEffects i stand til at anvende " #~ "effekter på en input-enhed, f.eks. en mikrofon. Dette er f.eks. nyttigt i " #~ "lydoptagelse, men det virker også godt under samtaler." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Når EasyEffects startes, husker den automatisk den konfiguration, der " #~ "blev brugt i sidste session. Det er også muligt at gemme alle nuværende " #~ "indstillinger som profiler." #~ msgid "The main page showing two audio output apps" #~ msgstr "Hovedsiden viser to lydoutput apps" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "Basforstærkersiden, der viser lydkontroller" #~ msgid "The convolver page showing audio controls" #~ msgstr "Convolver-siden, der viser lydkontrolelementer" #~ msgid "This release adds the following features:" #~ msgstr "Denne udgivelse tilføjer følgende funktioner:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bånd 1" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Der er en ny indstilling, der giver brugeren mulighed for at vælge en " #~ "inaktivitetstimeout for pipelinen. Når ingen klient spiller" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "til eller optagelse fra vores enheder vil filtrene blive fjernet, når " #~ "timeout er nået. Dette gøres for at sikre" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "vi spilder ikke CPU-kraft på at processerer tavshed." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "Autogain-pluginet giver nu brugeren mulighed for at vælge, hvilken af de " #~ "tre lydstyrker der bruges til at beregne den geometriske" #~ msgid "mean." #~ msgstr "middel." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "Autogain-pluginet tillader nu at indstille den maksimale historik og " #~ "bruger ikke længere `libebur128` histogramtilstand." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Dette bør undgå de tilfælde, hvor den 'Integrerede' lydstyrke bliver " #~ "hængende for evigt i den samme værdi." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "EasyEffects-ikonet er blevet opdateret på en måde, der burde gøre det " #~ "synligt i QT-skriveborde." #~ msgid "Average" #~ msgstr "Gennemsnitlig" #~ msgid "Failed" #~ msgstr "Fejlede" #~ msgid "Use Default" #~ msgstr "Brug Standard" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Fjern denne modelfil" #~ msgid "Import Presets" #~ msgstr "Importer Forindstillinger" #~ msgid "Start Service at Login" #~ msgstr "Start Tjeneste ved Login" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktive Modeller" #~ msgid "Add to Blocklist" #~ msgstr "Tilføj til Blokliste" #~ msgid "Blocklist" #~ msgstr "Blockliste" #~ msgid "Add Plugin" #~ msgstr "Tilføj Plugin" #~ msgid "Speakers" #~ msgstr "Højtalerer" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Plugins" #, fuzzy #~ msgid "enabled" #~ msgstr "Aktiveret" #, fuzzy #~ msgid "disabled" #~ msgstr "Aktiveret" #~ msgid "Format" #~ msgstr "Formater" #~ msgid "Latency" #~ msgstr "Forsinkelse" #~ msgid "Faster" #~ msgstr "Hurtigere" #~ msgid "Preserve Formant" #~ msgstr "Bevar Formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Player Name" #~ msgstr "Spillernavn" #~ msgid "Show Blocklisted Players" #~ msgstr "Vis Bloklistede Spillere" #~ msgid "RLC (BT)" #~ msgstr "BLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "7bit" #~ msgstr "7bit" #~ msgid "8bit" #~ msgstr "8bit" #~ msgid "11bit" #~ msgstr "11bit" #~ msgid "12bit" #~ msgstr "12bit" #~ msgid "15bit" #~ msgstr "15bit" #~ msgid "16bit" #~ msgstr "16bit" #~ msgid "23bit" #~ msgstr "23bit" #~ msgid "24bit" #~ msgstr "24bit" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Output Channel" #~ msgstr "Udgangskanal" #~ msgid "Channel" #~ msgstr "Kanal" #~ msgid "Value" #~ msgstr "Værdi" easyeffects-7.1.7/po/de.po000066400000000000000000003144311463533416400154140ustar00rootroot00000000000000# German translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the EasyEffects package. # Bleuzen , 2017. # msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-01-01 21:04+0000\n" "Last-Translator: nova madeline <493ov2lof@mozmail.com>\n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.4-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizer, Kompressor und andere Audioeffekte" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Audio Effekte für PipeWire Anwendungen" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "Limiter;Kompressor;Hall;Equalizer;Autovolumen;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Anwendung aktivieren/deaktivieren" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Aktiviert" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Liste der ausgeschlossenen Anwendungen: Anwendung hinzufügen/entfernen" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Ausschließen" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Anwendung stummschalten" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Lautstärke der Anwendung anpassen" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Anwendungs-Lautstärke" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Hilfe" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Einstellungen zurücksetzen" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Einstellungen" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Tastenkürzel" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Über Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Beenden" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Voreinstellungen" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Voreinstellungs-Menü" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Globale Umleitung aktivieren/deaktivieren" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Globale Umleitung" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Hauptmenü" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects Fenster" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Anwendungs-Liste" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Leere Liste" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Keine Audio-Anwendungen verfügbar" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Steuerung" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Ziel" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Ruhe" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Gesamter Verlauf" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referenz" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentan" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kurzzeitig" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integriert" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Geometrisches Mittel (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Geometrisches Mittel (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Geometrisches Mittel (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Geometrisches Mittel (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Verlauf löschen" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Zurücksetzen" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Lautstärke" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Umfang" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Ausgangsverstärkung" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Eingabe" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Eingangsverstärkungs-Plugin" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Ausgang" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Ausgangsverstärkungs-Plugin" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Gerät" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Name" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Voreinstellung" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "automatisch geladene Voreinstellung entfernen" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Zuhören" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Oberwellen mischen" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "Dritte" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "Zweite" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Betrag" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Obertöne" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Bereich" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Untere Grenze" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Unterer Grenzwert" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Link" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Anwendungen" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Zu ausgeschlossenen Anwendungen hinzufügen" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Liste der ausgeschlossenen Anwendungen" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Ausgeschlossene Anwendungen anzeigen" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Natives Fenster anzeigen" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompressor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Abwärts" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Aufwärts" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Boosten" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Kompressionsmodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Verstärkungsschwelle" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Verstärkung" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ansprechzeit" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Zeit" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Schwelle" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Ansprechzeit" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Anprech-Schwelle" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Freigabe" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Abklingzeit" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Abkling-Schwelle" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Verhältnis" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Übergang" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Hebung" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Trockenheit" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Feuchtigkeit" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Stereo Modus" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Quelle" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Mitte" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Seite" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Links" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Rechts" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Sidechain-Quelle" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Links/Rechts" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Rechts/Links" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Mitte/Seite" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Seite/Mitte" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Geteilte Stereo Quelle" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Hochpunkt" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Tiefpassfilter" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Einfacher gleitender Mittelwert" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Sidechain-Modus" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Sidechain zuhören" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Typ" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Vorsteuerung" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Feed-back" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Extern" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Sidechain-Typ" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Eingabegerät" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Vorverstärkung" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reaktivität" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Ausblick" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Sidechain-Filter" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Hochpass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frequenz" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Aus" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Hochpassfilter-Modus" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Hochpassfilter-Frequenz" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Tiefpass" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Tiefpassfilter-Modus" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Verstärkung" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Hüllkurve" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Linker Kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Rechter Kanal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulse" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Kombinieren" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereo-Breite" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "logarithmische Skala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Automatische Verstärkungsregelung" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Rate" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Probenahme" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Dauer" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Impulsantworten kombinieren" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Erster Kernel" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Zweiter Kernel" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Name der Ausgabedatei" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Kombinierter Kernelname" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Impuls importieren" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Suche" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Impulsdatei suchen" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Impulsfilter-Liste" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Standard" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Abgrenzung" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Speisung" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Umleiten" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Stummschalten" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Dämpfungslimit" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 #, fuzzy msgid "Maximum ERB Processing threshold" msgstr "Maximale ERB Verarbeitungsschwelle" #: data/ui/deepfilternet.ui:112 #, fuzzy msgid "Maximum DF Processing Threshold" msgstr "Maximale DF-Verarbeitungsschwelle" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Post Filter Beta" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Erkennung" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Breit" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Teilen" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 Teilen" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Teilfrequenz 1" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 Peak" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frequenz 2 Peak" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Verstärkung" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frequenz 1 Verstärkung" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 Level" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frequenz 2 Level" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Peak Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frequenz 2 Peak Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Nachgiebigkeit" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Erkannt" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Senkung" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Verzögerung" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Phase umkehren" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlänge" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Restechounterdrückung" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Nahechounterdrückung" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Ausgeschlossene Anwendungen" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Anwendung aktivieren/deaktivieren" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bereiche" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Tonhöhe links" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Tonhöhe Rechts" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Kanäle trennen" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Flacher Frequenzgang" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Frequenzen berechnen" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Bänder sortieren" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Preset importieren" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Voreinstellung exportieren" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Steigung" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualität" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Breite" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "obere Grenze" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Deckenwert" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Expander" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Expander-Modus" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Intern" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Zugriff" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Beschreibung" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "diese Modell-Datei entfernen" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Tiefen-Kuhschwanzfilter" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Höhen-Kuhschwanzfilter" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Glocke" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Band Umleitung" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Badewannenfilter" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonanz" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Tiefpass" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Bandreduktion" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Allpass" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Equalizer" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Gate" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Gebiet" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Hysterese" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Gemischt" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Ausklingzeit" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frequenz 2 Peak" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Verlauf löschen" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Überabtastung" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Breit" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Breit" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Line Thin" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Line Wide" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Keine" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Halb x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Halb x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Halb x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Halb x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Halb x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Halb x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Halb x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Halb x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Halb x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Halb x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Voll x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Voll x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Voll x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Voll x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Voll x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Voll x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Voll x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Voll x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Voll x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Voll x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC Vorverstärker" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Sidechain Vorverstärkung" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Boost" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereoverbindung" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Externe Sidechain" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Externe Sidechain-Quelle" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Auto Leveling" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Auto Leveling Attack" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Auto Leveling Release" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Auto Leveling Knee" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Verstärkung Links" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Verstärkung Rechts" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Sidechain Links" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Sidechain Rechts" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Flach" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT-Größe" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Ausgangslautstärke" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Kanalzuordnung" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Sidechain Boost" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Betriebsmodus" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klassisch" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Modern" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Phase umkehren" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Band-Liste" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Band 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Band 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Band 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Band 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Band 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Band 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Band Beginn" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Band Ende" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Band Kompressionsmodus" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Band Umleitung" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Band Sidechain Einstellungen" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereo Modus" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Hochpass-Filter" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Tiefpassfilter-Frequenz" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Tiefpass-Filter" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Tiefpassfilter-Frequenz" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Vorverstärker" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Bereichs-Verstärkung" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Band Bereich" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Band-Kurve" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Bandreduktion" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Allgemein" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Geräteverwaltung" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Standardeingang nutzen" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "benutzerdefiniertes Eingabegerät" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Standardausgang nutzen" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "benutzerdefiniertes Ausgabegerät" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Serverinformation" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Header-Version" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Bibliotheksversion" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Abtastrate" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Minimales Quantum" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Maximales Quantum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Standard Quantum" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "automatisch geladene Voreinstellungen" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Ausgabegeräte" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Ausgabe-Voreinstellungen" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Assoziation erstellen" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "automatische Ausgabe-Voreinstellung hinzufügen" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "automatisch geladene Ausgabe-Voreinstellungen" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Eingabegeräte" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Eingabe-Voreinstellungen" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "automatische Eingangs-Voreinstellung hinzufügen" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "automatisch geladene Eingang-Voreinstellungen" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Module" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Modulliste" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clienten" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Client-Liste" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Testsignal" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Status" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktiviert" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Eigenschaften" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanäle" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Beide" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Beide Kanäle" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Schwingungsverlauf" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinuswelle" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Weißes Rauschen" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frequenzspanne" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Fenster" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filterlänge" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tonhöhe" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Halbtöne" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Referenz" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Referenz" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Diesen Effekt entfernen" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Diesen Effekt aktivieren/deaktivieren" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Position dieses Effekts ändern" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Effekt hinzufügen" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Diesen Effekt entfernen" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Benutzte Plugins" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Keine Effekte" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Audio Stream nicht verändert" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Plugin suchen" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Pluginliste" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Allgemein" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Dienst" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Dienst beim Systemstart starten" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Beim Schließen des Fensters beenden" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Alle Ausgänge verarbeiten" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Alle Eingänge verarbeiten" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Streams von Monitor-Geräten ignorieren" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Verwende kubische Lautstärke" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Timeout durch Inaktivität" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Übersetzungen wurden aktualisiert" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Teilfrequenz 1" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Benutze dunkles Thema" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Menüs beim Rausklicken schließen" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimentell" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Natives Fenster anzeigen" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Form" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Balken" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linien" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Punkte" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Punkte" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Höhe" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Linienbreite" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Ausfüllen" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Balkenbegrenzung anzeigen" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Abgerundete Ecken" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Farbe" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Linien und Leisten" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Achsentitel" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Frequenzspanne" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maximum" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Laden" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Aktuelle Einstellungen in dieser Preset-Datei speichern" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Aktuelle Einstellungen in dieser Preset-Datei speichern" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Diese Preset-Datei entfernen" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Trocken" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Ausgabe-Preset suchen" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Modell importieren" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Neuer Eingabe-Presetname" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Eine neue Voreinstellung erstellen" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Eingabe-Preset suchen" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Eingabe-Voreinstellungen" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Ausgabe-Preset suchen" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Liste der Ausgabe-Voreinstellungen" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Hochfrequenz-Dämpfung" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Raumgröße" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Klein" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mittel" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Groß" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Groß/sanft" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimentell" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Verbreitung" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Vorverzögerung" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Abklingzeit" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Bassschnitt" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Höhenschnitt" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Atmosphäre" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Leere Wände" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Raum" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Große leere Halle" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Große besetzte Halle" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Modell importieren" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Spracherkennung" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modelle" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Standard-Modell" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "RNNoise-Modell Liste" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Modell nicht geladen" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktives Modell" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Standard RNNoise-Modell" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Übersicht" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Hilfe anzeigen" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Vollbildschirm/Vom Vollbildschirm wiederherstellen" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Fenster schließen" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Easy Effects beenden" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Entrauschen" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Automatische Glättungsregelung" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Enthallung" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Wahrscheinlichkeit der Sprachaktivität" #: data/ui/speex.ui:95 msgid "Start" msgstr "Beginn" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Fortsetzen" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Rauschunterdrückung" #: data/ui/speex.ui:145 msgid "Level" msgstr "Stufe" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Eingangsverstärkung" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Softclip-Stufe" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Stereo-Matrix" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Stereo Standard)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo zu Mittelseite)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Mittelseite zu Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Linker Monokanal)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Rechter Monokanal)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Monosumme L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Stereo Kanäle tauschen)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereo Modus" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Seitenebene" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Seitenausgleich" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Mittlere Ebene" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Mittleres Panorama" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Ausgabe-Balance" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Verzögerung L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Verzögerung L/R" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Stereo Basis" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Stereo Phase" #: src/app_info.cpp:100 msgid "Running" msgstr "läuft" #: src/app_info.cpp:102 msgid "Suspended" msgstr "pausiert" #: src/app_info.cpp:104 msgid "Idle" msgstr "Untätig" #: src/app_info.cpp:106 msgid "Creating" msgstr "Erstellen" #: src/app_info.cpp:108 msgid "Error" msgstr "Fehler" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Unbekannt" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "Kanäle" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Easy Effects beenden. Nützlich bei der Ausführung im Dienstmodus." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Easy Effects zurücksetzen." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Fenster verstecken." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Globale Umleitung. 1 zum Aktivieren, 2 zum Deaktivieren und 3 zum Erhalten " "des Status" #: src/application.cpp:615 msgid "Show available presets." msgstr "Verfügbare Voreinstellungen anzeigen." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Lade ein Preset. Beispiel: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Ausgang" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Eingang" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Die Datei ist nicht ordnungsgemäß" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" "Die Impulsdatei ist möglicherweise beschädigt oder wird nicht unterstützt" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Es werden nur Stereo-Impulsdateien unterstützt" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Impulsdatei nicht importiert" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Impulsdatei importieren" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Öffnen" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Impulsantwort" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Impuls laden" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Impuls entfernen" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Keine Impulsdatei geladen" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Die Impulsdatei konnte nicht geladen werden" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Rekorder" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Spieler" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effekte" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "APO Preset-Datei importieren" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO Voreinstellungen" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "APO Preset-Datei importieren" #: src/equalizer_ui.cpp:625 #, fuzzy msgid "Save" msgstr "Speichern?" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO Voreinstellungen" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ-Voreinstellungsdatei importieren" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ-Voreinstellungen" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Voreinstellung automatisch laden" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Ausgabegerät" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Entfernen" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Ausgabegerät" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Hinzufügen" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Preset importieren" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Liste der ausgeschlossenen Anwendungen" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 #, fuzzy msgid "Save?" msgstr "Speichern?" #: src/presets_menu.cpp:417 #, fuzzy msgid "Delete?" msgstr "Löschen?" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Neuer Eingabe-Presetname" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Eingabe-Voreinstellungen" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Preset importieren" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Ausgewähltes Modell wurde nicht geladen. Sein Format wird möglicherweise " "nicht unterstützt. Rückkehr zum Standardmodell." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Modell-Datei importieren" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise-Modelle" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Bassverstärker" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Bass Lautheit" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Crystalizer" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Echounterdrückung" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Equalizer" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Exciter" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Ausgabegerät" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limiter" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximierer" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Multiband-Kompressor" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Multiband Gate" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Nachhall" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Rauschreduzierung" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Sprachprozessor" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Stereowerkzeuge" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} nicht verfügbar" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Nutze" #~ msgid "Ceiling" #~ msgstr "Grenze" #~ msgid "\"Presets\"" #~ msgstr "\"Voreinstellungen\"" #~ msgid "Import a preset" #~ msgstr "Voreinstellung importieren" #~ msgid "Low-Cut Filter" #~ msgstr "Hochpass-Filter" #~ msgid "High-Cut Filter" #~ msgstr "Tiefpass-Filter" #~ msgid "Uniform" #~ msgstr "Einheitlich" #~ msgid "New Output Preset Name" #~ msgstr "Neuer Ausgabe-Presetname" #~ msgid "infinity" #~ msgstr "unendlich" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Verhältnis" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Schwelle" #~ msgid "Low-pass" #~ msgstr "Tiefpass" #, fuzzy #~ msgid "High-pass" #~ msgstr "Hochpass" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt Tiefpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt Tiefpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt Tiefpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt Hochpass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt Hochpass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt Hochpass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt Bandpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt Bandpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt Bandpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/okt Bandsperre" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/okt Bandsperre" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/okt Bandsperre" #~ msgid "Inertia" #~ msgstr "Trägheit" #~ msgid "Band Type" #~ msgstr "Band Typ" #~ msgid "Band Mode" #~ msgstr "Band Modus" #~ msgid "Band Slope" #~ msgstr "Band Kurve" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Lautstärke" #~ msgid "High Speed" #~ msgstr "Schnell" #~ msgid "High Quality" #~ msgstr "Hohe Qualität" #~ msgid "High Consistency" #~ msgstr "Hohe Konsistenz" #~ msgid "Formant" #~ msgstr "Format" #~ msgid "Shifted" #~ msgstr "Verschoben" #~ msgid "Preserved" #~ msgstr "Beibehalten" #~ msgid "Transients" #~ msgstr "Transient" #~ msgid "Crisp" #~ msgstr "Klar" #~ msgid "Mixed" #~ msgstr "Gemischt" #~ msgid "Smooth" #~ msgstr "Sanft" #~ msgid "Detector" #~ msgstr "Erkennung" #~ msgid "Compound" #~ msgstr "Verbindung" #~ msgid "Percussive" #~ msgstr "Hart" #~ msgid "Soft" #~ msgstr "Weich" #~ msgid "Phase" #~ msgstr "Phase" #~ msgid "Laminar" #~ msgstr "Laminar" #~ msgid "Independent" #~ msgstr "Unabhängig" #~ msgid "Cents" #~ msgstr "Cent" #~ msgid "Octaves" #~ msgstr "Oktaven" #~ msgid "_Manual" #~ msgstr "_Handbuch" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Öffne die Anleitung für Easy Effects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} ist nicht auf dem System installiert" #~ msgid "High Pass" #~ msgstr "Hochpass" #~ msgid "Low Pass" #~ msgstr "Tiefpass" #~ msgid "Cancel" #~ msgstr "Abbrechen" #~ msgid " PreAmplification" #~ msgstr " Vorverstärkung" #~ msgid " Feed-forward" #~ msgstr " Feed-forward" #~ msgid "Frame Size" #~ msgstr "Rahmengröße" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "Globale Umleitung aktivieren/deaktivieren" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Tiefpass" #, fuzzy #~ msgid " Uniform" #~ msgstr "Einheitlich" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Vorverzögerung" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Rechter Kanal" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Trockenheit" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Trockenheit" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Feuchtigkeit" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Feuchtigkeit" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Auflösung der schnellen Fourier-Transformation" #, fuzzy #~ msgid "Suppression" #~ msgstr "Unterdrückungsgrad" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Audioeffekte für PipeWire Anwendungen" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Rauschreduzierung" #~ msgid "Load APO Preset" #~ msgstr "APO Preset laden" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Lautstärke von virtuellen EasyEffects Geräten beim Start zurücksetzen" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Ausgabe-Voreinstellungen: " #~ msgid "Input Presets: " #~ msgstr "Eingabe-Voreinstellungen: " #~ msgid "Split Mode" #~ msgstr "Teilungsmodus" #~ msgid "Split 1/2" #~ msgstr "1/2 Teilen" #~ msgid "Split 2/3" #~ msgstr "2/3 Teilen" #~ msgid "Split Frequency 2" #~ msgstr "Teilfrequenz 2" #~ msgid "Split 3/4" #~ msgstr "3/4 Teilen" #~ msgid "Split Frequency 3" #~ msgstr "Teilfrequenz 3" #~ msgid "Sub Band" #~ msgstr "Subband" #~ msgid "Band 1 Bypass" #~ msgstr "Band 1 Umleitung" #~ msgid "Band 1 Solo" #~ msgstr "Nur Band 1" #~ msgid "Band 1 Detection" #~ msgstr "Band 1 Erkennung" #~ msgid "Band 1 Attack" #~ msgstr "Band 1 Ansprechzeit" #~ msgid "Band 1 Release" #~ msgstr "Band 1 Freigabe" #~ msgid "Band 1 Threshold" #~ msgstr "Band 1 Schwelle" #~ msgid "Band 1 Ratio" #~ msgstr "Band 1 Verhältnis" #~ msgid "Band 1 Knee" #~ msgstr "Band 1 Knie" #~ msgid "Band 1 Makeup" #~ msgstr "Band 1 Hebung" #~ msgid "Max Reduction" #~ msgstr "Senkung" #~ msgid "Low Band" #~ msgstr "Tiefband" #~ msgid "Band 2 Bypass" #~ msgstr "Band 2 Umleitung" #~ msgid "Band 2 Solo" #~ msgstr "Nur Band 2" #~ msgid "Band 2 Detection" #~ msgstr "Band 2 Erkennung" #~ msgid "Band 2 Attack" #~ msgstr "Band 2 Ansprechzeit" #~ msgid "Band 2 Release" #~ msgstr "Band 2 Freigabe" #~ msgid "Band 2 Threshold" #~ msgstr "Band 2 Schwelle" #~ msgid "Band 2 Ratio" #~ msgstr "Band 2 Verhältnis" #~ msgid "Band 2 Knee" #~ msgstr "Band 2 Knie" #~ msgid "Band 2 Makeup" #~ msgstr "Band 2 Hebung" #~ msgid "Band 2 Max Reduction" #~ msgstr "maximale Band 2 Reduktion" #~ msgid "Mid Band" #~ msgstr "Mittelband" #~ msgid "Band 3 Bypass" #~ msgstr "Band 3 Umleitung" #~ msgid "Band 3 Solo" #~ msgstr "Nur Band 3" #~ msgid "Band 3 Detection" #~ msgstr "Band 3 Erkennung" #~ msgid "Band 3 Attack" #~ msgstr "Band 3 Ansprechzeit" #~ msgid "Band 3 Release" #~ msgstr "Band 3 Freigabe" #~ msgid "Band 3 Threshold" #~ msgstr "Band 3 Schwelle" #~ msgid "Band 3 Ratio" #~ msgstr "Band 3 Verhältnis" #~ msgid "Band 3 Knee" #~ msgstr "Band 3 Knie" #~ msgid "Band 3 Makeup" #~ msgstr "Band 3 Hebung" #~ msgid "Band 3 Max Reduction" #~ msgstr "maximale Band 3 Reduktion" #~ msgid "High Band" #~ msgstr "Hochband" #~ msgid "Band 4 Bypass" #~ msgstr "Band 4 Umleitung" #~ msgid "Band 4 Solo" #~ msgstr "Nur Band 4" #~ msgid "Band 4 Detection" #~ msgstr "Band 4 Erkennung" #~ msgid "Band 4 Attack" #~ msgstr "Band 4 Ansprechzeit" #~ msgid "Band 4 Release" #~ msgstr "Band 4 Freigabe" #~ msgid "Band 4 Threshold" #~ msgstr "Band 4 Schwelle" #~ msgid "Band 4 Ratio" #~ msgstr "Band 4 Verhältnis" #~ msgid "Band 4 Knee" #~ msgstr "Band 4 Knie" #~ msgid "Band 4 Makeup" #~ msgstr "Band 4 Hebung" #~ msgid "Band 4 Max Reduction" #~ msgstr "Maximale Band 4 Reduktion" #~ msgid "Wet Amount" #~ msgstr "Feuchtigkeits-Anteil" #~ msgid "Dry Amount" #~ msgstr "Trockenheits-Anteil" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects ist ein fortgeschrittenes Audio-Manipulations-Tool. Es " #~ "enthält einen Equalizer, Limiter, Kompressor, einen Hall und viele " #~ "weitere. Dies wird zudem mit einem eingebauten Spektrumanalysator ergänzt." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects ist der Nachfolger von PulseEffects. EasyEffects unterstützt " #~ "nur den Audioserver von PipeWire. PulseAudio-Nutzer sollte stattdessen " #~ "PulseEffects verwenden." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Da EasyEffects den Standard PulseAudio Sound Server benutzt, funktioniert " #~ "es mit so ziemlich allen Anwendungen. Alle unterstützten Anwendungen " #~ "werden im Hauptfenster angezeigt, wo diese individuell ein-/ausgeschaltet " #~ "werden können." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Neben der Audiomanipulation des Ausgangs kann EasyEffects auch Effekte " #~ "auf Eingabegeräte, z.B. Mikrofone, anwenden. Dies ist sinnvoll für z.B. " #~ "Audioaufnahmen oder VOIP Anwendungen." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Wenn EasyEffects startet, stellt es die Konfiguration der letzten Sitzung " #~ "wieder her. Es ist auch möglich, die aktuellen Einstellungen als Profile " #~ "zu speichern." #~ msgid "The main page showing two audio output apps" #~ msgstr "Die Hauptseite mit zwei Audioausgabe-Apps" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "Die Bassverstärkerseite mit den Audiosteuerelementen" #~ msgid "The convolver page showing audio controls" #~ msgstr "Die Convolverseite mit den Audiosteuerelementen" #~ msgid "This release adds the following features:" #~ msgstr "Dieser Release fügt die folgenden Features hinzu:" #~ msgid "" #~ "When effects are disable to an application we now set its target metadata " #~ "to null. This will allow the media session" #~ msgstr "" #~ "Wenn jetzt Effekte einer Anwendung deaktiviert werden, setzen wir dessen " #~ "Ziel-Metadaten auf null. Dies ermöglicht der Medien Session" #~ msgid "manager" #~ msgstr "Manager" #~ msgid "" #~ "A new configuration option was added. It allows EasyEffects to ignore " #~ "streams whose purpose is to monitor sink" #~ msgstr "" #~ "Es wurde eine neue Einstellungsmöglichkeit hinzugefügt. Diese erlaubt " #~ "EasyEffects überwachende Eingänge zu ignorieren" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr ". Dies sollte einige Probleme in Verbindung mit OBS beheben." #~ msgid "The code that shows the stream sample format has been improved" #~ msgstr "Der Code zum Anzeigen des Stream-Auflösungsformats wurde verbessert" #~ msgid "" #~ "The rnnoise library is now optional. This should help package maintainers " #~ "to build" #~ msgstr "" #~ "Die rnnoise-Bibliothek ist jetzt optional. Dadurch sollten Paket-" #~ "Maintainer einfacher" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "" #~ "Debian Pakete bauen können. Siehe Problem #1000 für weiter Informationen." #~ msgid "" #~ "Our logs now show the source code line where the messages are being " #~ "printed" #~ msgstr "" #~ "In den Logs werden jetzt die Sourcecode-Zeilen angezeigt, welche die " #~ "Nachricht ausgelöst hat" #~ msgid "This release fixes the following bugs:" #~ msgstr "Dieser Release behebt die folgenden Fehler:" #~ msgid "" #~ "The \"enable effects\" checkbox in our window was not being updated when " #~ "third party programs like pavucontrol" #~ msgstr "" #~ "Die \"Effekte aktivieren\" Checkbox im Fenster wurde nicht aktualisiert, " #~ "wenn Programme wie Pavucontrol" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "den Stream von unserem virtuellem Gerät entfernt haben. Dies sollte jetzt " #~ "behoben sein." #~ msgid "" #~ "Fixed a crash that could happen when the maximum autogain history was " #~ "changed." #~ msgstr "" #~ "Ein Absturz-Problem wurde behoben, wenn der Verlauf der automatischen " #~ "Verstärkungsregelung verändert wurde." #~ msgid "Avoid crashes when pw-mididump is running" #~ msgstr "Absturz-Probleme durch pw-mididump wurden behoben" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "Die Benutzer-Oberfläche der Tonhöhe-Erweiterung wurde verbessert" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "" #~ "Unser App-Symbol ist jetzt auch mit QT-basierten Desktops kompatibel" #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "Unser Blocklist-Code berücksichtigt jetzt den `application.id` Tag, " #~ "sofern dieser gesetzt ist" #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "Um Probleme beim Maus-Scrollen zu vermeiden, werden Einträge in der " #~ "Anwendungen-Liste jetzt unter `Spieler` angezeigt" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "Tab ohne Lautstärke-Skala angezeigt. Weitere Details zu dem Problem und " #~ "dessen Lösung kann bei Ticket #1211" #~ msgid "and #1427" #~ msgstr "und #1427 nachgelesen werden" #~ msgid "" #~ "When no application is available for display in the `Players/Recorders` a " #~ "message will be shown to the user" #~ msgstr "" #~ "Wenn keine Anwendungen verfügbar sind, wird in `Spieler` eine Nachricht " #~ "dem Nutzer angezeigt" #~ msgid "Many translation updates" #~ msgstr "Unzählige Übersetzungen aktualisiert" #~ msgid "" #~ "Fixed a bug where EasyEffects crashed when the number of points displayed " #~ "in the spectrum was changed while" #~ msgstr "" #~ "Es wurde ein Fehler behoben, der EasyEffects zum Absturz brachte, wenn " #~ "die Anzahl der angezeigten Punkte im Spektrum geändert wurde, während" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "die Pipeline aktiv und das Spektrum-Widget sichtbar war" #~ msgid "" #~ "The pipeline latency value displayed in our window could be wrong in some " #~ "situations. This was fixed." #~ msgstr "" #~ "Der angezeigte Pipeline-Latenz-Wert war in bestimmten Situationen falsch. " #~ "Dies wurde behoben." #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Es gibt eine neue Einstellung, die es den BenutzerInnen erlaubt, einen " #~ "Timeout nach Inaktivität für den Audioeffekt festzulegen. Wenn kein " #~ "Client spielt" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "oder von einem Geräte aufnimmt, werden die Filter getrennt, nachdem der " #~ "Timeout erreicht ist. Dies wird getan um sicherzustellen," #~ msgid "we do not waste CPU power processing silence." #~ msgstr "" #~ "dass keine CPU-Leistung für das Verarbeiten von Stille verschwendet wird." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "Das Autogain-Plugin erlaubt es dem Benutzer nun auszuwählen, welche der " #~ "drei Lautstärken für die Berechnung der geometrischen Werte verwendet " #~ "werden sollen" #~ msgid "mean." #~ msgstr "gemein." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "Das Autogain-Plugin erlaubt nun die Einstellung des maximalen Verlaufs " #~ "und verwendet nicht mehr den Histogramm-Modus `libebur128`." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Dies sollte verhindern, dass die \"Integrierte\" Lautheit für immer auf " #~ "demselben Wert stehen bleibt." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "Das EasyEffects-Symbol wurde aktualisiert, damit es auf QT-Desktops " #~ "sichtbar ist." #~ msgid "This release fixes the following bug:" #~ msgstr "Diese Version behebt den folgenden Fehler:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "Die Kommandozeilen-Option, welche den globalen `bypass`-Status " #~ "zurückliefert, funktioniert wieder." #~ msgid "This release adds the following feature:" #~ msgstr "Dieser Release fügt die folgenden Features hinzu:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Der Crossfeed-Filter sollte nun besser mit PipeWire's dynamischem Wechsel " #~ "der Latenz klarkommen. Unstetigkeiten in der Lautstärke sollten in diesen " #~ "Situationen nicht mehr auftreten." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Es wurde ein Fehler behoben, der verhinderte, dass Monomikrofone " #~ "ordnungsgemäß mit EasyEffects funktionierten" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Unterstützung für die nächste PipeWire Version '0.3.44'" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Der Autogain-Filter sollte nun besser mit den dynamischen Latenzschaltern " #~ "von PipeWire umgehen. Lautstärke-Sprünge sollten in diesen Situationen " #~ "nicht mehr auftreten." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Wir haben eine Option hinzugefügt, mit der die Lautstärke und die " #~ "Stummschaltung der virtuellen Geräte beim Start von EasyEffects " #~ "zurückgesetzt werden können. Das sollte in den Fällen helfen, in denen " #~ "die Geräte aus unbekannten Gründen vom Audioserver selbst stummgeschaltet " #~ "werden." #~ msgid "Better support for computer suspending." #~ msgstr "Computer in Bereitschaft werden nun besser unterstützt." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Es wurde ein Fehler behohen, der die Anwendung zum Absturz brachte, wenn " #~ "versucht wurde, automatisch ein Profil ohne Voreinstellungen anzulegen." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "Es wurde ein Fehler behoben, der beim Setzen der Equalizer " #~ "Flankensteilheit (Q-Wert) auf `Null`die Anwendung zum Abstürzen brachte." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita wird verwendet in manchen Teilen unseres Fensters und um " #~ "zwischen dunklem und hellem Farbschema umzuschalten." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "Das Einstellungs-Menü wurde auf LibAdwaita-Komponenten umgebaut." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "Der Import von Equalizer APO Vorlagen wurde verbessert, sodass dieses " #~ "nicht mehr nur auf Glocken-Filter, sondern auch auf andere unterstützte " #~ "angewendet werden kann" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "Die `alle Einstellungen zurücksetzen`-Funktion sollte jetzt auch für " #~ "Flatpak funktionieren." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Jetzt gibt es eine Möglichkeit das automatische Verstecken des Menüs zu " #~ "deaktivieren. Dies könnte bei einigen Problemen mit den GTK 4.0 Popover-" #~ "Menüs helfen." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "APO Voreinstellungen parsen ist jetzt robuster dank Komma als " #~ "Tausendertrennzeichen im mittleren Frequenzbereich." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "Die fmt Bibliothek ist eine neue Abhängigkeit; zumindest solange der C++ " #~ "Kompiler dies nicht unterstützt. Dies sollte in den kommenden Jahren der " #~ "Fall sein." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM und GLIBMM sind jetzt keine Abhängigkeiten mehr. Jetzt verwenden " #~ "wir GTK 4.0 direkt." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Jetzt ist es möglich Impulsantworten im Convolver zu kombinieren. Eine " #~ "neue Impuls-Datei wird generiert und sollte in der Impuls-Liste sichtbar " #~ "sein." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "X-Achsen-Anzeige in unseren Graphen verbessert. Jetzt wird die Anzahl der " #~ "Beschriftungen dynamisch an die Fensterbreite angepasst." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "Die Dokumentation wurde um die neuen EasyEffects-Funktionen erweitert. " #~ "PulseEffects-Referenzen wurden entfernt. Ein Button zur Dokumentation " #~ "wurde dem Menü hinzugefügt." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Wenn ein Drehknopf einen Wertebereich außerhalb des möglichen Bereichs " #~ "hat, wird dieser jetzt an die Grenzen angepasst - statt den vorherigen " #~ "Wert zu verwenden." #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "Das Anwengungsfenster speichert sich jetzt den Maximiert-Status und " #~ "stellt diesen beim nächsten Öffnen wieder her." #~ msgid "The `tbb` library is a new dependency" #~ msgstr "Die `tbb`-Bibliothek ist jetzt eine neue Abhängigkeit" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "Die Begrenzer- und Multiband-Kompressor-Plugins können jetzt optional " #~ "eine externe Sidechain verwenden." #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "Der Benutzer kann jetzt im Autogain-Plugin auswählen, welche Loudness als " #~ "Referenz zur Lautstärken-Korrektur verwendet werden soll." #~ msgid "" #~ "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " #~ "Amplification\" parameter." #~ msgstr "" #~ "Das APO-Profile-Import-Feature des Equalizer-Plugins parst jetzt auch den " #~ "\"Pre Amplification\" Parameter." #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "" #~ "Kubische Lautstärke kann jetzt optional in den allgemeinen Einstellungen " #~ "aktiviert werden." #~ msgid "" #~ "PipeWire monitor streams are now excluded and removed from the " #~ "applications list." #~ msgstr "" #~ "PipeWire Monitor-Streams werden jetzt von der Applikaitonsliste " #~ "ausgeschlossen." #~ msgid "Hopefully crashes like the one reported at [1172]( are fixed." #~ msgstr "Hoffentlich sind jetzt Abstürze, wie in [1172] gemeldet, behoben." #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "Ein Absturz durch die Spektrum-Anzeige wurde verindert." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "Pavucontrol wird jetzt nicht mehr in der Liste der Aufnahme-Anwendungen " #~ "auf nicht-englischen Systemen angezeigt." #~ msgid "" #~ "Improved compatibility with WirePlumber. This is needed to run on systems " #~ "that decided to use it instead of the" #~ msgstr "" #~ "Kompatibilität mit WirePlumber verbesser. Dies ist notwendig, um auf " #~ "Systemen zu laufen, die sich dazu entschieden haben, es statt" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "dem mitgelieferten PipeWire-Sitzungsmanager zu verwenden. Weitere " #~ "Informationen bei Fehlerticket [1144](" #~ msgid "" #~ "When trying to add an autoloading profile for a device already in the " #~ "list its target preset will be updated. This way we can change the " #~ "profile preset without having to remove and recreating it." #~ msgstr "" #~ "Die Ziel-Voreinstellung für Geräte in der Liste werden aktualisiert, wenn " #~ "ein Standardprofil hinterlegt wird. So kann die Profil-Voreinstellung " #~ "angepasst werden, ohne das es komplett neu angelegt werden muss." #~ msgid "" #~ "The preset autoloading support implementation was redesigned again. It " #~ "should work on more hardware now. For more information see issue [1051](" #~ msgstr "" #~ "Das Laden von Standard-Voreinstellungen wurde wieder verändert. Jetzt " #~ "sollten mehr Geräte damit funktionieren. Für weitere Informationen siehe " #~ "Ticket [1051](" #~ msgid "" #~ "If the Limiter or the Maximizer are set in the last position of the " #~ "plugin stack, new plugins are added at the second to last position in " #~ "order to prevent hardware damage on eventually high output level." #~ msgstr "" #~ "Wenn der Begrenzer oder Maximierer an der letzten Position der Plugin-" #~ "Kette stehen, werden weitere Plugins an der zweitletzen Position " #~ "hinzugefügt, um eventuelle Schäden an den Geräten durch zu hohe Laustärke " #~ "zu vermeiden." #~ msgid "" #~ "Removing an application from the blocklist, its previous enabled state is " #~ "restored." #~ msgstr "" #~ "Wird eine Anwendung von der Blockliste entfernt, so werden die zuvor " #~ "aktivierten Einstellungen wiederhergestellt." #~ msgid "" #~ "Sometimes when removing imported models from the noise reduction plugin " #~ "the current used model was not properly updated. This should be fixed now." #~ msgstr "" #~ "Manchmal wurde beim Entfernen von importierten Rauschreduzierungs-" #~ "Modellen das aktuelle Modell nicht korrekt gesetzt. Dies sollte nun " #~ "behoben sein." #~ msgid "" #~ "When editing presets files in an external editor, duplicated entries " #~ "won't be shown in our presets menu." #~ msgstr "" #~ "Wenn Voreinstellungs-Datein in einem externen Editor verändert wurden, " #~ "konnten duplizierte Einträge nicht mehr in dem Menü für Voreinstellungen " #~ "angezeigt werden." #~ msgid "Now the blocklist is correctly set when switching presets." #~ msgstr "" #~ "Jetzt wird die Blockliste korrekt gesetzt, wenn Voreinstellungen " #~ "gewechselt werden." #~ msgid "" #~ "Now the status of the global bypass button is correctly updated when " #~ "changing plugin stack." #~ msgstr "" #~ "Jetzt wird der Status der Knopfes für die globalen Umleitung korrekt " #~ "aktualisiert, wenn die Plugin-Liste verändert wird." #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Fehlende Symbole des Systems sollten jetzt nicht mehr in der " #~ "Applikationsinfo-Oberfläche angezeigt werden" #~ msgid "" #~ "Some icons not showing in Plasma DE with Breeze icon theme should appear " #~ "now." #~ msgstr "" #~ "Manche Symbole, die auf der Plasma-Desktopoberfläche gefehlt haben, " #~ "sollten jetzt wieder angezeigt werden." #~ msgid "Updated Chinese translation." #~ msgstr "Die chinesische Übersetzung wurde aktualisiert." #~ msgid "Updated Italian translation." #~ msgstr "Die italienische Übersetzung wurde aktualisiert." #~ msgid "Added support for the compressor parameter `Boost Amount`" #~ msgstr "Der Kompressor-Parameter `Boost Amount`wird jetzt unterstützt" #~ msgid "" #~ "The multiband compressor plugin now uses the stereo multiband compressor " #~ "plugin from Linux Studio Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Das Multiband-Kompressor Plugin verwendet jetzt das Stereo Multiband-" #~ "Kompressor Plugin von Linux Studio anstatt des Plugins von Calf Studio." #~ msgid "" #~ "The limiter plugin now uses the stereo limiter plugin from Linux Studio " #~ "Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Das Begrenzer Plugin verwendet jetzt das Begrenzer Plugin von Linux " #~ "Studio Plugins statt das von Calf Studio." #~ msgid "" #~ "LV2 filters now are spawned in PipeWire graph only when loaded the first " #~ "time. Once loaded, they remain connected until EasyEffects shutdown." #~ msgstr "" #~ "LV2 Filter werden jetzt in der PipeWire nur beim ersten Mal eingehängt. " #~ "Jetzt bleiben diese eingehängt, bis EasyEffects beendet wird." #~ msgid "The echo canceller sampling rate is now properly set." #~ msgstr "Die Abtastrate der Echounterdrückung wird jetzt korrekt gesetzt." #~ msgid "" #~ "The threshold parameter from the deesser plugin is now saved to the " #~ "preset file." #~ msgstr "" #~ "Der Grenz-Parameter des Deesser Plugins wird jetzt in der Voreinstellungs-" #~ "Datei gespeichert." #~ msgid "" #~ "Depending on the input gain or output gain values the corresponding level " #~ "bars could not be aligned." #~ msgstr "" #~ "Die Balkenvisualisierung konnte nicht abhängig von der Eingangs- oder " #~ "Ausgangsverstäkung angepasst werden." #~ msgid "" #~ "When adding more equalizer bands they are set to `Bell` instead of `Off`." #~ msgstr "" #~ "Beim Hinzufügen von Equalizer-Bereichen, werden diese jetzt mit `Glocke` " #~ "statt `Aus` vorbesetzt." #~ msgid "" #~ "Equalizer APO presets loading is now working properly on locales " #~ "different than C." #~ msgstr "" #~ "Laden der Equalizer APO Voreinstellungen funktioniert jetzt auch in " #~ "anderen Sprachen korrekt." #~ msgid "Improved linking management between port filter nodes in PipeWire." #~ msgstr "" #~ "Verbessertes Verknüfungs-Management zwischen Schnittstellenfilter-Knoten " #~ "in PipeWire." #~ msgid "" #~ "The crystalizer plugin signal amplification was too high before. It " #~ "should be within more reasonable levels now." #~ msgstr "" #~ "Die Signalverstärkung des Crystalizer Plugins war zuvor zu hoch. Jetzt " #~ "sollte es mit sinnvolleren Werten vorbelegt sein." #~ msgid "" #~ "Improved the resampler used in the plugins that require one(like the " #~ "rnnoise plugin)" #~ msgstr "" #~ "Der Resampler, der in verschiedenen Plugins (z.B. der " #~ "Rauschunterdrückung) verwendet wird, wurde verbessert" #~ msgid "Setting multiple autoloading presets should be fine now" #~ msgstr "" #~ "Setzen von mehreren Standard-Voreinstellungen sollte jetzt funktionieren" #~ msgid "Transient windows are now properly set for some plugins dialogs" #~ msgstr "Die Dialog-Fenster mancher Plugins werden jetzt korrekt dargestellt" #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "" #~ "Die Anwendung und dessen Repository wurde von PulseEffects zu " #~ "`EasyEffects` umbenannt" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "GStreamer wurde durch PipeWire-Filter ersetzt." #~ msgid "Average" #~ msgstr "Durchschnitt" #~ msgid "Failed" #~ msgstr "Gescheitert" #~ msgid "Use Default" #~ msgstr "Standard verwenden" #~ msgid "Remove this plugin" #~ msgstr "Dieses Plugin entfernen" #~ msgid "Import Presets" #~ msgstr "Presets importieren" #~ msgid "Start Service at Login" #~ msgstr "Dienst beim Login starten" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktives Modell" #~ msgid "Add to Blocklist" #~ msgstr "Zur Sperrliste hinzufügen" #~ msgid "Blocklist" #~ msgstr "Sperrliste" #~ msgid "Add Plugin" #~ msgstr "Plugin hinzufügen" #~ msgid "Speakers" #~ msgstr "Lautsprecher" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Plugins" #, fuzzy #~ msgid "enabled" #~ msgstr "Aktiviert" #, fuzzy #~ msgid "disabled" #~ msgstr "Aktiviert" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latenz" #~ msgid "idle" #~ msgstr "inaktiv" #~ msgid "Faster" #~ msgstr "Schneller" #~ msgid "Preserve Formant" #~ msgstr "Formant erhalten" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Player Name" #~ msgstr "Spielername" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Ausgangsverstärkung" #~ msgid "Channel" #~ msgstr "Kanal" #, fuzzy #~ msgid "Value" #~ msgstr "Boden" #~ msgid "Output Effects" #~ msgstr "Ausgabeeffekte" #~ msgid "Settings" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "Documentation" #~ msgstr "Dauer" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Testsignal" #~ msgid "Signal" #~ msgstr "Signal" #~ msgid "Show Spectrum" #~ msgstr "Spektrum anzeigen" #~ msgid "Border" #~ msgstr "Grenze" #~ msgid "Spectrum Type" #~ msgstr "Spektrumstyp" #~ msgid "Spectrum Color" #~ msgstr "Spektrumfarbe" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Aktives Modell" #~ msgid "Maximum Gain Reduction" #~ msgstr "Maximale Amplitudenreduktion" #~ msgid "Wet" #~ msgstr "Nass" #~ msgid "S/C Level" #~ msgstr "S/C-Level" #~ msgid "Phase Correlation" #~ msgstr "Phasenkorrelation" #~ msgid "Short Term" #~ msgstr "Kurzfristig" #~ msgid "Id" #~ msgstr "Id" #~ msgid "Run in Background" #~ msgstr "Im Hintergrund ausführen" #~ msgid "ceil" #~ msgstr "Begrenzen" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Setze die Lautstärke und schalte Effekte ein/aus" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Enthält einen Equalizer mit integrierten Presets" #~ msgid "Input Limiter" #~ msgstr "Eingabe-Limiter" #~ msgid "Calibration" #~ msgstr "Kalibrierung" #~ msgid "Limit" #~ msgstr "Grenze" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Audio-Effekte für Pulseaudio Anwendungen" #~ msgid "using" #~ msgstr "nutzt" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Audioeffekte für Pulseaudio-Anwendungen" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrationsmikrofon" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Dieses Preset automatisch anwenden, wenn das aktuell verwendete Gerät an " #~ "das System angeschlossen ist" #, fuzzy #~ msgid "Version" #~ msgstr "Version" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Rechteck" #~ msgid "Saw" #~ msgstr "Sägezahn" #~ msgid "Triangle" #~ msgstr "Dreieck" #~ msgid "Pink Noise" #~ msgstr "Rosa Rauschen" #~ msgid "Ticks" #~ msgstr "Ticken" #~ msgid "Gaussian Noise" #~ msgstr "Gaußsches Rauschen" #~ msgid "Blue Noise" #~ msgstr "Blaues Rauschen" #~ msgid "Violet Noise" #~ msgstr "Violettes Rauschen" #~ msgid "Volume" #~ msgstr "Lautstärke" #~ msgid "Measure Noise" #~ msgstr "Rauschen messen" #~ msgid "Subtract Noise" #~ msgstr "Rauschen reduzieren" #~ msgid "Extended Filter" #~ msgstr "Erweiterter Filter" #~ msgid "Low" #~ msgstr "Tief" #~ msgid "Moderate" #~ msgstr "Mäßig" #~ msgid "High" #~ msgstr "Hoch" #~ msgid "Delay Agnostic" #~ msgstr "Verzögerungsagnostisch" #~ msgid "Very High" #~ msgstr "Sehr hoch" #~ msgid "Adaptive Digital" #~ msgstr "Adaptiv Digital" #~ msgid "Fixed Digital" #~ msgstr "Fixiert Digital" #~ msgid "Detection Likelihood" #~ msgstr "Erkennungswahrscheinlichkeit" #~ msgid "Very Low" #~ msgstr "Sehr Tief" #~ msgid "Use Custom Color" #~ msgstr "Benutzerdefinierte Farbe benutzen" #~ msgid "Use Gradient" #~ msgstr "Farbverlauf nutzen" #~ msgid "Gradient Color" #~ msgstr "Verlaufsfarbe" #~ msgid "Import Impulse Response File" #~ msgstr "Impulsantwortdatei importieren" #~ msgid "Select the impulse Response File" #~ msgstr "Auswahl der Impulsantwortdatei" #~ msgid "Aggressive Mode" #~ msgstr "Aggressiver Modus" #~ msgid "Before" #~ msgstr "Vorher" #~ msgid "After" #~ msgstr "Nachher" #~ msgid "Loudness Range" #~ msgstr "Lautstärkebereich" #~ msgid "Apply" #~ msgstr "Anwenden" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Standard Samplingrate" #~ msgid "Server" #~ msgstr "Server" #~ msgid "File" #~ msgstr "Datei" #~ msgid "Configuration" #~ msgstr "Konfiguration" #, fuzzy #~ msgid "server" #~ msgstr "Server" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Frequenz zurücksetzen" #, fuzzy #~ msgid "Advanced" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Presets" #~ msgid "Auto Gain" #~ msgstr "Automatische Verstärkungsregelung" #~ msgid "Detect Silence" #~ msgstr "Stille erkennen" #~ msgid "Muted" #~ msgstr "Stumm" #~ msgid "Distant Headphones" #~ msgstr "Entfernte Kopfhörer" #~ msgid "Priority Type" #~ msgstr "Prioritätstyp" #~ msgid "Niceness" #~ msgstr "Qualität" #~ msgid "Priority" #~ msgstr "Priorität" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frequenz" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frequenz" #~ msgid "About" #~ msgstr "Über" #~ msgid "Protocol" #~ msgstr "Protokoll" #~ msgid "Default Sample Format" #~ msgstr "Standard Samplingformat" #~ msgid "Resamplers" #~ msgstr "Resampler" #~ msgid "Pipeline Input" #~ msgstr "Pipeline-Eingang" #~ msgid "Buffer" #~ msgstr "Puffer" #~ msgid "Pipeline Output" #~ msgstr "Pipeline-Ausgang" #~ msgid "Block Size" #~ msgstr "Blockgröße" #~ msgid "Resampler" #~ msgstr "Resampler" #~ msgid "paused" #~ msgstr "Pausiert" #~ msgid "playing" #~ msgstr "Spielt" #~ msgid "Pulseaudio" #~ msgstr "PulseAudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Presets importieren" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Amplitudenreduktion" #~ msgid "Exponent" #~ msgstr "Exponent" easyeffects-7.1.7/po/easyeffects.pot000066400000000000000000001551671463533416400175220ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.7/po/es.po000066400000000000000000003141371463533416400154360ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-16 06:01+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ecualizador, compresor y otros efectos de sonido" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de sonido para las aplicaciones PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Activar/desactivar esta aplicación" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Activar" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Lista de aplicaciones excluidas: Añadir/quitar esta aplicación" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Excluir" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Silenciar aplicación" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Cambiar el volumen de esta aplicación" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volumen de aplicación" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Ayuda" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Restablecer ajustes" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Preferencias" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Atajos de teclado" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Acerca de Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Salir" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Perfiles" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menú de perfiles" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Activar/desactivar la supresión global de efectos" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Supresión global" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menú principal" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Ventana de Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Lista de aplicaciones" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Lista vacía" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Ninguna aplicación de audio disponible" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Controles" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Objetivo" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Historial máximo" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referencia" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Corto plazo" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integral" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Media geométrica (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Media geométrica (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Media geométrica (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Media geométrica (SI)" #: data/ui/autogain.ui:124 msgid "History" msgstr "Historial" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Sonoridad" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativa" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Ganancia de salida" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Ganancia de entrada del plugin" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Ganancia de salida del plugin" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Dispositivo" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nombre" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Perfil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Preestablecido" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Eliminar este preajuste de carga automática" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Escuchar" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mezclar armónicos" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3ª" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2ª" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Cantidad" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Límite inferior" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Valor del límite inferior" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Enlace" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Nombre de la aplicación" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Añadir a las aplicaciones excluidas" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Lista de aplicaciones excluidas" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Mostrar aplicaciones excluidas" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Mostrar la ventana nativa" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Descendente" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Ascendente" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Impulsar" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modo de compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Umbral de refuerzo" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Cantidad de refuerzo" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tiempo" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Umbral" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Tiempo de ataque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Umbral de ataque" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Release" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Tiempo de decaimiento" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Umbral de decaimiento" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Ratio (n:1)" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Rótula" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Ganancia de compensación" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Nivel Dry" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Nivel Wet" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Cadena lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Modo Split para el estéreo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lateral" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Izquierdo" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Derecho" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Mínimo" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Fuente de la cadena lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Izquierda/Derecha" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Derecha/Izquierda" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Medio/Lateral" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Lateral/Media" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Fuente Split para el estéreo" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS (media cuadrática)" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Filtro de paso bajo" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Promedio móvil simple" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Modo cadena lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Escuchar el Sidechain" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Retroalimentación" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Avance hacia atrás" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Externa" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Tipo de cadena lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Dispositivo de entrada" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Preamplificación" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Anticipación" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Filtros de cadena lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Paso alto" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Desactivado" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Modo filtro de paso alto" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Frecuencia del filtro de paso alto" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Paso bajo" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Modo filtro de paso bajo" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Envolvente" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Canal izquierdo" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Canal derecho" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Respuestas a impulsos" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combinar" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Amplitud estéreo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Escala logarítmica" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Ganancia automática" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duración" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Combinar las respuestas a impulsos" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Primer núcleo" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Segundo núcleo" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Nombre del archivo de salida" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Nombre del núcleo combinado" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Impulso de la importación" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Buscar" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Buscar archivo de respuesta a impulsos" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Lista de archivos de respuesta a impulsos" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predeterminado" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Corte" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Alimentación" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Derivación" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Silenciar" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Límite de atenuación" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Umbral mínimo de procesamiento" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Umbral máximo de procesamiento de ERB" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Umbral máximo de procesamiento de DF" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Buffer mínimo para el procesamiento" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Filtro posterior beta" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detección" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Banda ancha" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Banda dividida" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "División F1" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "División de la frecuencia 1" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "Pico F2" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Pico de la frecuencia 2" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "Ganancia F1" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Ganancia de la frecuencia 1" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "Nivel F2" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Nivel de la frecuencia 2" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "Pico Q F2" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Pico Q de la frecuencia 2" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laxitud" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Invertir la fase" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Longitud del filtro" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Suprimir el eco residual" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Supresión del eco en el extremo cercano" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Aplicaciones excluidas" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Activar/desactivar la supervisión de entradas" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandas" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Pitch izquierdo" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Pitch derecho" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Dividir canales" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Respuesta plana" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcular frecuencias" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Ordenar las bandas" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importar perfil" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Exportar el preajuste" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solista" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Límite superior" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Valor del límite superior" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Expansor" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Modo Expansor" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Interna" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Acceder" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Descripción" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Borrar este perfil" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Low Shelf" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "High Shelf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Campana" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Paso de banda" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Rechazo de banda" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonancia" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Filtro Ladder-Pass" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Reducción de banda" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "Filtro All pass" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Modo Ecualizador" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Puerta de ruido" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Histéresis" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mezcla" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Inicio de la zona de ataque" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Inicio de la zona de decaimiento" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Pico real" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Restablecer historial" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sobremuestreo" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Distorsión (Dither)" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm delgado" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Hermite Amplia (Función cúbica de interpolación de Hermite)" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm cola" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Pato" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Delgada" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp amplia" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp cola" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Pato" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "línea fina" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Ancho de línea" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Cola de línea" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Pato de línea" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ninguno" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Parcial x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Parcial x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Parcial x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Parcial x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Parcial x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Parcial x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Parcial x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Parcial x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Parcial x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Parcial x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Completo x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Completo x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Completo x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Completo x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Completo x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Completo x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Completo x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Completo x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Completo x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Completo x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC PreAmp (Preamplificador)" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Preamplificaión de la cadena lateral" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Boost" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Enlace estéreo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Cadena lateral externa" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Fuente de la cadena lateral externa" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Nivelación automática" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Ataque de nivelación automática" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Decaimiento de nivelación automática" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Rótula (transición) de nivelación automática" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Ganancia izquierda" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Ganancia derecha" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Cadena lateral izquierda" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Cadena lateral derecha" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Estándar" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plano" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Tamaño de la FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Volumen de salida" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Recorte" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Refuerzo de la cadena lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Rosa BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Rosa MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Marrón BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Marrón MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Mostrar la interfaz de usuario nativa" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Modo de funcionamiento" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Clásico" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderno" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Fase lineal" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Lista de bandas" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Banda 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Inicio de la banda" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Fin de la banda" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Modo de compresión de banda" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Bypass de banda" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Opciones de la cadena lateral de la banda" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Split estéreo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Paso-Alto" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Frecuencia del filtro paso alto" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "Paso-Bajo" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Frecuencia del filtro paso bajo" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "PreAmp (subir el nivel de ganancia de manera limpia)" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Ganancia de banda" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Envolvente de banda" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Curva de la banda" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Reducción de banda" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "General" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Gestión de dispositivos" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "Se recomienda NO establecer Easy Effects Sink/Source como dispositivo por " "defecto en aplicaciones externas (por ejemplo, Gnome Settings y Plasma " "System Settings)." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Usar entrada predeterminada" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Dispositivo de entrada personalizado" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Usar salida predeterminada" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Dispositivo de salida personalizado" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Información del servidor" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Versión principal" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Versión de la biblioteca" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Tasa de muestreo" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Quantum mínimo" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Quantum máximo" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Quantum por defecto" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Carga automática de perfiles" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" "Sólo los Ajustes Preestablecidos Locales se pueden cargar automáticamente. " "Un Ajuste Preestablecido de Comunidad debe importarse localmente para " "seleccionarlo y asociarlo a un dispositivo específico." #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Dispositivos de salida" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Perfiles de salida" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Crear asociación" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Agregar un perfil de salida de carga automática" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Lista de perfiles de salida de carga automática" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Dispositivos de entrada" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Perfiles de entrada" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Agregar un perfil de entrada de carga automática" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Lista de perfiles de entrada de carga automática" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Lista de los módulos" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Lista de los clientes" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Señal de prueba" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Habilitado" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Propiedades" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Ambos canales" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Forma de onda" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Onda sinusoidal" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Ruido blanco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Búsqueda rápida" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Suavizado" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Duración de la secuencia" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Ventana de búsqueda" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Longitud de la superposición" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Diferencia del tiempo" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Diferencia del flujo" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Quitar este efecto" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Activar/desactivar este efecto" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Cambiar la posición de este efecto" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "Mostrar/ocultar la lista de efectos" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Agregar efecto" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "Ir al efecto anterior" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "Ir al siguiente efecto" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Lista de plugins utilizados" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Sin efectos" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Flujo de audio no modificado" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Buscar plugin" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Lista de plugins" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_General" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Servicio" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Lanzar el servicio al iniciar el sistema" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Apagado al cerrar la ventana" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Procesar todos los flujos de salida" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Procesar todos los flujos de entrada" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Ignorar los flujos del monitor de dispositivos" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Usar volumen cúbico" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Tiempo de inactividad" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "Intervalo de actualizaciones" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "Relacionado con medidores de nivel y espectro" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "Frecuencia de actualización" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "Relacionados con Plugins LV2" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Estilo" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Usar tema oscuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Ocultar los menús al hacer click fuera" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Funciones experimentales" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Ventana de los complementos nativos" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "Permite mostrar/ocultar la ventana nativa del plugin" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Espectro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Forma" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barras" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Líneas" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Ancho de la línea" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Mostrar los bordes de las barras" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Redondear las esquinas" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Escala dinámica" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Color" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Lineas y barras" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Etiquetas del eje" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Rango de frecuencia" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Mínima" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Cargar" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Descarta los ajustes actuales y carga este preajuste" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Guardar la configuración actual en este perfil" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Eliminar este perfil" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "Intentar" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "Prueba este ajuste preestablecido de la comunidad" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "Importar" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" "Importe este ajuste preestablecido de la comunidad a la lista de ajustes " "preestablecidos locales" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "Local" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Nuevo nombre preestablecido" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Crear un preajuste nuevo" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "Importar un ajuste preestablecido desde el almacenamiento local" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "Buscar preajuste local" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "Lista de preajustes locales" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "Comunidad" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "Buscar configuración preestablecida de la comunidad" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "Lista de ajustes preestablecidos de la comunidad" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "No hay Ajustes Preestablecidos de Comunidad Instalados" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" "Los paquetes preestablecidos de la comunidad se pueden instalar desde el " "repositorio de su distribución favorita." #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "Refrescar" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" "Refresca para mostrar los nuevos ajustes preestablecidos de comunidad " "instalados" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Atenuación de alta frecuencia" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Tamaño de la sala" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/suave" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Música experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre retraso" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tiempo de decaimiento" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Corte de graves" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Corte de agudos" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Paredes vacías" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Sala" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Sala grande vacía" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Discoteca" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Sala grande ocupada" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importar modelo" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Detección de la voz" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modelos" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Modelo estándar" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Lista de modelos de RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Modelo no cargado" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Modelo activo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Modelo RNNoise estándar" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Resumen" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Mostrar la ayuda" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Pantalla completa/restaurar desde pantalla completa" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Cerrar la ventana" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Salir de Easy Effects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Denoise AI" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Control automático de ganancia" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Desreverberación" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Probabilidad de actividad de la voz" #: data/ui/speex.ui:95 msgid "Start" msgstr "Comienzo" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Continuar" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Supresión del ruido" #: data/ui/speex.ui:145 msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Balance de entrada" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Recorte suave" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Nivel del recorte suave (soft clipping)" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriz estéreo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo predeterminado)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo a medio-lateral)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio-lateral a estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "R > LL (Mono usando el canal izquierdo)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono usando el canal derecho)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono sumando los canales izq. y dcho.)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Estéreo invirtiendo los canales)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Modo estéreo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nivel lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balance lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nivel medio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panoramización media" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Balance de salida" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Retardo izquierdo/derecho" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base estéreo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase estéreo" #: src/app_info.cpp:100 msgid "Running" msgstr "En ejecución" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Suspendido" #: src/app_info.cpp:104 msgid "Idle" msgstr "Inactivo" #: src/app_info.cpp:106 msgid "Creating" msgstr "En creación" #: src/app_info.cpp:108 msgid "Error" msgstr "Error" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Desconocido" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Nombre indefinido - ID del proceso " #: src/app_info.cpp:292 msgid "channels" msgstr "canales" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Deja Easy Effects. Útil cuando se ejecuta en modo de servicio." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Mostrar la versión de Easyeffects" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Reiniciar Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Ocultar la ventana." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Bypass global. 1 para habilitar, 2 para deshabilitar y 3 para obtener el " "estado actual" #: src/application.cpp:615 msgid "Show available presets." msgstr "Mostrar los perfiles disponibles." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Cargar un perfil. Por ejemplo: easyeffects -l musica" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Salida" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Entrada" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_Software PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "El archivo no es regular" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "El archivo de impulso puede estar dañado o no ser compatible" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Sólo se admiten archivos de impulso estéreo" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Archivo de impulso no importado" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importar archivo de respuesta a impulsos" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Respuesta a impulsos" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Cargar archivo de respuesta a impulsos" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Eliminar archivo de respuesta a impulsos" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "No se ha cargado el archivo de impulsos" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Fallo en la carga del archivo de impulso" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Grabadores" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Reproductores" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efectos" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importar archivo de perfil APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Perfiles APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "No se ha cargado el preajuste APO. Es posible que el formato de archivo no " "sea compatible. Compruebe su contenido." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "Aún no se admiten canales divididos al exportar preajustes APO." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "Exportar archivo preestablecido EqualizerAPO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Guardar" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "Preajustes de EqualizerAPO" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importar archivo preestablecido de GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Preajustes de GraphicEQ" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "Preajuste GraphicEQ no cargado. Es posible que el formato de archivo no sea " "compatible. Compruebe su contenido." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Eliminar perfil de carga automática" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Medidor del nivel de salida" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Eliminar" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Dispositivo de salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Agregar" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "Preajuste comunitario" #: src/presets_manager.cpp:439 msgid "Package" msgstr "Paquete" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "Preajuste no cargado correctamente" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "Formato incorrecto en la lista de aplicaciones excluidas" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "Error genérico al cargar la lista de aplicaciones excluidas" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "Formato incorrecto en la lista de efectos" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "Error genérico al cargar la lista de efectos" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "Uno o más parámetros tienen un formato incorrecto" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "Error genérico al cargar el efecto" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "¿Guardar?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "¿Borrar?" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "No hay perfiles cargados" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "Último perfil local cargado" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "Último perfil de comunidad cargado" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "El modelo seleccionado no se ha cargado. Su formato puede no ser compatible. " "Vuelva al modelo estándar." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importar archivo de modelo" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Modelos RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Refuerzo de graves" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Sonoridad de graves" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolucinador" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Alimentación cruzada" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizador" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Eliminador de ruido profundo" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" "De-essing (efecto reduce la sibilancia excesiva y se utiliza principalmente " "en grabaciones de voz)" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Cancelación de eco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ecualizador" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitador" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Medidor de nivel" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitador" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizador" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresor multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Puerta de ruido multibanda" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Reverberación" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Reducción de ruido" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Procesador de voz" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Herramientas estéreo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} No disponible" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "El software necesario para el efecto {}, \"{}\", no está instalado. " "Considera la posibilidad de utilizar el paquete Easy Effects Flatpak o de " "instalar el software tu mismo." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "El efecto {} estaba desactivado cuando se compiló Easy Effects. Esto se debe " "quizás a que el software necesario para este efecto, \"{}\", no estaba " "disponible. Considera la posibilidad de utilizar el paquete Easy Effects " "Flatpak o de crear tu propio paquete de Easy Effects." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "infinito" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "Usando {}" #~ msgid "Ceiling" #~ msgstr "Límite superior" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #~ msgid "Import a preset" #~ msgstr "Importar un preajuste" #~ msgid "Low-Cut Filter" #~ msgstr "Filtro paso bajo" #~ msgid "High-Cut Filter" #~ msgstr "Filtro paso alto" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "New Output Preset Name" #~ msgstr "Nombre del nuevo perfil de salida" #~ msgid "Search Output Preset" #~ msgstr "Buscar perfil de salida" #~ msgid "Output Presets List" #~ msgstr "Lista de perfiles de salida" #~ msgid "New Input Preset Name" #~ msgstr "Nombre del nuevo perfil de entrada" #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Ratio (n:1)" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Umbral" #~ msgid "Low-pass" #~ msgstr "Paso bajo" #, fuzzy #~ msgid "High-pass" #~ msgstr "Paso alto" #~ msgid "Gating" #~ msgstr "Actividad de la puerta" #~ msgid "12dB/oct Lowpass" #~ msgstr "Paso bajo 12dB/oct" #~ msgid "24dB/oct Lowpass" #~ msgstr "Paso bajo 24dB/oct" #~ msgid "36dB/oct Lowpass" #~ msgstr "Paso bajo 36dB/oct" #~ msgid "12dB/oct Highpass" #~ msgstr "Paso alto 12dB/oct" #~ msgid "24dB/oct Highpass" #~ msgstr "Paso alto 24dB/oct" #~ msgid "36dB/oct Highpass" #~ msgstr "Paso alto 36dB/oct" #~ msgid "6dB/oct Bandpass" #~ msgstr "Paso banda 6dB/oct" #~ msgid "12dB/oct Bandpass" #~ msgstr "Paso banda 12dB/oct" #~ msgid "18dB/oct Bandpass" #~ msgstr "Paso banda 18dB/oct" #~ msgid "6dB/oct Bandreject" #~ msgstr "Rechazo de banda 6dB/oct" #~ msgid "12dB/oct Bandreject" #~ msgstr "Rechazo de banda 12dB/oct" #~ msgid "18dB/oct Bandreject" #~ msgstr "Rechazo de banda 18dB/oct" #~ msgid "Inertia" #~ msgstr "Inercia" #~ msgid "Band Type" #~ msgstr "Tipo de banda" #~ msgid "Band Mode" #~ msgstr "Modo de banda" #~ msgid "Band Slope" #~ msgstr "Pendiente de la banda" #~ msgid "Loudness List" #~ msgstr "Lista de sonoridad" #~ msgid "High Speed" #~ msgstr "Alta velocidad" #~ msgid "High Quality" #~ msgstr "Alta calidad" #~ msgid "High Consistency" #~ msgstr "Alta consistencia" #~ msgid "Formant" #~ msgstr "Formato" #~ msgid "Shifted" #~ msgstr "Alterado" #~ msgid "Preserved" #~ msgstr "Preservado" #~ msgid "Transients" #~ msgstr "Transitorios" #~ msgid "Crisp" #~ msgstr "Nítidos" #~ msgid "Mixed" #~ msgstr "Intermedios" #~ msgid "Smooth" #~ msgstr "Suavizados" #~ msgid "Detector" #~ msgstr "Detección" #~ msgid "Compound" #~ msgstr "Compuesto" #~ msgid "Percussive" #~ msgstr "Percusivo" #~ msgid "Soft" #~ msgstr "Suave" #~ msgid "Phase" #~ msgstr "Fase" #~ msgid "Laminar" #~ msgstr "Laminado" #~ msgid "Independent" #~ msgstr "Independiente" #~ msgid "Cents" #~ msgstr "" #~ "Cents (menor unidad usual que se emplea para medir intervalos musicales)" #~ msgid "Octaves" #~ msgstr "Octavas" #~ msgid "_Manual" #~ msgstr "_Manual" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Abrir el manual de usuario Easy Effects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} no está instalado en el Sistema" #~ msgid "High Pass" #~ msgstr "Paso alto" #~ msgid "Low Pass" #~ msgstr "Pase bajo" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid " PreAmplification" #~ msgstr " Preamplificación" #~ msgid "Close (Press ESC)" #~ msgstr "Cerrar (Pulsar ESC)" #~ msgid "Frame Size" #~ msgstr "Tamaño del cuadro" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "" #~ "Activar/desactivar el\n" #~ " bypass global" #~ msgid " Low-Pass" #~ msgstr " Paso bajo" #~ msgid " Uniform" #~ msgstr " Uniforme" #~ msgid "Left Delay" #~ msgstr "Retraso a la izquierda" #~ msgid "Right Delay" #~ msgstr "Retraso de la derecha" #~ msgid "Left Dry Level" #~ msgstr "Nivel seco izquierdo" #~ msgid "Right Dry Level" #~ msgstr "Nivel Seco derecho" #~ msgid "Left Wet Level" #~ msgstr "Nivel húmedo izquierdo" #~ msgid "Right Wet Level" #~ msgstr "Nivel húmedo derecho" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Tamaño de la transformada rápida de Fourier" #~ msgid "Clipping Range" #~ msgstr "Rango de recorte" #~ msgid "Suppression" #~ msgstr "Supresión" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de audio para aplicaciones que utilizan PipeWire" #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reducción de ruido (rápido)" #~ msgid "Load APO Preset" #~ msgstr "Cargar el perfil APO" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Restablecer el volumen de los dispositivos virtuales de EasyEffects al " #~ "iniciarse" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Perfiles de salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de entrada: " #~ msgid "Split Mode" #~ msgstr "Modo de división" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Dividir frecuencia 2" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Dividir frecuencia 3" #~ msgid "Sub Band" #~ msgstr "Sub-banda" #~ msgid "Band 1 Bypass" #~ msgstr "Bypass de banda 1" #~ msgid "Band 1 Solo" #~ msgstr "Solo de la banda 1" #~ msgid "Band 1 Detection" #~ msgstr "Método de detección de la banda 1" #~ msgid "Band 1 Attack" #~ msgstr "Ataque de la banda 1" #~ msgid "Band 1 Release" #~ msgstr "Tiempo de decaimiento de la banda 1" #~ msgid "Band 1 Threshold" #~ msgstr "Umbral de la banda 1" #~ msgid "Band 1 Ratio" #~ msgstr "Ratio de la banda 1" #~ msgid "Band 1 Knee" #~ msgstr "Rótula (transición) de la banda 1" #~ msgid "Band 1 Makeup" #~ msgstr "Ganancia de compensación de la banda 1" #~ msgid "Max Reduction" #~ msgstr "Atenuación máxima" #~ msgid "Low Band" #~ msgstr "Banda baja" #~ msgid "Band 2 Bypass" #~ msgstr "Bypass de la banda 2" #~ msgid "Band 2 Solo" #~ msgstr "Solo de la banda 2" #~ msgid "Band 2 Detection" #~ msgstr "Método de detección de la banda 2" #~ msgid "Band 2 Attack" #~ msgstr "Ataque de la banda 2" #~ msgid "Band 2 Release" #~ msgstr "Tiempo de decaimiento de la banda 2" #~ msgid "Band 2 Threshold" #~ msgstr "Umbral de la banda 2" #~ msgid "Band 2 Ratio" #~ msgstr "Ratio de la banda 2" #~ msgid "Band 2 Knee" #~ msgstr "Rótula (transición) de la banda 2" #~ msgid "Band 2 Makeup" #~ msgstr "Ganancia de compensación de la banda 2" #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción máx. de la banda 2" #~ msgid "Mid Band" #~ msgstr "Banda media" #~ msgid "Band 3 Bypass" #~ msgstr "Bypass de la banda 3" #~ msgid "Band 3 Solo" #~ msgstr "Solo de la banda 3" #~ msgid "Band 3 Detection" #~ msgstr "Método de detección de la banda 3" #~ msgid "Band 3 Attack" #~ msgstr "Ataque de la banda 3" #~ msgid "Band 3 Release" #~ msgstr "Tiempo de decaimiento de la banda 3" #~ msgid "Band 3 Threshold" #~ msgstr "Umbral de la banda 3" #~ msgid "Band 3 Ratio" #~ msgstr "Ratio de la banda 3" #~ msgid "Band 3 Knee" #~ msgstr "Rótula (transición) de la banda 3" #~ msgid "Band 3 Makeup" #~ msgstr "Ganancia de compensación de la banda 3" #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción máx. de la banda 3" #~ msgid "High Band" #~ msgstr "Banda alta" #~ msgid "Band 4 Bypass" #~ msgstr "Bypass de la banda 4" #~ msgid "Band 4 Solo" #~ msgstr "Solo de la banda 4" #~ msgid "Band 4 Detection" #~ msgstr "Método de detección de la banda 4" #~ msgid "Band 4 Attack" #~ msgstr "Ataque de la banda 4" #~ msgid "Band 4 Release" #~ msgstr "Tiempo de decaimiento de la banda 4" #~ msgid "Band 4 Threshold" #~ msgstr "Umbral de la banda 4" #~ msgid "Band 4 Ratio" #~ msgstr "Ratio de la banda 4" #~ msgid "Band 4 Knee" #~ msgstr "Rótula (transición) de la banda 4" #~ msgid "Band 4 Makeup" #~ msgstr "Ganancia de compensación de la banda 4" #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción máx. de la banda 4" #~ msgid "Wet Amount" #~ msgstr "Cantidad de señal con efectos" #~ msgid "Dry Amount" #~ msgstr "Cantidad de señal sin efectos" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects es una herramienta avanzada de manipulación de audio. Entre " #~ "sus útiles incluye un ecualizador, un limitador, un compresor y una " #~ "herramienta de reverberación , solo por mencionar algunos. Para " #~ "complementar lo anterior, viene con un analizador de espectro incluido." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects es el sucesor de PulseEffects. EasyEffects solo soporta el " #~ "servidor de audio PipeWire. Los usuarios de PulseAudio deben usar " #~ "PulseEffects en su lugar." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Debido a que EasyEffects usa por defecto el servidor de audio PipeWire, " #~ "funcionará con la mayoría, sino todas, las aplicaciones que uses. Todas " #~ "las aplicaciones son mostradas en la ventana principal, donde pueden ser " #~ "habilitadas individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Además de manipular el sonido de salida, EasyEffects también puede " #~ "aplicar efectos a dispositivos de entrada, como micrófonos. Esto es útil " #~ "en la grabación de audio, por poner un ejemplo, pero también funciona " #~ "correctamente durante las conversaciones de voz." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Cuando se inicie EasyEffects, este recordará convenientemente la " #~ "configuración utilizada en la última sesión. También es posible guardar " #~ "todos los ajustes actuales en un perfil." #~ msgid "The main page showing two audio output apps" #~ msgstr "La página principal mostrando dos aplicaciones de salida de audio" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "" #~ "La página del potenciador de graves mostrando los controles de audio" #~ msgid "The convolver page showing audio controls" #~ msgstr "La página del convolucionador mostrando los controles de audio" #~ msgid "This release adds the following features:" #~ msgstr "Esta versión añade las siguientes características:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Esta versión corrige los siguientes errores:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Banda 1" #, fuzzy #~ msgid "Many translation updates" #~ msgstr "Traducciones actualizadas" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Hay disponible un nuevo ajuste que permite al usuario seleccionar un " #~ "tiempo de inactividad para la tubería. Cuando ningún cliente está " #~ "reproduciendo" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "o grabando desde nuestros dispositivos, los filtros se desconectarán una " #~ "vez alcanzado el tiempo de espera. Esto se hace para asegurarse de que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "no desperdiciamos la potencia de la CPU procesando silencio." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "El plugin de ganancia automática ahora permite al usuario seleccionar " #~ "cuál de los tres tipos de sonoridad se utiliza para calcular" #~ msgid "mean." #~ msgstr "la media geométrica." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "El plugin de ganancia automática ahora permite establecer el historial " #~ "máximo y ya no utiliza el modo histograma `libebur128`." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Esto debería evitar los casos en los que la sonoridad `Integrada` se " #~ "quedaba bloqueada indefinidamente en el mismo valor." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "El icono de EasyEffects ha sido actualizado de forma que debería ser " #~ "visible en los escritorios QT." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta versión corrige el siguiente error:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "La opción de línea de comandos que retorna el estado de bypass global " #~ "vuelve a funcionar." #~ msgid "This release adds the following feature:" #~ msgstr "Esta versión añade la siguiente funcionalidad:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "El filtro de alimentación cruzada debería lidiar mejor con la gestión de " #~ "latencia dinámica de PipeWire. Ya no deberían producirse cambios bruscos " #~ "en el nivel de volumen en estas situaciones." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Se ha corregido un error que impedía que los micrófonos mono funcionaran " #~ "correctamente con EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Soporte para la próxima versión `0.3.44` de PipeWire" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "El filtro de alimentación cruzada debería lidiar mejor con la gestión de " #~ "latencia dinámica de PipeWire. Ya no deberían producirse cambios bruscos " #~ "en el nivel de volumen en estas situaciones." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Hemos añadido una opción que permite restablecer el volumen y el estado " #~ "de silencio de nuestros dispositivos virtuales cuando se inicia " #~ "EasyEffects. Esto debería ayudar en los casos en que nuestros " #~ "dispositivos son silenciados por el servidor de audio por razones " #~ "desconocidas." #~ msgid "Better support for computer suspending." #~ msgstr "Se ha mejorado el soporte para la suspensión del ordenador." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Se ha corregido un error que causaba que la aplicación se bloqueara al " #~ "intentar crear un perfil de carga automática que no disponía de " #~ "preajustes." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "Se ha corregido un error por el que el ajuste de la `calidad` de una " #~ "banda del ecualizador a `cero` provocaba un bloqueo de la aplicación." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "Se hace uso de LibAdwaita para crear algunas partes de nuestra ventana y " #~ "para manejar el cambio entre temas oscuros y claros." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "El menú de ajustes ha sido rediseñado utilizando widgets de LibAdwaita." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "Se ha mejorado la función de importación de perfiles del ecualizador APO " #~ "para aplicar no sólo el filtro Bell, sino también otros compatibles" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "La función `Restablecer todos los ajustes` de nuestro menú debería " #~ "funcionar ahora en Flatpak." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Tenemos una nueva opción `ocultar automáticamente`que permite al usuario " #~ "desactivar nuestros menús . Esto puede ayudar a solucionar algunos " #~ "errores que los menús Popover tienen actualmente en gtk4." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "Un análisis más robusto para importar perfiles APO guardados con una coma " #~ "como separador de miles en la banda de frecuencia central." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "La biblioteca fmt es una nueva dependencia, al menos mientras los " #~ "compiladores de c++ no implementen sus características. Se espera que " #~ "esto ocurra en los próximos años." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM y GLIBMM ya no son dependencias. Ahora usamos gtk4 directamente." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Ahora es posible combinar respuestas a impulsos en la interfaz del " #~ "convolucionador. Un nuevo archivo de respuesta a impulsos es generado y " #~ "debe ser visible en la lista de respuestas a impulsos." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "Se ha mejorado el diseño del `eje x`en nuestros gráficos. Ahora el número " #~ "de etiquetas se ajusta dinámicamente en función del ancho de la ventana." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "La documentación se ha actualizado para reflejar las nuevas " #~ "características de EasyEffects. Se han eliminado las antiguas referencias " #~ "sobre PulseEffects. Se ha añadido al menú el botón de documentación." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Cuando se introduce un valor fuera de rango a un spinbutton, ahora se " #~ "actualiza con el valor más bajo o más alto en lugar de restablecerse al " #~ "valor previo." #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "La ventana principal ahora recuerda el estado maximizado y lo restaura " #~ "cuando se abre de nuevo." #~ msgid "The `tbb` library is a new dependency" #~ msgstr "La biblioteca `tbb` es una nueva dependencia" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "Los plugins Limitador y Compresor multibanda ahora pueden utilizar una " #~ "cadena lateral externa opcional." #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "El plugin de ganancia automática ahora permite al usuario seleccionar el " #~ "tipo de sonoridad a usar como referencia en la corrección de volumen." #~ msgid "" #~ "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " #~ "Amplification\" parameter." #~ msgstr "" #~ "La función de importación de perfiles APO del plugin Ecualizador ahora " #~ "analiza el parámetro \"PreAmplificación\"." #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "" #~ "El volumen cúbico puede activarse de forma opcional en la configuración " #~ "general." #~ msgid "" #~ "PipeWire monitor streams are now excluded and removed from the " #~ "applications list." #~ msgstr "" #~ "Los flujos de monitorización de PipeWire están ahora excluidos y " #~ "eliminados de la lista de aplicaciones." #~ msgid "Hopefully crashes like the one reported at [1172]( are fixed." #~ msgstr "" #~ "Esperamos que los fallos como el reportado en [1172]( se han solucionado." #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "" #~ "Se ha corregido un caso en el que el visualizador de espectro se " #~ "bloqueaba." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "Pavucontrol ya no se añade a la lista de aplicaciones de entrada en los " #~ "sistemas con localización diferente a la inglesa." #~ msgid "" #~ "Improved compatibility with WirePlumber. This is needed to run on systems " #~ "that decided to use it instead of the" #~ msgstr "" #~ "Se ha mejorado la compatibilidad con WirePlumber. Esto es necesario para " #~ "que funcione en los sistemas que decidieron utilizarlo en lugar del" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "gestor de sesiones de PipeWire integrado. Más información en [1144](" #~ msgid "" #~ "When trying to add an autoloading profile for a device already in the " #~ "list its target preset will be updated. This way we can change the " #~ "profile preset without having to remove and recreating it." #~ msgstr "" #~ "Al intentar añadir un perfil de carga automática para un dispositivo que " #~ "ya está en la lista se actualizará su perfil de destino. De esta manera " #~ "podemos modificar los ajustes del perfil sin tener que eliminarlo y " #~ "volver a crearlo." #~ msgid "" #~ "The preset autoloading support implementation was redesigned again. It " #~ "should work on more hardware now. For more information see issue [1051](" #~ msgstr "" #~ "Se ha rediseñado de nuevo la implementación del soporte de carga " #~ "automática de perfiles. Ahora debería funcionar en un conjunto mayor de " #~ "hardware. Consultar [1051]( para más información" #~ msgid "" #~ "If the Limiter or the Maximizer are set in the last position of the " #~ "plugin stack, new plugins are added at the second to last position in " #~ "order to prevent hardware damage on eventually high output level." #~ msgstr "" #~ "Si el Limitador o el Maximizador se colocan en la última posición de la " #~ "pila de plugins, los nuevos plugins se añaden en la penúltima posición " #~ "con el fin de evitar la posibilidad de que el hardware se dañe por un " #~ "nivel de salida eventualmente alto." #~ msgid "" #~ "Removing an application from the blocklist, its previous enabled state is " #~ "restored." #~ msgstr "" #~ "Al eliminar una aplicación de la lista de aplicaciones bloqueadas, se " #~ "restablece su estado anterior de activación." #~ msgid "" #~ "Sometimes when removing imported models from the noise reduction plugin " #~ "the current used model was not properly updated. This should be fixed now." #~ msgstr "" #~ "En ocasiones, al eliminar los modelos importados del plugin de reducción " #~ "de ruido, el modelo en uso no se actualizaba correctamente. Esto debería " #~ "estar solucionado ahora." #~ msgid "" #~ "When editing presets files in an external editor, duplicated entries " #~ "won't be shown in our presets menu." #~ msgstr "" #~ "Al editar archivos de perfiles en un editor externo, las entradas " #~ "duplicadas no se mostrarán en el menú de perfiles." #~ msgid "Now the blocklist is correctly set when switching presets." #~ msgstr "" #~ "Ahora la lista de aplicaciones bloqueadas se ajusta correctamente al " #~ "cambiar de perfil." #~ msgid "" #~ "Now the status of the global bypass button is correctly updated when " #~ "changing plugin stack." #~ msgstr "" #~ "Ahora el estado del botón de bypass global se actualiza correctamente al " #~ "modificarse la pila de plugins." #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Los iconos no disponibles en el sistema no deberían mostrarse en la " #~ "interfaz de información de la aplicación" #~ msgid "" #~ "Some icons not showing in Plasma DE with Breeze icon theme should appear " #~ "now." #~ msgstr "" #~ "Algunos iconos que no se mostraban en el escritorio Plasma con el tema de " #~ "iconos Breeze deberían ser visibles ahora." #~ msgid "Updated Chinese translation." #~ msgstr "Traducción al chino actualizada." #~ msgid "Updated Italian translation." #~ msgstr "Traducción al italiano actualizada." #~ msgid "Added support for the compressor parameter `Boost Amount`" #~ msgstr "" #~ "Se ha añadido soporte para el parámetro del compresor `Cantidad de " #~ "refuerzo`" #~ msgid "" #~ "The multiband compressor plugin now uses the stereo multiband compressor " #~ "plugin from Linux Studio Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "El plugin de compresión multibanda ahora utiliza el plugin de compresión " #~ "multibanda estéreo de Linux Studio Plugins, en lugar del de Calf Studio." #~ msgid "" #~ "The limiter plugin now uses the stereo limiter plugin from Linux Studio " #~ "Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "El plugin del limitador ahora utiliza el plugin del limitador estéreo de " #~ "Linux Studio Plugins, en lugar del de Calf Studio." #~ msgid "" #~ "LV2 filters now are spawned in PipeWire graph only when loaded the first " #~ "time. Once loaded, they remain connected until EasyEffects shutdown." #~ msgstr "" #~ "Los filtros LV2 ahora se generan en el diagrama de PipeWire sólo cuando " #~ "se cargan por primera vez. Una vez cargados, permanecen conectados hasta " #~ "el cierre de EasyEffects." #~ msgid "The echo canceller sampling rate is now properly set." #~ msgstr "" #~ "La tasa de muestreo del plugin de cancelación de eco está ahora " #~ "correctamente ajustada." #~ msgid "" #~ "The threshold parameter from the deesser plugin is now saved to the " #~ "preset file." #~ msgstr "" #~ "El parámetro umbral del plugin deesser se guarda ahora en el archivo de " #~ "perfil." #~ msgid "" #~ "Improved band splitting for crystalizer with new default intensity values." #~ msgstr "" #~ "Mejorada la división de bandas para el cristalizador con nuevos valores " #~ "de intensidad por defecto." #~ msgid "" #~ "Depending on the input gain or output gain values the corresponding level " #~ "bars could not be aligned." #~ msgstr "" #~ "Dependiendo de los valores de la ganancia de entrada y de salida, las " #~ "barras de nivel correspondientes podrían no alinearse correctamente." #~ msgid "" #~ "When adding more equalizer bands they are set to `Bell` instead of `Off`." #~ msgstr "" #~ "Cuando se añaden nuevas bandas de ecualización se les asigna la modalidad " #~ "`Campana` en lugar de `Apagado`." #~ msgid "" #~ "Equalizer APO presets loading is now working properly on locales " #~ "different than C." #~ msgstr "" #~ "La carga de los perfiles del ecualizador APO ahora funciona correctamente " #~ "en localizaciones diferentes a C." #~ msgid "Improved linking management between port filter nodes in PipeWire." #~ msgstr "" #~ "Se ha mejorado la gestión de las conexiones entre puertos de nodos en " #~ "PipeWire." #~ msgid "" #~ "The crystalizer plugin signal amplification was too high before. It " #~ "should be within more reasonable levels now." #~ msgstr "" #~ "La amplificación de la señal del plugin del cristalizador era demasiado " #~ "alta antes. Ahora debería estar dentro de niveles más razonables." #~ msgid "" #~ "Improved the resampler used in the plugins that require one(like the " #~ "rnnoise plugin)" #~ msgstr "" #~ "Se ha mejorado el remuestreador (resampler) utilizado en los plugins que " #~ "lo requieren (como el plugin rnnoise)" #~ msgid "Setting multiple autoloading presets should be fine now" #~ msgstr "" #~ "La configuración de múltiples perfiles de autocarga debería funcionar " #~ "ahora correctamente" #~ msgid "Transient windows are now properly set for some plugins dialogs" #~ msgstr "" #~ "Las ventanas transitorias están ahora correctamente configuradas para " #~ "algunos diálogos de plugins" #~ msgid "" #~ "The convolver impulse response menu was improved to workaround an issue " #~ "where the impulse files was not loaded when only one was available in the " #~ "menu" #~ msgstr "" #~ "Se ha mejorado el menú de respuesta a impulsos del convolucionador. Esto " #~ "tiene como fin solucionar un problema que causaba que no se cargaran los " #~ "archivos de respuesta a impulsos cuando sólo había uno disponible en el " #~ "menú" #~ msgid "" #~ "Fixed a bug that could make the pitch plugin to not be properly " #~ "initialized" #~ msgstr "" #~ "Se ha corregido un error que podía hacer que el plugin de tonalidad " #~ "(pitch) no se inicializara correctamente" #~ msgid "" #~ "The saturation warning should not displace its neighbor widgets anymore" #~ msgstr "El aviso de saturación ahora no desplaza a los widgets adyacentes" #~ msgid "Fixed the locale in a few widgets" #~ msgstr "Se ha corregido la configuración regional en algunos widgets" #~ msgid "Fixed wrong alignment in a few widgets" #~ msgstr "Se ha corregido la alineación incorrecta de algunos widgets" #~ msgid "" #~ "The Loudness plugin is being used again for the reasons described at This " #~ "means that is an optional dependency again." #~ msgstr "" #~ "El plugin Loudness es usado de nuevo por las razones descritas. Esto " #~ "implica que es una dependencia opcional de nuevo." #~ msgid "" #~ "Fixed a segmentation fault that happened when optional dependencies were " #~ "not installed" #~ msgstr "" #~ "Se ha corregido un fallo de segmentación que ocurría cuando no se " #~ "instalaban las dependencias opcionales" #~ msgid "Improved equalizer interface." #~ msgstr "Se ha mejorado la interfaz del ecualizador." #~ msgid "" #~ "Now we use a sidechain LSP compressor that allows the user to select and " #~ "external source as the sidechain input." #~ msgstr "" #~ "Ahora se hace uso de un compresor LSP de cadena lateral que permite al " #~ "usuario seleccionar una fuente externa como entrada para la cadena " #~ "lateral." #~ msgid "We now support the LSP compressor `Boosting` mode." #~ msgstr "" #~ "Agregado soporte para el nuevo modo`Refuerzo` (`Boosting`) del compresor " #~ "LSP." #~ msgid "" #~ "When `split-channels` is enabled in the equalizer the imported APO preset " #~ "will be applied only to the channel being visualized in the window. This " #~ "will allow to import different presets for each channel instead of just " #~ "settings the same values to both." #~ msgstr "" #~ "Cuando se activa la opción de \"dividir canales\" del ecualizador, el " #~ "perfil APO importado se aplicará sólo al canal que se visualiza " #~ "actualmente en la ventana. Esto permite importar diferentes perfiles para " #~ "cada canal, en lugar de asignar los mismos valores para ambos." #~ msgid "" #~ "Fixed some segmentation faults that could happen when creating a preset " #~ "autoloading profile or removing presets" #~ msgstr "" #~ "Se han corregido algunos fallos de segmentación que podían producirse al " #~ "crear o eliminar un perfil de carga automática" #~ msgid "" #~ "This is one of the biggest releases that I have ever made. The amount of " #~ "changes is so big that it is hard to talk about everything here." #~ msgstr "" #~ "Este es uno de los mayores lanzamientos que he hecho. El número de " #~ "cambios es tan grande que es difícil describirlos todos aquí." #~ msgid "" #~ "The following are just the most import ones. People interested on the " #~ "journey that got us here can take" #~ msgstr "" #~ "A continuación se indican sólo los más importantes. Quien esté interesado " #~ "en profundizar más puede echar" #~ msgid "a look at and" #~ msgstr "un vistazo y" #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "" #~ "La aplicación y su repositorio han sido renombrados de PulseEffects a " #~ "`EasyEffects`" #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "Se ha sustituido gtkmm3 por gtkmm4" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "Se ha sustituido Gstreamer por filtros nativos de PipeWire." #~ msgid "" #~ "Many features were reimplemented from scratch. The preset autoloading is " #~ "one example. Another remarkable change will be seen in the plugins " #~ "selection menu. Now the user can show in the window only the plugins that " #~ "he/she wants to use." #~ msgstr "" #~ "Muchas características se han reimplementado desde cero. La carga " #~ "automática de perfiles es un ejemplo. Otro cambio notable se observa en " #~ "el menú de selección de plugins. Ahora el usuario puede mostrar en la " #~ "ventana sólo los plugins que desea utilizar." #~ msgid "" #~ "Boost is no longer a dependency. The price paid for that was a little " #~ "change in our presets structures. With some patience it is possible to " #~ "edit PulseEffects presets in a text editor and make them work in " #~ "EasyEffects. Hopefully someone will come up with a script for this in the " #~ "feature." #~ msgstr "" #~ "Boost ya no es una dependencia. El precio a pagar por esto es un pequeño " #~ "cambio en la estructura de nuestros perfiles. Con algo de paciencia, es " #~ "posible editar los perfiles de PulseEffects en un editor de texto y " #~ "hacerlos funcionar en EasyEffects. Con un poco de suerte puede que " #~ "alguien cree un script para automatizar esto." #~ msgid "" #~ "New libraries are being used and some of the librarires that were " #~ "optional before are now required" #~ msgstr "" #~ "Se utilizan nuevas bibliotecas y algunas de las que antes eran opcionales " #~ "ahora son requeridas" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar predeterminado" #~ msgid "Remove this plugin" #~ msgstr "Eliminar este plugin" #~ msgid "Import Presets" #~ msgstr "Importar perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar el servicio en el inicio de sesión" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Restablecer el volumen de los dispositivos de EasyEffect al inicio" easyeffects-7.1.7/po/es_CO.po000066400000000000000000002511201463533416400160070ustar00rootroot00000000000000# Spanish (CO) translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the Pulseeffects package. # CCaroV , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 14:07+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Spanish (Colombia) \n" "Language: es_CO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ecualizador, Compresor y Otros Efectos de Sonido" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de audio paras las aplicaciones PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Habilitar" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 #, fuzzy msgid "Mute Application" msgstr "Aplicaciones" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 #, fuzzy msgid "Application Volume" msgstr "Aplicaciones" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Ayuda" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Ajustes" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Perfiles" #: data/ui/application_window.ui:61 #, fuzzy msgid "Presets Menu" msgstr "Perfiles" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Bypass Global" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 #, fuzzy msgid "Applications List" msgstr "Aplicaciones" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Paredes Vacías" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Aplicaciones" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Objetivo" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Corto Plazo" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Restablecer Historial" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Volumen" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Reativo" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:383 #, fuzzy msgid "Output Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Caudal de Salida" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nombre" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Perfiles" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Remover preajuste de autocargar" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Escuchar" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mezclar Harmónicos" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3era" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2nda" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Cantidad" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Fondo" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Fondo" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Acoplar" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Aplicaciones" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Aplicaciones" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Aplicaciones" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Aplicaciones" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Cierra la ventana" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Hacia Abajo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Hacia Arriba" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modo de Compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 #, fuzzy msgid "Boost Threshold" msgstr "Límite" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Cantidad" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 #, fuzzy msgid "Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Límite" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Límite" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Liberar" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Límite" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Radio" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Codo" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Amplificación" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "nivel seco" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Nivel húmedo" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Modo Estéreo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Izquierda" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Derecha" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Máximo" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Cadena Lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Retraso Izquierda Derecha" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Derecha" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Fuente Predeterminada" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Cadena Lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Adelantar" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Realimentar" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Cadena Lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Efectos de Entrada" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Pre-amplificación" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Atenuación" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Cadena Lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "Pase Alto" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Apagdo" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Paso Bajo" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Pendiente" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Canales" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Dividir Canales" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Respuesta de Impulse" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Amplitud Estéreo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:121 #, fuzzy msgid "Log Scale" msgstr "Escala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "AutoGain" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duración" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Respuesta de Impulse" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importar Archivo Impulse" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Importar Archivo Impulse" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Importar Archivo Impulse" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predeterminado" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Umbral" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Alimentar" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Derivación" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Silenciar" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Atenuación" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detección" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Ancho" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Dividir" #: data/ui/deesser.ui:96 #, fuzzy msgid "F1 Split" msgstr "Dividir" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "Pico" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:165 #, fuzzy msgid "F1 Gain" msgstr "Ganancia" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:199 #, fuzzy msgid "F2 Level" msgstr "Nivel" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:233 #, fuzzy msgid "F2 Peak Q" msgstr "Pico Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Relajamiento" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Invertir Fase" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandas" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Dividir Canales" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Respuesta Plana" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcular Frecuencias" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Bandas" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importar Preajuste" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importar Preajuste" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Límite" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Modo" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Integrado" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Detección" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Borrar este perfil" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Estante Bajo" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Estante Alto" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Timbre" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bypass" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Muesca" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonancia" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Paso Bajo" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Reducción" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Paso Bajo" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ecualizador" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Puerta de Ruido" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Tiempo Real" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frecuencia" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Restablecer Historial" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sobre Muestreo" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Ancho" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Ancho" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Ancho de Linea" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Ancho de Linea" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Mesa Sinusoidal" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ninguno" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Pre-amplificación" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Acoplamiento Estéreo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Cadena Lateral" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Ganancia Automática" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Ganancia" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Derecha" #: data/ui/limiter.ui:678 #, fuzzy msgid "Sidechain Left" msgstr "Cadena Lateral" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Cadena Lateral" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 #, fuzzy msgid "FFT Size" msgstr "Tamaño del Marco" #: data/ui/loudness.ui:82 #, fuzzy msgid "Output Volume" msgstr "Salida" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Mapa de Canales" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Cadena Lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 #, fuzzy msgid "Modern" msgstr "Modo" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Invertir Fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 #, fuzzy msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 #, fuzzy msgid "Band 1" msgstr "Bandas" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 #, fuzzy msgid "Band 2" msgstr "Bandas" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 #, fuzzy msgid "Band 3" msgstr "Bandas" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 #, fuzzy msgid "Band 4" msgstr "Bandas" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 #, fuzzy msgid "Band 5" msgstr "Bandas" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 #, fuzzy msgid "Band 6" msgstr "Bandas" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 #, fuzzy msgid "Band 7" msgstr "Bandas" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 #, fuzzy msgid "Band 8" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 #, fuzzy msgid "Band End" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Bypass" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Modo Estéreo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Filtro" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filtro de Pase Alto" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Ganancia de Entrada" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Reducción" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "General" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Usar Predeterminado" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Usar Predeterminado" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Reverberación" #: data/ui/pipe_manager_box.ui:116 #, fuzzy msgid "Header Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:127 #, fuzzy msgid "Library Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Tasa de Muestreo por Defecto" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Ganancia Máxima" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Profundidad Predeterminda" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Efectos de Salida" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 #, fuzzy msgid "Output Presets" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Efectos de Entrada" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:495 #, fuzzy msgid "Modules List" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:541 #, fuzzy msgid "Test Signal" msgstr "Señal de Prueba" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Habilitar" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 #, fuzzy msgid "Both Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Mesa Sinusoidal" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Ruido Blanco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frecuencia" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Ventana" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Borrar este perfil" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "Efectos" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 #, fuzzy msgid "_General" msgstr "General" #: data/ui/preferences_general.ui:10 #, fuzzy msgid "Service" msgstr "Servidor" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Procesar Todas las Salidas" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Procesar Todas las Entradas" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Traducciones actualizadas" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frecuencia" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Usar Tema Oscuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Cierra la ventana" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 #, fuzzy msgid "_Spectrum" msgstr "Espectro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barras" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Lineas" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Ancho de Linea" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Minimum" msgstr "Máximo" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Borrar este perfil" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Secar" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importar Modelo" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Crear Perfil" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortiguación de Alta Frecuencia" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Tamaño de la Habitación" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/Liso" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre Retraso" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tiempo de Decaimiento" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Corte de Bajos" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Corte de Sobreagudos" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Paredes Vacías" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Habitación" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Habitación Vacía Grande" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Habitación Ocupada Grande" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importar Modelo" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detector de Voz" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modelos" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Modelo estándar" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "RNNoise Lista de Modelos" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Modelo activo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Modelo estándar RNNoise" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Visión general" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Pantalla completa/Restaurar desde pantalla completa" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Cierra la ventana" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "Salir de EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Ruido Rojo" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Regulador de Ganancia" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Reverberación" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Ruido" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Balance de insumos" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Nivel del Clip Suave" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo Predeterminado)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo hacia Medio Lado)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio Lado - Estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Canal Izquierdo Mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Canal Derecho Mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Suma Mono L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Intercambiar Canales)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Modo Estéreo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balance Lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nivel Medio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Balance de producción" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Retraso Izquierda Derecha" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase Estéreo" #: src/app_info.cpp:100 msgid "Running" msgstr "Corriendo" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Suspendido" #: src/app_info.cpp:104 msgid "Idle" msgstr "Inactivo" #: src/app_info.cpp:106 msgid "Creating" msgstr "Creando" #: src/app_info.cpp:108 msgid "Error" msgstr "Error" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Desconocido" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "canales" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Salir de EasyEffects. Útil cuando se está ejecutando en modo de servicio." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Restablecer EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Oculta la ventana." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Bypass global, 1 para habilitar, 2 para deshabilitar y 3 para obtener el " "estado" #: src/application.cpp:615 msgid "Show available presets." msgstr "Mostrar perfiles disponibles." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Cargar un perfil. Ejemplo: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Salida" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Entrada" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importar impulso de archivo" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Respuesta de Impulse" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Cargar impulso" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Remover impulso" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "No se pudo encontrar el archivo Impulse" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "grabadoras" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Jugadores" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efectos" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importar archivo de preajuste APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Preajustes APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar archivo de preajuste APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Preajustes APO" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar archivo de preajuste APO" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Remover preajuste de autocargar" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Efectos de Salida" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Efectos de Salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Añadir" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importar Preajuste" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicaciones" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Perfiles de Dispositivos de Entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Perfiles de Dispositivos de Entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importar Preajuste" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importar archivo modelo" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Modelos RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "potenciador de graves" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "sonoridad de graves" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "enrevesado" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizador" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "DeEsser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Cancelador de Eco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ecualizador" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitador" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Efectos de Salida" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitador" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizador" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresor Multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Puerta Multibanda" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Reverberación" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Reducción de ruido" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Herramientas Estéreo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Límite" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Preajuste" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de Pase Alto" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "infinity" #~ msgstr "infinidad" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Radio" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid "High-pass" #~ msgstr "Pase Alto" #~ msgid "Gating" #~ msgstr "Puerta" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Paso Bajo" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Paso Bajo" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Paso Bajo" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Pase Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Pase Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Pase Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Paso de Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Paso de Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Paso de Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rechazo de Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rechazo de Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rechazo de Banda" #~ msgid "Inertia" #~ msgstr "Inercia" #, fuzzy #~ msgid "Band Type" #~ msgstr "Tipo" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Modo" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendiente" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Volumen" #, fuzzy #~ msgid "High Speed" #~ msgstr "Estante Alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidad" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #, fuzzy #~ msgid "Preserved" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Crisp" #~ msgstr "Frescura" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Clip Suave" #~ msgid "Cents" #~ msgstr "Acentos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Abrir el manual de EasyEffects" #~ msgid "High Pass" #~ msgstr "Pase Alto" #~ msgid "Low Pass" #~ msgstr "Paso Bajo" #~ msgid "Cancel" #~ msgstr "Cancelar" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Frame Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pre Retraso" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Dividir Canales" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "nivel seco" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "nivel seco" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Nivel húmedo" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Nivel húmedo" #, fuzzy #~ msgid "Suppression" #~ msgstr "Nivel de Supresión" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de audio para aplicaciones PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reducción de ruido" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Amplificación" #~ msgid "Max Reduction" #~ msgstr "Reducción" #~ msgid "Low Band" #~ msgstr "Banda Baja" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción" #~ msgid "Mid Band" #~ msgstr "Banda Media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción" #~ msgid "Wet Amount" #~ msgstr "Cantidad húmeda" #~ msgid "Dry Amount" #~ msgstr "Gran cantidad" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects es una herramienta avanzada de manipulación de audio. Incluye " #~ "un ecualizador, limitador, compresor y una herramienta de reverberación, " #~ "solo por mencionar algunos. Para complementar esto también hay un " #~ "analizador de espectro incorporado." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects es el sucesor de PulseEffects. EasyEffects solo admite el " #~ "servidor de audio de PipeWire. Los usuarios de PulseAudio deben usar " #~ "PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Debido a que EasyEffects utiliza el servidor de sonido PipeWire " #~ "predeterminado, funcionará con la mayoría, si no todas, las aplicaciones " #~ "que utilice. Todas las aplicaciones soportadas se presentan en la ventana " #~ "principal, donde cada una se puede habilitar individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Además de manipular el sonido de salida, EasyEffects puede aplicar " #~ "efectos a dispositivos de entrada, como micrófonos. Esto es útil, por " #~ "ejemplo, en la grabación de audio, pero también funciona correctamente " #~ "durante conversaciones de voces." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Cuando EasyEffects esté activo este convenientemente recordará la " #~ "configuración usada en la última sesión. También es posible guardar la " #~ "configuración actual como un perfil." #~ msgid "The main page showing two audio output apps" #~ msgstr "La página principal que muestra dos aplicaciones de salida de audio" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "" #~ "La página de potenciador de graves que muestra los controles de audio" #~ msgid "The convolver page showing audio controls" #~ msgstr "La página convolver que muestra los controles de audio" #~ msgid "This release adds the following features:" #~ msgstr "Esta versión añade las siguientes características:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Esta versión corrige los siguientes errores:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #, fuzzy #~ msgid "Many translation updates" #~ msgstr "Traducciones actualizadas" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Hay una nueva configuración que permite al usuario seleccionar un tiempo " #~ "de inactividad para la canalización. Cuando no se reproduce ningún cliente" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "desde nuestros dispositivos, los filtros se desvincularán después de que " #~ "se alcance el tiempo de espera. Esto se hace para asegurarse de que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "" #~ "no desperdiciamos el silencio de procesamiento de energía de la CPU." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "El plugin autogain ahora permite al usuario seleccionar cuál de las tres " #~ "sonoridades se utilizan para calcular la geométrica" #~ msgid "mean." #~ msgstr "medida." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "El plugin autogain ahora permite establecer el historial máximo y ya no " #~ "usa el modo `libebur128` histograma." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Esto debe evitar los casos en los que el `Integrated` loudness se queda " #~ "atascado para siempre en el mismo valor." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "El icono de EasyEffects se ha actualizado de una manera que debería " #~ "hacerlo visible en los escritorios QT." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta versión corrige el siguiente error:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "La opción de línea de comandos que devuelve el estado de derivación " #~ "global está funcionando de nuevo." #~ msgid "This release adds the following feature:" #~ msgstr "Esta versión incluye las siguientes novedades:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "El filtro de crossfeed debería tratar mejor con los interruptores de " #~ "latencia dinámica de PipeWire. Los saltos en el nivel de volumen ya no " #~ "deberían ocurrir en estas situaciones." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Corregido un error que impedía que los micrófonos mono funcionaran " #~ "correctamente con EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Soporte para la próxima versión de PipeWire `0.3.44`" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "El filtro de autogain debe tratar mejor con los interruptores de latencia " #~ "dinámica de PipeWire. Los saltos en el nivel de volumen ya no deberían " #~ "ocurrir en estas situaciones." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Hemos añadido una opción que permite restablecer el volumen y el estado " #~ "de silencio de nuestros dispositivos virtuales cuando se inicie " #~ "EasyEffects. Debería ayudar con los casos en los que nuestros " #~ "dispositivos son silenciados por el servidor de audio por razones " #~ "desconocidas." #~ msgid "Better support for computer suspending." #~ msgstr "Mejor soporte para la suspensión de la computadora." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Se ha corregido un error por el que al intentar crear un perfil de carga " #~ "automática sin tener ajustes preestablecidos la aplicación se bloqueaba." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "se ha Corregido un error donde el establecimiento de una banda de " #~ "ecualizador `calidad` a `cero` daría lugar a un accidente de aplicación." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita se utiliza para crear algunas partes de nuestra ventana y para " #~ "manejar el cambio entre temas oscuros y claros." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "El menú de configuración ha sido rediseñado usando los widgets de " #~ "LibAdwaita." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "Ecualizador APO función de importación preestablecida se ha mejorado para " #~ "aplicar no solo el filtro de Bell, sino también otros soportados" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "La función `Reiniciar todas las configuraciones` de nuestro menú debería " #~ "funcionar ahora en Flatpak." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Tenemos una nueva opción que permite al usuario deshabilitar nuestros " #~ "menús `autohide`. Esto puede ayudar a solucionar algunos errores que los " #~ "menús Popover tienen actualmente en gtk4." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "Análisis más robusto para importar preajustes APO guardados con coma como " #~ "separador de miles en banda de frecuencia central." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "La biblioteca fmt es una nueva dependencia Al menos mientras los " #~ "compiladores de c++ no implementan sus características. Se espera que " #~ "esto suceda en los próximos años." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM y GLIBMM ya no son una dependencia. Ahora usamos gtk4 directamente." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Ahora es posible combinar respuestas de impulso en la interfaz Convolver. " #~ "Se genera un nuevo archivo de impulso y debe ser visible en la lista de " #~ "impulsos." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "Dibujos `x ejes` mejorados en nuestras gráficas. Ahora el número de " #~ "etiquetas se ajusta dinámicamente dependiendo del ancho de nuestra " #~ "ventana." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "La documentación se ha actualizado para reflejar las nuevas " #~ "características de EasyEffects. Se han eliminado las referencias antiguas " #~ "sobre PulseEffects. El botón de documentación se ha añadido en la sección " #~ "de menú." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Cuando un spinbutton se llena con un valor fuera de rango, ahora se " #~ "actualiza con el valor más bajo/ más alto en lugar de reinicializar al " #~ "anterior." #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Borrar este perfil" #~ msgid "Import Presets" #~ msgstr "Importar Perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar Servicio al Iniciar Sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Lista Negra" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrar Micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "Faster" #~ msgstr "Más Rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar Formato" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Use Custom Color" #~ msgstr "Usar Color Personalizado" #~ msgid "Use Gradient" #~ msgstr "Usar Degradado" #~ msgid "Spectrum Color" #~ msgstr "Color del Espectro" #~ msgid "Gradient Color" #~ msgstr "Color del Degradado" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Exponent" #~ msgstr "Exponente" #~ msgid "Sampling" #~ msgstr "Muestreo" #~ msgid "Block Size" #~ msgstr "Tamaño de Bloque" #~ msgid "Pipeline Input" #~ msgstr "Caudal de Entrada" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Niceness" #~ msgstr "Meticulosidad" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridad" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Priority" #~ msgstr "Prioridad" # Resampler does not have an official translation #~ msgid "Resampler" #~ msgstr "Remuestreador" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Muestreo Predeterminado" #~ msgid "File" #~ msgstr "Archivo" #~ msgid "Configuration" #~ msgstr "Configuración" # Resamplers does not have an official translation #~ msgid "Resamplers" #~ msgstr "Remuestreadores" #~ msgid "Detect Silence" #~ msgstr "Detectar Silencio" #~ msgid "-23" #~ msgstr "-23" #~ msgid "Weights" #~ msgstr "Fuerza" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Silenciado" #~ msgid "Distant Headphones" #~ msgstr "Audífonos a Distancia" #~ msgid "Reset Equalizer" #~ msgstr "Restablecer Ecualizador" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Import Impulse Response File" #~ msgstr "Importar Archivo de Respuesta Impulse" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione el Archivo de Respuesta Impulse" #~ msgid "Loudness Range" #~ msgstr "Rango de Sonoridad" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Después" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Filtro Extendido" #~ msgid "Delay Agnostic" #~ msgstr "Retraso Agnóstico" #~ msgid "Low" #~ msgstr "Bajo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Very High" #~ msgstr "Muy Alto" #~ msgid "Adaptive Digital" #~ msgstr "Adaptado Digital" #~ msgid "Fixed Digital" #~ msgstr "Arreglo Digital" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidad de Detección" #~ msgid "Very Low" #~ msgstr "Muy Bajo" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automáticamente aplicar este perfil siempre que el dispositivo actual " #~ "esté conectado" #~ msgid "Volume" #~ msgstr "Volumen" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cuadrado" #~ msgid "Saw" #~ msgstr "Sierra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Pink Noise" #~ msgstr "Ruido Rosa" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Ruido Gaussiano" #~ msgid "Blue Noise" #~ msgstr "Ruido Azul" #~ msgid "Violet Noise" #~ msgstr "Ruido Violeta" #~ msgid "Measure Noise" #~ msgstr "Medir Ruido" #~ msgid "Subtract Noise" #~ msgstr "Reducir Ruido" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Establecer el volumen y encender/apagar los efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Incluye un ecualizador con perfiles incluidos" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "reproduciendo" easyeffects-7.1.7/po/es_MX.po000066400000000000000000002302271463533416400160370ustar00rootroot00000000000000# Spanish (MX) translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the Pulseeffects package. # CCaroV , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-11-16 03:06+0000\n" "Last-Translator: Carlos Batista \n" "Language-Team: Spanish (Mexico) \n" "Language: es_MX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.2-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ecualizador, Compresor y Otros Efectos de Sonido" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de audio para aplicaciones PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Habilitar/deshabilitar esta aplicación" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Habilitar" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Lista Aplicaciones Excluidas: Agregar/Quitar esta aplicación" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Excluir" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Silenciar Aplicación" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Cambiar el volumen de esta aplicación" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volumen de la Aplicación" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Ayuda" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Ajustes" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "Preferencias" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Atajos" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Perfiles" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menú de Perfiles" #: data/ui/application_window.ui:68 #, fuzzy msgid "Enable/disable the global bypass" msgstr "Habilitar/Deshabilitar" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Bypass Global" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menú Principal" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 #, fuzzy msgid "Applications List" msgstr "Aplicaciones" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Paredes Vacías" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Sin Aplicaciones de Audio Disponibles" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Controles" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Objetivo" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referencia" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Corto Plazo" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Usar la Media Geométrica (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Usar la Media Geométrica (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Usar la Media Geométrica (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Usar la Media Geométrica (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Restablecer Historial" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Loudness" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Reativo" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:383 #, fuzzy msgid "Output Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Caudal de Salida" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Dispositivo" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nombre" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Perfil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Perfiles" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Borrar este perfil" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Escuchar" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mezclar Harmónicos" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3era" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2nda" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Cantidad" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Fondo" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Valor del Fondo" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Acoplar" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Nombre de Aplicación" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Añadir a Aplicaciones Excluidas" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Aplicaciones Excluidas" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Mostrar Aplicaciones Excluidas" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Mostrar Ventana Nativa" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Hacia Abajo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Hacia Arriba" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Amplificando" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modo de Compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 #, fuzzy msgid "Boost Threshold" msgstr "Límite" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Cantidad" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 #, fuzzy msgid "Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Límite" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Límite" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Liberar" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Tiempo decaimiento" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Límite" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Radio" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Codo" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Amplificación" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Nivel" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Nivel Objetivo" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Base Estéreo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Izquierda" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Derecha" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Máximo" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Cadena Lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Retraso L/R" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Derecha" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Fuente Predeterminada" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Media móvil simple" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Cadena Lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Cadena Lateral Externa" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Adelantar" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Realimentar" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Externo" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Cadena Lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Efectos de Entrada" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Pre-amplificación" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Atenuación" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Cadena Lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "Pase Alto" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Apagdo" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Paso Bajo" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Pendiente" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Canales" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Dividir Canales" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Respuesta de Impulse" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combinar" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Amplitud Estéreo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:121 #, fuzzy msgid "Log Scale" msgstr "Escala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Ganancia Automática" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duración" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Respuesta de Impulse" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Primer núcleo" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Segundo núcleo" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Nombre del archivo de salida" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Nombre del kernel combinado" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importar Archivo Impulse" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Buscar" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Importar Archivo Impulse" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Importar Archivo Impulse" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predeterminado" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Umbral" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Alimentar" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Bypass" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Silenciar" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Atenuación" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Umbral mínimo de procesamiento" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Umbral máximo de procesamiento de ERB" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Umbral máximo de procesamiento de DF" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Búfer mínimo de procesamiento" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detección" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Ancho" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Dividir" #: data/ui/deesser.ui:96 #, fuzzy msgid "F1 Split" msgstr "Dividir" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "Pico" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:165 #, fuzzy msgid "F1 Gain" msgstr "Ganancia" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:199 #, fuzzy msgid "F2 Level" msgstr "Nivel" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:233 #, fuzzy msgid "F2 Peak Q" msgstr "Pico Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Relajamiento" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Invertir Fase" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Aplicaciones excluidas" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Habilitar/deshabilitar esta aplicación" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandas" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Dividir Canales" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Respuesta Plana" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcular Frecuencias" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Bandas" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 #, fuzzy msgid "Import Preset" msgstr "Importar Perfiles" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importar Perfiles" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Límite" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Valor tope" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Expansor" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Modo" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Integrado" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Acceso" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Detección" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Borrar este perfil" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Estante Bajo" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Estante Alto" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Timbre" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bypass" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Muesca" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonancia" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Paso Bajo" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Reducción" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Paso Bajo" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ecualizador" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Puerta de Ruido" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Histéresis" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mezcla" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Inicio de la zona de ataque" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Tiempo Real" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frecuencia" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Restablecer Historial" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sobre Muestreo" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Ancho" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Ancho" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Ancho de Linea" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Ancho de Linea" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Mesa Sinusoidal" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ninguno" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Mitad x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Mitad x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Mitad x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Mitad x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Mitad x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Mitad x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Mitad x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Mitad x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Mitad x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Mitad x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Completo x2 (2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Completo x2 (3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Completo x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Completo x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Completo x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Completo x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Completo x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Completo x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Completo x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Full x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "Preamplificador SC" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Pre-amplificación" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Potenciador" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Acoplamiento Estéreo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Cadena Lateral Externa" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Ganancia Automática" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Nivelación con ataque automático" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Nivelación con liberación automática" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Ganancia Izquierda" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Ganancia Derecha" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Cadena Lateral Izquierda" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Cadena Lateral Derecha" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Estándar" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plano" #: data/ui/loudness.ui:58 #, fuzzy msgid "FFT Size" msgstr "Tamaño del Marco" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Volumen de Salida" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Mapa de Canales" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Cadena Lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Mostrar interfaz de usuario nativa" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Modo de Operación" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Clásico" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 #, fuzzy msgid "Modern" msgstr "Modo" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Invertir Fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Banda 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Inicio de banda" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Final de banda" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Bypass" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Base Estéreo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Filtro" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filtro de Pase Alto" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Preamplificador" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Ganancia de Entrada" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Reducción" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "General" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Usar Predeterminado" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Usar Predeterminado" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Reverberación" #: data/ui/pipe_manager_box.ui:116 #, fuzzy msgid "Header Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Versión librerías" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Tasa de Muestreo por Defecto" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Ganancia Máxima" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Profundidad Predeterminda" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Efectos de Salida" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Perfiles de Dispositivos de Salida" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Perfiles de Dispositivos de Salida" #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Efectos de Entrada" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Perfiles de Dispositivos de Entrada" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Añadir perfil autocargado" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Perfiles de Dispositivos de Entrada" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Lista de módulos" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Lista de clientes" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Señal de prueba" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Habilitado" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Propiedades" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Ambos canales" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Forma de onda" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Mesa Sinusoidal" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Ruido Blanco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frecuencia" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Ventana" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Añadir efecto" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Borrar este perfil" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 #, fuzzy msgid "_General" msgstr "General" #: data/ui/preferences_general.ui:10 #, fuzzy msgid "Service" msgstr "Servidor" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Lanzar el servicio al arranque" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Apagar al cerrar la ventana" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Procesar Todas las Salidas" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Procesar Todas las Entradas" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Integrado" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frecuencia" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Usar Tema Oscuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Mostrar Ventana Nativa" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 #, fuzzy msgid "_Spectrum" msgstr "Espectro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Forma" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barras" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Lineas" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Ancho de Linea" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Mínimo" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Borrar este perfil" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Secar" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Perfiles de Dispositivos de Salida:" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importar Archivo Impulse" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Crear Perfil" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Perfiles de Dispositivos de Salida:" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortiguación de Alta Frecuencia" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Tamaño de la Habitación" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/Liso" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre Retraso" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tiempo de Decaimiento" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Corte de Bajos" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Corte de Sobreagudos" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Paredes Vacías" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Habitación" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Habitación Vacía Grande" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Habitación Ocupada Grande" #: data/ui/rnnoise.ui:31 #, fuzzy msgid "Import Model" msgstr "Importar Archivo Impulse" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detector de Voz" #: data/ui/rnnoise.ui:151 #, fuzzy msgid "Models" msgstr "Modo" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 #, fuzzy msgid "Active Model" msgstr "Modo Agresivo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Ruido Rojo" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Regulador de Ganancia" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Reverberación" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Ruido" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:78 #, fuzzy msgid "Input Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo Predeterminado)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo hacia Medio Lado)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio Lado - Estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Canal Izquierdo Mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Canal Derecho Mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Suma Mono L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Intercambiar Canales)" #: data/ui/stereo_tools.ui:149 #, fuzzy msgid "Stereo Mode" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balance Lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nivel Medio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:452 #, fuzzy msgid "Delay Left Right" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase Estéreo" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "Puerta" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Canales" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Salir de EasyEffects. Útil cuando se está ejecutando en modo de servicio." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Restablecer EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Bypass global, 1 para habilitar, 2 para deshabilitar y 3 para obtener el " "estado" #: src/application.cpp:615 msgid "Show available presets." msgstr "Mostrar perfiles disponibles." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Cargar un perfil. Ejemplo: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Salida" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Entrada" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Respuesta de Impulse" #: src/convolver_menu_impulses.cpp:293 #, fuzzy msgid "Load Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:296 #, fuzzy msgid "Remove Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "No se pudo encontrar el archivo Impulse" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 #, fuzzy msgid "Recorders" msgstr "Bordes" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 #, fuzzy msgid "Import APO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:529 #, fuzzy msgid "APO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 #, fuzzy msgid "Remove Autoloading Preset" msgstr "Borrar este perfil" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Efectos de Salida" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Efectos de Salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importar Perfiles" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicaciones Excluidas" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Perfiles de Dispositivos de Entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Perfiles de Dispositivos de Entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importar Perfiles" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 #, fuzzy msgid "Import Model File" msgstr "Importar Archivo Impulse" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Potenciado de Graves" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Loudness" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizador" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Cancelador de Eco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ecualizador" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitador" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Efectos de Salida" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitador" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizador" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresor Multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Puerta Multibanda" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Reverberación" #: src/tags_plugin_name.cpp:62 #, fuzzy msgid "Noise Reduction" msgstr "Reducción de Ganancia" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Herramientas Estéreo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Límite" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de Pase Alto" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "New Output Preset Name" #~ msgstr "Perfiles de Dispositivos de Salida:" #~ msgid "infinity" #~ msgstr "infinidad" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Radio" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid "High-pass" #~ msgstr "Pase Alto" #~ msgid "Gating" #~ msgstr "Puerta" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Paso Bajo" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Paso Bajo" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Paso Bajo" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Pase Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Pase Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Pase Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Paso de Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Paso de Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Paso de Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rechazo de Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rechazo de Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rechazo de Banda" #~ msgid "Inertia" #~ msgstr "Inercia" #, fuzzy #~ msgid "Band Type" #~ msgstr "Tipo" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Modo" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendiente" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Loudness" #, fuzzy #~ msgid "High Speed" #~ msgstr "Estante Alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidad" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #, fuzzy #~ msgid "Preserved" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Crisp" #~ msgstr "Frescura" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Clip Suave" #~ msgid "Cents" #~ msgstr "Acentos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Restablecer EasyEffects." #~ msgid "High Pass" #~ msgstr "Pase Alto" #~ msgid "Low Pass" #~ msgstr "Paso Bajo" #~ msgid "Cancel" #~ msgstr "Cancelar" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Frame Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pre Retraso" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Dividir Canales" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Nivel Objetivo" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Nivel Objetivo" #, fuzzy #~ msgid "Suppression" #~ msgstr "Nivel de Supresión" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de Sonido para las aplicaciones de PulseAudio" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reducción de Ganancia" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Amplificación" #~ msgid "Max Reduction" #~ msgstr "Reducción" #~ msgid "Low Band" #~ msgstr "Banda Baja" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción" #~ msgid "Mid Band" #~ msgstr "Banda Media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantidad" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantidad" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects es una avanzada herramienta de manipulación de audio. Incluye " #~ "un ecualizador, limitador, compresor y herramienta de reverberación , " #~ "solo por mencionar algunos. Para complementar esto hay también incluido " #~ "un analizador de espectro." #, fuzzy #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Debido a que EasyEffects usa por defecto el servicio de sonido " #~ "PulseAudio, este funcionará con la mayoría, sino que todas, las " #~ "aplicaciones que use. Todas las aplicaciones son mostradas en la ventana " #~ "principal donde pueden ser habilitadas individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Además de manipular el sonido de salida, EasyEffects puede aplicar " #~ "efectos a dispositivos de entrada, como micrófonos. Esto es útil, por " #~ "ejemplo, en la grabación de audio, pero también funciona correctamente " #~ "durante conversaciones de voces." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Cuando EasyEffects esté activo este convenientemente recordará la " #~ "configuración usada en la última sesión. También es posible guardar la " #~ "configuración actual como un perfil." #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Borrar este perfil" #~ msgid "Import Presets" #~ msgstr "Importar Perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar Servicio al Iniciar Sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Lista Negra" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrar Micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "Faster" #~ msgstr "Más Rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar Formato" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Use Custom Color" #~ msgstr "Usar Color Personalizado" #~ msgid "Use Gradient" #~ msgstr "Usar Degradado" #~ msgid "Spectrum Color" #~ msgstr "Color del Espectro" #~ msgid "Gradient Color" #~ msgstr "Color del Degradado" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Exponent" #~ msgstr "Exponente" #~ msgid "Sampling" #~ msgstr "Muestreo" #~ msgid "Block Size" #~ msgstr "Tamaño de Bloque" #~ msgid "Pipeline Input" #~ msgstr "Caudal de Entrada" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Niceness" #~ msgstr "Meticulosidad" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridad" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Priority" #~ msgstr "Prioridad" # Resampler does not have an official translation #~ msgid "Resampler" #~ msgstr "Remuestreador" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Muestreo Predeterminado" #~ msgid "File" #~ msgstr "Archivo" #~ msgid "Configuration" #~ msgstr "Configuración" # Resamplers does not have an official translation #~ msgid "Resamplers" #~ msgstr "Remuestreadores" #~ msgid "Detect Silence" #~ msgstr "Detectar Silencio" #~ msgid "-23" #~ msgstr "-23" #~ msgid "Weights" #~ msgstr "Fuerza" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Silenciado" #~ msgid "Distant Headphones" #~ msgstr "Audífonos a Distancia" #~ msgid "Reset Equalizer" #~ msgstr "Restablecer Ecualizador" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Import Impulse Response File" #~ msgstr "Importar Archivo de Respuesta Impulse" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione el Archivo de Respuesta Impulse" #~ msgid "Loudness Range" #~ msgstr "Rango de Sonoridad" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Después" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Filtro Extendido" #~ msgid "Delay Agnostic" #~ msgstr "Retraso Agnóstico" #~ msgid "Low" #~ msgstr "Bajo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Very High" #~ msgstr "Muy Alto" #~ msgid "Adaptive Digital" #~ msgstr "Adaptado Digital" #~ msgid "Fixed Digital" #~ msgstr "Arreglo Digital" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidad de Detección" #~ msgid "Very Low" #~ msgstr "Muy Bajo" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automáticamente aplicar este perfil siempre que el dispositivo actual " #~ "esté conectado" #~ msgid "Volume" #~ msgstr "Volumen" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cuadrado" #~ msgid "Saw" #~ msgstr "Sierra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Pink Noise" #~ msgstr "Ruido Rosa" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Ruido Gaussiano" #~ msgid "Blue Noise" #~ msgstr "Ruido Azul" #~ msgid "Violet Noise" #~ msgstr "Ruido Violeta" #~ msgid "Measure Noise" #~ msgstr "Medir Ruido" #~ msgid "Subtract Noise" #~ msgstr "Reducir Ruido" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Establecer el volumen y encender/apagar los efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Incluye un ecualizador con perfiles incluidos" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "reproduciendo" easyeffects-7.1.7/po/es_VE.po000066400000000000000000002260601463533416400160250ustar00rootroot00000000000000# Spanish (VE) translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the Pulseeffects package. # CCaroV , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 14:07+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Spanish (Venezuela) \n" "Language: es_VE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ecualizador, Compresor y Otros Efectos de Sonido" #: data/com.github.wwmm.easyeffects.desktop.in:6 #, fuzzy msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de Sonido para las Aplicaciones de PulseAudio" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Habilitar" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 #, fuzzy msgid "Mute Application" msgstr "Aplicaciones" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 #, fuzzy msgid "Application Volume" msgstr "Aplicaciones" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Ayuda" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Ajustes" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Perfiles" #: data/ui/application_window.ui:61 #, fuzzy msgid "Presets Menu" msgstr "Perfiles" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Bypass Global" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 #, fuzzy msgid "Applications List" msgstr "Aplicaciones" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Paredes Vacías" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Aplicaciones" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Objetivo" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Corto Plazo" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Restablecer Historial" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Loudness" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Reativo" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:383 #, fuzzy msgid "Output Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Caudal de Salida" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nombre" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Perfiles" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Borrar este perfil" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Escuchar" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mezclar Harmónicos" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3era" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2nda" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Cantidad" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Fondo" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Fondo" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Acoplar" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Aplicaciones" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Aplicaciones" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Aplicaciones" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Aplicaciones" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Ventana" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Hacia Abajo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Hacia Arriba" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modo de Compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 #, fuzzy msgid "Boost Threshold" msgstr "Límite" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Cantidad" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 #, fuzzy msgid "Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Límite" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Límite" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Liberar" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Límite" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Radio" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Codo" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Amplificación" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Nivel" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Nivel Objetivo" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Base Estéreo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Izquierda" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Derecha" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Máximo" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Cadena Lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Retraso L/R" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Derecha" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Fuente Predeterminada" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Cadena Lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Adelantar" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Realimentar" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Cadena Lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Efectos de Entrada" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Pre-amplificación" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Atenuación" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Cadena Lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "Pase Alto" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Apagdo" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Paso Bajo" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Pendiente" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Canales" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Dividir Canales" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Respuesta de Impulse" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Amplitud Estéreo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:121 #, fuzzy msgid "Log Scale" msgstr "Escala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Ganancia Automática" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duración" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Respuesta de Impulse" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importar Archivo Impulse" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Importar Archivo Impulse" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Importar Archivo Impulse" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predeterminado" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Umbral" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Alimentar" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Bypass" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Silenciar" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Atenuación" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detección" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Ancho" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Dividir" #: data/ui/deesser.ui:96 #, fuzzy msgid "F1 Split" msgstr "Dividir" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "Pico" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:165 #, fuzzy msgid "F1 Gain" msgstr "Ganancia" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:199 #, fuzzy msgid "F2 Level" msgstr "Nivel" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:233 #, fuzzy msgid "F2 Peak Q" msgstr "Pico Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Relajamiento" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Invertir Fase" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandas" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Dividir Canales" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Respuesta Plana" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcular Frecuencias" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Bandas" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 #, fuzzy msgid "Import Preset" msgstr "Importar Perfiles" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importar Perfiles" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Límite" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Modo" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Integrado" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Detección" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Borrar este perfil" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Estante Bajo" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Estante Alto" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Timbre" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bypass" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Muesca" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonancia" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Paso Bajo" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Reducción" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Paso Bajo" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ecualizador" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Puerta de Ruido" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Tiempo Real" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frecuencia" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Restablecer Historial" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sobre Muestreo" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Ancho" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Ancho" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Ancho de Linea" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Ancho de Linea" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Mesa Sinusoidal" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ninguno" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Pre-amplificación" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Acoplamiento Estéreo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Cadena Lateral" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Ganancia Automática" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Ganancia" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Derecha" #: data/ui/limiter.ui:678 #, fuzzy msgid "Sidechain Left" msgstr "Cadena Lateral" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Cadena Lateral" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 #, fuzzy msgid "FFT Size" msgstr "Tamaño del Marco" #: data/ui/loudness.ui:82 #, fuzzy msgid "Output Volume" msgstr "Salida" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Mapa de Canales" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Cadena Lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 #, fuzzy msgid "Modern" msgstr "Modo" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Invertir Fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 #, fuzzy msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 #, fuzzy msgid "Band 1" msgstr "Bandas" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 #, fuzzy msgid "Band 2" msgstr "Bandas" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 #, fuzzy msgid "Band 3" msgstr "Bandas" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 #, fuzzy msgid "Band 4" msgstr "Bandas" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 #, fuzzy msgid "Band 5" msgstr "Bandas" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 #, fuzzy msgid "Band 6" msgstr "Bandas" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 #, fuzzy msgid "Band 7" msgstr "Bandas" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 #, fuzzy msgid "Band 8" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 #, fuzzy msgid "Band End" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Bypass" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Base Estéreo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Filtro" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filtro de Pase Alto" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Ganancia de Entrada" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Reducción" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "General" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Usar Predeterminado" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Usar Predeterminado" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Reverberación" #: data/ui/pipe_manager_box.ui:116 #, fuzzy msgid "Header Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:127 #, fuzzy msgid "Library Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Tasa de Muestreo por Defecto" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Ganancia Máxima" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Profundidad Predeterminda" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Efectos de Salida" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 #, fuzzy msgid "Output Presets" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Efectos de Entrada" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:495 #, fuzzy msgid "Modules List" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:541 #, fuzzy msgid "Test Signal" msgstr "Señal de Prueba" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Habilitar" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 #, fuzzy msgid "Both Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Mesa Sinusoidal" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Ruido Blanco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frecuencia" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Ventana" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Borrar este perfil" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 #, fuzzy msgid "_General" msgstr "General" #: data/ui/preferences_general.ui:10 #, fuzzy msgid "Service" msgstr "Servidor" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Procesar Todas las Salidas" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Procesar Todas las Entradas" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Integrado" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frecuencia" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Usar Tema Oscuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Ventana" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 #, fuzzy msgid "_Spectrum" msgstr "Espectro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barras" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Lineas" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Ancho de Linea" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Minimum" msgstr "Máximo" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Borrar este perfil" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Secar" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importar Archivo Impulse" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Crear Perfil" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortiguación de Alta Frecuencia" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Tamaño de la Habitación" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/Liso" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre Retraso" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tiempo de Decaimiento" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Corte de Bajos" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Corte de Sobreagudos" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Paredes Vacías" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Habitación" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Habitación Vacía Grande" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Habitación Ocupada Grande" #: data/ui/rnnoise.ui:31 #, fuzzy msgid "Import Model" msgstr "Importar Archivo Impulse" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detector de Voz" #: data/ui/rnnoise.ui:151 #, fuzzy msgid "Models" msgstr "Modo" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 #, fuzzy msgid "Active Model" msgstr "Modo Agresivo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Ruido Rojo" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Regulador de Ganancia" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Reverberación" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Ruido" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:78 #, fuzzy msgid "Input Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo Predeterminado)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo hacia Medio Lado)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio Lado - Estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Canal Izquierdo Mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Canal Derecho Mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Suma Mono L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Intercambiar Canales)" #: data/ui/stereo_tools.ui:149 #, fuzzy msgid "Stereo Mode" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balance Lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nivel Medio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:452 #, fuzzy msgid "Delay Left Right" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase Estéreo" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "Puerta" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Canales" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Salir de EasyEffects. Útil cuando se está ejecutando en modo de servicio." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Restablecer EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Bypass global, 1 para habilitar, 2 para deshabilitar y 3 para obtener el " "estado" #: src/application.cpp:615 msgid "Show available presets." msgstr "Mostrar perfiles disponibles." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Cargar un perfil. Ejemplo: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Salida" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Entrada" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Respuesta de Impulse" #: src/convolver_menu_impulses.cpp:293 #, fuzzy msgid "Load Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:296 #, fuzzy msgid "Remove Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "No se pudo encontrar el archivo Impulse" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 #, fuzzy msgid "Recorders" msgstr "Bordes" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 #, fuzzy msgid "Import APO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:529 #, fuzzy msgid "APO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 #, fuzzy msgid "Remove Autoloading Preset" msgstr "Borrar este perfil" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Efectos de Salida" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Efectos de Salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importar Perfiles" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicaciones" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Perfiles de Dispositivos de Entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Perfiles de Dispositivos de Entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importar Perfiles" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 #, fuzzy msgid "Import Model File" msgstr "Importar Archivo Impulse" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Potenciado de Graves" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Loudness" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizador" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Cancelador de Eco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ecualizador" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitador" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Efectos de Salida" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitador" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizador" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresor Multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Puerta Multibanda" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Reverberación" #: src/tags_plugin_name.cpp:62 #, fuzzy msgid "Noise Reduction" msgstr "Reducción de Ganancia" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Herramientas Estéreo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Límite" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de Pase Alto" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "infinity" #~ msgstr "infinidad" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Radio" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid "High-pass" #~ msgstr "Pase Alto" #~ msgid "Gating" #~ msgstr "Puerta" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Paso Bajo" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Paso Bajo" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Paso Bajo" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Pase Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Pase Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Pase Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Paso de Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Paso de Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Paso de Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rechazo de Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rechazo de Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rechazo de Banda" #~ msgid "Inertia" #~ msgstr "Inercia" #, fuzzy #~ msgid "Band Type" #~ msgstr "Tipo" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Modo" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendiente" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Loudness" #, fuzzy #~ msgid "High Speed" #~ msgstr "Estante Alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidad" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #, fuzzy #~ msgid "Preserved" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Crisp" #~ msgstr "Frescura" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Clip Suave" #~ msgid "Cents" #~ msgstr "Acentos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Restablecer EasyEffects." #~ msgid "High Pass" #~ msgstr "Pase Alto" #~ msgid "Low Pass" #~ msgstr "Paso Bajo" #~ msgid "Cancel" #~ msgstr "Cancelar" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Frame Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pre Retraso" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Dividir Canales" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Nivel Objetivo" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Nivel Objetivo" #, fuzzy #~ msgid "Suppression" #~ msgstr "Nivel de Supresión" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de Sonido para las aplicaciones de PulseAudio" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reducción de Ganancia" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Amplificación" #~ msgid "Max Reduction" #~ msgstr "Reducción" #~ msgid "Low Band" #~ msgstr "Banda Baja" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción" #~ msgid "Mid Band" #~ msgstr "Banda Media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantidad" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantidad" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects es una avanzada herramienta de manipulación de audio. Incluye " #~ "un ecualizador, limitador, compresor y herramienta de reverberación , " #~ "solo por mencionar algunos. Para complementar esto hay también incluido " #~ "un analizador de espectro." #, fuzzy #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Debido a que EasyEffects usa por defecto el servicio de sonido " #~ "PulseAudio, este funcionará con la mayoría, sino que todas, las " #~ "aplicaciones que use. Todas las aplicaciones son mostradas en la ventana " #~ "principal donde pueden ser habilitadas individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Además de manipular el sonido de salida, EasyEffects puede aplicar " #~ "efectos a dispositivos de entrada, como micrófonos. Esto es útil, por " #~ "ejemplo, en la grabación de audio, pero también funciona correctamente " #~ "durante conversaciones de voces." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Cuando EasyEffects esté activo este convenientemente recordará la " #~ "configuración usada en la última sesión. También es posible guardar la " #~ "configuración actual como un perfil." #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Borrar este perfil" #~ msgid "Import Presets" #~ msgstr "Importar Perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar Servicio al Iniciar Sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Lista Negra" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrar Micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "Faster" #~ msgstr "Más Rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar Formato" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Use Custom Color" #~ msgstr "Usar Color Personalizado" #~ msgid "Use Gradient" #~ msgstr "Usar Degradado" #~ msgid "Spectrum Color" #~ msgstr "Color del Espectro" #~ msgid "Gradient Color" #~ msgstr "Color del Degradado" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Exponent" #~ msgstr "Exponente" #~ msgid "Sampling" #~ msgstr "Muestreo" #~ msgid "Block Size" #~ msgstr "Tamaño de Bloque" #~ msgid "Pipeline Input" #~ msgstr "Caudal de Entrada" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Niceness" #~ msgstr "Meticulosidad" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridad" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Priority" #~ msgstr "Prioridad" # Resampler does not have an official translation #~ msgid "Resampler" #~ msgstr "Remuestreador" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Muestreo Predeterminado" #~ msgid "File" #~ msgstr "Archivo" #~ msgid "Configuration" #~ msgstr "Configuración" # Resamplers does not have an official translation #~ msgid "Resamplers" #~ msgstr "Remuestreadores" #~ msgid "Detect Silence" #~ msgstr "Detectar Silencio" #~ msgid "-23" #~ msgstr "-23" #~ msgid "Weights" #~ msgstr "Fuerza" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Silenciado" #~ msgid "Distant Headphones" #~ msgstr "Audífonos a Distancia" #~ msgid "Reset Equalizer" #~ msgstr "Restablecer Ecualizador" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Import Impulse Response File" #~ msgstr "Importar Archivo de Respuesta Impulse" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione el Archivo de Respuesta Impulse" #~ msgid "Loudness Range" #~ msgstr "Rango de Sonoridad" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Después" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Filtro Extendido" #~ msgid "Delay Agnostic" #~ msgstr "Retraso Agnóstico" #~ msgid "Low" #~ msgstr "Bajo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Very High" #~ msgstr "Muy Alto" #~ msgid "Adaptive Digital" #~ msgstr "Adaptado Digital" #~ msgid "Fixed Digital" #~ msgstr "Arreglo Digital" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidad de Detección" #~ msgid "Very Low" #~ msgstr "Muy Bajo" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automáticamente aplicar este perfil siempre que el dispositivo actual " #~ "esté conectado" #~ msgid "Volume" #~ msgstr "Volumen" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cuadrado" #~ msgid "Saw" #~ msgstr "Sierra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Pink Noise" #~ msgstr "Ruido Rosa" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Ruido Gaussiano" #~ msgid "Blue Noise" #~ msgstr "Ruido Azul" #~ msgid "Violet Noise" #~ msgstr "Ruido Violeta" #~ msgid "Measure Noise" #~ msgstr "Medir Ruido" #~ msgid "Subtract Noise" #~ msgstr "Reducir Ruido" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Establecer el volumen y encender/apagar los efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Incluye un ecualizador con perfiles incluidos" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "reproduciendo" easyeffects-7.1.7/po/eu.po000066400000000000000000001663701463533416400154440ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-06-03 20:51+0000\n" "Last-Translator: Asier Sarasua Garmendia \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.18-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ekualizatzailea, konprimatzailea eta beste audio-efektu batzuk" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Audio-efektuak PipeWire aplikazioetarako" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "mugatzailea;konprimatzailea;durunda;ekualizadorea;bolumen automatikoa;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Gaitu/desgaitu aplikazio hau" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Gaitu" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Baztertu aplikazio-zerrenda: Gehitu/kendu aplikazio hau" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Baztertu" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Mututu aplikazioa" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Aldatu aplikazio honen bolumena" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Aplikazio-bolumena" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Laguntza" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Berrezarri ezarpenak" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Hobespenak" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "L_asterbideak" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "Easy Effects aplikazioari _buruz" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Aurrezarpenak" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Aurrezarpenen menua" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Gaitu/desgaitu bypass globala" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Bypass globala" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menu nagusia" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects leihoa" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Aplikazioen zerrenda" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Zerrenda hutsa" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Ez dago audio-aplikaziorik erabilgarri" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Helburua" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Isiltasuna" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Gehieneko historia" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Erreferentzia" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Behin-behinekoa" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Epe laburrekoa" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integratua" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Batezbesteko geometrikoa (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Batezbesteko geometrikoa (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Batezbesteko geometrikoa (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Batezbesteko geometrikoa (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Berrezarri historia" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Berrezarri" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Ozentasuna" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Erlatiboa" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Barrutia" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Irteerako irabazia" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Sarrera" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Sarrerako irabaziaren plugina" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Irteera" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Irteerako irabaziaren plugina" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Gailua" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Izena" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profila" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Aurrezarpena" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Kendu automatikoki kargatutako aurrezarpen hau" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Entzun" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Nahastu harmonikoak" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Kantitatea" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonikoak" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Esparrua" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Zorua" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Zoru-balioa" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Esteka" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Aplikazioaren izena" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Gehitu baztertutako aplikazioei" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Baztertutako aplikazioen zerrenda" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Erakutsi baztertutako aplikazioak" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Konpresorea" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modua" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Beherantz" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Gorantz" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Indartzea" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Konpresio-modua" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Indartze-atalasea" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Indartze kantitatea" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Erasoa" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Denbora" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Atalasea" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Eraso-denbora" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Eraso-atalasea" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Askatzea" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Askatze-denbora" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Askatze-atalasea" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Ratioa" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Trantsizioa" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Goratzea" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Lehortze-maila" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Hezetasun-maila" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Alboko katea" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Estereo-zabalera" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Iturburua" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Erdia" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Alboa" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Ezkerra" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Eskuina" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Alboko katearen iturburua" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Eskuina" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Eskuina" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Alboa" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Alboa" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Gailurra" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMSa" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Alboko katearen modua" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Alboko katea" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Mota" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Aurrelikatzea" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Atzeraelikatzea" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Kanpokoa" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Alboko katearen mota" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Sarrerako gailua" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Aurreanplifikazioa" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Erreaktibotasuna" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Aurrea hartzea" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Alboko katearen iragazkiak" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Pasaera altua" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Maiztasuna" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Desaktibatuta" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/zortzidun" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/zortzidun" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/zortzidun" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Pasaera altuko iragazki-modua" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Pasaera altuko iragazki-maiztasuna" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Pasaera baxua" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Pasaera baxuko iragazki-modua" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Irabazia" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Inguratzailea" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Kurba" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Ezkerreko kanala" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Eskuineko kanala" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Bulkadak" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Konbinatu" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Estereo-zabalera" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espektroa" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Eskala logaritmikoa" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Irabazi automatikoa" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Laginak" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Iraupena" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Konbinatu bulkada-erantzunak" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Lehen nukleoa" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Bigarren nukleoa" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Irteerako fitxategiaren izena" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Konbinatutako nukleo-izena" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Inportatu bulkada" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Bilatu" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Bilatu bulkada-iragazkia" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Bulkada-fitxategien zerrenda" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Lehenetsia" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Atalasea" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Elikatzea" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Deribazioa" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Mututu" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Iragazki-luzera" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detekzioa" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Zabala" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Zatitzea" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 zatitzea" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "1. maiztasunaren zatitzea" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 gailurra" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "2. maiztasunaren gailurra" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 irabazia" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "1. maiztasunaren irabasia" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 maila" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "2. maiztasunaren maila" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Q gailurra" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "2. maiztasunaren Q gailurra" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laxotasuna" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detektatua" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Murrizketa" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Atzerapena" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Iragazki-luzera" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Hondar-oihartzuna kentzea" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Amaiera aldeko oihartzuna kentzea" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Baztertutako aplikazioak" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Gaitu/desgaitu aplikazio hau" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandak" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balantzea" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Ezkerreko tonua" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Eskuineko tonua" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Zatitu kanalak" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Erantzun laua" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Kalkulatu maiztasunak" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Ordenatu bandak" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Inportatu aurrezarpena" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Inportatu aurrezarpena" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Malda" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kalitatea" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Zabalera" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Banda modua" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "APIa" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Sarbidea" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Deskribapena" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Kendu eredu-fitxategi hau" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Pasaera altua" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bandak" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Erresonantzia" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Pasaera baxua" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Pasaera baxua" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Banda modua" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Atea" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Histeresia" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Berrezarri historia" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Estereo-zabalera" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Maiztasuna" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Aurrezarpena" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Inportatu aurrezarpena" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Aurrezarpena" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Aurrezarpenak" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Aurrezarpena" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Aurrezarpenak" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Banda modua" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Inportatu aurrezarpena" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Baztertutako aplikazioen zerrenda" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Aurrezarpenak" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Inportatu aurrezarpena" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "\"Presets\"" #~ msgstr "\"Aurrezarpenak\"" #~ msgid "Uniform" #~ msgstr "Uniformea" #~ msgid "IIR" #~ msgstr "IIRa" #~ msgid "FIR" #~ msgstr "FIRa" #~ msgid "FFT" #~ msgstr "FFTa" #~ msgid "SPM" #~ msgstr "SPMa" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Ratioa" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Atalasea" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Pasaera baxua" #, fuzzy #~ msgid "High-pass" #~ msgstr "Pasaera altua" #~ msgid "12dB/oct Lowpass" #~ msgstr "12db/zortzidun pasaera baxua" #~ msgid "24dB/oct Lowpass" #~ msgstr "24db/zortzidun pasaera baxua" #~ msgid "36dB/oct Lowpass" #~ msgstr "36db/zortzidun pasaera baxua" #~ msgid "12dB/oct Highpass" #~ msgstr "12db/zortzidun pasaera altua" #~ msgid "24dB/oct Highpass" #~ msgstr "24db/zortzidun pasaera altua" #~ msgid "36dB/oct Highpass" #~ msgstr "36db/zortzidun pasaera altua" #~ msgid "Inertia" #~ msgstr "Inertzia" #~ msgid "Band Type" #~ msgstr "Banda mota" #~ msgid "Band Mode" #~ msgstr "Banda modua" #~ msgid "Band Slope" #~ msgstr "Bandaren malda" easyeffects-7.1.7/po/fr_FR.po000066400000000000000000003343011463533416400160200ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-16 06:01+0000\n" "Last-Translator: Bundy01 \n" "Language-Team: French \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.6-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Égaliseur, Compresseur et autres effets audio" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Effets audio pour les applications utilisant le serveur audio PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiteur ; compresseur ; réverbération ; égaliseur ; autovolume ;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Autoriser/Interdire cette application" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Activer" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Liste des applications exclues : ajouter/retirer cette application" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Exclure" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Couper le son de l’application" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Modifier le volume de cette application" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volume de l’application" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Aide" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Réinitialiser les paramètres" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Préférences" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Raccourcis" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_À propos de Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Quitter" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Préréglages" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menu des préréglages" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Activer/désactiver le contournement global" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Contournement global" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menu principal" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Fenêtre de Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Liste des applications" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Liste vide" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Aucune application audio disponible" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Contrôles" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Cible" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silence" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Historique maximum" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Référence" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Temporaire" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Court-terme" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Intégré" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Moyenne géométrique (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Moyenne géométrique (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Moyenne géométrique (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Moyenne géométrique (SI)" #: data/ui/autogain.ui:124 msgid "History" msgstr "Historique" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Réinitialiser" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Sonie" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatif" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Intervalle" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Gain de sortie" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrée" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Gain d’entrée du greffon" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Sortie" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Gain de sortie du greffon" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Périphérique" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nom" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Préréglage" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Supprimer ce préréglage auto-chargeant" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Écouter" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mélanger les harmoniques" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3ème" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2ème" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Quantité" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmoniques" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Portée" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Limite inférieure" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Valeur plancher" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Lien" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Nom de l’application" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Ajouter aux applications exclues" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Liste des applications exclues" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Afficher les applications exclues" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Afficher la fenêtre Native" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresseur" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Mode" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Descendant" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Ascendant" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Renforcement" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Mode de compression" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Seuil de renforcement" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Quantité de renforcement" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Attaque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Temps" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Seuil" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Temps d’attaque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Seuil d’attaque" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Relâchement" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Temps de relâchement" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Seuil de relâchement" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Ratio" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Genou" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Compensation de gain" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Niveau des signaux secs" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Niveau des signaux humides" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Chaîne latérale" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Mode de Séparation Stéréo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Source" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Centrale" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Latérale" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Gauche" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Droite" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Source Chaîne Latérale" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Gauche/Droite" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Droite/Gauche" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Milieu/Côté" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Côté/Milieu" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Source Séparée Stéréo" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Crête" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Filtre Passe-Bas" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Moyenne mobile simple" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Mode Chaîne Latérale" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Écouter la Chaîne Latérale" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Retour d'information" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Retour" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Externe" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Type Chaîne Latérale" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Périphérique d’entrée" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Pré amplification" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Réactivité" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Anticipation" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Filtres Chaîne Latérale" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Passe-Haut" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Fréquence" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Désactivé" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Mode du filtre Passe-Haut" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Fréquence du filtre Passe-Haut" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Passe-Bas" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Mode du filtre Passe-Bas" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Enveloppe" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Courbe" #: data/ui/convolver.ui:40 msgid "L" msgstr "G" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Canal gauche" #: data/ui/convolver.ui:53 msgid "R" msgstr "D" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Canal droit" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsions" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combiner" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Amplitude Stéréo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spectre" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Échelle logarithmique" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Gain automatique" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Taux" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Échantillons" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Durée" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Combiner les réponses impulsionnelles" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Premier noyau" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Deuxième Noyau" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Nom du fichier de sortie" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Nom du noyau combiné" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importer une réponse impulsionnelle" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Rechercher" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Rechercher un fichier de réponse impulsionnelle" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Liste des fichiers de réponse impulsionnelle" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Par défaut" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Coupure" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Flux" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Contourner" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Couper le son" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Limite d'atténuation" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Seuil de traitement minimal" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Seuil maximum de traitement ERB" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Seuil maximum de traitement DF" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Tampon de traitement minimal" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Filtre postérieur Beta" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Détection" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Large" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Diviser" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "Division F1" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Division Fréquence 1" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "Crête F2" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Crête Fréquence 2" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "Gain F1" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Gain Fréquence 1" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "Niveau F2" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Niveau Fréquence 2" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "Crête Q F2" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Crête Q Fréquence 2" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laxité" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Détecté" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Réduction" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retard" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inverser la phase" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Longueur du filtre" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Suppression de l'écho résiduel" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Suppression de l'écho proche" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Applications exclues" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Activer/désactiver la surveillance des entrées" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandes" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Hauteur Gauche" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Hauteur Droite" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Diviser les canaux" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Réponse Plate" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calculer les fréquences" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Tri des bandes" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importer un préréglage" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Exporter le préréglage" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pente" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualité" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Largeur" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Plafonner" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Valeur du plafonnement" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Expanseur" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Mode Expanseur" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Interne" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Accès" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Description" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Supprimer ce fichier modèle" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Low-Shelf" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "High-Shelf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Cloche" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Passe-bande" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Réjection de bande" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Résonance" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Ladder-Pass" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Ladder-Rejection" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "All-Pass" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Mode Égaliseur" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtre" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Porte" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zone" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Hystérèse" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Début Zone d’Attaque" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Début Zone de Relâchement" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Crête réelle" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Réinitialiser l’historique" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sur-échantillonnage" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Dither" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm Thin" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Wide" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Tail" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Duck" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Thin" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Wide" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp Tail" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Duck" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Line Thin" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Line Wide" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Line Tail" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Line Duck" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Aucun" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Moitié x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Moitié x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Moitié x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Moitié x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Moitié x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Moitié x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Moitié x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Moitié x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Moitié x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Moitié x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Complet x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Complet x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Complet x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Complet x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Complet x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Complet x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Complet x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Complet x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Complet x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Complet x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC PréAmp" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Pré amplification de la Chaîne Latérale" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Renforcer" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Lien Stéréo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Chaîne Latérale Externe" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Source Chaîne Latérale Externe" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Auto-nivellement" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Auto-nivellement de l’attaque" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Auto-nivellement du relâchement" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Auto-nivellement du genou" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Gain Gauche" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Gain Droit" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Chaîne Latérale Gauche" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Chaîne Latérale Droite" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plat" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Taille FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Volume de sortie" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Coupure" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Renforcement de la Chaîne Latérale" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Rose BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Rose MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Marron BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Marron MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Afficher l'interface utilisateur native" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Mode Opératoire" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Classique" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderne" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Phase linéaire" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Liste des Bandes" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Bande 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Bande 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Bande 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Bande 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Bande 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Bande 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Bande 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Bande 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Début de Bande" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Fin de Bande" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Mode de Compression" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Contournement de Bande" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Options Chaîne Latérale de la bande" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Séparation Stéréo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Coupe-Bas" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Fréquence Filtre Coupe-Bas" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "Coupe-Haut" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Fréquence Filtre Coupe-Haut" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "PréAmp" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Gain de Bande" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Enveloppe de bande" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Courbe de Bande" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Réduction de Bande" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Général" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Gestion des périphériques" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "Il est recommandé de ne PAS définir Easy Effects Sink/Source comme " "périphérique par défaut dans les applications externes (par exemple, les " "Paramètres de Gnome et les Paramètres de Plasma)." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Utiliser l’entrée par défaut" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Périphérique d’entrée personnalisé" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Utiliser la sortie par défaut" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Périphérique de sortie personnalisé" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Information du serveur" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Version de l’en-tête" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Version de la bibliothèque" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Taux d’échantillonnage" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Quantum minimum" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Quantum maximum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Quantum par défaut" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Chargement automatique des préréglages" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" "Seulement les préréglages locaux peuvent être chargés automatiquement. Un " "préréglage communautaire doit être importé localement afin d'être " "sélectionné et associé à un appareil spécifique." #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Périphériques de sortie" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Préréglages de sortie" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Créer une association" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Ajouter un préréglage de sortie auto-chargeant" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Liste des préréglages de sortie auto-chargeant" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Périphériques d’entrée" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Préréglages d’entrée" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Ajouter un préréglage d’entrée auto-chargeant" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Liste des préréglages d’entrée auto-chargeant" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Modules" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Liste des modules" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clients" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Liste des clients" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Signal d’essai" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "État" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Activé" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Propriétés" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canaux" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Tous les deux" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Les deux canaux" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Forme d’onde" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Onde sinusoïdale" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Bruit blanc" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Recherche rapide" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Anti-crénelage" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Durée de la séquence" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Fenêtre de recherche" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Durée de chevauchement" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Hauteur" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Demi-tons" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Différence de tempo" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Différence de débit" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Supprimer cet effet" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Activer/désactiver cet effet" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Modifier la position de cet effet" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "Afficher/masquer la liste des effets" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Ajouter un effet" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "Aller à l'effet précédent" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "Aller à l'effet suivant" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Liste des greffons utilisés" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Aucun effet" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Flux audio non modifié" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Greffon de recherche" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Liste des greffons" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Général" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Service" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Lancer le service au démarrage du système" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Arrêter à la fermeture de la fenêtre" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Traiter tous les flux de sortie" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Traiter tous les flux d’entrée" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Ignorer les flux du moniteur des périphériques" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Utiliser le volume cubique" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Délai d’inactivité" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "Intervalle de mise à jour" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "En rapport avec les indicateurs de niveau et du spectre" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "Fréquence de mise à jour" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "En rapport avec les plugins LV2" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Style" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Utiliser le thème sombre" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Masquer les menus en cliquant en dehors" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Fonctionnalités expérimentales" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Fenêtre du greffon natif" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "Permet d'afficher/masquer la fenêtre du greffon natif" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spectre" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Forme" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barres" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Lignes" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Points" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Points" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Taille" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Largeur de ligne" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Remplir" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Afficher les bordures des barres" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Coins arrondis" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Échelle dynamique" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Couleur" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Lignes et barres" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Annotation des axes" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Intervalle de fréquences" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maximum" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Charger" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Abandonner les réglages actuels et charger ce préréglage" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Enregistrer les paramètres actuels dans ce préréglage" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Supprimer ce préréglage" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "Essayer" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "Essayer ce préréglage de la communauté" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "Importer" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" "Importer ce préréglage de la communauté dans la liste des préréglages locaux" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "Local" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Nouveau nom de préréglage" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Créer un nouveau préréglage" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "Importer un préréglage à partir du stockage local" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "Rechercher un préréglage local" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "Liste des préréglages locaux" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "Communité" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "Rechercher un préréglage de la communauté" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "Liste des préréglages de la communauté" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "Aucun préréglage communautaire n'est installé" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" "Les paquets des préréglages de la communauté peuvent être installés à partir " "du dépôt de votre distribution préférée." #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "Actualiser" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" "Actualiser pour afficher les nouveaux préréglages de la communauté installés" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Atténuation des Hautes Fréquences" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Taille de la salle" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Petite" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Moyenne" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/lisse" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Expérimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Diffusion" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pré-retard" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Temps de Déclin" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Couper les Basses" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Couper les Aiguës" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiance" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Murs Vides" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/reverb.ui:588 msgid "Room" msgstr "Salle" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Grande Salle Vide" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Grande Salle Occupée" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importer un modèle" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Détection de la voix" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modèles" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Modèle standard" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Liste des modèles RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Modèle non chargé" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Modèle actif" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Modèle standard RNNoise" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Vue d’ensemble" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Afficher l'aide" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Plein écran/Restaurer à partir du plein écran" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Fermer la fenêtre" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Quitter Easy Effects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Débruiter" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Contrôle automatique du gain" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Dé-réverbération" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Probabilité d'activité vocale" #: data/ui/speex.ui:95 msgid "Start" msgstr "Début" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Continuer" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Suppression du bruit" #: data/ui/speex.ui:145 msgid "Level" msgstr "Niveau" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Balance d’entrée" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Écrêtage doux" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Niveau de l’écrêtage" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matrice Stéréo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "GD > GD (Stéréo par défaut)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "GD > M (Stéréo vers milieu)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "M > GD (Milieu vers stéréo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "GD > GG (Canal gauche mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "GD > DD (Canal droit mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "GD > G+D (Somme G+D vers mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "GD > DG (Inversement des canaux stéréo)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Mode Stéréo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Niveau Latéral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balance Latérale" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Niveau Central" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama central" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Balance de Sortie" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Retard G/D" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Retard Gauche Droit" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base Stéréo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Phase Stéréo" #: src/app_info.cpp:100 msgid "Running" msgstr "En cours" #: src/app_info.cpp:102 msgid "Suspended" msgstr "En pause" #: src/app_info.cpp:104 msgid "Idle" msgstr "Inactif" #: src/app_info.cpp:106 msgid "Creating" msgstr "Génération" #: src/app_info.cpp:108 msgid "Error" msgstr "Erreur" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Inconnu" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Nom indéterminé - ID du processus " #: src/app_info.cpp:292 msgid "channels" msgstr "canaux" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Quitter Easy Effects. Utile en cas de fonctionnement en mode serveur." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Imprimer la version d'easyeffects" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Réinitialiser Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Masquer la Fenêtre." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Contournement global. 1 pour activer, 2 pour désactiver et 3 pour obtenir le " "statut" #: src/application.cpp:615 msgid "Show available presets." msgstr "Afficher les préréglages disponibles." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Chargez un préréglage. Exemple : easyeffects -l musique" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Sortie" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Entrée" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Le fichier est irrégulier" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Le fichier d’impulsion peut être corrompu ou non pris en charge" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Seuls les fichiers d’impulsion stéréo sont pris en charge" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Fichier d’impulsion non importé" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importer un fichier d’impulsion" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Ouvrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Réponse impulsionnelle" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Charger une impulsion" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Supprimer l’impulsion" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Aucun fichier d’impulsion chargé" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Impossible de charger le fichier d’impulsion" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Enregistreurs" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Lecteurs" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effets" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importer un fichier de préréglage APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Préréglages APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "Le préréglage APO n’a pas été chargé. Le format du fichier peut ne pas être " "pris en charge. Veuillez vérifier son contenu." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "Les canaux séparés ne sont pas encore supportés lors de l'exportation des " "préréglages APO." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "Exporter le fichier de préréglage de l'ÉgaliseurAPO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Sauvegarder" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "Préréglages de l'ÉgaliseurAPO" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importer un fichier de préréglage GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Préréglages GraphicEQ" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "Le préréglage GraphicEQ n’a pas été chargé. Le format du fichier peut ne pas " "être pris en charge. Veuillez vérifier son contenu." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Supprimer le préréglage du chargement automatique" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Indicateur Niveau de Sortie" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Supprimer" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Périphérique de sortie" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Ajouter" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "Préréglage de la communauté" #: src/presets_manager.cpp:439 msgid "Package" msgstr "Paquet" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "Le préréglage n'a pas été chargé correctement" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "Format incorrect dans la liste des applications exclues" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" "Erreur générique lors du chargement de la liste des applications exclues" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "Format incorrect dans la liste des effets" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "Erreur générique lors du chargement de la liste des effets" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "Un ou plusieurs paramètres ont un format incorrect" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "Erreur générique lors du chargement de l'effet" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Sauvegarder ?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Effacer ?" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "Pas de préréglage chargé" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "Dernier préréglage local chargé" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "Dernier préréglage de la communauté chargé" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Le modèle sélectionné n’a pas été chargé. Son format n’est peut-être pas " "pris en charge. Retour au modèle standard." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importer un fichier modèle" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Modèles RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Amélioration des basses" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Sonie des basses" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolueur" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Flux croisé" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristallisateur" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Enlèvement du Bruit Profond" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Déesseur" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Annulateur d’écho" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Égaliseur" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitateur" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Indicateur de niveau" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limiteur" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximiseur" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresseur multibande" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Porte multibande" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Réverbération" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Réduction du bruit" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Processeur vocal" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Outils stéréo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} Indisponible" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "Le logiciel requis pour l'effet {}, \"{}\", n'est pas installé. Envisagez " "d'utiliser le paquet Easy Effects Flatpak ou d'installer le logiciel vous-" "même." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "L'effet {} a été désactivé lorsque Easy Effects a été compilé. C'est peut-" "être parce que le logiciel requis pour cet effet, \"{}\", n'était pas " "disponible. Envisagez d'utiliser le paquet Easy Effects Flatpak ou de créer " "votre propre paquet Easy Effects." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "Utilise {}" #~ msgid "Ceiling" #~ msgstr "Plafonnement" #~ msgid "\"Presets\"" #~ msgstr "\"Préréglages\"" #~ msgid "Import a preset" #~ msgstr "Importer un préréglage" #~ msgid "Low-Cut Filter" #~ msgstr "Filtre Coupe-Bas" #~ msgid "High-Cut Filter" #~ msgstr "Filtre Coupe-Haut" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "New Output Preset Name" #~ msgstr "Nom du préréglage de sortie" #~ msgid "infinity" #~ msgstr "infini" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "TFR" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Ratio" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Seuil" #~ msgid "Low-pass" #~ msgstr "Passe-bas" #~ msgid "High-pass" #~ msgstr "Passe-haut" #~ msgid "Gating" #~ msgstr "Déclenchement" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct passe-bas" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct passe-bas" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct passe-bas" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct passe-haut" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct passe-haut" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct passe-haut" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct passe-bande" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct passe-bande" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct passe-bande" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct coupe-bande" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct coupe-bande" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct coupe-bande" #~ msgid "Inertia" #~ msgstr "Inertie" #~ msgid "Band Type" #~ msgstr "Type de bande" #~ msgid "Band Mode" #~ msgstr "Mode de la Bande" #~ msgid "Band Slope" #~ msgstr "Pente de la Bande" #~ msgid "Loudness List" #~ msgstr "Liste de sonie" #~ msgid "High Speed" #~ msgstr "Haute vélocité" #~ msgid "High Quality" #~ msgstr "Haute qualité" #~ msgid "High Consistency" #~ msgstr "Haute cohérence" #~ msgid "Formant" #~ msgstr "Formant" #~ msgid "Shifted" #~ msgstr "Altéré" #~ msgid "Preserved" #~ msgstr "Préservé" #~ msgid "Transients" #~ msgstr "Transitoires" #~ msgid "Crisp" #~ msgstr "Net" #~ msgid "Mixed" #~ msgstr "Intermédiaire" #~ msgid "Smooth" #~ msgstr "Progressif" #~ msgid "Detector" #~ msgstr "Détecteur" #~ msgid "Compound" #~ msgstr "Composé" #~ msgid "Percussive" #~ msgstr "Percutant" #~ msgid "Soft" #~ msgstr "Doux" #~ msgid "Phase" #~ msgstr "Phase" #~ msgid "Laminar" #~ msgstr "Laminaire" #~ msgid "Independent" #~ msgstr "Indépendante" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Octaves" #~ msgstr "Octaves" #~ msgid "_Manual" #~ msgstr "_Manuel" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Ouvrir le manuel de Easy Effects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} n’est pas installé sur le système" #~ msgid "High Pass" #~ msgstr "Passe-haut" #~ msgid "Low Pass" #~ msgstr "Passe-bas" #~ msgid "Cancel" #~ msgstr "Annuler" #~ msgid " PreAmplification" #~ msgstr " Pré-amplification" #~ msgid "Close (Press ESC)" #~ msgstr "Fermer (appuyez sur Échap)" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Frame Size" #~ msgstr "Taille du cadre" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "Activer/désactiver le contournement global" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Passe-bas" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniforme" #~ msgid "Left Delay" #~ msgstr "Retard Gauche" #~ msgid "Right Delay" #~ msgstr "Retard Droit" #~ msgid "Left Dry Level" #~ msgstr "Niveau de Secs gauche" #~ msgid "Right Dry Level" #~ msgstr "Niveau de Secs droit" #~ msgid "Left Wet Level" #~ msgstr "Niveau d’Humides gauche" #~ msgid "Right Wet Level" #~ msgstr "Niveau d’Humides droit" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Taille Transformation de Fourier Rapide" #~ msgid "Clipping Range" #~ msgstr "Plage de découpage" #, fuzzy #~ msgid "Suppression" #~ msgstr "Suppression" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Effets audio pour les applications utilisant PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Réduction de bruit" #~ msgid "Load APO Preset" #~ msgstr "Charger un préréglage APO" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Réinitialiser le volume des périphériques virtuels de EasyEffects au " #~ "démarrage" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Préréglages de sortie : " #~ msgid "Input Presets: " #~ msgstr "Préréglages d’entrée : " #~ msgid "Split Mode" #~ msgstr "Mode de division" #~ msgid "Split 1/2" #~ msgstr "Diviser 1/2" #~ msgid "Split 2/3" #~ msgstr "Diviser 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Diviser la fréquence 2" #~ msgid "Split 3/4" #~ msgstr "Diviser 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Diviser la fréquence 3" #~ msgid "Sub Band" #~ msgstr "Sous-bande" #~ msgid "Band 1 Bypass" #~ msgstr "Contournement bande 1" #~ msgid "Band 1 Solo" #~ msgstr "Solo de la bande 1" #~ msgid "Band 1 Detection" #~ msgstr "Détection de la bande 1" #~ msgid "Band 1 Attack" #~ msgstr "Attaque de la bande 1" #~ msgid "Band 1 Release" #~ msgstr "Relâ­che­ment de la bande 1" #~ msgid "Band 1 Threshold" #~ msgstr "Seuil de la bande 1" #~ msgid "Band 1 Ratio" #~ msgstr "Ratio de la bande 1" #~ msgid "Band 1 Knee" #~ msgstr "Genou de la bande 1" #~ msgid "Band 1 Makeup" #~ msgstr "Rattrapage de gain de la bande 1" #~ msgid "Max Reduction" #~ msgstr "Atténuation maximale" #~ msgid "Low Band" #~ msgstr "Bande inférieure" #~ msgid "Band 2 Bypass" #~ msgstr "Contournement bande 2" #~ msgid "Band 2 Solo" #~ msgstr "Solo de la bande 2" #~ msgid "Band 2 Detection" #~ msgstr "Détection de la bande 2" #~ msgid "Band 2 Attack" #~ msgstr "Attaque de la bande 2" #~ msgid "Band 2 Release" #~ msgstr "Relâ­che­ment de la bande 2" #~ msgid "Band 2 Threshold" #~ msgstr "Seuil de la bande 2" #~ msgid "Band 2 Ratio" #~ msgstr "Ratio de bande 2" #~ msgid "Band 2 Knee" #~ msgstr "Genou de la bande 2" #~ msgid "Band 2 Makeup" #~ msgstr "Compensation de gain de la bande 2" #~ msgid "Band 2 Max Reduction" #~ msgstr "Réduction max de la bande 2" #~ msgid "Mid Band" #~ msgstr "Bande centrale" #~ msgid "Band 3 Bypass" #~ msgstr "Contournement bande 3" #~ msgid "Band 3 Solo" #~ msgstr "Solo de la bande 3" #~ msgid "Band 3 Detection" #~ msgstr "Détection de la bande 3" #~ msgid "Band 3 Attack" #~ msgstr "Attaque de la bande 3" #~ msgid "Band 3 Release" #~ msgstr "Relâ­che­ment de la bande 3" #~ msgid "Band 3 Threshold" #~ msgstr "Seuil de la bande 3" #~ msgid "Band 3 Ratio" #~ msgstr "Ratio de bande 3" #~ msgid "Band 3 Knee" #~ msgstr "Genou de la bande 3" #~ msgid "Band 3 Makeup" #~ msgstr "Compensation de gain de la bande 3" #~ msgid "Band 3 Max Reduction" #~ msgstr "Réduction max. de la banda 3" #~ msgid "High Band" #~ msgstr "Bande supérieure" #~ msgid "Band 4 Bypass" #~ msgstr "Contournement bande 4" #~ msgid "Band 4 Solo" #~ msgstr "Solo de la bande 4" #~ msgid "Band 4 Detection" #~ msgstr "Détection de la bande 4" #~ msgid "Band 4 Attack" #~ msgstr "Attaque de la bande 4" #~ msgid "Band 4 Release" #~ msgstr "Relâ­che­ment de la bande 4" #~ msgid "Band 4 Threshold" #~ msgstr "Seuil de la bande 4" #~ msgid "Band 4 Ratio" #~ msgstr "Ratio de la bande 4" #~ msgid "Band 4 Knee" #~ msgstr "Genou de la bande 4" #~ msgid "Band 4 Makeup" #~ msgstr "Compensation de gain de la bande 4" #~ msgid "Band 4 Max Reduction" #~ msgstr "Réduction max. de la bande 4" #~ msgid "Wet Amount" #~ msgstr "Quantité de signaux avec effets" #~ msgid "Dry Amount" #~ msgstr "Quantité de signaux sans effets" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects est un outil avancé de manipulation audio. Il inclut, entre " #~ "autres, un égaliseur, limiteur, compresseur et effet de réverbération. " #~ "Pour compléter le tout, un analyseur de spectre est également intégré." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects est le successeur de PulseEffects. EasyEffects ne prend en " #~ "charge que le serveur audio de PipeWire. Les utilisateurs de PulseAudio " #~ "doivent plutôt utiliser PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Comme EasyEffects utilise le serveur audio PipeWire par défaut, il " #~ "fonctionnera avec la plupart, sinon la totalité, des applications que " #~ "vous utilisez. Toutes les applications prises en charge sont présentées " #~ "dans la fenêtre principale, où chacune peut être activée individuellement." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Outre la manipulation de la sortie audio, EasyEffects est capable de " #~ "manipuler l’entrée audio (à partir d’un microphone par exemple). Cette " #~ "fonction est utile pour l’enregistrement audio et fonctionne bien pour " #~ "les appels vocaux." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "EasyEffects se souvient également de la configuration utilisée lors de la " #~ "dernière session. Il est aussi possible de sauvegarder tous les " #~ "paramètres définis sous forme de profils." #~ msgid "The main page showing two audio output apps" #~ msgstr "La page principale affichant deux applications en sortie audio" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "La page de l’amplificateur de basses affichant les commandes audio" #~ msgid "The convolver page showing audio controls" #~ msgstr "La page du filtre de convolution affichant les commandes audio" #~ msgid "This release adds the following features:" #~ msgstr "Cette version ajoute les fonctionnalités suivantes :" #~ msgid "" #~ "When effects are disable to an application we now set its target metadata " #~ "to null. This will allow the media session" #~ msgstr "" #~ "Lorsque les effets sont désactivés pour une application, nous définissons " #~ "désormais ses métadonnées cibles comme étant nulles. Cela permettra à la " #~ "session média" #~ msgid "manager" #~ msgstr "gestionnaire" #~ msgid "" #~ "A new configuration option was added. It allows EasyEffects to ignore " #~ "streams whose purpose is to monitor sink" #~ msgstr "" #~ "Une nouvelle option de configuration a été ajoutée. Elle permet à " #~ "EasyEffects d’ignorer les flux dont l’objectif est de surveiller" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr "" #~ "les périphériques puits. Cela aidera à résoudre certains des problèmes " #~ "rencontrés par nos utilisateurs lors de l’utilisation d’OBS." #~ msgid "The code that shows the stream sample format has been improved" #~ msgstr "" #~ "Le code qui affiche le format de l’échantillon de flux a été amélioré" #~ msgid "" #~ "The rnnoise library is now optional. This should help package maintainers " #~ "to build" #~ msgstr "" #~ "La bibliothèque rnnoise est désormais facultative. Cela devrait aider les " #~ "mainteneurs de paquets à construire" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "un paquet Debian. Voir le problème n°1000 pour plus d’informations." #~ msgid "" #~ "Our logs now show the source code line where the messages are being " #~ "printed" #~ msgstr "" #~ "Nos journaux (logs) indiquent maintenant la ligne de code source où les " #~ "messages sont imprimés" #~ msgid "This release fixes the following bugs:" #~ msgstr "Cette version corrige les bugs suivants :" #~ msgid "" #~ "The \"enable effects\" checkbox in our window was not being updated when " #~ "third party programs like pavucontrol" #~ msgstr "" #~ "La case \"activer les effets\" de notre fenêtre n’était pas mise à jour " #~ "lorsque des programmes tiers comme pavucontrol" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "déplaçait le flux loin de nos appareils virtuels. Cela devrait être " #~ "maintenant corrigé." #~ msgid "" #~ "Fixed a crash that could happen when the maximum autogain history was " #~ "changed." #~ msgstr "" #~ "Correction d’un crash qui pouvait se produire lorsque l’historique " #~ "maximum de l’autogain était modifié." #~ msgid "Avoid crashes when pw-mididump is running" #~ msgstr "Éviter les plantages lorsque pw-mididump est en cours d’exécution" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "L'interface du plugin pitch a été améliorée" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "" #~ "L'icône de notre application est maintenant compatible avec les " #~ "ordinateurs de bureau qui utilisent QT" #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "Notre liste de blocage utilisera la balise `application.id` si le flux la " #~ "définit" #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "Afin d’éviter les problèmes de défilement de la souris, les entrées de la " #~ "liste d’applications s’affichent dans nos `Lecteurs/Enregistreurs`" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "Les onglets n’affichent plus d’échelle de volume. Plus de détails sur le " #~ "problème et sa solution peuvent être trouvés sur la page #1211" #~ msgid "and #1427" #~ msgstr "et #1427" #~ msgid "" #~ "When no application is available for display in the `Players/Recorders` a " #~ "message will be shown to the user" #~ msgstr "" #~ "Lorsque aucune application n’est disponible pour l’affichage dans les " #~ "`Lecteurs/Enregistreurs`, un message sera affiché à l’utilisateur" #~ msgid "Many translation updates" #~ msgstr "Mises à jour des traductions" #~ msgid "" #~ "Fixed a bug where EasyEffects crashed when the number of points displayed " #~ "in the spectrum was changed while" #~ msgstr "" #~ "Correction d’un bug où EasyEffeects plantait lorsque le nombre de points " #~ "affichés dans le spectre était modifié alors que" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "notre pipeline était active et le widget spectre était visible" #~ msgid "" #~ "The pipeline latency value displayed in our window could be wrong in some " #~ "situations. This was fixed." #~ msgstr "" #~ "La valeur de latence du pipeline affichée dans notre fenêtre peut être " #~ "incorrecte dans certaines situations. Cela a été corrigé." #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Il y a une nouvelle option permettant à l’utilisateur de sélectionner un " #~ "délai d’inactivité pour les effets audio. Quand aucun client n’émet de son" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "ou n’enregistre depuis l’un des appareils, les filtres sont déconnectés " #~ "une fois le délai atteint. Cela permet d’assurer" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "de ne pas gâcher l’utilisation du CPU sur du silence." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "le plugin autogain permet désormais à l’utilisateur de sélectionner " #~ "lesquelles des trois \"loudness\" sont utilisées pour calculer la moyenne" #~ msgid "mean." #~ msgstr "moyenne géométrique." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "Le plugin autogain permet dorénavant d’indiquer une profondeur " #~ "d’historique maximum et n’utilise plus le mode histogramme `libebur128`." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Cela devrait permettre d’éviter les cas où le loudness `Integrated` reste " #~ "toujours coincé à la même valeur." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "L'icone EasyEffect a été mise à jour afin d’être visible dans les bureaux " #~ "QT." #~ msgid "This release fixes the following bug:" #~ msgstr "Cette version corrige les bugs suivants :" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "L'option de ligne de commande retournant l’état du bypass global " #~ "fonctionne à nouveau." #~ msgid "This release adds the following feature:" #~ msgstr "Cette version ajoute les fonctionnalités suivantes :" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Le filtre crossfeed devrait mieux gérer les changements de latence " #~ "dynamiques de PipeWire. Les sauts de volume ne devraient plus se produire " #~ "dans ces situations." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Correction d’un bug qui empêchait les microphones mono de fonctionner " #~ "correctement avec EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Support de la prochaine version de PipeWire `0.3.44`" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Le filtre autogain devrait mieux gérer les changements de latence " #~ "dynamiques de PipeWire. Les sauts de volume ne devraient plus se produire " #~ "dans ces situations." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Nous avons ajouté une option qui permet de réinitialiser le volume et " #~ "l’état muet de nos périphériques virtuels au démarrage d’EasyEffects. " #~ "Cela devrait aider dans les cas où nos périphériques sont mis en sourdine " #~ "par le serveur audio pour des raisons inconnues." #~ msgid "Better support for computer suspending." #~ msgstr "Meilleure prise en charge de la mise en veille de l’ordinateur." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Correction d’un bogue où la tentative de créer un profil de chargement " #~ "automatique sans avoir de préréglages entraînait le plantage de " #~ "l’application." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "Correction d’un bug où le réglage de la `qualité` d’une bande d’égaliseur " #~ "sur `zéro` entraînait un plantage de l’application." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita est utilisé pour créer certaines parties de notre fenêtre et " #~ "pour gérer le passage entre les thèmes sombres et clairs." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "Le menu des paramètres a été redessiné en utilisant les widgets " #~ "LibAdwaita." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "La fonction d’importation de préréglages de l’égaliseur APO a été " #~ "améliorée pour appliquer non seulement le filtre Bell, mais aussi " #~ "d’autres filtres pris en charge" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "La fonction `Réinitialiser toutes les options` de notre menu devrait " #~ "fonctionner dans Flatpak maintenant." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Nous avons une nouvelle option qui permet à l’utilisateur de désactiver " #~ "nos menus `caché automatiquement`. Cela peut aider à contourner certains " #~ "bugs que les menus Popover ont actuellement sur gtk4." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "Analyse syntaxique plus robuste pour importer les préréglages APO " #~ "enregistrés avec une virgule comme séparateur des milliers dans la bande " #~ "de fréquence centrale." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "La bibliothèque fmt est une nouvelle dépendance, du moins tant que les " #~ "compilateurs c++ n’implémentent pas ses fonctionnalités. Cela devrait " #~ "arriver dans les prochaines années." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM et GLIBMM ne sont plus des dépendances. Nous utilisons maintenant " #~ "gtk4 directement." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Il est maintenant possible de combiner des réponses d’impulsions dans " #~ "l’interface de Convolver. Un nouveau fichier d’impulsions est généré et " #~ "il devrait être visible dans la liste des impulsions." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "Amélioration du dessin de l’axe X dans nos graphiques. Maintenant le " #~ "nombre d’étiquettes est ajusté dynamiquement en fonction de la largeur de " #~ "notre fenêtre." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "La documentation a été mise à jour en tenant compte des nouvelles " #~ "fonctionnalités d’EasyEffects. Les anciennes références à PulseEffects " #~ "ont été supprimées. Le bouton de documentation a été ajouté dans le menu." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Lorsqu’un bouton rotatif est rempli avec une valeur hors limites, il est " #~ "maintenant mis à jour avec la valeur la plus basse/haute plutôt que de " #~ "revenir à la valeur précédente." #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "La fenêtre de l’application se souvient désormais de l’état maximisé et " #~ "le rétablit lors de la prochaine ouverture." #~ msgid "The `tbb` library is a new dependency" #~ msgstr "La bibliothèque `tbb` est une nouvelle dépendance" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "Les plugins Limiteur et Compresseur Multibande peuvent désormais utiliser " #~ "un sidechain optionnel externe." #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "Le plugin Autogain permet désormais à l’utilisateur de sélectionner la " #~ "Loudness utilisée comme référence pour la correction du volume." #~ msgid "" #~ "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " #~ "Amplification\" parameter." #~ msgstr "" #~ "La fonctionnalité d’import de profil APO du plugin égalisateur utilise " #~ "désormais le paramètre de \"Pré-Amplification\"." #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "" #~ "L'option de Volume Cubique peut être activée dans les Paramètres Généraux." #~ msgid "" #~ "PipeWire monitor streams are now excluded and removed from the " #~ "applications list." #~ msgstr "" #~ "Les flux PipeWire de monitoring sont maintenant exclus et retirés de la " #~ "liste d’applications." #~ msgid "Hopefully crashes like the one reported at [1172]( are fixed." #~ msgstr "" #~ "Les crashs comme celui signalé en [1172]( sont vraisemblablement corrigés." #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "Une situation entraînant un plantage du Spectre a été évitée." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "Pavucontrol n’est plus ajouté aux liste d’applications en entrée sur les " #~ "systèmes ayant une autre langue que l’anglais." #~ msgid "" #~ "Improved compatibility with WirePlumber. This is needed to run on systems " #~ "that decided to use it instead of the" #~ msgstr "" #~ "La compatibilité avec WirePlumber a été améliorée. C'est nécessaire pour " #~ "les systèmes ayant décidé de l’utiliser plutôt que" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "Le gestionnaire de sessions PipeWire fourni. Plus d’informations dans " #~ "l’issue [1144](" #~ msgid "" #~ "When trying to add an autoloading profile for a device already in the " #~ "list its target preset will be updated. This way we can change the " #~ "profile preset without having to remove and recreating it." #~ msgstr "" #~ "Lors d’un ajout d’un profil automatique pour un appareil déjà dans la " #~ "liste, ses presets cibles seront mis à jour. Ainsi, on peut modifier le " #~ "preset du profil sans le retirer et la re-créer." #~ msgid "" #~ "The preset autoloading support implementation was redesigned again. It " #~ "should work on more hardware now. For more information see issue [1051](" #~ msgstr "" #~ "L'implémentation de la prise en charge du chargement automatique des " #~ "préréglages a encore été repensée. Elle devrait fonctionner sur plus de " #~ "matériel maintenant. Pour plus d’informations, consultez le numéro [1051](" #~ msgid "" #~ "If the Limiter or the Maximizer are set in the last position of the " #~ "plugin stack, new plugins are added at the second to last position in " #~ "order to prevent hardware damage on eventually high output level." #~ msgstr "" #~ "Si le limiteur ou le maximizeur sont placés à la dernière position de la " #~ "liste des plugins, les nouveaux plugins sont ajoutés à l’avant-dernière " #~ "position afin d’éviter des dommages matériels dû à un niveau de sortie " #~ "potentiellement élevé." #~ msgid "" #~ "Removing an application from the blocklist, its previous enabled state is " #~ "restored." #~ msgstr "" #~ "En retirant une application de la liste de blocage, son état d’activation " #~ "précédent est restauré." #~ msgid "" #~ "Sometimes when removing imported models from the noise reduction plugin " #~ "the current used model was not properly updated. This should be fixed now." #~ msgstr "" #~ "Parfois, lors de la suppression de modèles importés du plugin de " #~ "réduction du bruit, le modèle actuellement utilisé n’était pas " #~ "correctement mis à jour. Cela devrait être corrigé maintenant." #~ msgid "" #~ "When editing presets files in an external editor, duplicated entries " #~ "won't be shown in our presets menu." #~ msgstr "" #~ "Lorsque vous modifiez des fichiers de préréglages dans un éditeur " #~ "externe, les entrées dupliquées n’apparaîtront pas dans notre menu de " #~ "préréglages." #~ msgid "Now the blocklist is correctly set when switching presets." #~ msgstr "" #~ "Maintenant, la liste de blocage est correctement définie lors du " #~ "changement de préréglage." #~ msgid "" #~ "Now the status of the global bypass button is correctly updated when " #~ "changing plugin stack." #~ msgstr "" #~ "Désormais, l’état du bouton de contournement global est correctement mis " #~ "à jour lors du changement de pile de plugins." #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Les icônes manquantes sur le système ne doivent pas être affichées dans " #~ "l’interface d’information de l’application" #~ msgid "" #~ "Some icons not showing in Plasma DE with Breeze icon theme should appear " #~ "now." #~ msgstr "" #~ "Certaines icônes qui n’apparaissaient pas dans Plasma DE avec le thème " #~ "d’icônes Breeze devraient maintenant apparaître." #~ msgid "Updated Chinese translation." #~ msgstr "Mise à jour de la traduction chinoise." #~ msgid "Updated Italian translation." #~ msgstr "Mise à jour de la traduction italienne." #~ msgid "Added support for the compressor parameter `Boost Amount`" #~ msgstr "Ajout du support pour le paramètre du compresseur `Boost Amount`" #~ msgid "" #~ "The multiband compressor plugin now uses the stereo multiband compressor " #~ "plugin from Linux Studio Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Le plugin de compresseur multibande utilise maintenant le plugin de " #~ "compresseur multibande stéréo de Linux Studio Plugins au lieu de celui de " #~ "Calf Studio." #~ msgid "" #~ "The limiter plugin now uses the stereo limiter plugin from Linux Studio " #~ "Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Le plugin limiteur est désormais celui de Linux Studio Plugins au lieu de " #~ "celui de Calf Studio." #~ msgid "" #~ "LV2 filters now are spawned in PipeWire graph only when loaded the first " #~ "time. Once loaded, they remain connected until EasyEffects shutdown." #~ msgstr "" #~ "Les filtres LV2 sont désormais créés dans le graphe PipeWire uniquement " #~ "lorsqu’ils sont chargés pour la première fois. Une fois chargés, ils " #~ "restent connectés jusqu’à l’arrêt d’EasyEffects." #~ msgid "The echo canceller sampling rate is now properly set." #~ msgstr "" #~ "Le taux d’échantillonnage de l’annuleur d’écho est maintenant " #~ "correctement réglé." #~ msgid "" #~ "The threshold parameter from the deesser plugin is now saved to the " #~ "preset file." #~ msgstr "" #~ "Le paramètre de seuil du plugin Deesser est maintenant enregistré dans le " #~ "fichier de présélection." #~ msgid "" #~ "Improved band splitting for crystalizer with new default intensity values." #~ msgstr "" #~ "Division de bandes améliorée pour le cristalliseur avec de nouvelles " #~ "valeurs d’intensité par défaut." #~ msgid "" #~ "Depending on the input gain or output gain values the corresponding level " #~ "bars could not be aligned." #~ msgstr "" #~ "Selon les valeurs du gain d’entrée ou du gain de sortie, les barres de " #~ "niveau correspondantes ne pouvaient pas être alignées." #~ msgid "" #~ "When adding more equalizer bands they are set to `Bell` instead of `Off`." #~ msgstr "" #~ "Lorsque vous ajoutez d’autres bandes d’égaliseur, elles sont réglées sur " #~ "`Bell` au lieu de `Off`." #~ msgid "" #~ "Equalizer APO presets loading is now working properly on locales " #~ "different than C." #~ msgstr "" #~ "Le chargement des préréglages de l’Equalizer APO fonctionne désormais " #~ "correctement dans les langues autres que C." #~ msgid "Improved linking management between port filter nodes in PipeWire." #~ msgstr "" #~ "Amélioration de la gestion des liens entre les nœuds de filtre de port " #~ "dans PipeWire." #~ msgid "" #~ "The crystalizer plugin signal amplification was too high before. It " #~ "should be within more reasonable levels now." #~ msgstr "" #~ "L'amplification du signal du plugin du cristalliseur était trop élevée " #~ "avant. Elle devrait se situer dans des niveaux plus raisonnables " #~ "maintenant." #~ msgid "" #~ "Improved the resampler used in the plugins that require one(like the " #~ "rnnoise plugin)" #~ msgstr "" #~ "Amélioration du rééchantillonneur utilisé dans les plugins qui en " #~ "nécessitent un (comme le plugin rnnoise)" #~ msgid "Setting multiple autoloading presets should be fine now" #~ msgstr "" #~ "La configuration de plusieurs préréglages auto-chargeant devrait être " #~ "correcte maintenant" #~ msgid "Transient windows are now properly set for some plugins dialogs" #~ msgstr "" #~ "Les fenêtres transitoires sont désormais correctement définies pour " #~ "certaines boîtes de dialogue de plugins" #~ msgid "" #~ "The convolver impulse response menu was improved to workaround an issue " #~ "where the impulse files was not loaded when only one was available in the " #~ "menu" #~ msgstr "" #~ "Le menu des réponses impulsionnelles du convolver a été amélioré pour " #~ "résoudre un problème où les fichiers impulsionnels n’étaient pas chargés " #~ "lorsqu’un seul était disponible dans le menu" #~ msgid "" #~ "Fixed a bug that could make the pitch plugin to not be properly " #~ "initialized" #~ msgstr "" #~ "Correction d’un bogue qui pouvait empêcher l’initialisation correcte du " #~ "plugin \"pitch\"" #~ msgid "" #~ "The saturation warning should not displace its neighbor widgets anymore" #~ msgstr "" #~ "L'avertissement de saturation ne doit plus déplacer les widgets voisins" #~ msgid "Fixed the locale in a few widgets" #~ msgstr "Correction des paramètres régionaux dans quelques widgets" #~ msgid "Fixed wrong alignment in a few widgets" #~ msgstr "Correction d’un mauvais alignement dans quelques widgets" #~ msgid "" #~ "The Loudness plugin is being used again for the reasons described at This " #~ "means that is an optional dependency again." #~ msgstr "" #~ "Le plugin Loudness est réutilisé pour les raisons décrites dans. Cela " #~ "signifie qu’il s’agit à nouveau d’une dépendance facultative." #~ msgid "" #~ "Fixed a segmentation fault that happened when optional dependencies were " #~ "not installed" #~ msgstr "" #~ "Correction d’un défaut de segmentation qui se produisait lorsque les " #~ "dépendances facultatives n’étaient pas installées" #~ msgid "Improved equalizer interface." #~ msgstr "Interface de l’égaliseur améliorée." #~ msgid "" #~ "Now we use a sidechain LSP compressor that allows the user to select and " #~ "external source as the sidechain input." #~ msgstr "" #~ "Nous utilisons maintenant un compresseur sidechain LSP qui permet à " #~ "l’utilisateur de sélectionner une source externe comme entrée sidechain." #~ msgid "We now support the LSP compressor `Boosting` mode." #~ msgstr "Nous supportons maintenant le mode `Boosting` du compresseur LSP." #~ msgid "" #~ "When `split-channels` is enabled in the equalizer the imported APO preset " #~ "will be applied only to the channel being visualized in the window. This " #~ "will allow to import different presets for each channel instead of just " #~ "settings the same values to both." #~ msgstr "" #~ "Quand `split-channels` est activé dans l’égaliseur, le préréglage APO " #~ "importé sera appliqué seulement au canal visualisé dans la fenêtre. Cela " #~ "permet d’importer des préréglage différents pour chaque canal au lieu de " #~ "régler les mêmes valeurs pour les deux." #~ msgid "" #~ "Fixed some segmentation faults that could happen when creating a preset " #~ "autoloading profile or removing presets" #~ msgstr "" #~ "Correction de certaines erreurs de segmentation qui pouvaient survenir " #~ "lors de la création d’un profil de chargement automatique prédéfini ou de " #~ "la suppression de préréglages" #~ msgid "" #~ "This is one of the biggest releases that I have ever made. The amount of " #~ "changes is so big that it is hard to talk about everything here." #~ msgstr "" #~ "C'est l’une des plus grosses versions que j'ai jamais faite. La quantité " #~ "de changements est si importante qu’il est difficile de parler de tout " #~ "ici." #~ msgid "" #~ "The following are just the most import ones. People interested on the " #~ "journey that got us here can take" #~ msgstr "" #~ "Voici les plus importantes d’entre elles. Les personnes intéressées par " #~ "le voyage qui nous a mené jusqu’ici peuvent" #~ msgid "a look at and" #~ msgstr "regarder et" #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "" #~ "L'application et son dépôt ont été renommés de PulseEffects à " #~ "`EasyEffects`" #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "gtkmm3 a été remplacé par gtkmm4" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "Gstreamer a été remplacé par des filtres natifs PipeWire." #~ msgid "" #~ "Many features were reimplemented from scratch. The preset autoloading is " #~ "one example. Another remarkable change will be seen in the plugins " #~ "selection menu. Now the user can show in the window only the plugins that " #~ "he/she wants to use." #~ msgstr "" #~ "De nombreuses fonctionnalités ont été réimplémentées à partir de zéro. Le " #~ "chargement automatique des préréglages en est un exemple. Un autre " #~ "changement remarquable se trouve dans le menu de sélection des plugins. " #~ "Désormais, l’utilisateur peut afficher dans la fenêtre uniquement les " #~ "plugins qu’il souhaite utiliser." #~ msgid "" #~ "Boost is no longer a dependency. The price paid for that was a little " #~ "change in our presets structures. With some patience it is possible to " #~ "edit PulseEffects presets in a text editor and make them work in " #~ "EasyEffects. Hopefully someone will come up with a script for this in the " #~ "feature." #~ msgstr "" #~ "Boost n’est plus une dépendance. Le prix à payer pour cela a été un petit " #~ "changement dans la structure de nos préréglages. Avec un peu de patience, " #~ "il est possible d’éditer les préréglages PulseEffects avec un éditeur de " #~ "texte et de les faire fonctionner dans EasyEffects. Quelqu’un proposera " #~ "peut-être un script pour cela prochainement." #~ msgid "" #~ "New libraries are being used and some of the librarires that were " #~ "optional before are now required" #~ msgstr "" #~ "De nouvelles bibliothèques sont utilisées et certaines d’entre elles, qui " #~ "étaient auparavant facultatives, sont désormais obligatoires" #~ msgid "Average" #~ msgstr "Moyenne" #~ msgid "Failed" #~ msgstr "Échec" #~ msgid "Use Default" #~ msgstr "Utiliser la valeur par défaut" #~ msgid "Remove this plugin" #~ msgstr "Supprimer ce plugin" #~ msgid "Import Presets" #~ msgstr "Ouvrir préréglage" #~ msgid "Start Service at Login" #~ msgstr "Lancer le service au démarrage" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Réinitialiser le volume au démarrage" #, fuzzy #~ msgid "Activate" #~ msgstr "Aucune compression" #~ msgid "Add to Blocklist" #~ msgstr "Ajouter à la liste de blocage" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibration de la correction microphone" #, fuzzy #~ msgid "enabled" #~ msgstr "Table sinusoïdale" #, fuzzy #~ msgid "disabled" #~ msgstr "Table sinusoïdale" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latence" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Gain d'entrée [dB]" #, fuzzy #~ msgid "Output Effects" #~ msgstr "Limiteur d'entrée" #~ msgid "Settings" #~ msgstr "Paramètres" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Paramètres" #, fuzzy #~ msgid "Documentation" #~ msgstr "Calibration" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Signal de test" #, fuzzy #~ msgid "Signal" #~ msgstr "Signal de test" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spectromètre" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spectromètre" #, fuzzy #~ msgid "Spectrum Color" #~ msgstr "Spectromètre" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Réduction de gain" #, fuzzy #~ msgid "S/C Level" #~ msgstr "Niveau" #~ msgid "Input Limiter" #~ msgstr "Limiteur d'entrée" #~ msgid "Calibration" #~ msgstr "Calibration" #, fuzzy #~ msgid "Limit" #~ msgstr "Limite [dB]" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Effets audio pour applications PulseAudio" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Effets audio pour applications PulseAudio" #, fuzzy #~ msgid "Calibration Microphone" #~ msgstr "Calibration de la correction microphone" #~ msgid "Sine" #~ msgstr "Sinusoïde" #~ msgid "Square" #~ msgstr "Carrée" #~ msgid "Saw" #~ msgstr "Dent de scie" #~ msgid "Triangle" #~ msgstr "Triangle" #~ msgid "Pink Noise" #~ msgstr "Bruit rose" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Bruit Gaussien" #~ msgid "Blue Noise" #~ msgstr "Bruit bleu" #~ msgid "Violet Noise" #~ msgstr "Bruit violet" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Measure Noise" #~ msgstr "Mesurer le bruit" #~ msgid "Subtract Noise" #~ msgstr "Enlever le bruit" #, fuzzy #~ msgid "High" #~ msgstr "Passe-haut" #, fuzzy #~ msgid "Very High" #~ msgstr "Passe-haut" #, fuzzy #~ msgid "Detection Likelihood" #~ msgstr "Atténuation" #, fuzzy #~ msgid "Select the impulse Response File" #~ msgstr "Réponse plane" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Aucune compression" #, fuzzy #~ msgid "Configuration" #~ msgstr "Calibration" #, fuzzy #~ msgid "Advanced" #~ msgstr "Paramètres" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Préréglage" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Atténuation" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Fréquence [Hz]" #, fuzzy #~ msgid "Buffer" #~ msgstr "Latence" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Égaliseur - Sortie" # Taking lingual shortcuts to squeeze it in the text box #, fuzzy #~ msgid "Block Size" #~ msgstr "Taille pièce" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Ouvrir préréglage" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Réduction de gain" #~ msgid "Red Noise" #~ msgstr "Bruit rouge" #, fuzzy #~ msgid "Noise Suppressor" #~ msgstr "Compresseur" #, fuzzy #~ msgid "Voice Detector" #~ msgstr "Atténuation" easyeffects-7.1.7/po/gl.po000066400000000000000000002444011463533416400154250ustar00rootroot00000000000000# Galician translation for EasyEffects # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # Xosé , 2021. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-12-31 05:51+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.15.1-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ecualizador, compresor e outros efectos de son" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de son para aplicacións PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitador;compresor;reverberación;ecualizador;volume automático;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Activado" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 #, fuzzy msgid "Mute Application" msgstr "Aplicacións" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 #, fuzzy msgid "Application Volume" msgstr "Aplicacións" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Axuda" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Configuración" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Preferencias" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Atallos de teclado" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "_Sobre EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Preconfiguracións" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menú de preconfiguracións" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Desvío global" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menú primario" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "Xanela de EasyEffects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Lista de aplicacións" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Paredes baleiras" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Aplicacións" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 #, fuzzy msgid "Controls" msgstr "Controlador de ganancia" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Destino" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referencia" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Curto prazo" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Restabelecer historial" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Restabelecer" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Sonoridade" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativo" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Intervalo" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Ganancia da saída" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Saída" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Saída" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Saída" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Dispositivo" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nome" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Perfíl" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Preconfiguración" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Escoitar" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mesturar harmónicos" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3.º" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2.º" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Cantidade" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Ámbito" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Chan" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Chan" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Ligazón" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Aplicacións" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Mostrar aplicacións bloqueadas na lapela principal" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Aplicacións" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Mostrar aplicacións bloqueadas na lapela principal" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Agochar a xanela." #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Descendente" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Ascendente" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modo de compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Limiar de realce" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Cantidade" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tempo" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Limiar" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Limiar" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Soltar" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "Soltar" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Limiar da solta relativa" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Proporción" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Xeonllo" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Restauración" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Nivel F2" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Nivel do destino" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Cadea lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Base de estéreo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Fonte" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Esquerda" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Dereita" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Mínimo" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Cadea lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Delonga E/D" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Dereita" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Fonte predeterminada" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Modo de filtro de frecuencias altas" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Cadea lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Cadea lateral" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Remitir" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Retroalimentar" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Externo" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Cadea lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Nivel de entrada" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Preamplificación" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactividade" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Delonga máxima" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Cadea lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Paso alto" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Desactivado" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Modo de filtro de frecuencias altas" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frecuencias altas" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Frecuencias baixas" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Modo de filtro de frecuencias altas" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "E" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Canles" #: data/ui/convolver.ui:53 msgid "R" msgstr "D" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Dividir canles" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsos" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combinar" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Largura do estéreo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Ganancia automática" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Taxa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Mostras" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duración" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Resposta de impulso" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 #, fuzzy msgid "Output File Name" msgstr "Saída" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importar impulso" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Buscar" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Importar ficheiro de impulso" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Importar ficheiro de impulso" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predeterminado" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Corte" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Fonte" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Desvío" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Silenciar" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Atenuación" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detección" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Amplo" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Dividir" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "División F1" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "Pico F2" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "Ganancia F1" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "Nivel F2" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "Pico F2 Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laxitude" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Redución" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Delonga" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inverter fase" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresión de ruído" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresión de ruído" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandas" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Cadea lateral" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Cadea lateral" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Dividir canles" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Resposta plana" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcular frecuencias" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Ordealas Bandas" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 #, fuzzy msgid "Import Preset" msgstr "Importar preconfiguración" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importar preconfiguración" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendente" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidade" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Largura" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Teito" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Bandas" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Externo" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Acceso" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Descrición" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Andel baixo" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Andel alto" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Campaíña" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Desvío" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Entalla" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonancia" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Frecuencias baixas" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Redución de ganancia" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Todos os pasos" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ecualizador" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Porta" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Soltar" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frecuencia" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Restabelecer historial" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sobremostraxe" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Amplo" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Amplo" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Largura de liña" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Largura de liña" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Largura de liña" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ningunha" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Preamplificación" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Ligazón estéreo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Cadea lateral" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Nivelación automática" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Nivelación automática" #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Nivelación automática" #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Nivelación automática" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Esquerda" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Dereita" #: data/ui/limiter.ui:678 #, fuzzy msgid "Sidechain Left" msgstr "Cadea lateral" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Cadea lateral" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Estándar" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plano" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Tamaño de FFT" #: data/ui/loudness.ui:82 #, fuzzy msgid "Output Volume" msgstr "Saída" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Asignación de canles" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Cadea lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Importar modelo" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Clásico" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderno" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Inverter fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 #, fuzzy msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 #, fuzzy msgid "Band 1" msgstr "Bandas" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 #, fuzzy msgid "Band 2" msgstr "Bandas" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 #, fuzzy msgid "Band 3" msgstr "Bandas" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 #, fuzzy msgid "Band 4" msgstr "Bandas" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 #, fuzzy msgid "Band 5" msgstr "Bandas" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 #, fuzzy msgid "Band 6" msgstr "Bandas" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 #, fuzzy msgid "Band 7" msgstr "Bandas" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 #, fuzzy msgid "Band 8" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 #, fuzzy msgid "Band End" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de compresión" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Desvío" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 #, fuzzy msgid "Band Sidechain Options" msgstr "Cadea lateral" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Base de estéreo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Modo de filtro de frecuencias baixas" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Modo de filtro de frecuencias baixas" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filtro de altas frecuencias" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Filtro de altas frecuencias" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Ganancia F1" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Redución de ganancia" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Xeral" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Empregar o predeterminado" #: data/ui/pipe_manager_box.ui:65 #, fuzzy msgid "Custom Input Device" msgstr "Nivel de entrada" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Empregar o predeterminado" #: data/ui/pipe_manager_box.ui:101 #, fuzzy msgid "Custom Output Device" msgstr "Saída" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Reverberación" #: data/ui/pipe_manager_box.ui:116 #, fuzzy msgid "Header Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:127 #, fuzzy msgid "Library Version" msgstr "Versión" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Taxa da mostraxe predeterminada" #: data/ui/pipe_manager_box.ui:149 #, fuzzy msgid "Minimum Quantum" msgstr "Máximo" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Ganancia máxima" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Saída de son por defecto" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Saída" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 #, fuzzy msgid "Output Presets" msgstr "Preconfiguracións de saída: " #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Preconfiguracións de saída: " #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Nivel de entrada" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Preconfiguracións de entrada: " #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Preconfiguracións de entrada: " #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:495 #, fuzzy msgid "Modules List" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:541 #, fuzzy msgid "Test Signal" msgstr "Sinais de proba" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Activado" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Propiedades" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canles" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:596 #, fuzzy msgid "Both Channels" msgstr "Canles" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Forma de onda" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Táboa de senos" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Ruído branco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frecuencia" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Xanela" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Ton" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitóns" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Referencia" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Referencia" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 #, fuzzy msgid "Add Effect" msgstr "Efectos de entrada" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Xeral" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Servizo" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Procesar todas as saí­das" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Procesar todas as entradas" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 #, fuzzy msgid "Inactivity Timeout" msgstr "Tempo límite da actividade" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Externo" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frecuencia" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Estilo" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Empregar tema escuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Agochar a xanela." #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Espectro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Forma" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barras" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Liñas" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Puntos" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Largura de liña" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Encher" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Cor" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Mínimo" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Cargar" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Gardar as opcións actuais neste ficheiro de preconfiguracións" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Gardar as opcións actuais neste ficheiro de preconfiguracións" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Seco" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Preconfiguracións de saída: " #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importar modelo" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Preconfiguracións de entrada: " #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Sen preconfiguración" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Preconfiguracións de entrada: " #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Preconfiguracións de entrada: " #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Preconfiguracións de saída: " #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Preconfiguracións de saída: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortecemento de frecuencias altas" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Tamaño da sala" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Pequena" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Media" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/suave" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Delonga previa" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tempo de decaemento" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Paso alto" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Corte de agudos" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Paredes baleiras" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Sala" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Sala de concertos grande baleira" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Sala de concertos grande ocupada" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importar modelo" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detector de voces" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modelos" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 #, fuzzy msgid "Standard Model" msgstr "Modelo RNNoise estándar" #: data/ui/rnnoise.ui:204 #, fuzzy msgid "RNNoise Models List" msgstr "Modelo RNNoise estándar" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Modelo activo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Modelo RNNoise estándar" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Vista xeral" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 #, fuzzy msgid "Close the Window" msgstr "Agochar a xanela." #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Ruído vermello" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Control de suavizado automático" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Reverberación" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresión de ruído" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Nivel F2" #: data/ui/stereo_tools.ui:78 #, fuzzy msgid "Input Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Compresión de ganancia" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Compresión de ganancia" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriz estéreo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "DE>DE (Predeterminado de estéreo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "ED>M (Estéreo a medio)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "M>ED (Medio a estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "ED>EE (Mono canle esquerda)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "ED>DD (Mono canle dereita)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "ED>E+D(Mono suma de E+D)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "ED>DE (Canles estéreo invertidas)" #: data/ui/stereo_tools.ui:149 #, fuzzy msgid "Stereo Mode" msgstr "Base de estéreo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nivel lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balance lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nivel medio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama medio" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Saída" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Delonga E/D" #: data/ui/stereo_tools.ui:452 #, fuzzy msgid "Delay Left Right" msgstr "Delonga E/D" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base de estéreo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase estéreo" #: src/app_info.cpp:100 #, fuzzy msgid "Running" msgstr "en execución" #: src/app_info.cpp:102 #, fuzzy msgid "Suspended" msgstr "suspendido" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "a crear" #: src/app_info.cpp:108 #, fuzzy msgid "Error" msgstr "erro" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Canles" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Saír do EasyEffects. É últil cando se executa no modo de servizo." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Restabelecer EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Agochar a xanela." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Desvío global. 1 para activar, 2 para desactivar e 3 para coñecer o estado" #: src/application.cpp:615 msgid "Show available presets." msgstr "Mostrar preoconfiguracións dispoñíbeis." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Cargar unha preconfiguración. Exemplo: pulseefects-l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Saída" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Entrada" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar ficheiro de impulso" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importar ficheiro de impulso" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Resposta de impulso" #: src/convolver_menu_impulses.cpp:293 #, fuzzy msgid "Load Impulse" msgstr "Resposta de impulso" #: src/convolver_menu_impulses.cpp:296 #, fuzzy msgid "Remove Impulse" msgstr "Importar impulso" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar ficheiro de impulso" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Non foi posíbel cargar o ficheiro de impulso" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Gravadoras" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Reprodutores" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importar ficheiro de preconfiguracións de APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Preconfiguracións de APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar ficheiro de preconfiguracións de APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Preconfiguracións de APO" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar ficheiro de preconfiguracións de APO" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Preconfiguracións de entrada: " #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 #, fuzzy msgid "Remove Autoloading Preset" msgstr "Retirar este ficheiro de preconfiguracións" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Saída" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Eliminar" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Saída" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Engadir" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importar preconfiguración" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicacións" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Preconfiguracións de entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Preconfiguracións de entrada: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importar preconfiguración" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importar ficheiro de modelo" #: src/rnnoise_ui.cpp:172 #, fuzzy msgid "RNNoise Models" msgstr "Modelo RNNoise estándar" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Mellora de baixos" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Sonoridade" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolución" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizador" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Cancelador de cco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ecualizador" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitación" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Saída" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitador" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizador" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresor multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Porta multibanda" #: src/tags_plugin_name.cpp:61 #, fuzzy msgid "Reverberation" msgstr "Reverberación" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Redución de ruído" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Ferramentas de estéreo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Usando" #~ msgid "Ceiling" #~ msgstr "Teito" #~ msgid "\"Presets\"" #~ msgstr "«Preconfiguracións»" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar preconfiguración" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Modo de filtro de frecuencias baixas" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de altas frecuencias" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Preconfiguracións de saída: " #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #, fuzzy #~ msgid "FFT" #~ msgstr "Transformada rápida de Fourier" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Proporción" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Frecuencias baixas" #, fuzzy #~ msgid "High-pass" #~ msgstr "Paso alto" #~ msgid "Gating" #~ msgstr "Limiar dinámico" #~ msgid "12dB/oct Lowpass" #~ msgstr "Paso baixo 12dB/oct" #~ msgid "24dB/oct Lowpass" #~ msgstr "Paso baixo 24dB/oct" #~ msgid "36dB/oct Lowpass" #~ msgstr "Paso baixo 36dB/oct" #~ msgid "12dB/oct Highpass" #~ msgstr "Paso alto 12dB/oct" #~ msgid "24dB/oct Highpass" #~ msgstr "Paso alto 24dB/oct" #~ msgid "36dB/oct Highpass" #~ msgstr "Paso alto 36dB/oct" #~ msgid "6dB/oct Bandpass" #~ msgstr "Paso de banda 6dB/oct" #~ msgid "12dB/oct Bandpass" #~ msgstr "Paso de banda 12dB/oct" #~ msgid "18dB/oct Bandpass" #~ msgstr "Paso de banda 18dB/oct" #~ msgid "6dB/oct Bandreject" #~ msgstr "Rexeita faixa 6dB/oct" #~ msgid "12dB/oct Bandreject" #~ msgstr "Rexeita faixa 12dB/oct" #~ msgid "18dB/oct Bandreject" #~ msgstr "Rexeita faixa 18dB/oct" #~ msgid "Inertia" #~ msgstr "Inercia" #, fuzzy #~ msgid "Band Type" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendente" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Sonoridade" #, fuzzy #~ msgid "High Speed" #~ msgstr "Andel alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidade" #~ msgid "Preserved" #~ msgstr "Preservado" #, fuzzy #~ msgid "Crisp" #~ msgstr "Limpidez" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Compresión de ganancia" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Octaves" #~ msgstr "Oitavas" #~ msgid "_Manual" #~ msgstr "_Manual" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Restabelecer EasyEffects." #~ msgid "High Pass" #~ msgstr "Frecuencias altas" #~ msgid "Low Pass" #~ msgstr "Frecuencias baixas" #~ msgid "Cancel" #~ msgstr "Cancelar" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Preamplificación" #~ msgid "Frame Size" #~ msgstr "Tamaño de fotograma" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Frecuencias baixas" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Delonga previa" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Dividir canles" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Nivel F2" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Nivel F2" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Nivel do destino" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Nivel do destino" #, fuzzy #~ msgid "Suppression" #~ msgstr "Nivel de supresión" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de son para as aplicacións de PulseAudio" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Redución de ruído" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Preconfiguracións de APO" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Preconfiguracións de saída: " #~ msgid "Input Presets: " #~ msgstr "Preconfiguracións de entrada: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub-banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Restauración" #~ msgid "Max Reduction" #~ msgstr "Redución" #~ msgid "Low Band" #~ msgstr "Banda baixa" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Restauración" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redución de ganancia" #~ msgid "Mid Band" #~ msgstr "Banda media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Restauración" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redución de ganancia" #~ msgid "High Band" #~ msgstr "Banda alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Restauración" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantidade" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantidade" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "O EasyEffects é unha ferramenta avanzada de manipulación de son. Inclúe " #~ "ferramentas como ecualizador, limitador, compresor e reverberación, por " #~ "mencionar só algunhas. Para complementalas, incorpora tamén un analizador " #~ "de espectros." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects é o sucesor de PulseEffects. EasyEffects só admite o servidor " #~ "de son de PipeWire. Os usuarios de PulseAudio deberían usar no lugar " #~ "PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Dado que o EasyEffects emprega o servidor de son PipeWire predeterminado " #~ "debería funcionar coa maioría, se non todas, as aplicacións que use. " #~ "Todas as aplicacións admitidas preséntanse na xanela principal, na que é " #~ "posíbel activar cada unha delas individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Ademais de manipular a saída de son, o EasyEffects pode aplicar efectos a " #~ "un dispositivo de entrada, como un micrófono. Isto é útil, por exemplo, " #~ "para gravar son, mais tamén funciona ben durante as conversas de voz." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Ao iniciar, EasyEffects lembra a configuración empregada na sesión " #~ "anterior. Tamén é posíbel gardar as opcións actuais como perfís." #~ msgid "The main page showing two audio output apps" #~ msgstr "A páxina principal que mostra dúas aplicacóns con saída de son" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "A páxina do mellorador de baixos mostrando os controles de son" #~ msgid "The convolver page showing audio controls" #~ msgstr "A páxina do convolucionador mostrando os controles de son" #~ msgid "This release adds the following features:" #~ msgstr "Esta publicación engade as seguintes características:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Esta publicación arranxa os seguintes erros:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Hai unha nova configuración que lle permite ao usuario seleccionar un " #~ "tempo de espera de inactividade para o pipeline. Cando non hai un cliente " #~ "reproducindo" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "ou gravando desde os seus dispositivos os filtros desligaranse despois " #~ "dun tempo. Isto faise para asegurarse que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "non gasta enerxía no procesador sen que se entere." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Isto debería evitar os casos onde o volume «Integrado» bloquease sempre " #~ "no mesmo valor." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "A icona de EasyEffects foi actualizada para que poida verse mellor en " #~ "escritorios QT." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta publicación arranxa o seguinte erro:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "A opción de liña de ordes que devolve un estado bypass global está " #~ "funcionando de novo." #~ msgid "This release adds the following feature:" #~ msgstr "Esta publicación engade a seguinte característica:" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Compatibilidade para a seguinte publicación de Pipewire 0.3.44" #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Arranxouse un erro ao tentar crear un perfil de autocarga sen ter " #~ "preconfiguracions causados por unha quebra da aplicación" #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "Úsase LibAdwaita para crear algunhas partes da nosa xanela e para " #~ "xestionar o troque entre temas escuro e claro." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "O menú de preferencias foi redeseñado empregando trebellos de LibAdwaita." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM e GLIBMM xa non son dependencias. Agora usamos gtk4 directamente." #~ msgid "Average" #~ msgstr "Media" #~ msgid "Failed" #~ msgstr "Fallou" #, fuzzy #~ msgid "Use Default" #~ msgstr "Empregar o predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Retirar este ficheiro de preconfiguracións" #~ msgid "Import Presets" #~ msgstr "Importar preconfiguración" #~ msgid "Start Service at Login" #~ msgstr "Iniciar automaticamente coa sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modelo activo" #~ msgid "Add to Blocklist" #~ msgstr "Engadir á lista de bloqueo" #~ msgid "Blocklist" #~ msgstr "Lista de bloqueos" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibración do micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Activar" #, fuzzy #~ msgid "disabled" #~ msgstr "Activar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "idle" #~ msgstr "ocioso" #~ msgid "Faster" #~ msgstr "Máis rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar formante" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Saída" #, fuzzy #~ msgid "Channel" #~ msgstr "Canles" #, fuzzy #~ msgid "Value" #~ msgstr "Chan" #~ msgid "Output Effects" #~ msgstr "Efectos de saída" #~ msgid "Settings" #~ msgstr "Configuración" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Configuración" #, fuzzy #~ msgid "Documentation" #~ msgstr "Duración" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Sinais de proba" #, fuzzy #~ msgid "Signal" #~ msgstr "Sinais de proba" #~ msgid "Show Spectrum" #~ msgstr "Mostrar espectro" #~ msgid "Border" #~ msgstr "Bordo" #~ msgid "Spectrum Type" #~ msgstr "Tipo de espectro" #~ msgid "Spectrum Color" #~ msgstr "Cor do espectro" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Modelo activo" #~ msgid "Maximum Gain Reduction" #~ msgstr "Redución máxima da ganancia" #, fuzzy #~ msgid "Wet" #~ msgstr "Ponderacións" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Short Term" #~ msgstr "Curto prazo" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Fixación do volume e des/activación dos efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Inclúe un ecualizador con preconfiguracións incorporadas" #~ msgid "Input Limiter" #~ msgstr "Limitador de entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Efectos de son para as aplicacións de PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Efectos de son para as aplicacións de PulseAudio" #~ msgid "Calibration Microphone" #~ msgstr "Calibración do micrófono" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Aplicar esta preconfiguración automaticamente sempre que o dispositivo en " #~ "uso estea conectado ao sistema" #~ msgid "Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Default Devices and Sampling Rate" #~ msgstr "Taxa da mostraxe predeterminada" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cadrado" #~ msgid "Saw" #~ msgstr "Serra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Pink Noise" #~ msgstr "Ruído rosa" #~ msgid "Ticks" #~ msgstr "Marcas" #~ msgid "Gaussian Noise" #~ msgstr "Ruído gaussiano" #~ msgid "Blue Noise" #~ msgstr "Ruído azul" #~ msgid "Violet Noise" #~ msgstr "Ruído violeta" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Measure Noise" #~ msgstr "Medir ruído" #~ msgid "Subtract Noise" #~ msgstr "Subtraer ruído" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Provided by" #~ msgstr "Fornecido por" #~ msgid "Extended Filter" #~ msgstr "Filtro estendido" #~ msgid "Low" #~ msgstr "Baixo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alta" #~ msgid "Delay Agnostic" #~ msgstr "Agnóstico coa delonga" #~ msgid "Very High" #~ msgstr "Moi alta" #~ msgid "Adaptive Digital" #~ msgstr "Dixital adaptativo" #~ msgid "Fixed Digital" #~ msgstr "Dixital fixo" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidade de detección" #~ msgid "Very Low" #~ msgstr "Moi baixa" #~ msgid "Use Custom Color" #~ msgstr "Empregar cor personalizada" #~ msgid "Use Gradient" #~ msgstr "Empregar gradación" #~ msgid "Gradient Color" #~ msgstr "Cor de gradación" #~ msgid "Import Impulse Response File" #~ msgstr "Importar ficheiro de resposta de impulso" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione o ficheiro de resposta de impulso" #~ msgid "Aggressive Mode" #~ msgstr "Modo agresivo" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Despois" #~ msgid "Loudness Range" #~ msgstr "Intervalo de sonoridade" #~ msgid "Loudness Compensator" #~ msgstr "Compensador de sonoridade" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "Based on" #~ msgstr "Baseado en" #~ msgid "Detect Silence" #~ msgstr "Detectar silencio" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Conecte de novo o micrófono para aplicar os cambios feitos na lista de " #~ "bloqueos" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "" #~ "Reinicie o reprodutor para aplicar os cambios feitos na lista de boqueos" #~ msgid "Low-pass Frequency" #~ msgstr "Frecuencias baixas" #~ msgid "Advanced" #~ msgstr "Avanzado" #~ msgid "Apply APO Preset" #~ msgstr "Aplicar preconfiguración de APO" #~ msgid "Muted" #~ msgstr "Enmudecido" #~ msgid "Distant Headphones" #~ msgstr "Auriculares distantes" #~ msgid "Niceness" #~ msgstr "Prioridade" #~ msgid "Priority Type" #~ msgstr "Tipo de prioridade" #~ msgid "Priority" #~ msgstr "Prioridade" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de mostraxe predeterminado" #~ msgid "Server" #~ msgstr "Servidor" #~ msgid "File" #~ msgstr "Ficheiro" #~ msgid "Configuration" #~ msgstr "Configuración" #~ msgid "Resamplers" #~ msgstr "Resampleadores" #~ msgid "Pipeline Input" #~ msgstr "Entrada de tubaxe" #~ msgid "Buffer" #~ msgstr "Búfer" #~ msgid "Pipeline Output" #~ msgstr "Saída de tubaxe" #~ msgid "Block Size" #~ msgstr "Tamaño do bloque" #~ msgid "Sampling" #~ msgstr "Mostraxe" #~ msgid "Minimum Frequency" #~ msgstr "Frecuencia mínima" #~ msgid "Maximum Frequency" #~ msgstr "Frecuencia máxima" easyeffects-7.1.7/po/hr.po000066400000000000000000002263341463533416400154410ustar00rootroot00000000000000# Croatian translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the EasyEffects package. # gogo , 2017. # rooty , 2018. # flipwise , 2018. msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-11-25 07:02+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 5.2.1-rc\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ekvalizator, kompresor i drugi audio efekti" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Zvučni efekti za PipeWire aplikacije" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "graničnik;kompresor;odjek;ekvalizator;automatska glasnoća zvuka;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Omogući" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 #, fuzzy msgid "Mute Application" msgstr "Aplikacije" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 #, fuzzy msgid "Application Volume" msgstr "Aplikacije" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Pomoć" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Postavke" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 #, fuzzy msgid "_Shortcuts" msgstr "Kratkoročno" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Predlošci" #: data/ui/application_window.ui:61 #, fuzzy msgid "Presets Menu" msgstr "Predlošci" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 #, fuzzy msgid "Global Bypass" msgstr "Premosnica" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Primarni izbornik" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Popis aplikacija" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Prazan popis" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Nema dostupnih audio aplikacija" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Kontrole" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Cilj" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Tišina" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Maksimalna povijest" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referenca" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Trenutačno" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kratkoročno" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrirano" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Geometrijski prosjek (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Geometrijski prosjek (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Geometrijski prosjek (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Geometrijski prosjek (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Resetiraj povijest" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Vrati na tvorničke postavke" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Glasnoća" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativno" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Raspon" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Pojačanje izlaza" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Ulaz" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Pojačanje ulaza" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Izlaz" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Pojačanje ulaza" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Uređaj" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Naziv" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Predlošci" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Kompresija" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Poslušaj" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Spajanje harmonijskog reda" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Jačina" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonijski red" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Raspon" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Dno" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Dno" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Ime aplikacije" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Dodaj u izuzete aplikacije" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Popis izuzetih aplikacija" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Pokaži izuzete aplikacije" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Prozor" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Način" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modus kompresije" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 #, fuzzy msgid "Boost Threshold" msgstr "Prag" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Jačina" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Pokretanje" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Vrijeme" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Prag" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Pokretanje" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Prag" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Vrijeme prijelaza" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "Vrijeme prijelaza" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Prag" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Omjer" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 #, fuzzy msgid "Knee" msgstr "Koljeno" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 #, fuzzy msgid "Makeup" msgstr "Dorada" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Razina" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Ciljana razina" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 #, fuzzy msgid "Sidechain" msgstr "Postranični ulaz" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Stereo baza" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Izvor" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Sredina" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Strana" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Lijevo" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Desno" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min." #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Maks." #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Postranični ulaz" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Lijevo/Desno" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Desno/Lijevo" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Sredina/Strana" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Strana/Sredina" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Tvorničke postavke" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Vrhunac" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Postranični ulaz" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Postranični ulaz" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Vrsta" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 #, fuzzy msgid "Feed-back" msgstr "Dovod zvuka" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Postranični ulaz" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Ulazni uređaj" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Aplikacije" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Preduhvatiti" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Postranični ulaz" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekvencija" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 #, fuzzy msgid "12 dB/oct" msgstr "12dB/oct niski prolaz" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 #, fuzzy msgid "24 dB/oct" msgstr "24dB/oct niski prolaz" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 #, fuzzy msgid "36 dB/oct" msgstr "36dB/oct niski prolaz" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Prigušivanje visokih frekvencija" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 #, fuzzy msgid "Low-Pass" msgstr "Nizak prolaz" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Pojačanje" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Kanali" #: data/ui/convolver.ui:53 msgid "R" msgstr "D" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Kanali" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Reakcija impulsa" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 #, fuzzy msgid "Stereo Width" msgstr "Stereo širina" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektar" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Automatsko pojačavanje" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Frekvencija" #: data/ui/convolver.ui:168 #, fuzzy msgid "Samples" msgstr "Semplovi" #: data/ui/convolver.ui:189 #, fuzzy msgid "Duration" msgstr "Trajanje" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Reakcija impulsa" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 #, fuzzy msgid "Output File Name" msgstr "Izlaz" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 #, fuzzy msgid "Import Impulse" msgstr "Učitaj impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Učitaj impuls datoteku" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Učitaj impuls datoteku" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Tvorničke postavke" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Prekid" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Dovod zvuka" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Premosnica" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Bezvučno" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Prigušenje" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filter" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detekcija" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Široko" #: data/ui/deesser.ui:78 #, fuzzy msgid "Split" msgstr "Razdvojeno" #: data/ui/deesser.ui:96 #, fuzzy msgid "F1 Split" msgstr "Razdvojeno" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frekvencija" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "Vrhunac" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frekvencija" #: data/ui/deesser.ui:165 #, fuzzy msgid "F1 Gain" msgstr "Pojačanje" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frekvencija" #: data/ui/deesser.ui:199 #, fuzzy msgid "F2 Level" msgstr "Razina" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frekvencija" #: data/ui/deesser.ui:233 #, fuzzy msgid "F2 Peak Q" msgstr "Vrhunac Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frekvencija" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Popustljivost" #: data/ui/deesser.ui:577 #, fuzzy msgid "Detected" msgstr "Detektirano" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Smanjenje" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Kašnjenje" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inverzija faze" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filter" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresija buke" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresija buke" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Broj raspona" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Ravnoteža" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Postranični ulaz" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Postranični ulaz" #: data/ui/equalizer.ui:288 #, fuzzy msgid "Split Channels" msgstr "Kanali" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Ravan izlaz" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Izračunaj frekvencije" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Broj raspona" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 #, fuzzy msgid "Import Preset" msgstr "Učitaj predloške" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Učitaj predloške" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvaliteta" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Širina" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Vrh" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Broj raspona" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Integrirano" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Detekcija" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Kompresija" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Niski shelf" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Visoki shelf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Premosnica" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Rezonancija" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Nizak prolaz" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Ograničenje pojačanja" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Nizak prolaz" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ekvalizator" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 #, fuzzy msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Vrata" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Vrijeme prijelaza" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frekvencija" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Resetiraj povijest" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Jači sampling" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Široko" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Široko" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Širina" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Širina" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Širina" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Aplikacije" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereo veza" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Postranični ulaz" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Lijevo" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Desno" #: data/ui/limiter.ui:678 #, fuzzy msgid "Sidechain Left" msgstr "Postranični ulaz" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Postranični ulaz" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 #, fuzzy msgid "FFT Size" msgstr "Veličina okvira" #: data/ui/loudness.ui:82 #, fuzzy msgid "Output Volume" msgstr "Izlaz" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Kanali" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Postranični ulaz" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Učitaj impuls" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 #, fuzzy msgid "Modern" msgstr "Način" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Inverzija faze" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 #, fuzzy msgid "Bands List" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 #, fuzzy msgid "Band 1" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 #, fuzzy msgid "Band 2" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 #, fuzzy msgid "Band 3" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 #, fuzzy msgid "Band 4" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 #, fuzzy msgid "Band 5" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 #, fuzzy msgid "Band 6" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 #, fuzzy msgid "Band 7" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 #, fuzzy msgid "Band 8" msgstr "Broj raspona" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 #, fuzzy msgid "Band End" msgstr "Broj raspona" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Kompresija" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Premosnica" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 #, fuzzy msgid "Band Sidechain Options" msgstr "Postranični ulaz" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereo baza" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Filter" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Filter" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filter visokog prolaza" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Filter visokog prolaza" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Pojačanje ulaza" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Ograničenje pojačanja" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Općenito" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Koristi tvorničke postavke" #: data/ui/pipe_manager_box.ui:65 #, fuzzy msgid "Custom Input Device" msgstr "Ulazni uređaj" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Koristi tvorničke postavke" #: data/ui/pipe_manager_box.ui:101 #, fuzzy msgid "Custom Output Device" msgstr "Pojačanje ulaza" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Reverberacija" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Jači sampling" #: data/ui/pipe_manager_box.ui:149 #, fuzzy msgid "Minimum Quantum" msgstr "Frekvencija" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Najveće pojačanje" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Tvorničke postavke" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Izlazni uređaji" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 #, fuzzy msgid "Output Presets" msgstr "Predlošci: " #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Predlošci: " #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Ulazni uređaji" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Učitaj predloške" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Učitaj predloške" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduli" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Popis modula" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Klijenti" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Popis klijenata" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Testni signal" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stanje" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktivirano" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Svojstva" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanali" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Oba" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Oba kanala" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Oblik krivulje" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusoida" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Bijeli šum" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Zaglađivanje rubova" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Raspon frekvencije" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Prozor" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filter" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Visina" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Polustepeni" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Kompresija" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 #, fuzzy msgid "Add Effect" msgstr "Ulazni efekti" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Kompresija" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 #, fuzzy msgid "_General" msgstr "Općenito" #: data/ui/preferences_general.ui:10 #, fuzzy msgid "Service" msgstr "Ulazni uređaj" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Integrirano" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frekvencija" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Koristi tamnu temu" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Eksperimentalna" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Prozor" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 #, fuzzy msgid "_Spectrum" msgstr "Spektar" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Oblik" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Trake" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linije" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Točke" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Točke" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Visina" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Širina linija" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Ispuna" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Prikaži konture traka" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Zaobljeni kutovi" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Boja" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Linije i trake" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Oznake osi" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Raspon frekvencije" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Spremi trenutne postavke u predložak" #: data/ui/preset_row.ui:48 #, fuzzy msgid "Save current settings to this preset file" msgstr "Spremi trenutne postavke u predložak" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Suhoća" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Predlošci: " #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Uvezi model" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Učitaj predloške" #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Stvori predložak" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Učitaj predloške" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Učitaj predloške" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Predlošci: " #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Predlošci: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Prigušivanje visokih frekvencija" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Veličina sobe" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Mala" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Srednje velika" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Velika" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Velika/glatko" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Eksperimentalna" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difuzija" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Prijevremeno kašnjenje" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Vrijeme opadanja" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Odrezivanje basa" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Odrezivanje visokog tona" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Atmosera" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Prazni zidovi" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Soba" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Velika prazna dvorana" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Velika popunjena dvorana" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Uvezi model" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detektor glasa" #: data/ui/rnnoise.ui:151 #, fuzzy msgid "Models" msgstr "Način" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 #, fuzzy msgid "Active Model" msgstr "Kompresija" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 #, fuzzy msgid "Overview" msgstr "Ulazni uređaj" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Crveni šum" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Kontrola pojačanja" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Reverberacija" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresija buke" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Razina" #: data/ui/stereo_tools.ui:78 #, fuzzy msgid "Input Balance" msgstr "Ravnoteža" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Stranična razina" #: data/ui/stereo_tools.ui:126 #, fuzzy msgid "Stereo Matrix" msgstr "Stereo matrica" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 #, fuzzy msgid "Stereo Mode" msgstr "Stereo baza" #: data/ui/stereo_tools.ui:234 #, fuzzy msgid "Side Level" msgstr "Stranična razina" #: data/ui/stereo_tools.ui:269 #, fuzzy msgid "Side Balance" msgstr "Stranična ravnoteža" #: data/ui/stereo_tools.ui:304 #, fuzzy msgid "Middle Level" msgstr "Srednji nivo" #: data/ui/stereo_tools.ui:339 #, fuzzy msgid "Middle Panorama" msgstr "Srednja panorama" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Pojačanje ulaza" #: data/ui/stereo_tools.ui:426 #, fuzzy msgid "Delay L/R" msgstr "Kašnjenje L/D" #: data/ui/stereo_tools.ui:452 #, fuzzy msgid "Delay Left Right" msgstr "Kašnjenje L/D" #: data/ui/stereo_tools.ui:461 #, fuzzy msgid "Stereo Base" msgstr "Stereo baza" #: data/ui/stereo_tools.ui:496 #, fuzzy msgid "Stereo Phase" msgstr "Stereo faza" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "Postavke" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Kanali" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Zatvori EasyEffects. Korisno pri upotrebi u servisnom načinu pokretanja." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Obnovi EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "Prikaži dostupne predloške." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Učitaj predložak. Primjer: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Izlaz" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Ulaz" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Učitaj impuls datoteku" #: src/convolver_menu_impulses.cpp:153 #, fuzzy msgid "Import Impulse File" msgstr "Učitaj impuls datoteku" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otvori" #: src/convolver_menu_impulses.cpp:166 #, fuzzy msgid "Impulse Response" msgstr "Reakcija impulsa" #: src/convolver_menu_impulses.cpp:293 #, fuzzy msgid "Load Impulse" msgstr "Reakcija impulsa" #: src/convolver_menu_impulses.cpp:296 #, fuzzy msgid "Remove Impulse" msgstr "Učitaj impuls" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Učitaj impuls datoteku" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Nije bilo moguće učitati impuls datoteku" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 #, fuzzy msgid "Import APO Preset File" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:529 #, fuzzy msgid "APO Presets" msgstr "Predlošci" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Predlošci" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Pojačanje ulaza" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Pojačanje ulaza" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Učitaj predloške" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Popis izuzetih aplikacija" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Učitaj predloške" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Učitaj predloške" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Učitaj predloške" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 #, fuzzy msgid "Import Model File" msgstr "Učitaj impuls datoteku" #: src/rnnoise_ui.cpp:172 #, fuzzy msgid "RNNoise Models" msgstr "Kompresija" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Pojačanje basa" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Glasnoća" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Konvolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Križno spajanje" #: src/tags_plugin_name.cpp:44 #, fuzzy msgid "Crystalizer" msgstr "Kristalizator" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "De-esiranje" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Poništenje jeke" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ekvalizator" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Uzbuđivač" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Pojačanje ulaza" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Graničnik" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maksimizer" #: src/tags_plugin_name.cpp:58 #, fuzzy msgid "Multiband Compressor" msgstr "Višerasponski kompresor" #: src/tags_plugin_name.cpp:59 #, fuzzy msgid "Multiband Gate" msgstr "Višerasponska vrata" #: src/tags_plugin_name.cpp:61 #, fuzzy msgid "Reverberation" msgstr "Reverberacija" #: src/tags_plugin_name.cpp:62 #, fuzzy msgid "Noise Reduction" msgstr "Ograničenje pojačanja" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 #, fuzzy msgid "Stereo Tools" msgstr "Stereo alati" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Vrh" #, fuzzy #~ msgid "\"Presets\"" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filter" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filter visokog prolaza" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Omjer" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Nizak prolaz" #, fuzzy #~ msgid "High-pass" #~ msgstr "Filter visokog prolaza" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct niski prolaz" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct niski prolaz" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct niski prolaz" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct visoki prolaz" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct visoki prolaz" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct visoki prolaz" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct band prolaz" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct band prolaz" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct band prolaz" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct odbijanje banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct odbijanje banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct odbijanje banda" #~ msgid "Inertia" #~ msgstr "Inercija" #, fuzzy #~ msgid "Band Type" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Glasnoća" #, fuzzy #~ msgid "High Speed" #~ msgstr "Visoki shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvaliteta" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Crisp" #~ msgstr "Oštrina" #, fuzzy #~ msgid "Detector" #~ msgstr "Detekcija" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresija" #~ msgid "Cents" #~ msgstr "Centi" #~ msgid "Octaves" #~ msgstr "Oktave" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "High Pass" #~ msgstr "Filter visokog prolaza" #~ msgid "Low Pass" #~ msgstr "Nizak prolaz" #~ msgid "Cancel" #~ msgstr "Poništi" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Aplikacije" #~ msgid "Frame Size" #~ msgstr "Veličina okvira" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Nizak prolaz" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Prijevremeno kašnjenje" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Kanali" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Razina" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Razina" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Ciljana razina" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Ciljana razina" #, fuzzy #~ msgid "Suppression" #~ msgstr "Razina supresije" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Zvučni efekti za Pulseaudio aplikacije" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Predlošci" #, fuzzy #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Output Presets: " #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Input Presets: " #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Razdvojeno" #, fuzzy #~ msgid "Split 1/2" #~ msgstr "Razdvojeno 1/2" #, fuzzy #~ msgid "Split 2/3" #~ msgstr "Razdvojeno 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Split 3/4" #~ msgstr "Razdvojeno 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Sub Band" #~ msgstr "Sub band" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Dorada" #~ msgid "Max Reduction" #~ msgstr "Smanjenje" #, fuzzy #~ msgid "Low Band" #~ msgstr "Niski band" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Mid Band" #~ msgstr "Srednji band" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "High Band" #~ msgstr "Visoki band" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Jačina" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Jačina" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects je napredan alat za manipulaciju zvukom. Uključuje " #~ "ekvalizator, graničnik, kompresor, alat odjeka te mnoge druge druge " #~ "alate. Još sadrži i ugrađeni analizator spektra." #, fuzzy #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Zato što EasyEffects koristi zadani PulseAudio zvučni poslužitelj, radit " #~ "će s većinom, ako ne i sa svim aplikacijama koje koristite. Sve podržane " #~ "aplikacije su prikazane u glavnom prozoru, gdje se na svaku pojedinačno " #~ "može omogućiti utjecaj efekata." #, fuzzy #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Osim manipuliranja izlaza zvuka, EasyEffects može primijeniti efekte i na " #~ "ulazni uređaj, poput mikrofona. To je na primjer korisno pri snimanju " #~ "zvuka, ali isto tako funkcionira dobro i tijekom glasovnih razgovora." #, fuzzy #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Kad je EasyEffects pokrenut, upotrijebit će podešavanja od prošlog puta. " #~ "Također je moguće spremiti sve trenutne postavke kao predloške." #, fuzzy #~ msgid "and #1427" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Average" #~ msgstr "Prosjek" #~ msgid "Failed" #~ msgstr "Nije uspjelo" #, fuzzy #~ msgid "Use Default" #~ msgstr "Koristi tvorničke postavke" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Kompresija" #~ msgid "Import Presets" #~ msgstr "Učitaj predloške" #~ msgid "Start Service at Login" #~ msgstr "Pokreni servis pri pokretanju računala" #, fuzzy #~ msgid "Activate" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Crna lista" #~ msgid "Blocklist" #~ msgstr "Crna lista" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibracija mikrofona" #, fuzzy #~ msgid "enabled" #~ msgstr "Omogući" #, fuzzy #~ msgid "disabled" #~ msgstr "Omogući" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latencija" #~ msgid "Faster" #~ msgstr "Brže" #~ msgid "Preserve Formant" #~ msgstr "Sačuvaj formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanali" #, fuzzy #~ msgid "Value" #~ msgstr "Dno" #~ msgid "Output Effects" #~ msgstr "Izlazni efekti" #~ msgid "Settings" #~ msgstr "Postavke" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Postavke" #, fuzzy #~ msgid "Documentation" #~ msgstr "Trajanje" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Testni signali" #, fuzzy #~ msgid "Signal" #~ msgstr "Testni signali" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spektar" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spektar" #, fuzzy #~ msgid "Spectrum Color" #~ msgstr "Boja spektra" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Wet" #~ msgstr "Otežanja" #, fuzzy #~ msgid "S/C Level" #~ msgstr "S/C Razina" #~ msgid "Short Term" #~ msgstr "Kratkoročno" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Postavi razinu zvuka te uključi/isključi efekte" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Uključuje i ekvalizator s ugrađenim predlošcima" #~ msgid "Input Limiter" #~ msgstr "Graničnik ulaza" #~ msgid "Calibration" #~ msgstr "Kalibracija" #~ msgid "Limit" #~ msgstr "Granica" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Zvučni efekti za Pulseaudio aplikacije" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Zvučni efekti za Pulseaudio aplikacije" #, fuzzy #~ msgid "Calibration Microphone" #~ msgstr "Kalibracija mikrofona" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Kvadrat" #~ msgid "Saw" #~ msgstr "Pila" #~ msgid "Triangle" #~ msgstr "Trokut" #~ msgid "Pink Noise" #~ msgstr "Rozi šum" #~ msgid "Ticks" #~ msgstr "Otkucaji" #~ msgid "Gaussian Noise" #~ msgstr "Gaussov šum" #~ msgid "Blue Noise" #~ msgstr "Plavi šum" #~ msgid "Violet Noise" #~ msgstr "Ljubičasti šum" #~ msgid "Volume" #~ msgstr "Glasnoća" #~ msgid "Measure Noise" #~ msgstr "Izmjeri šum" #~ msgid "Subtract Noise" #~ msgstr "Izdvoji šum" #~ msgid "Extended Filter" #~ msgstr "Prošireni filter" #~ msgid "Low" #~ msgstr "Nisko" #~ msgid "Moderate" #~ msgstr "Umjereno" #~ msgid "High" #~ msgstr "Visoko" #, fuzzy #~ msgid "Very High" #~ msgstr "Jako visoko" #~ msgid "Detection Likelihood" #~ msgstr "Vjerojatnost detekcije" #~ msgid "Very Low" #~ msgstr "Vrlo nisko" #~ msgid "Use Custom Color" #~ msgstr "Koristi vlastitu boju" #~ msgid "Import Impulse Response File" #~ msgstr "Učitaj datoteku reakcije impulsa" #, fuzzy #~ msgid "Select the impulse Response File" #~ msgstr "Odaberite datoteku reakcije impulsa" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Loudness Range" #~ msgstr "Glasnoća" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Tvorničke postavke" #, fuzzy #~ msgid "Configuration" #~ msgstr "Trajanje" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Izračunaj frekvencije" #, fuzzy #~ msgid "Advanced" #~ msgstr "Napredne postavke" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Detekcija" #, fuzzy #~ msgid "Muted" #~ msgstr "Bezvučno" #~ msgid "Distant Headphones" #~ msgstr "Udaljene slušalice" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Promjena frekvencije" #~ msgid "Buffer" #~ msgstr "Latencija međuspremnika" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Ekvalizator - Izlaz" #, fuzzy #~ msgid "Block Size" #~ msgstr "Veličina bloka" #~ msgid "Resampler" #~ msgstr "Promjena frekvencije" #~ msgid "paused" #~ msgstr "pauzirano" #~ msgid "playing" #~ msgstr "reprodukcija" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Ograničenje pojačanja" easyeffects-7.1.7/po/hu.po000066400000000000000000001570541463533416400154460ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-03 16:48+0000\n" "Last-Translator: Noel \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Quealizer, Kompreszzor és Más Hang Effektek" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Hangeffektek PipeWire alkalmazásokhoz" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;compressor;reverberation;equalizer;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Alkalmazás engedélyezése/letiltása" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Engedélyezés" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Alkalmazás hangerejének módosítása" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Alkalmazás hangereje" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Segítség" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Beállítások visszaállítása" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Beállítások" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Gyorsbillentyűk" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Easy Effects Névjegye" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Kilépés" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Profilok" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Profil menü" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Effektek globális letiltása/engedélyezése" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Globális letiltás" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Elsődleges menü" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects Ablak" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Alkalmazás lista" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Üres lista" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Nincs elérhető hangot kiadó alkalmazás" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Cél" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Csend" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Teljes Előzmény" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Célzás" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Rövid-Távú" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrált" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "Előzmény" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Visszaállítás" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Hangerő" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Kimenet" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Eszköz" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Név" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Előre beállított" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Hallgatás" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Mennyiség" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmónika" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Szkóp" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Padló" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Hivatkozás" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Alkalmazás neve" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompreszzor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Mód" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "\"Presets\"" #~ msgstr "\"Profilok\"" easyeffects-7.1.7/po/id_ID.po000066400000000000000000002315041463533416400157730ustar00rootroot00000000000000# This is Indonesia translate file for PE. We are need your help to completely translate this project. You can translate PuleEffect's help file to Indonesian to develop this project. If you any question about translating process, just send email that I have been desribed below. But if you want to support such as reporting any bugs, go ahead to github page @ https://github.com/wwmm/easyeffects/ # Copyright (C) 2018 # This file is distributed under the same license as the EasyEffects package. # Dika Muhamad A. , 2018. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-11-04 05:01+0000\n" "Last-Translator: Reno Sifana Paksi \n" "Language-Team: Indonesian \n" "Language: id_ID\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.14.2-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizer, Compressor and Other Audio Effects" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efek Audio untuk Aplikasi PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;compressor;reverberation;equalizer;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Hidupkan/matikan aplikasi ini" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Hidupkan" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Pengecualian daftar aplikasi: Tambah/buang aplikasi ini" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Pengecualian" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Bisukan Aplikasi" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volume Aplikasi" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Bantuan" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Setelan" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Preferensi" #: data/ui/application_window.ui:22 #, fuzzy msgid "_Shortcuts" msgstr "Waktu Singkat" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "Tentang EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Preset" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menu Preset" #: data/ui/application_window.ui:68 #, fuzzy msgid "Enable/disable the global bypass" msgstr "Hidupkan/matikan aplikasi ini" #: data/ui/application_window.ui:73 #, fuzzy msgid "Global Bypass" msgstr "Bypass" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Daftar Aplikasi" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Daftar Kosong" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Tidak ada Aplikasi Audio yang tersedia" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Target" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Diam" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Angkatan Maksimal" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referensi" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Efek Sejenak" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Waktu Singkat" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Terintegrasi" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Atur Ulang Riwayat" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Atur Ulang" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Kelantangan" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatif" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rentang" #: data/ui/autogain.ui:383 #, fuzzy msgid "Output Gain" msgstr "Gain Input" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Masukan" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Gain Input" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Output" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Gain Input" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 #, fuzzy msgid "Device" msgstr "Pembatas Masukan" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nama" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Preset" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Hapus Preset Pemuatan Otomatis" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Uji Pengaturan" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Pencampuran Harmonik" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "Ketiga" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "Kedua" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Besaran" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonik" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Frekuensi Target Bass" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Monitor Lantai" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Monitor Lantai" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Aplikasi" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Aplikasi" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Aplikasi" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Aplikasi" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Tutup jendela" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Kompresi Menekan" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Kompresi Mengangkat" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 #, fuzzy msgid "Compression Mode" msgstr "Modus Kompresi" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 #, fuzzy msgid "Boost Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Besaran" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Attack" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 #, fuzzy msgid "Time" msgstr "Waktu Real Time" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Attack" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Rilis" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "Rilis" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Rasio" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Knee" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Penguatan" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Tingkat Dry" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Tingkat Wet" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Mode Stereo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Sumber" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 #, fuzzy msgid "Middle" msgstr "Volume Kanal Tengah" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Volume Kanal Sisi" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Kiri" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Kanan" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Minimum" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Maksimal" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Sidechain" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Penundaan Kiri Kanan" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Kanan" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Volume Kanal Sisi" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Volume Kanal Sisi" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Aturan Bawaan" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Peak" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Filter High Pass" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Sidechain" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipe" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:689 #, fuzzy msgid "Feed-back" msgstr "Volume Penyuapan" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Sidechain" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Pembatas Masukan" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Pra-Amplifikasi" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Pengaktifan Ulang" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Lookahead" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Sidechain" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "High Pass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekuensi" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Mati" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 #, fuzzy msgid "12 dB/oct" msgstr "Lowpass 12dB/oktaf" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 #, fuzzy msgid "24 dB/oct" msgstr "Lowpass 24dB/oktaf" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 #, fuzzy msgid "36 dB/oct" msgstr "Lowpass 36dB/oktaf" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filter High Pass" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frekuensi Tinggi" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 #, fuzzy msgid "Low-Pass" msgstr "Band Rendah" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filter High Pass" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Besar Gain" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Besar Lembah" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Bentuk Kurva" #: data/ui/convolver.ui:40 msgid "L" msgstr "Kiri" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Total Kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "Kanan" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Pisahkan Kanal" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Respons Impuls" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Lebar Stereo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 #, fuzzy msgid "Log Scale" msgstr "Skala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autogain" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Rataan Frekuensi" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Jumlah Sampel" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Durasi" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Respons Impuls" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 #, fuzzy msgid "Output File Name" msgstr "Output" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Muat Impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Muat Berkas Impuls" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Muat Berkas Impuls" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Aturan Bawaan" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Frekuensi Potong" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Volume Penyuapan" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Bypass" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Bungkam" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Atenuasi" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filter" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Deteksi" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Luas" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Pisah" #: data/ui/deesser.ui:96 #, fuzzy msgid "F1 Split" msgstr "Pisah" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frekuensi" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "Peak" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frekuensi" #: data/ui/deesser.ui:165 #, fuzzy msgid "F1 Gain" msgstr "Besar Gain" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frekuensi" #: data/ui/deesser.ui:199 #, fuzzy msgid "F2 Level" msgstr "Level" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frekuensi" #: data/ui/deesser.ui:233 #, fuzzy msgid "F2 Peak Q" msgstr "Peak Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frekuensi" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laksitas" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Terlacak" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Pengurangan" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Penundaan" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Balikkan Phase" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filter" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor Derau" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresor Derau" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Hidupkan/matikan aplikasi ini" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Jumlah Band" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Keseimbangan" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Sidechain Kiri" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Sidechain Kanan" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Pisahkan Kanal" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Respons Datar" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Hitung Frekuensi" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Jumlah Band" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Impor Preset" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Impor Preset" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Besar Lembah" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kualitas" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Lebar" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Langit-langit" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Jumlah Band" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Terintegrasi" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Deteksi" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Hapus Berkas Preset Ini" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Low Shelf" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "High Shelf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Bell" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bypass Band" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonansi" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Band Rendah" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Pengurangan Kuatan" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Pass Rendah" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ekualiser" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Gate" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Rilis" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frekuensi" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Atur Ulang Riwayat" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Peningkat Sampling" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Luas" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Luas" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Lebar" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Lebar" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Lebar" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Biarkan" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Setengah x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Setengah x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Setengah x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Setengah x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Setengah x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Setengah x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Setengah x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Setengah x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Setengah x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Penuh x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Penuh x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Penuh x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Penuh x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Penuh x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Penuh x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Penuh x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Penuh x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Penuh x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Penuh x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC PreAmp" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Pra-Amplifikasi Sidechain" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Penautan Stereo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Sidechain" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Gain Otomatis" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Gain Otomatis" #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Gain Otomatis" #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Gain Otomatis" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Kiri" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Kanan" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Sidechain Kiri" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Sidechain Kanan" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standar" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Datar" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Ukuran FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Volume Keluaran" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Total Kanal" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Sidechain" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "BT Pink" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "MT Pink" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "BT Coklat" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "MT Coklat" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Mode Operasi" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klasik" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Modern" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Balikkan Phase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Daftar Band" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Band 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Band 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Band 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Band 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Band 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Band 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Mulai Band" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Akhir Band" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Mode Kompresi Band" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Bypass Band" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Opsi Sidechain Band" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Mode Stereo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Filter Low-Cut" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Frekuensi Filter Low-Cut" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filter High-Cut" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Frekuensi Filter High-Cut" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "PreAmp" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Gain Input" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Bentuk Kurva" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Pengurangan Kuatan" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Umum" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Gunakan Aturan Bawaan" #: data/ui/pipe_manager_box.ui:65 #, fuzzy msgid "Custom Input Device" msgstr "Pembatas Masukan" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Gunakan Aturan Bawaan" #: data/ui/pipe_manager_box.ui:101 #, fuzzy msgid "Custom Output Device" msgstr "Gain Input" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Penggemaan" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Atur Sampling" #: data/ui/pipe_manager_box.ui:149 #, fuzzy msgid "Minimum Quantum" msgstr "Frekuensi" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Angkatan Maksimal" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Aturan Bawaan" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Gain Input" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Preset Output" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Daftar Keluaran Preset Otomatis" #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Pembatas Masukan" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Preset Input" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Preset Input" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 #, fuzzy msgid "Clients" msgstr "Sen" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Sen" #: data/ui/pipe_manager_box.ui:541 #, fuzzy msgid "Test Signal" msgstr "Uji Sinyal" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Status" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Hidupkan" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Total Kanal" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 #, fuzzy msgid "Both Channels" msgstr "Total Kanal" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Tabel Sinus" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Derau Putih" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Rentang Frekuensi" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Jendela" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filter" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Nada" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Seminada" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Referensi" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Referensi" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Hapus Berkas Preset Ini" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 #, fuzzy msgid "Add Effect" msgstr "Efek Input" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Hapus Berkas Preset Ini" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Daftar Plugin" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Umum" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Layanan" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 #, fuzzy msgid "Shutdown on Window Closing" msgstr "Shutdown pada Penutupan Jendela" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Proses Semua Output" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Proses Semua Input" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Gunakan Volume Kubik" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Terintegrasi" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frekuensi" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Gaya" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Gunakan Tema Gelap" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Sembunyikan Menu di Klik Luar" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Eksperimental" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Tutup jendela" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Rupa" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Batang" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Garis" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Titik" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Titik" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Tinggi" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Lebar Garis" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Spektrum Batangan" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Tampilkan batar bar" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Sudut Bulat" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Warna" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Garis dan Bar" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Label Sumbu" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Rentang Frekuensi" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maksimal" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Muat" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Simpan Setelan Saat Ini Ke Berkas Preset" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Simpan Setelan Saat Ini Ke Berkas Preset" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Hapus Berkas Preset Ini" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Dry" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Cari Preset Keluaran" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Impor Model" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Nama Preset Input Baru" #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Buat Preset" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Cari Preset Input" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Daftar Preset Input" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Cari Preset Keluaran" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Daftar Preset Keluaran" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Pembasahan Frekuensi Tinggi" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Ukuran Ruangan" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Kecil" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Sedang" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Besar" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Terowongan" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Besar/Halus" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Eksperimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusi" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pra Tunda" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Waktu Decay" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Potong Bass" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Potong Treble" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Suasana" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Tembok Kosong" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Ruangan" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Aula Besar Kosong" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Aula Besar Terisi Penuh" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Impor Model" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Pelacak Vokal" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Model" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Model Standar" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Daftar Model RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Model Aktif" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Model RNNoise Standar" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Ringkasan" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Layar penuh/Pulihkan dari layar penuh" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Tutup jendela" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "Keluar EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Derau Merah" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Pengatur Angkatan" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Penggemaan" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 #, fuzzy msgid "Start" msgstr "Mulai Band" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresor Derau" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Level" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Masukan Keseimbangan" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Kliping Lunak" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Tingkat Softclip" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriks Stereo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "Kiri-Kanan > Kiri-Kanan (Stereo Standar)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "Kiri-Kanan > Tengah (Stereo ke Sisi Tengah)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "Tengah > Kiri-Kanan (Sisi Tengah ke Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "Kiri-Kanan > Kiri-Kiri (Kanal Kiri Mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "Kiri-Kanan > Kanan-kanan (Kanal Kanan Mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "Kiri-Kanan > Kiri+Kanan (Kiri Mono + Kanan Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "Kiri-Kanan > Kanan-Kiri (Pembalikan Setereo)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Mode Stereo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Volume Kanal Sisi" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Keseimbangan Sisi" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Volume Kanal Tengah" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama Kanal Tengah" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Keluaran Balance" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Penundaan Kiri/Kanan" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Penundaan Kiri Kanan" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Basis Stereo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Phase Stereo" #: src/app_info.cpp:100 #, fuzzy msgid "Running" msgstr "berjalan" #: src/app_info.cpp:102 #, fuzzy msgid "Suspended" msgstr "Ditangguhkan" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "membuat" #: src/app_info.cpp:108 #, fuzzy msgid "Error" msgstr "error" #: src/app_info.cpp:110 #, fuzzy msgid "Unknown" msgstr "tidak dikenal" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Total Kanal" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Tutup EasyEffects. Berguna Ketika Berjalan dalam Modus Layanan." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Atur Ulang EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Sembunyikan jendela." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Bypass global. 1 untuk mengaktifkan, 2 untuk menonaktifkan dan 3 untuk " "mendapatkan status" #: src/application.cpp:615 msgid "Show available presets." msgstr "Tampilkan Preset Tersedia." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Muat Preset. Misalkan: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Output" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Masukan" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Muat Berkas Impuls" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Impor File Impuls" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Buka" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Respons Impuls" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Muat Impuls" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Hapus Impuls" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Muat Berkas Impuls" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Tidak dapat Memuat Berkas Impuls" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Perekam" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Pemain" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Impor File Preset APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Preset APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Impor File Preset APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Preset APO" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Impor File Preset APO" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Preset Input" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Hapus Preset Pemuatan Otomatis" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Gain Input" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Gain Input" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Tambah" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Impor Preset" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplikasi" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Nama Preset Input Baru" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Daftar Preset Input" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Impor Preset" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Impor file Model" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Model RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Penguat Bass" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Kenyaringan Bass" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Konvolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Pengkristal Suara" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Penghilang Desis" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Penghilang Gema" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ekualiser" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Penguat Frekuensi Tinggi" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Gain Input" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Pembatas" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Pemaksimal Gain" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Kompresor Multiband" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Multiband Gate" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Penggemaan" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Pengurangan Noise" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Pengolah Stereo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Langit-langit" #~ msgid "\"Presets\"" #~ msgstr "Preset" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Impor Preset" #~ msgid "Low-Cut Filter" #~ msgstr "Filter Low-Cut" #~ msgid "High-Cut Filter" #~ msgstr "Filter High-Cut" #~ msgid "Uniform" #~ msgstr "Uniform" #~ msgid "New Output Preset Name" #~ msgstr "Nama Preset Keluaran Baru" #~ msgid "infinity" #~ msgstr "Tak Terbatas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Rasio" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Band Rendah" #, fuzzy #~ msgid "High-pass" #~ msgstr "High Pass" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "12dB/oct Lowpass" #~ msgstr "Lowpass 12dB/oktaf" #~ msgid "24dB/oct Lowpass" #~ msgstr "Lowpass 24dB/oktaf" #~ msgid "36dB/oct Lowpass" #~ msgstr "Lowpass 36dB/oktaf" #~ msgid "12dB/oct Highpass" #~ msgstr "Highpass 12dB/oktaf" #~ msgid "24dB/oct Highpass" #~ msgstr "Highpass 24dB/oktaf" #~ msgid "36dB/oct Highpass" #~ msgstr "Highpass 36dB/oktaf" #~ msgid "6dB/oct Bandpass" #~ msgstr "Bandpass 6dB/oktaf" #~ msgid "12dB/oct Bandpass" #~ msgstr "Bandpass 12dB/oktaf" #~ msgid "18dB/oct Bandpass" #~ msgstr "Bandpass 18dB/oktaf" #~ msgid "6dB/oct Bandreject" #~ msgstr "Bandreject 6dB/oktaf" #~ msgid "12dB/oct Bandreject" #~ msgstr "Bandpass 12dB/oktaf" #~ msgid "18dB/oct Bandreject" #~ msgstr "Bandpass 18dB/oktaf" #~ msgid "Inertia" #~ msgstr "Kelembaman" #, fuzzy #~ msgid "Band Type" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Besar Lembah" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Kelantangan" #, fuzzy #~ msgid "High Speed" #~ msgstr "High Shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kualitas" #, fuzzy #~ msgid "Formant" #~ msgstr "Format Resampling" #, fuzzy #~ msgid "Preserved" #~ msgstr "Preset" #, fuzzy #~ msgid "Crisp" #~ msgstr "Kerenyahan" #, fuzzy #~ msgid "Detector" #~ msgstr "Deteksi" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresi" #, fuzzy #~ msgid "Soft" #~ msgstr "Kliping Lunak" #~ msgid "Cents" #~ msgstr "Sen" #~ msgid "Octaves" #~ msgstr "Oktav" #~ msgid "_Manual" #~ msgstr "_Manual" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Buka Manual EasyEffects" #, fuzzy #~ msgid "High Pass" #~ msgstr "High Pass" #, fuzzy #~ msgid "Low Pass" #~ msgstr "Pass Rendah" #~ msgid "Cancel" #~ msgstr "Batal" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Pra-Amplifikasi" #~ msgid "Frame Size" #~ msgstr "Ukuran Bingkai" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Band Rendah" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniform" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pra Tunda" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Pisahkan Kanal" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Tingkat Dry" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Tingkat Dry" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Tingkat Wet" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Tingkat Wet" #, fuzzy #~ msgid "Suppression" #~ msgstr "Tingkat Supresi" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efek Suara untuk Aplikasi PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Pengurangan Noise" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Preset" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Preset Keluaran: " #~ msgid "Input Presets: " #~ msgstr "Preset Input: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Pisah" #~ msgid "Split 1/2" #~ msgstr "Split 1/2" #~ msgid "Split 2/3" #~ msgstr "Split 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frekuensi" #~ msgid "Split 3/4" #~ msgstr "Split 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frekuensi" #~ msgid "Sub Band" #~ msgstr "Band Sub" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Penguatan" #~ msgid "Max Reduction" #~ msgstr "Pengurangan" #~ msgid "Low Band" #~ msgstr "Band Rendah" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Penguatan" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "Mid Band" #~ msgstr "Band Tengah" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Penguatan" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "High Band" #~ msgstr "Band Tinggi" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Penguatan" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "Wet Amount" #~ msgstr "Besaran Wet" #~ msgid "Dry Amount" #~ msgstr "Besaran Dry" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects merupakan aplikasi pengubah efek suara. Berisi modul-modul " #~ "seperti ekualiser, pembatas, kompresor, dan modul penggema. Dilengkapi " #~ "juga dengan Penganalisis Spektrum untuk memantau efek yang diterapkan." #, fuzzy #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "EasyEffects bekerja dengan aplikasi berbasis PulseAudio. Aplikasi yang " #~ "mendukung EasyEffects akan ditampilkan pada jendela utama aplikasi." #, fuzzy #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Selain mengolah suara yang keluar, EasyEffects dapat mengolah efek suara " #~ "seperti pada mikrofon dan pengakat masukan lainnya. EasyEffects juga " #~ "bekerja dengan baik ketika dipakai dalam percakapan suara." #, fuzzy #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Ketika EasyEffects dijalankan, preset terakhir yang dipakai akan termuat " #~ "otomatis. Anda juga dapat menyimpan pengaturan yang telah dibuat ke dalam " #~ "profil tersendiri." #, fuzzy #~ msgid "and #1427" #~ msgstr "Band 1" #~ msgid "Average" #~ msgstr "Rata-Rata" #~ msgid "Failed" #~ msgstr "Gagal" #, fuzzy #~ msgid "Use Default" #~ msgstr "Gunakan Aturan Bawaan" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Hapus Berkas Preset Ini" #~ msgid "Import Presets" #~ msgstr "Muat Preset" #~ msgid "Start Service at Login" #~ msgstr "Mulai Layanan Saat Startup" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Setel Ulang Volume Perangkat Kami saat Memulai" #, fuzzy #~ msgid "Activate" #~ msgstr "Model Aktif" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Daftar Blokir" #~ msgid "Blocklist" #~ msgstr "Daftar Blokir" #~ msgid "Speakers" #~ msgstr "Speaker" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Plugin" #, fuzzy #~ msgid "enabled" #~ msgstr "Hidupkan" #, fuzzy #~ msgid "disabled" #~ msgstr "Hidupkan" #~ msgid "Format" #~ msgstr "Format Resampling" #~ msgid "Latency" #~ msgstr "Besar Latensi" #~ msgid "idle" #~ msgstr "siaga" #~ msgid "Faster" #~ msgstr "Lebih Cepat" #~ msgid "Preserve Formant" #~ msgstr "Jaga Bentuk" #~ msgid "Cmoy" #~ msgstr "C. Moy" #~ msgid "Jmeier" #~ msgstr "J. Meier" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Gain Input" #, fuzzy #~ msgid "Channel" #~ msgstr "Total Kanal" #, fuzzy #~ msgid "Value" #~ msgstr "Monitor Lantai" #~ msgid "Output Effects" #~ msgstr "Efek Luaran" #~ msgid "Settings" #~ msgstr "Setelan" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Setelan" #, fuzzy #~ msgid "Documentation" #~ msgstr "Durasi" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Uji Sinyal" #, fuzzy #~ msgid "Signal" #~ msgstr "Uji Sinyal" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spektrum" #~ msgid "Spectrum Color" #~ msgstr "Warna Spektrum" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Modus Agresif" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Wet" #~ msgstr "Tinggi" #~ msgid "S/C Level" #~ msgstr "Level Sisi/Tengah" #~ msgid "Short Term" #~ msgstr "Waktu Singkat" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Atur Volume dan hidupkan/matikan Efek" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Dilengkapi dengan Ekualiser dengan Preset Bawaan" #~ msgid "Input Limiter" #~ msgstr "Pembatas Masukan" #~ msgid "Calibration" #~ msgstr "Kalibrasi" #~ msgid "Limit" #~ msgstr "Batas" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Penerap Efek Suara untuk Aplikasi Berbasis Pulseaudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Terapkan Efek Suara via PulseAudio" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrasikan Mikrofon" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Kotak" #~ msgid "Saw" #~ msgstr "Gergaji" #~ msgid "Triangle" #~ msgstr "Segitiga" #~ msgid "Pink Noise" #~ msgstr "Derau Merah Muda" #~ msgid "Ticks" #~ msgstr "Ketukan per Detik" #~ msgid "Gaussian Noise" #~ msgstr "Derau Gaussia" #~ msgid "Blue Noise" #~ msgstr "Derau Biru" #~ msgid "Violet Noise" #~ msgstr "Derau Ungu" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Measure Noise" #~ msgstr "Ukur Derau" #~ msgid "Subtract Noise" #~ msgstr "Kurangi Derau" #~ msgid "Extended Filter" #~ msgstr "Filter Diperluas" #~ msgid "Low" #~ msgstr "Rendah" #~ msgid "Moderate" #~ msgstr "Sedang" #~ msgid "High" #~ msgstr "Tinggi" #~ msgid "Delay Agnostic" #~ msgstr "Penundaan Agnosti" #~ msgid "Very High" #~ msgstr "Sangat Tinggi" #~ msgid "Adaptive Digital" #~ msgstr "Digital Adaptif" #~ msgid "Fixed Digital" #~ msgstr "Digital Tetap" #~ msgid "Detection Likelihood" #~ msgstr "Lacak Keberadaan Vokal" #~ msgid "Very Low" #~ msgstr "Sangat Rendah" #~ msgid "Use Custom Color" #~ msgstr "Gunakan Warna Kustom" #~ msgid "Use Gradient" #~ msgstr "Terapkan Gradien warna" #~ msgid "Gradient Color" #~ msgstr "Warna Gradien" #~ msgid "Import Impulse Response File" #~ msgstr "Muat Berkas Respons Impuls" #~ msgid "Select the impulse Response File" #~ msgstr "Pilih Berkas Repons Impuls" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Modus Agresif" #~ msgid "Before" #~ msgstr "Sebelum" #~ msgid "After" #~ msgstr "Sesudah" #, fuzzy #~ msgid "Loudness Range" #~ msgstr "Rentang Kelantangan" #~ msgid "Apply" #~ msgstr "Terapkan" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Aturan Bawaan" #, fuzzy #~ msgid "Configuration" #~ msgstr "Durasi" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Frekuensi Terendah" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Preset" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Deteksi" #~ msgid "Muted" #~ msgstr "Dibungkam" #~ msgid "Distant Headphones" #~ msgstr "Headphone Berjarak" #~ msgid "Priority Type" #~ msgstr "Atur Prioritas" #~ msgid "Niceness" #~ msgstr "Proritas Sempurna" #~ msgid "Priority" #~ msgstr "Atur Prioritas" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frekuensi" #~ msgid "About" #~ msgstr "Tentang EasyEffects" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Modus Penyampling" #~ msgid "Buffer" #~ msgstr "Ukuran Penyangga" #~ msgid "Block Size" #~ msgstr "Ukuran Blok" #~ msgid "Resampler" #~ msgstr "Modus Penyampling" #~ msgid "paused" #~ msgstr "terjeda" #~ msgid "playing" #~ msgstr "memutar" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Muat Preset" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Pengurangan Kuatan" #~ msgid "Exponent" #~ msgstr "Eksponen" easyeffects-7.1.7/po/it_IT.po000066400000000000000000003233201463533416400160310ustar00rootroot00000000000000# Italian translation file for EasyEffects # Copyright (C) 2018 # This file is distributed under the same license as the EasyEffects package. # Matteo Iervasi , 2018. # Gianluca Boiano , 2018. # Albano Battistella , 2021. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-13 08:00+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Italian \n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5.5-dev\n" "Translator: Albano Battistella \n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizzatore, Compressore e Altri Effetti Audio" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Effetti Audio per Applicazioni Pipewire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;compressore;riverbero;equalizzatore;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Abilita/disabilita questa applicazione" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Abilita" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Lista App Escluse: Aggiungi/rimuovi questa applicazione" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Escludi" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Silenzia Applicazione" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Modifica il volume di questa applicazione" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volume Applicazione" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Aiuto" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Reimposta Preferenze" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Preferenze" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Scorciatoie" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Info su Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Esci" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Profili" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menu Profili" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Abilita/disabilita il bypass globale" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Bypass Globale" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menu Principale" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Finestra di Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Lista Applicazioni" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Elenco Vuoto" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Nessuna Applicazione Audio Disponibile" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Parametri" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Livello" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silenzio" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Cronologia Massima" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Riferimento" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentaneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Breve-Termine" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrato" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Media Geometrica (MBI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Media Geometrica (MB)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Media Geometrica (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Media Geometrica (BI)" #: data/ui/autogain.ui:124 msgid "History" msgstr "Cronologia" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Reimposta" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Loudness" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativo" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Gamma" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Guadagno Uscita" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Ingresso" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Guadagno in Ingresso del Plugin" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Uscita" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Guadagno in Uscita del Plugin" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Dispositivo Audio" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nome" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profilo Dispositivo" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Profilo EasyEffects" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Rimuovi questo profilo di auto-caricamento" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Ascolta" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mix Armoniche" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3ª" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2ª" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Quantità" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Armoniche" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Soglia" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Limite Inferiore" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Valore Limite Inferiore" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Link" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Nome Applicazione" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Aggiungi alle Applicazioni Escluse" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Lista delle Applicazioni Escluse" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Mostra Applicazioni Escluse" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Mostra Interfaccia Nativa" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compressore" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modalità" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Riduttiva" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Espansiva" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Incrementale" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modalità Compressione" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Soglia Incremento" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Quantità Incremento" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Attacco" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tempo" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Soglia" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Tempo di Attacco" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Soglia di Attacco" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Rilascio" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Tempo di Rilascio" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Soglia di Rilascio" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Rapporto" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Curvatura" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Guadagno" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Livello Dry" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Livello Wet" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Modalità Divisione Stereo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Sorgente" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lato" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Sinistro" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Destro" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Sorgente Sidechain" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Sinistro/Destro" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Destro/Sinistro" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Mid/Lato" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Lato/Mid" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Sorgente Divisione Stereo" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Picco" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Filtro Passa-Basso" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Media Mobile Semplice" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Modalità Sidechain" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Ascolta Sidechain" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Feed-back" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Esterna" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Tipo Sidechain" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Dispositivo Ingresso" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "PreAmplificazione" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reattività" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Lookahead" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Filtri Sidechain" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Passa-Alto" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frequenza" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Off" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/ott" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/ott" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/ott" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Modalità Filtro Passa-Alto" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Frequenza Filtro Passa-Alto" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Passa-Basso" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Modalità Filtro Passa-Basso" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Guadagno" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Envelope" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "S" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Canale Sinistro" #: data/ui/convolver.ui:53 msgid "R" msgstr "D" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Canale Destro" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsi" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combina" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Ampiezza Stereo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spettro" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Scala Logaritmica" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Auto Guadagno" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Frequenza" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Campioni" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Durata" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Combina Risposte Impulso" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Primo Kernel" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Secondo Kernel" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Nome File Combinato" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Nome File Combinato" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importa Impulso" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Cerca" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Cerca File di Impulso" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Lista File di Impulso" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predefinito" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Taglio" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Feed" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Bypass" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Silenzia" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Limite di Attenuazione" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Soglia Minima di Elaborazione" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Soglia Minima di Elaborazione ERB" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Soglia Minima di Elaborazione DF" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Valore Minimo del Buffer" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Post Filtro Beta" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Rilevamento" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Banda Larga" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Split" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 Split" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frequenza 1 Split" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 Picco" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frequenza 2 Picco" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Guadagno" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frequenza 1 Guadagno" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 Livello" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frequenza 2 Livello" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Picco Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frequenza 2 Picco Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Lassità" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Rilevato" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Riduzione" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Delay" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inversione di Fase" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Lunghezza Filtro" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Soppressione Eco Residuale" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Soppressione Eco Vicino Alla Fine" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "App Escluse" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Abilita/disabilita il monitoraggio degli input" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bande" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Bilanciamento" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Tono Sinistro" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Tono Destro" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Separa Canali" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Risposta Piatta" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcola Frequenze" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Ordina Bande" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importa Profilo" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Esporta Profilo" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendenza" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Isola" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualità" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Ampiezza" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Limite Superiore" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Valore Limite Superiore" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Expander" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Modalità Expander" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Interna" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Accesso" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Descrizione" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Rimuovi questo modello" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Sotto-Soglia" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "Sopra-Soglia" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Campana" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Passa-Banda" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Fessura" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Risonanza" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Passa-Scalino" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Respingi-Scalino" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "Passa-Tutto" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Modalità di Equalizzazione" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Gate" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Isteresi" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Inizio Zona Attacco" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Inizio Zona Rilascio" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Picco Effettivo" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Reimposta Cronologia" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sovracampionamento" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Dither" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm Thin" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Wide" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Tail" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Duck" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Thin" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Wide" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp Tail" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Duck" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Line Thin" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Line Wide" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Line Tail" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Line Duck" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Off" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Parziale x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Parziale x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Parziale x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Parziale x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Parziale x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Parziale x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Parziale x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Parziale x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Parziale x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Parziale x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Intero x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Intero x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Intero x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Intero x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Intero x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Intero x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Intero x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Intero x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Intero x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Intero x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC PreAmp" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "PreAmplificazione Sidechain" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Incremento" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Relazione Canali" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Sidechain Esterna" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Sorgente Sidechain Esterna" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Auto Regolazione" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Auto Regolazione Attacco" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Auto Regolazione Rilascio" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Auto Regolazione Curvatura" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Guadagno Sinistro" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Guadagno Destro" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Sidechain Sinistro" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Sidechain Destro" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Flat" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Dimensione FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Volume Uscita" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Clipping" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Incremento Sidechain" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Rumore Rosa BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Rumore Rosa MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Rumore Marrone BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Rumore Marrone MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Mostra Interfaccia Nativa" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Modalità Operativa" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Classica" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderna" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Fase Lineare" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Lista Bande" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Banda 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Inizio Banda" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Fine Banda" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Banda Modalità Compressione" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Bypass Banda" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Opzioni Sidechain Banda" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Divisione Stereo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Taglia-Basso" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Frequenza Filtro Taglia-Basso" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "Taglia-Alto" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Frequenza Filtro Taglia-Alto" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "PreAmp" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Guadagno Banda" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Envelope Banda" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Curva Banda" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Riduzione Banda" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Generale" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Gestione Dispositivi" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "Si raccomanda di NON impostare il dispositivo \"Easy Effects Sink/Source\" " "come Dispositivo Predefinito in applicazioni esterne (per esempio Gnome " "Settings e Plasma System Settings)." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Usa Ingresso Predefinito" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Dispositivo Ingresso Personalizzato" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Usa Uscita Predefinita" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Dispositivo Uscita Personalizzato" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Informazioni Server" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Versione Header" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Versione Libreria" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Frequenza di Campionamento" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Quantum Minimo" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Quantum Massimo" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Quantum Predefinito" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Auto Caricamento Profili" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" "Solo i Profili Locali possono essere caricati automaticamente. Un Profilo " "della Community deve essere importato localmente per poterlo associare a uno " "specifico dispositivo." #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Dispositivi di Uscita" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Profili di Uscita" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Crea Associazione" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Aggiungi Profilo di Auto Caricamento in Uscita" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Profili di Auto Caricamento in Uscita" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Dispositivi di Ingresso" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Profili di Ingresso" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Aggiungi Profilo di Auto Caricamento in Ingresso" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Profili di Auto Caricamento in Ingresso" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduli" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Lista Moduli" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Client" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Lista Client" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Segnale di Test" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stato" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Abilitato" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Proprietà" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canali" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Entrambi" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Entrambi i Canali" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Tipo Onda" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusoidale" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Rumore Bianco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Rilevamento Veloce" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Anti-aliasing" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Lunghezza Sequenza" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Finestra di Rilevazione" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Lunghezza di Sovrapposizione" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Intonazione" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitoni" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Differenza Tempo" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Differenza Frequenza" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Rimuovi questo effetto" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Abilita/disabilita questo effetto" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Cambia la posizione di questo effetto" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "Mostra/nascondi la lista degli effetti" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Aggiungi Effetto" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "Vai al precedente effetto" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "Vai al successivo effetto" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Lista Moduli Utilizzati" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Nessun Effetto" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Flusso Audio Non Alterato" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Cerca Modulo" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Lista dei Moduli" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Generale" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Servizio" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Inizia come Servizio all'Avvio del Sistema" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Termina alla Chiusura della Finestra" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Processa Tutto i Flussi in Uscita" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Processa Tutti i Flussi in Ingresso" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Ignora i Flussi dai Monitor dei Dispositivi" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Usa Volume Cubico" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Tempo Inattività" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "Intervallo di Aggiornamento" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "Correlato ai Misuratori di Livello e lo Spettro" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "Frequenza di Aggiornamento" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "Correlato ai Plugin LV2" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stile" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Usa Tema Scuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Chiudi Menu con Click Esterno" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Funzionalità Sperimentali" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Finestra Nativa dei Plugin" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" "Permette di Visualizzare o Nascondere le Interfacce Native degli Effetti" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spettro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Forma" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barre" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linee" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Punti" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Punti" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altezza" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Spessore Linea" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Riempi" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Mostra Bordo" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Angoli Arrotondati" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Scala Dinamica" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Colore" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Linee e Barre" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Etichette sull'Asse" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Gamma Frequenze" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minima" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Massima" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Carica" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Rimuovi la configurazione attuale e carica questo profilo" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Salva la configurazione attuale in questo profilo" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Rimuovi questo profilo" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "Prova" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "Prova questo profilo della community" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "Importa" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "Importa questo profilo della community nella lista dei profili locali" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "Locale" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Nome del Nuovo Profilo" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Crea un nuovo profilo" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "Importa un profilo dall'archiviazione locale" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "Cerca Profilo Locale" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "Lista Profili Locali" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "Community" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "Cerca Profili della Community" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "Lista Profili della Community" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "Nessun Profilo della Community Installato" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" "I pacchetti dei Profili della Community possono essere installati dai " "repository della tua distribuzione preferita." #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "Aggiorna" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "Aggiorna per visualizzare i nuovi profili della community installati" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Smorza Alte Frequenze" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Dimensione Stanza" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Piccola" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Media" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/liscia" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Sperimentale" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Diffusione" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre Ritardo" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tempo Decay" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Taglio Bassi" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Taglio Alti" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Mura Vuote" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Stanza" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Sala Grande Vuota" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Discoteca" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Sala Grande Occupata" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importa Modello" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Rilevamento Voce" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modelli" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Modello Standard" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Lista Modelli RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Modello Non Caricato" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Modello Attivo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Modello RNNoise Standard" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Sommario" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Mostra Aiuto" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Attiva/Disattiva Schermo Intero" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Chiudi la Finestra" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Termina Easy Effects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Meno Rumore" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Auto Controllo Guadagno" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Meno Riverbero" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Probabilità Attività Voce" #: data/ui/speex.ui:95 msgid "Start" msgstr "Inizio" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Continuo" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Soppressione Rumore" #: data/ui/speex.ui:145 msgid "Level" msgstr "Livello" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Bilanciamento Ingresso" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Livello Softclip" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matrice Stereo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "SD > SD (Predefinito Stereo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "SD > MS (Stereo a Medio-Lato)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > SD (Medio-Lato a Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "SD > SS (Canale Sinistro Mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "SD > DD (Canale Destro Mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "SD > S+D (Mono Somma S+D)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "SD > DS (Inverti Canali Stereo)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Modalità Stereo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Livello Lato" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Bilanciamento Lato" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Livello Medio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Bilanciamento in Uscita" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Delay S/D" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Ritardo Sinistro Destro" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base Stereo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase Stereo" #: src/app_info.cpp:100 msgid "Running" msgstr "In esecuzione" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Sospeso" #: src/app_info.cpp:104 msgid "Idle" msgstr "Inattivo" #: src/app_info.cpp:106 msgid "Creating" msgstr "In creazione" #: src/app_info.cpp:108 msgid "Error" msgstr "Errore" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Sconosciuto" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Nome Indefinito - ID Processo " #: src/app_info.cpp:292 msgid "channels" msgstr "Canali" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Chiudi Easy Effects. Utile in esecuzione come servizio." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Stampa la versione di easyeffects" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Reimposta Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Nascondi la Finestra." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Bypass globale. 1 per abilitare, 2 per disabilitare e 3 per ottenere lo stato" #: src/application.cpp:615 msgid "Show available presets." msgstr "Mostra profili disponibili." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Carica un profilo. Esempio: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Uscita" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Ingresso" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Il File È Irregolare" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Il File di Risposta Impulsiva Può Essere Corrotto o Non Supportato" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Sono Supportati Soltanto File di Risposta Impulsiva in Formato Stereo" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "File di Risposta Impulsiva Non Importato" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importa File di Impulso" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Apri" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Risposta Impulso" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Carica Impulso" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Rimuovi Impulso" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Nessun File di Risposta Impulsiva Caricato" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Impossibile Caricare il File di Risposta Impulsiva" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Registratori" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Riproduttori" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effetti" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importa File di Profilo APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Profili APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "Profilo APO Non Caricato. Il Formato Potrebbe Essere Non Supportato. Si " "Prega di Controllarne il Contenuto." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "Separazione dei canali non ancora supportata dall'esportazione dei profili " "APO." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "Esporta File di Profilo EqualizerAPO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Salva" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "Profili EqualizerAPO" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importa File di Profilo GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Profili GraphicEQ" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "Profilo GraphicEQ Non Caricato. Il Formato Potrebbe Essere Non Supportato. " "Si Prega di Controllarne il Contenuto." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Rimuovi Profilo di Auto Caricamento" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Misuratore Livello Uscita" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Rimuovi" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Dispositivo Uscita" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Aggiungi" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "Profilo della Community" #: src/presets_manager.cpp:439 msgid "Package" msgstr "Pacchetto" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "Profilo Non Caricato Correttamente" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "Formato Errato nella Lista delle Applicazioni Escluse" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "Errore Generico nel Caricamento della Lista delle Applicazioni Escluse" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "Formato Errato nella Lista degli Effetti" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "Errore Generico nel Caricamento della Lista degli Effetti" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "Uno o Più Parametri Hanno un Formato Errato" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "Errore Generico nel Caricamento dell'Effetto" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Salvare?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Eliminare?" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "Nessun Profilo Caricato" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "Ultimo Profilo Locale Caricato" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "Ultimo Profilo della Community Caricato" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Il Modello Selezionato Non È Stato Caricato. Il Formato Potrebbe Essere Non " "Supportato. Il Modello Standard È Stato Ripristinato." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importa File Modello" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Modelli RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Enfasi Bassi" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Loudness Bassi" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Crystalizer" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Rimozione Rumore Profondo" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Rimozione Eco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Equalizzatore" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Exciter" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Misuratore Livello" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limiter" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizer" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compressore Multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Gate Multibanda" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Riverbero" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Riduzione Rumore" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Miglioramento Voce" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Strumenti Stereo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} Non Disponibile" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "L'effetto {} richiede la libreria \"{}\" non installata sul sistema. " "Considera l'uso del pacchetto Easy Effects Flatpak o installa l'applicazione " "dal codice sorgente." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "L'effetto {} è stato disabilitato quando Easy Effects è stato compilato. " "Probabilmente la libreria necessaria, \"{}\", non era disponibile. Considera " "l'uso del pacchetto Easy Effects Flatpak o installa l'applicazione dal " "codice sorgente." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "Utilizzo {}" #~ msgid "Ceiling" #~ msgstr "Limite Superiore" #~ msgid "\"Presets\"" #~ msgstr "\"Profili\"" #~ msgid "Import a preset" #~ msgstr "Importa un profilo" #~ msgid "Low-Cut Filter" #~ msgstr "Filtro Taglia-Basso" #~ msgid "High-Cut Filter" #~ msgstr "Filtro Taglia-Alto" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "New Output Preset Name" #~ msgstr "Nome Nuovo Profilo di Uscita" #~ msgid "Search Output Preset" #~ msgstr "Cerca Profilo di Uscita" #~ msgid "Output Presets List" #~ msgstr "Lista Profili di Uscita" #~ msgid "New Input Preset Name" #~ msgstr "Nome Nuovo Profilo di Ingresso" #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Wet Ratio" #~ msgstr "Rapporto Wet" #~ msgid "VAD Threshold" #~ msgstr "Soglia VAD" #~ msgid "Low-pass" #~ msgstr "Passa-Basso" #~ msgid "High-pass" #~ msgstr "Passa-Alto" #~ msgid "Gating" #~ msgstr "Gate" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Passa Basso" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Passa Basso" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Passa Basso" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Passa Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Passa Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Passa Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Passa Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Passa Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Passa Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Elimina Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Elimina Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Elimina Banda" #~ msgid "Inertia" #~ msgstr "Inerzia" #~ msgid "Band Type" #~ msgstr "Tipo Banda" #~ msgid "Band Mode" #~ msgstr "Modalità Banda" #~ msgid "Band Slope" #~ msgstr "Pendenza della Banda" #~ msgid "Loudness List" #~ msgstr "Elenco Misure Loudness" #~ msgid "High Speed" #~ msgstr "Alta Velocità" #~ msgid "High Quality" #~ msgstr "Alta Qualità" #~ msgid "High Consistency" #~ msgstr "Alta Consistenza" #~ msgid "Formant" #~ msgstr "Formante" #~ msgid "Shifted" #~ msgstr "Alterata" #~ msgid "Preserved" #~ msgstr "Preservata" #~ msgid "Transients" #~ msgstr "Transienti" #~ msgid "Crisp" #~ msgstr "Netti" #~ msgid "Mixed" #~ msgstr "Intermedi" #~ msgid "Smooth" #~ msgstr "Tenui" #~ msgid "Detector" #~ msgstr "Rilevazione" #~ msgid "Compound" #~ msgstr "Composto" #~ msgid "Percussive" #~ msgstr "Percussivo" #~ msgid "Soft" #~ msgstr "Soft" #~ msgid "Phase" #~ msgstr "Fase" #~ msgid "Laminar" #~ msgstr "Laminare" #~ msgid "Independent" #~ msgstr "Indipendente" #~ msgid "Cents" #~ msgstr "Centesimi" #~ msgid "Octaves" #~ msgstr "Ottave" #~ msgid "_Manual" #~ msgstr "_Manuale" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Apri il Manuale di Easy Effects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} Non Installato sul Sistema" #~ msgid "High Pass" #~ msgstr "Passa Alto" #~ msgid "Low Pass" #~ msgstr "Passa Basso" #~ msgid "Cancel" #~ msgstr "Annulla" #~ msgid " PreAmplification" #~ msgstr " PreAmplificazione" #~ msgid "Close (Press ESC)" #~ msgstr "Chiudi (Premi ESC)" #~ msgid "Frame Size" #~ msgstr "Dimensione Frame" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "" #~ "Abilita/disabilita il\n" #~ " bypass globale" #~ msgid " Low-Pass" #~ msgstr " Passa-Basso" #~ msgid " Uniform" #~ msgstr " Uniforme" #~ msgid "Left Delay" #~ msgstr "Ritardo Sinistro" #~ msgid "Right Delay" #~ msgstr "Ritardo Destro" #~ msgid "Left Dry Level" #~ msgstr "Livello Dry Sinistro" #~ msgid "Right Dry Level" #~ msgstr "Livello Dry Destro" #~ msgid "Left Wet Level" #~ msgstr "Livello Wet Sinistro" #~ msgid "Right Wet Level" #~ msgstr "Livello Wet Destro" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Dimensione della Trasformata di Fourier Veloce" #~ msgid "Clipping Range" #~ msgstr "Livello Clipping" #~ msgid "Suppression" #~ msgstr "Soppressione" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Effetti Audio per Applicazioni PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Riduzione Rumore" #~ msgid "Load APO Preset" #~ msgstr "Carica Profilo APO" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Reimposta il Volume dei Dispositivi Virtuali di EasyEffects all'Avvio" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Split Mode" #~ msgstr "Modalità Split" #~ msgid "Split 1/2" #~ msgstr "Split 1/2" #~ msgid "Split 2/3" #~ msgstr "Split 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Frequenza Split 2" #~ msgid "Split 3/4" #~ msgstr "Split 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Frequenza Split 3" #~ msgid "Sub Band" #~ msgstr "Sottobanda" #~ msgid "Band 1 Bypass" #~ msgstr "Banda 1 Bypass" #~ msgid "Band 1 Solo" #~ msgstr "Banda 1 Isola" #~ msgid "Band 1 Detection" #~ msgstr "Banda 1 Rilevamento" #~ msgid "Band 1 Attack" #~ msgstr "Banda 1 Attacco" #~ msgid "Band 1 Release" #~ msgstr "Banda 1 Rilascio" #~ msgid "Band 1 Threshold" #~ msgstr "Banda 1 Soglia" #~ msgid "Band 1 Ratio" #~ msgstr "Banda 1 Rapporto" #~ msgid "Band 1 Knee" #~ msgstr "Banda 1 Curvatura" #~ msgid "Band 1 Makeup" #~ msgstr "Banda 1 Guadagno" #~ msgid "Max Reduction" #~ msgstr "Max Riduzione" #~ msgid "Band 1 Max Reduction" #~ msgstr "Banda 1 Massima Riduzione" #~ msgid "Low Band" #~ msgstr "Banda Bassa" #~ msgid "Band 2 Bypass" #~ msgstr "Banda 2 Bypass" #~ msgid "Band 2 Solo" #~ msgstr "Banda 2 Isola" #~ msgid "Band 2 Detection" #~ msgstr "Banda 2 Rilevamento" #~ msgid "Band 2 Attack" #~ msgstr "Banda 2 Attacco" #~ msgid "Band 2 Release" #~ msgstr "Banda 2 Rilascio" #~ msgid "Band 2 Threshold" #~ msgstr "Banda 2 Soglia" #~ msgid "Band 2 Ratio" #~ msgstr "Banda 2 Rapporto" #~ msgid "Band 2 Knee" #~ msgstr "Banda 2 Curvatura" #~ msgid "Band 2 Makeup" #~ msgstr "Banda 2 Guadagno" #~ msgid "Band 2 Max Reduction" #~ msgstr "Banda 2 Massima Riduzione" #~ msgid "Mid Band" #~ msgstr "Banda Media" #~ msgid "Band 3 Bypass" #~ msgstr "Banda 3 Bypass" #~ msgid "Band 3 Solo" #~ msgstr "Banda 3 Isola" #~ msgid "Band 3 Detection" #~ msgstr "Banda 3 Rilevamento" #~ msgid "Band 3 Attack" #~ msgstr "Banda 3 Attacco" #~ msgid "Band 3 Release" #~ msgstr "Banda 3 Rilascio" #~ msgid "Band 3 Threshold" #~ msgstr "Banda 3 Soglia" #~ msgid "Band 3 Ratio" #~ msgstr "Banda 3 Rapporto" #~ msgid "Band 3 Knee" #~ msgstr "Banda 3 Curvatura" #~ msgid "Band 3 Makeup" #~ msgstr "Banda 3 Guadagno" #~ msgid "Band 3 Max Reduction" #~ msgstr "Banda 3 Massima Riduzione" #~ msgid "High Band" #~ msgstr "Banda Alta" #~ msgid "Band 4 Bypass" #~ msgstr "Banda 4 Bypass" #~ msgid "Band 4 Solo" #~ msgstr "Banda 4 Isola" #~ msgid "Band 4 Detection" #~ msgstr "Banda 4 Rilevamento" #~ msgid "Band 4 Attack" #~ msgstr "Banda 4 Attacco" #~ msgid "Band 4 Release" #~ msgstr "Banda 4 Rilascio" #~ msgid "Band 4 Threshold" #~ msgstr "Banda 4 Soglia" #~ msgid "Band 4 Ratio" #~ msgstr "Banda 4 Rapporto" #~ msgid "Band 4 Knee" #~ msgstr "Banda 4 Curvatura" #~ msgid "Band 4 Makeup" #~ msgstr "Banda 4 Guadagno" #~ msgid "Band 4 Max Reduction" #~ msgstr "Banda 4 Massima Riduzione" #~ msgid "Output Presets: " #~ msgstr "Profili Uscita: " #~ msgid "Input Presets: " #~ msgstr "Profili Ingresso: " #~ msgid "Wet Amount" #~ msgstr "Quantità Dry" #~ msgid "Dry Amount" #~ msgstr "Quantità Wet" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects è un'applicazione specifica per la manipolazione dei flussi " #~ "audio. Tra i diversi moduli contenuti, include un equalizzatore, un " #~ "limiter, un compressore e uno strumento per il riverbero. In aggiunta è " #~ "anche disponibile un analizzatore dello spettro delle frequenze." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects è il successore di PulseEffects. EasyEffects supporta " #~ "esclusivamente il server audio PipeWire. Gli utenti su PulseAudio possono " #~ "continuare a usare PulseEffects in alternativa." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Eseguito in simultanea al server PipeWire, EasyEffects funzionerà con la " #~ "quasi totalità, se non tutte, le applicazioni disponibili sul sistema. Le " #~ "applicazioni supportate sono mostrate nella finestra principale e ognuna " #~ "può essere abilitata individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Oltre alla manipolazione dei flussi in uscita, EasyEffects è in grado di " #~ "applicare effetti anche a dispositivi in ingresso, per esempio un " #~ "microfono. Una funzionalità utile sia durante le registrazioni che nelle " #~ "conversazioni di gruppo." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "EasyEffects all'avvio presenta la configurazione utilizzata nella " #~ "sessione precedente. Tuttavia è possibile salvare i parametri attuali in " #~ "uno specifico profilo." #~ msgid "The main page showing two audio output apps" #~ msgstr "" #~ "La scheda principale che mostra il flusso in uscita di due applicazioni" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "Il modulo di Enfasi Bassi con i propri parametri" #~ msgid "The convolver page showing audio controls" #~ msgstr "Il modulo Convolver con i propri parametri" #~ msgid "This release adds the following features:" #~ msgstr "Questa release aggiunge le seguenti funzionalità:" #~ msgid "" #~ "When effects are disable to an application we now set its target metadata " #~ "to null. This will allow the media session" #~ msgstr "" #~ "Quando gli effetti sono disabilitati per un applicazione, adesso " #~ "impostiamo il suo target metadata a null. Questo permetterà al media " #~ "session" #~ msgid "manager" #~ msgstr "manager" #~ msgid "" #~ "A new configuration option was added. It allows EasyEffects to ignore " #~ "streams whose purpose is to monitor sink" #~ msgstr "" #~ "Aggiunta una nuova configurazione. EasyEffects adesso può essere " #~ "impostato per ignorare i flussi dei monitor" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr "" #~ "sink. Questo potrà risolvere alcune anomalie che gli utenti avevano con " #~ "OBS." #~ msgid "The code that shows the stream sample format has been improved" #~ msgstr "Il codice che mostra il formato di campionamento è stato migliorato" #~ msgid "" #~ "The rnnoise library is now optional. This should help package maintainers " #~ "to build" #~ msgstr "" #~ "La libreria rnnoise è adesso opzionale. Questo può aiutare i gestori dei " #~ "pacchetti" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "su Debian. Consultare il ticket #1000 per maggiori informazioni." #~ msgid "" #~ "Our logs now show the source code line where the messages are being " #~ "printed" #~ msgstr "" #~ "I nostri log ora mostrano il numero di linea del codice sorgente dove il " #~ "messaggio viene stampato" #~ msgid "This release fixes the following bugs:" #~ msgstr "Questa release risolve i seguenti bug:" #~ msgid "" #~ "The \"enable effects\" checkbox in our window was not being updated when " #~ "third party programs like pavucontrol" #~ msgstr "" #~ "Il checkbox di abilitazione degli effetti nella finestra non era " #~ "aggiornato quando programmi esterni come pavucontrol" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "rimuovevano gli stream dai nostri dispositivi virtuali. Questo problema " #~ "dovrebbe essere risolto." #~ msgid "" #~ "Fixed a crash that could happen when the maximum autogain history was " #~ "changed." #~ msgstr "" #~ "Corretto un bug che poteva capitare quando la cronologia dell'Auto " #~ "Guadagno veniva modificata." #~ msgid "Avoid crashes when pw-mididump is running" #~ msgstr "Evitato il crash quando pw-mididump è in esecuzione" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "L'interfaccia del plugin pitch è stata migliorata" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "" #~ "La nostra icona dell'applicazione è ora compatibile con i desktop che " #~ "utilizzano QT" #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "Il nostro codice blocklist utilizzerà il tag `application.id` se lo " #~ "stream lo imposta" #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "Per evitare problemi con lo scroll del mouse, le voci della lista delle " #~ "applicazioni nelle schede `Riproduttori/Registratori`" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "la scheda non mostra più una scala del volume. Maggiori dettagli sul " #~ "problema e la soluzione per esso possono essere trovati su #1211" #~ msgid "and #1427" #~ msgstr "e #1427" #~ msgid "" #~ "When no application is available for display in the `Players/Recorders` a " #~ "message will be shown to the user" #~ msgstr "" #~ "Quando non sono presenti applicazioni nelle schede `Riproduttori/" #~ "Registratori`, sarà visualizzato un messaggio" #~ msgid "Many translation updates" #~ msgstr "Molti aggiornamenti di traduzione" #~ msgid "" #~ "Fixed a bug where EasyEffects crashed when the number of points displayed " #~ "in the spectrum was changed while" #~ msgstr "" #~ "Corretto un bug per il quale EasyEffects andava in crash quando il numero " #~ "di punti mostrati nello spettro era cambiato mentre" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "" #~ "la nostra pipeline era attiva e il widget dello spettro era visibile" #~ msgid "" #~ "The pipeline latency value displayed in our window could be wrong in some " #~ "situations. This was fixed." #~ msgstr "" #~ "Il valore di latenza della pipeline visualizzato nella nostra finestra " #~ "poteva essere errato in alcune situazioni. Questo è stato risolto." #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Aggiunta una nuova opzione che permette di selezionare un periodo di " #~ "inattività per la pipeline. Quando nessun client" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "o registrando dai nostri dispositivi i filtri verranno scollegati al " #~ "raggiungimento del timeout. Questo è fatto per essere sicuro" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "non sprechiamo il silenzio di elaborazione della potenza della CPU." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "Il plugin di Auto Guadagno adesso permette di selezionare quale dei tre " #~ "tipi di Loudness usare per calcolare" #~ msgid "mean." #~ msgstr "la media geometrica." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "Il plugin di Auto Guadagno adesso permette l'impostazione della massima " #~ "cronologia e non utilizza più l'istogramma `libebur128`." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Ciò eviterà i casi in cui la Loudness `Integrata` rimanga fissa " #~ "costantemente sullo stesso valore." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "L'icona di EasyEffects è stata aggiornata in modo da essere visibile " #~ "anche nei desktop QT." #~ msgid "This release fixes the following bug:" #~ msgstr "Questa release corregge i seguenti bug:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "L'opzione della riga di comando che restituisce lo stato di bypass " #~ "globale funziona di nuovo." #~ msgid "This release adds the following feature:" #~ msgstr "Questa release aggiunge le seguenti funzionalità:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Migliorata la gestione della latenza dinamica di PipeWire da parte del " #~ "modulo di Crossfeed. Non si dovrebbero più verificare anomali cambi di " #~ "volume." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Risolto un bug che non permetteva la corretta gestione dei microfoni mono " #~ "da parte di EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Supporto per la prossima versione di PipeWire `0.3.44`" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Migliorata la gestione della latenza dinamica di PipeWire da parte del " #~ "modulo di Auto Guadagno. Non si dovrebbero più verificare anomali cambi " #~ "di volume." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Aggiunta un'opzione per reimpostare il volume del nostro dispositivo " #~ "virtuale all'avvio di EasyEffects. Ciò dovrebbe essere d'aiuto nei casi " #~ "in cui il nostro dispositivo venga mutato dal server per ragioni ignote." #~ msgid "Better support for computer suspending." #~ msgstr "Migliore supporto per la sospensione del computer." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Risolto un bug per cui il tentativo di creare un profilo di caricamento " #~ "automatico senza preimpostazioni causava l'arresto anomalo " #~ "dell'applicazione." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "Risolto un bug in cui impostando a `zero` la `qualità` di una banda " #~ "dell'Equalizzatore, l'intera applicazione andava in crash." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita è usata per creare alcune parti della nostra interfaccia e la " #~ "modifica dei temi chiaro/scuro." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "Il menu delle impostazioni è stato ridisegnato con gli oggetti di " #~ "LibAdwaita." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "L'importazione dei profili Equalizer APO è stata migliorata per applicare " #~ "non solo i filtri a Campana, ma anche gli altri supportati" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "L'opzione `Reset Preferenze` nel menu adesso funziona anche in Flatpak." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Abbiamo una nuova opzione che permette di disabilitare il `autohide` dei " #~ "nostri menu. Questo permette di aggirare alcuni bug dei menu Popover " #~ "attualmente presenti in gtk4." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "Migliorata l'analisi dell'importazione APO con profili che hanno la " #~ "virgola come separatore delle migliaia." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "La libreria fmt è una nuova dipendenza, almeno fin quando i compilatori c+" #~ "+ non la implementeranno in predefinito. Ciò è previsto nei prossimi anni." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM e GLIBMM non sono più una dipendenza. Adesso usiamo gtk4 " #~ "direttamente." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Adesso è possibile combinare più Impulsi nell'interfaccia del Convolver. " #~ "Un nuovo file di Impulso viene generato e il suo nome è aggiunto nella " #~ "lista." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "Migliorato il disegno della `asse x` nei nostri grafici. Adesso il numero " #~ "delle etichette si adatta in base alla larghezza della finestra." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "La documentazione è stata aggiornata con le nuove funzionalità di " #~ "EasyEffects. I vecchi riferimenti a PulseEffects sono stati rimossi. Il " #~ "bottone per consultare la documentazione è stato aggiunto nel menu." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Inserendo un valore fuori scala nello spinbutton, adesso il parametro " #~ "viene aggiornato al valore minimo/massimo, invece che resettarlo a quello " #~ "precedente." #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "La finestra principale adesso ricorda lo stato di massimizzazione e lo " #~ "ripristina alla nuova apertura." #~ msgid "The `tbb` library is a new dependency" #~ msgstr "La libreria `tbb` è una nuova dipendenza" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "Il Limiter e il Compressore Multibanda adesso possono usare una sidechain " #~ "esterna." #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "Il modulo di Auto Guadagno adesso permette all'utente di selezionare " #~ "quale tipologia di Loudness usare come riferimento per la correzione del " #~ "volume." #~ msgid "" #~ "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " #~ "Amplification\" parameter." #~ msgstr "" #~ "La funzionalità di importazione dei profili APO nell'Equalizzatore adesso " #~ "analizza anche il parametro di \"Pre Amplificazione\"." #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "Il Volume Cubico può essere abilitato dalle impostazioni generali." #~ msgid "" #~ "PipeWire monitor streams are now excluded and removed from the " #~ "applications list." #~ msgstr "" #~ "I flussi monitor di PipeWire adesso dovrebbero essere esclusi e rimossi " #~ "dalla lista delle applicazioni." #~ msgid "Hopefully crashes like the one reported at [1172]( are fixed." #~ msgstr "Crash come quelli riportati in [1172]( sono stati corretti." #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "Risolto un caso in cui lo Spettro andava in crash." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "Pavucontrol non è più aggiunto alla lista delle applicazioni in ingresso " #~ "su sistemi con localizzazione diversa da quella inglese." #~ msgid "" #~ "Improved compatibility with WirePlumber. This is needed to run on systems " #~ "that decided to use it instead of the" #~ msgstr "" #~ "Migliorata la compatibilità con WirePlumber. Questo è necessario per i " #~ "sistemi che hanno deciso di utilizzarlo" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "al posto del session manager integrato in PipeWire. Maggiori informazioni " #~ "in [1144](" #~ msgid "" #~ "When trying to add an autoloading profile for a device already in the " #~ "list its target preset will be updated. This way we can change the " #~ "profile preset without having to remove and recreating it." #~ msgstr "" #~ "All'aggiunta di un profilo di autocaricamento per uno specifico " #~ "dispositivo già presente in lista, ora il profilo viene aggiornato. In " #~ "questo modo non c'è bisogno di rimuovere lo stesso dispositivo e " #~ "riaggiungerlo per vederlo." #~ msgid "" #~ "The preset autoloading support implementation was redesigned again. It " #~ "should work on more hardware now. For more information see issue [1051](" #~ msgstr "" #~ "La funzionalità dell'autocaricamento dei profili è stata nuovamente " #~ "riprogettata. Adesso dovrebbe funzionare su più tipologie di dispositivi. " #~ "Per maggiori informazioni, consulta [1051](" #~ msgid "" #~ "If the Limiter or the Maximizer are set in the last position of the " #~ "plugin stack, new plugins are added at the second to last position in " #~ "order to prevent hardware damage on eventually high output level." #~ msgstr "" #~ "Se il Limiter e il Maximizer sono posizionati alla fine della lista, i " #~ "nuovi moduli sono aggiunti nella penultima posizione in modo da evitare " #~ "eventuali danneggiamenti agli altoparlanti in caso di volume troppo alto." #~ msgid "" #~ "Removing an application from the blocklist, its previous enabled state is " #~ "restored." #~ msgstr "" #~ "Alla rimozione di un flusso dalle App Escluse, il precedente stato " #~ "dovrebbe essere ripristinato." #~ msgid "" #~ "Sometimes when removing imported models from the noise reduction plugin " #~ "the current used model was not properly updated. This should be fixed now." #~ msgstr "" #~ "Talvolta alla rimozione dei modelli nel modulo di riduzione del rumore, " #~ "il modello utilizzato non veniva aggiornato. Questo problema è stato " #~ "risolto." #~ msgid "" #~ "When editing presets files in an external editor, duplicated entries " #~ "won't be shown in our presets menu." #~ msgstr "" #~ "Alla modifica dei profili in un editor esterno, adesso non saranno più " #~ "mostrate voci multiple nella lista dei profili." #~ msgid "Now the blocklist is correctly set when switching presets." #~ msgstr "" #~ "Adesso i flussi nelle App Escluse vengono correttamente disabilitati allo " #~ "switch dei profili." #~ msgid "" #~ "Now the status of the global bypass button is correctly updated when " #~ "changing plugin stack." #~ msgstr "" #~ "Adesso lo stato del Bypass globale dovrebbe essere correttamente " #~ "aggiornato quando i moduli cambiano." #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Le icone non presenti sul sistema adesso non dovrebbero essere " #~ "visualizzate nell'interfaccia delle applicazioni" #~ msgid "" #~ "Some icons not showing in Plasma DE with Breeze icon theme should appear " #~ "now." #~ msgstr "" #~ "Alcune icone non visualizzate in Plasma con il tema Breeze adesso " #~ "dovrebbero essere visibili." #~ msgid "Updated Chinese translation." #~ msgstr "Traduzione Cinese aggiornata." #~ msgid "Updated Italian translation." #~ msgstr "Traduzione Italiana aggiornata." #~ msgid "Added support for the compressor parameter `Boost Amount`" #~ msgstr "" #~ "Aggiunto il supporto al parametro `Quantità Incremento` del Compressore" #~ msgid "" #~ "The multiband compressor plugin now uses the stereo multiband compressor " #~ "plugin from Linux Studio Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Il Compressore Multibanda adesso implemento lo stereo multiband " #~ "compressor sviluppato da Linux Studio Plugins invece di quello di Calf " #~ "Studio." #~ msgid "" #~ "The limiter plugin now uses the stereo limiter plugin from Linux Studio " #~ "Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Il Limiter adesso implementa lo stereo limiter sviluppato da Linux Studio " #~ "Plugins invece di quello di Calf Studio." #~ msgid "" #~ "LV2 filters now are spawned in PipeWire graph only when loaded the first " #~ "time. Once loaded, they remain connected until EasyEffects shutdown." #~ msgstr "" #~ "I filtri LV2 adesso sono generati nel diagramma PipeWire soltanto quando " #~ "sono caricati per la prima volta. Tuttavia, una volta caricati, rimangono " #~ "connessi fin quando EasyEffects non viene terminato." #~ msgid "The echo canceller sampling rate is now properly set." #~ msgstr "" #~ "Il modulo di Riduzione Eco adesso imposta correttamente il campionamento." #~ msgid "" #~ "The threshold parameter from the deesser plugin is now saved to the " #~ "preset file." #~ msgstr "" #~ "Il parametro soglia del Deesser adesso è salvato correttamente nel " #~ "profilo." #~ msgid "" #~ "Improved band splitting for crystalizer with new default intensity values." #~ msgstr "" #~ "Migliorata la suddivisione delle bande nel Crystalizer con nuovi valori " #~ "di default delle Intensità." #~ msgid "" #~ "Depending on the input gain or output gain values the corresponding level " #~ "bars could not be aligned." #~ msgstr "" #~ "In base al guadagno di input/output, le corrispondenti barre non erano " #~ "allineate correttamente." #~ msgid "" #~ "When adding more equalizer bands they are set to `Bell` instead of `Off`." #~ msgstr "" #~ "All'aggiunta di nuove bande nell'Equalizzatore, la modalità è impostata " #~ "su `Campana` invece che `Off`." #~ msgid "" #~ "Equalizer APO presets loading is now working properly on locales " #~ "different than C." #~ msgstr "" #~ "L'importazione degli Equalizer APO adesso funziona correttamente su " #~ "localizzazioni differenti da C." #~ msgid "Improved linking management between port filter nodes in PipeWire." #~ msgstr "" #~ "Migliorata la gestione delle connessioni tra le porte dei nodi in " #~ "PipeWire." #~ msgid "" #~ "The crystalizer plugin signal amplification was too high before. It " #~ "should be within more reasonable levels now." #~ msgstr "" #~ "L'amplificazione del Crystalizer era troppo alta. Adesso dovrebbe essere " #~ "impostata a livelli ragionevoli." #~ msgid "" #~ "Improved the resampler used in the plugins that require one(like the " #~ "rnnoise plugin)" #~ msgstr "" #~ "Migliorato il resampler usato nei moduli che lo richiedono (come RNNoise)" #~ msgid "Setting multiple autoloading presets should be fine now" #~ msgstr "" #~ "L'impostazione di profili di autocaricamento multipli adesso dovrebbe " #~ "funzionare" #~ msgid "Transient windows are now properly set for some plugins dialogs" #~ msgstr "" #~ "La translazione dell'interfaccia per alcuni moduli è stata correttamente " #~ "impostata" #~ msgid "" #~ "The convolver impulse response menu was improved to workaround an issue " #~ "where the impulse files was not loaded when only one was available in the " #~ "menu" #~ msgstr "" #~ "Il menu dei file di Impulso del Convolver è stato migliorato aggirando un " #~ "problema per cui i file non erano caricati quando solo uno era " #~ "disponibile nel menu" #~ msgid "" #~ "Fixed a bug that could make the pitch plugin to not be properly " #~ "initialized" #~ msgstr "" #~ "Corretto un bug che non inizializzava correttamente il modulo di " #~ "Intonazione" #~ msgid "" #~ "The saturation warning should not displace its neighbor widgets anymore" #~ msgstr "" #~ "L'icona di allarma saturazione adesso non sposta più gli oggetti adiacenti" #~ msgid "Fixed the locale in a few widgets" #~ msgstr "Aggiustati i locale in alcuni oggetti" #~ msgid "Fixed wrong alignment in a few widgets" #~ msgstr "Corretti gli allineamenti in alcuni oggetti" #~ msgid "" #~ "The Loudness plugin is being used again for the reasons described at This " #~ "means that is an optional dependency again." #~ msgstr "" #~ "Il modulo di Loudness è stato reimplementato. Questo significa che è di " #~ "nuovo una dipendenza opzionale." #~ msgid "" #~ "Fixed a segmentation fault that happened when optional dependencies were " #~ "not installed" #~ msgstr "" #~ "Risolto un errore di segmentazione che accadeva quando delle dipendenze " #~ "opzionali non erano installate" #~ msgid "Improved equalizer interface." #~ msgstr "Migliorata l'interfaccia dell'equalizzatore." #~ msgid "" #~ "Now we use a sidechain LSP compressor that allows the user to select and " #~ "external source as the sidechain input." #~ msgstr "" #~ "Adesso usiamo un Compressore Sidechain LSP che permette di selezionare " #~ "una sorgente esterna come sidechain di ingresso." #~ msgid "We now support the LSP compressor `Boosting` mode." #~ msgstr "Adesso supportiamo la modalità `Incremento` del Compressore LSP." #~ msgid "" #~ "When `split-channels` is enabled in the equalizer the imported APO preset " #~ "will be applied only to the channel being visualized in the window. This " #~ "will allow to import different presets for each channel instead of just " #~ "settings the same values to both." #~ msgstr "" #~ "Quando `separa canali` è abilitato nell'Equalizzatore, i profili APO " #~ "importati saranno applicati soltanto al canale visualizzato. Questo " #~ "permette di importare profili differenti per i diversi canali invece che " #~ "gli stessi per entrambi." #~ msgid "" #~ "Fixed some segmentation faults that could happen when creating a preset " #~ "autoloading profile or removing presets" #~ msgstr "" #~ "Risolti alcuni errori di segmentazione quando si creavano o rimuovevano i " #~ "profili di autocaricamento" #~ msgid "" #~ "This is one of the biggest releases that I have ever made. The amount of " #~ "changes is so big that it is hard to talk about everything here." #~ msgstr "" #~ "Questa è una delle più grandi release che io abbia mai fatto. Il numero " #~ "dei cambiamenti è cosi elevato che è difficile descriverle tutte qui." #~ msgid "" #~ "The following are just the most import ones. People interested on the " #~ "journey that got us here can take" #~ msgstr "" #~ "Le seguenti sono soltanto le più importanti. Quelli maggiormente " #~ "interessati" #~ msgid "a look at and" #~ msgstr "possono dare un'occhiata e" #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "L'applicazione è stata rinominata da PulseEffects a `EasyEffects`" #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "gtkmm3 è stato rimpiazzato da gtkmm4" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "Gstreamer è stato rimpiazzato dai filtri nativi PipeWire." #~ msgid "" #~ "Many features were reimplemented from scratch. The preset autoloading is " #~ "one example. Another remarkable change will be seen in the plugins " #~ "selection menu. Now the user can show in the window only the plugins that " #~ "he/she wants to use." #~ msgstr "" #~ "Molte funzionalità sono state riscritte da zero. L'autocaricamento dei " #~ "preset ne è un esempio. Un'altra modifica importante è presente nel menu " #~ "di selezione dei moduli. Adesso sono mostrati nella finestra soltanto i " #~ "plugin aggiunti alla lista." #~ msgid "" #~ "Boost is no longer a dependency. The price paid for that was a little " #~ "change in our presets structures. With some patience it is possible to " #~ "edit PulseEffects presets in a text editor and make them work in " #~ "EasyEffects. Hopefully someone will come up with a script for this in the " #~ "feature." #~ msgstr "" #~ "Boost non è più una dipendenza. Il prezzo da pagare per questa scelta è " #~ "il cambiamento della struttura dei profili. Con un po' di pazienza è " #~ "possibile modificare i profili di PulseEffects in un editor di testo per " #~ "renderli compatibili con EasyEffects. Magari qualcuno realizzerà uno " #~ "script per questa operazione." #~ msgid "" #~ "New libraries are being used and some of the librarires that were " #~ "optional before are now required" #~ msgstr "" #~ "Nuove librerie sono state aggiunte e altre che erano opzionali adesso " #~ "sono necessarie" #~ msgid "Average" #~ msgstr "Media" #~ msgid "Failed" #~ msgstr "Errore" #~ msgid "Use Default" #~ msgstr "Usa Predefinito" #~ msgid "Remove this plugin" #~ msgstr "Rimuovi questo profilo" #~ msgid "Import Presets" #~ msgstr "Importa Profili" #~ msgid "Start Service at Login" #~ msgstr "Esegui Servizio all'Avvio" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Reimposta il Volume di EasyEffects all'Avvio" #~ msgid "Shutdown on Window Close" #~ msgstr "Termina alla Chiusura della Finestra" #~ msgid "Process All Outputs" #~ msgstr "Processa Tutto in Uscita" #~ msgid "Process All Inputs" #~ msgstr "Processa Tutto in Ingresso" #~ msgid "Exclude Device Monitor Streams" #~ msgstr "Escludi i flussi di monitoraggio del dispositivo" #~ msgid "Activate" #~ msgstr "Abilita" #~ msgid "Add to Blocklist" #~ msgstr "Aggiungi ad App Escluse" #~ msgid "Blocklist" #~ msgstr "App Escluse" #~ msgid "Add Plugin" #~ msgstr "Aggiungi Modulo" #~ msgid "Speakers" #~ msgstr "Altoparlanti" #~ msgid "Microphone" #~ msgstr "Microfono" #~ msgid "Plugins" #~ msgstr "Moduli" #, fuzzy #~ msgid "enabled" #~ msgstr "Attivato" #, fuzzy #~ msgid "disabled" #~ msgstr "Attivato" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latenza" #~ msgid "idle" #~ msgstr "inattivo" #~ msgid "Faster" #~ msgstr "Più Veloce" #~ msgid "Preserve Formant" #~ msgstr "Preserva Formante" #~ msgid "Crispness" #~ msgstr "Chiarezza" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not" #~ msgstr "" #~ "Il filtro di guadagno automatico dovrebbe gestire meglio gli interruttori " #~ "di latenza dinamica di PipeWire. I salti nel livello del volume non " #~ "dovrebbe" #~ msgid "happen anymore in these situations." #~ msgstr "succedere più in queste situazioni." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts." #~ msgstr "" #~ "Abbiamo aggiunto un'opzione che consente di ripristinare il volume e lo " #~ "stato muto dei nostri dispositivi virtuali all'avvio di EasyEffects." #~ msgid "" #~ "It should help with the cases were our devices are muted by the audio " #~ "server for unknown reasons." #~ msgstr "" #~ "Dovrebbe aiutare con i casi in cui i nostri dispositivi sono silenziati " #~ "dal server audio per ragioni sconosciute." #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" easyeffects-7.1.7/po/ja.po000066400000000000000000003342521463533416400154210ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-03-23 03:20+0000\n" "Last-Translator: \"R.Suga\" <21r.suga@gmail.com>\n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.16.2-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "イコライザー、コンプレッサーなどのオーディオエフェクト" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire アプリケーション用オーディオエフェクト" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "リミッター;コンプレッサー;リバーブ;イコライザー;オートボリューム;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "このアプリケーションの有効化/無効化" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "有効" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "除外されたアプリリスト: このアプリケーションを追加/削除" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "除外" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "アプリケーションをミュート" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "このアプリケーションの音量を変更" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "アプリケーションの音量" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_設定をリセット" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_環境設定" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_ショートカット" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Easy Effects について" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "プリセット" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "プリセットメニュー" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "グローバルバイパスの有効化/無効化" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "グローバルバイパス" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "メインメニュー" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects ウィンドウ" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "アプリケーションリスト" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "空のリスト" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "オーディオアプリケーションがありません" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "ターゲット" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "サイレンス" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "最大履歴" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "リファレンス" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "瞬間的" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "短期" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "統合" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "幾何平均 (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "幾何平均 (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "幾何平均 (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "幾何平均 (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "履歴をリセット" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "リセット" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "ラウドネス" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "相対的" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "範囲" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "出力ゲイン" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "入力" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "プラグイン入力ゲイン" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "出力" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "プラグイン出力ゲイン" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "デバイス" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "名前" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "プロファイル" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "プリセット" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "この自動読み込みプリセットを削除" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "聞く" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "ブレンドハーモニクス" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3rd" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2nd" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "量" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "ハーモニクス" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "範囲" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "フロア" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "フロア値" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "リンク" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "アプリケーション名" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "除外アプリケーションに追加" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "除外されたアプリケーションリスト" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "除外されたアプリケーションを表示" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "ウィンドウを閉じる" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "コンプレッサー" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "モード" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "下方向" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "上方向" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "ブースト" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "圧縮モード" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "ブーストしきい値" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "ブースト量" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "アタック" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "時間" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "しきい値" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "アタックタイム" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "アタックしきい値" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "リリース" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "リリース時間" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "リリースしきい値" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "比率" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "ニー" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "メイクアップ" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Dry レベル" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Wet レベル" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "サイドチェーン" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "ステレオモード" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "ソース" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "中央" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "サイド" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "左" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "右" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "最小" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "最大" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "サイドチェーンソース" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "ディレイ 左 右" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "右" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "サイド" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "サイド" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "ステレオモード" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "ピーク" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "ローパスフィルタ" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "単純移動平均" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "サイドチェーンモード" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "外部サイドチェーン" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "タイプ" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "フィードフォワード" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "フィードバック" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "外部" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "サイドチェーンタイプ" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "入力デバイス" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "プリアンプリーション" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "反応性" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "ルックアヘッド" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "サイドチェーンフィルター" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "ハイパス" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "周波数" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "オフ" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "ハイパスフィルターモード" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "ハイパスフィルター周波数" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "ローパス" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "ローパスフィルターモード" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "ゲイン" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "包装" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "カーブ" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "左チャンネル" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "右チャンネル" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "インパルス" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "コンバイン" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "ステレオ幅" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "スペクトラム" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "ログスケール" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "オートゲイン" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "レート" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "サンプル" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "長さ" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "インパルス応答をコンバイン" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "ファーストカーネル" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "セカンドカーネル" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "出力ファイル名" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "複合カーネル名" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "インパルスをインポート" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "検索" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "インパルスファイルを検索" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "インパルスファイル一覧" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "デフォルト" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "カットオフ" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "フィード" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "バイパス" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "ミュート" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "フィルター長" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "検出" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "ワイド" #: data/ui/deesser.ui:78 msgid "Split" msgstr "スプリット" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 スプリット" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "周波数 1 スプリット" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 ピーク" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "周波数 2 ピーク" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 ゲイン" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "周波数 1 ゲイン" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 レベル" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "周波数 2 レベル" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 ピーク Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "周波数 2 ピーク Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "ゆるみ" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "検出" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "減少" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "ディレイ" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "位相反転" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "フィルター長" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "残留エコー抑制" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "ニアエンドエコー抑制" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "除外されたアプリ" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "このアプリケーションの有効化/無効化" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "バンド" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "バランス" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "左ピッチ" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "右ピッチ" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "チャンネルの分割" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "フラットレスポンス" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "周波数の計算" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "バンドの並べ替え" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "プリセットをインポート" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "プリセットをインポート" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "スロープ" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "ソロ" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "品質" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "幅" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "切り上げ" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "切り上げ値" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "バンドモード" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "内部" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "アクセス" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "説明" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "このモデルファイルを削除" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "ローシェルフ" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "ハイシェルフ" #: data/ui/filter.ui:54 msgid "Bell" msgstr "ベル" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "バンドバイパス" #: data/ui/filter.ui:56 msgid "Notch" msgstr "ノッチ" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "反響" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "ローパス" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "バンドリダクション" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "オールパス" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "イコライザー" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "フィルター" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "ゲート" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "ゾーン" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "ヒステリシス" #: data/ui/gate.ui:330 msgid "Mix" msgstr "ミックス" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "アタックゾーンスタート" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "リリースゾーン開始" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "周波数 2 ピーク" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "履歴をリセット" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "オーバーサンプリング" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "ディザ" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm Thin" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Wide" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Tail" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Duck" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Thin" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Wide" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp Tail" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Duck" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Line Thin" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Line Wide" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Line Tail" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Line Duck" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "なし" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "ハーフ ×2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "ハーフ ×2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "ハーフ ×3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "ハーフ ×3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "ハーフ ×4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "ハーフ ×4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "ハーフ ×6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "ハーフ ×6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "ハーフ ×8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "ハーフ ×8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "フル x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "フル x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "フル ×3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "フル ×3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "フル ×4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "フル ×4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "フル ×6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "フル ×6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "フル ×8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "フル ×8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC プリアンプ" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "サイドチェーン PreAmplification" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "ブースト" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "ステレオリンク" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "外部サイドチェーン" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "外部サイドチェーンソース" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "オートレベリング" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "オートレベリングアタック" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "オートレベリングリリース" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "オートレベリングニー" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "左ゲイン" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "右ゲイン" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "左サイドチェーン" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "右サイドチェーン" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "標準" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "フラット" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT サイズ" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "出力ボリューム" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "クリッピング" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "サイドチェーンブースト" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "ピンク BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "ピンク MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "ブラウン BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "ブラウン MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "動作モード" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "クラシック" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "モダン" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "位相反転" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "バンドリスト" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "バンド 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "バンド 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "バンド 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "バンド 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "バンド 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "バンド 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "バンド 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "バンド 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "バンドスタート" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "バンドエンド" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "バンド圧縮モード" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "バンドバイパス" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "バンドサイドチェーンオプション" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "ステレオモード" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "ローカットフィルター" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "ローカットフィルター周波数" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "ハイカットフィルター" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "ハイカットフィルター周波数" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "プリアンプ" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "バンドゲイン" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "バンドエンベロープ" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "バンドカーブ" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "バンドリダクション" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "一般" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "デバイス管理" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "外部アプリケーション (Gnome 設定や Plasma システム設定など) で Easy Effects " "の Sink/Source をデフォルトデバイスとして設定しないことをお勧めします。" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "デフォルトの入力を使用" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "カスタム入力デバイス" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "デフォルトの出力を使用" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "カスタム出力デバイス" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "サーバー情報" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "ヘッダーバージョン" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "ライブラリバージョン" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "サンプリングレート" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "最小クォンタム" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "最大クォンタム" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "デフォルトクォンタム" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "プリセット自動読み込み" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "出力デバイス" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "出力プリセット" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "アソシエーションを作成" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "自動読み込み出力プリセットを追加" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "自動読み込み出力プリセットリスト" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "入力デバイス" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "入力プリセット" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "自動読み込み入力プリセットを追加" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "自動読み込み入力プリセットリスト" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "モジュール" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "モジュールリスト" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "クライアント" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "クライアントリスト" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "テスト信号" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "状態" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "有効" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "プロパティ" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "チャンネル" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "両方" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "両方チャンネル" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "波形" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "正弦波" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "ホワイトノイズ" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "周波数範囲" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "ウィンドウを閉じる" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "フィルター長" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "ピッチ" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "半音" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "リファレンス" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "リファレンス" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "このエフェクトを削除" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "このエフェクトの有効化/無効化" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "このエフェクトの位置を変更する" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "エフェクトの追加" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "このエフェクトを削除" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "使用プラグインリスト" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "エフェクトなし" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "オーディオストリームは変更されていません" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "プラグインを検索" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "プラグインリスト" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_一般" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "サービス" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "システム起動時にサービスを起動" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "ウィンドウを閉じるときにシャットダウン" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "オーディオ" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "すべての出力を処理" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "すべての入力を処理" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "デバイスのモニターからのストリームを無視" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "キュービックボリュームを使用" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "非アクティブタイムアウト" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "翻訳の更新" #: data/ui/preferences_general.ui:120 #, fuzzy msgid "Related to Level Meters and Spectrum" msgstr "更新間隔(レベルメータ、スペクトラム)" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "スプリット周波数 1" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "スタイル" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "ダークテーマを使用" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "外側クリックでメニュー非表示" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "実験的" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "ウィンドウを閉じる" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_スペクトラム" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "形状" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "バー" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "線" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "ドット" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "ポイント" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "高さ" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "線幅" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "塗りつぶし" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "バーの境界線を表示" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "角丸" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "色" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "線とバー" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "軸ラベル" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "周波数範囲" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "最小" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "最大" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "ロード" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "現在の設定をこのプリセットファイルに保存" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "現在の設定をこのプリセットファイルに保存" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "このプリセットファイルを削除" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "出力プリセットを検索" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "モデルのインポート" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "新規入力プリセット名" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "プリセットを作成" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "入力プリセットを検索" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "入力プリセットリスト" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "出力プリセットを検索" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "出力プリセットリスト" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "高周波ダンピング" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "部屋のサイズ" #: data/ui/reverb.ui:82 msgid "Small" msgstr "小" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "中" #: data/ui/reverb.ui:84 msgid "Large" msgstr "大" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "トンネル" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "大/なめらか" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "実験的" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "拡散" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "プリディレイ" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "減衰時間" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "ベースカット" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "高音カット" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "環境" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "何もない壁" #: data/ui/reverb.ui:588 msgid "Room" msgstr "部屋" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "何もない大きなホール" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "ディスコ" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "占有面積の大きいホール" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "モデルのインポート" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "音声検出" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "モデル" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "標準モデル" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "RNNoise モデルリスト" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "モデルがロードされていません" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "アクティブモデル" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "標準 RNNoise モデル" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "概要" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "フルスクリーン/フルスクリーンから復元" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "ウィンドウを閉じる" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Easy Effects を終了" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "ノイズ除去" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "自動ゲイン制御" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "リバーブ除去" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "音声アクティビティの確率" #: data/ui/speex.ui:95 msgid "Start" msgstr "スタート" #: data/ui/speex.ui:117 msgid "Continue" msgstr "続ける" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "ノイズ対策" #: data/ui/speex.ui:145 msgid "Level" msgstr "レベル" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "入力バランス" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "ソフトクリップ" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "ソフトクリップレベル" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "ステレオマトリックス" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (ステレオデフォルト)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (ステレオからミッドサイド)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (ミッドサイドからステレオ)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (モノラル左チャンネル)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (モノラル右チャンネル)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (モノラル合計 L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (ステレオチャンネル反転)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "ステレオモード" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "サイドレベル" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "サイドバランス" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "中間レベル" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "中間パノラマ" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "出力バランス" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "ディレイ L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "ディレイ 左 右" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "ステレオベース" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "ステレオ位相" #: src/app_info.cpp:100 msgid "Running" msgstr "実行中" #: src/app_info.cpp:102 msgid "Suspended" msgstr "サスペンド" #: src/app_info.cpp:104 msgid "Idle" msgstr "アイドル" #: src/app_info.cpp:106 msgid "Creating" msgstr "作成中" #: src/app_info.cpp:108 msgid "Error" msgstr "エラー" #: src/app_info.cpp:110 msgid "Unknown" msgstr "不明" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "チャンネル" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Easy Effects を終了します。サービスモードで動作しているときに便利です。" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Easy Effects をリセット。" #: src/application.cpp:609 msgid "Hide the Window." msgstr "ウィンドウを隠す。" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "グローバルバイパス。1 で有効、2 で無効、3 でステータス取得" #: src/application.cpp:615 msgid "Show available presets." msgstr "利用可能なプリセットを表示します。" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "プリセットを読み込む。例: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_出力" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_入力" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "このファイルは正しくありません" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" "インパルスファイルが破損しているか、サポートされていない可能性があります" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "ステレオインパルスファイルのみサポートされています" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "インパルスファイルがインポートされていません" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "インパルスファイルをインポート" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "開く" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "インパルスレスポンス" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "インパルスを読み込み" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "インパルスを削除" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "読み込まれたインパルスファイルはありません" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "インパルスファイルを読み込めません" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "レコーダー" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "プレイヤー" #: src/effects_box.cpp:352 msgid "Effects" msgstr "エフェクト" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "APO プリセットファイルをインポート" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO プリセット" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "APO プリセットが読み込まれていません。ファイル形式が間違っている可能性があり" "ます。内容を確認してください。" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "APO プリセットファイルをインポート" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO プリセット" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ プリセットファイルのインポート" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ プリセット" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "GraphicEQ プリセットが読み込まれていません。ファイル形式がサポートされていな" "い可能性があります。内容を確認してください。" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "自動読み込みプリセットを削除" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "出力レベルメーター" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "削除" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "出力デバイス" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "追加" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "プリセットをインポート" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "除外されたアプリケーションリスト" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "新規入力プリセット名" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "入力プリセットリスト" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "プリセットをインポート" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "選択されたモデルが読み込まれていません。そのフォーマットはサポートされていな" "い可能性があります。標準モデルに戻しました。" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "モデルファイルをインポート" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise モデル" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "ベースエンハンサー" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "低音ラウドネス" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "コンボルバー" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "クロスフィード" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "クリスタライザー" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "ディエッサー" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "エコーキャンセラー" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "イコライザー" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "エキサイター" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "出力レベルメーター" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "リミッター" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "マキシマイザー" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "マルチバンドコンプレッサー" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "マルチバンドゲート" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "リバーブ" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "ノイズリダクション" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "スピーチプロセッサー" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "ステレオツール" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} 利用不可" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "使用中" #~ msgid "Ceiling" #~ msgstr "シーリング" #~ msgid "\"Presets\"" #~ msgstr "「プリセット」" #~ msgid "Import a preset" #~ msgstr "プリセットをインポート" #~ msgid "Low-Cut Filter" #~ msgstr "ローカットフィルター" #~ msgid "High-Cut Filter" #~ msgstr "ハイカットフィルター" #~ msgid "Uniform" #~ msgstr "ユニフォーム" #~ msgid "New Output Preset Name" #~ msgstr "新規出力プリセット名" #~ msgid "infinity" #~ msgstr "無限大" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "比率" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "しきい値" #, fuzzy #~ msgid "Low-pass" #~ msgstr "ローパス" #, fuzzy #~ msgid "High-pass" #~ msgstr "ハイパス" #~ msgid "Gating" #~ msgstr "ゲーティング" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct ローパス" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct ローパス" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct ローパス" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct ハイパス" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct ハイパス" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct ハイパス" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct バンドパス" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct バンドパス" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct バンドパス" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct バンドリジェクト" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct バンドリジェクト" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct バンドリジェクト" #~ msgid "Inertia" #~ msgstr "慣性" #~ msgid "Band Type" #~ msgstr "バンドタイプ" #~ msgid "Band Mode" #~ msgstr "バンドモード" #~ msgid "Band Slope" #~ msgstr "バンドスロープ" #, fuzzy #~ msgid "Loudness List" #~ msgstr "ラウドネス" #~ msgid "High Speed" #~ msgstr "高速" #~ msgid "High Quality" #~ msgstr "高品質" #~ msgid "High Consistency" #~ msgstr "高い一貫性" #~ msgid "Formant" #~ msgstr "フォルマント" #~ msgid "Shifted" #~ msgstr "シフト" #~ msgid "Preserved" #~ msgstr "保存済み" #~ msgid "Transients" #~ msgstr "トランジェント" #~ msgid "Crisp" #~ msgstr "鮮明" #~ msgid "Mixed" #~ msgstr "ミックス" #~ msgid "Smooth" #~ msgstr "スムース" #~ msgid "Detector" #~ msgstr "ディテクター" #~ msgid "Compound" #~ msgstr "化合物" #~ msgid "Percussive" #~ msgstr "パーカッシブ" #~ msgid "Soft" #~ msgstr "ソフト" #~ msgid "Phase" #~ msgstr "フェーズ" #~ msgid "Laminar" #~ msgstr "ラミナー" #~ msgid "Independent" #~ msgstr "独立" #~ msgid "Cents" #~ msgstr "セント" #~ msgid "Octaves" #~ msgstr "オクターブ" #~ msgid "_Manual" #~ msgstr "_マニュアル" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Easy Effects のマニュアルを開く" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} はシステムにインストールされていません" #~ msgid "High Pass" #~ msgstr "ハイパス" #~ msgid "Low Pass" #~ msgstr "ローパス" #~ msgid "Cancel" #~ msgstr "キャンセル" #~ msgid " PreAmplification" #~ msgstr " プリアンプリーション" #~ msgid " Feed-forward" #~ msgstr " フィードフォワード" #~ msgid "Close (Press ESC)" #~ msgstr "閉じる (Esc キーを押す)" #~ msgid "Frame Size" #~ msgstr "フレームサイズ" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "グローバルバイパスの有効化/無効化" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "ローパス" #, fuzzy #~ msgid " Uniform" #~ msgstr "ユニフォーム" #~ msgid "Left Delay" #~ msgstr "左ディレイ" #~ msgid "Right Delay" #~ msgstr "右ディレイ" #~ msgid "Left Dry Level" #~ msgstr "左ドライレベル" #~ msgid "Right Dry Level" #~ msgstr "右ドライレベル" #~ msgid "Left Wet Level" #~ msgstr "左ウェットレベル" #~ msgid "Right Wet Level" #~ msgstr "右ウェットレベル" #~ msgid "Fast Fourier Transform Size" #~ msgstr "高速フーリエ変換サイズ" #~ msgid "Clipping Range" #~ msgstr "クリッピング範囲" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "PipeWire アプリケーション用オーディオエフェクト" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "ノイズリダクション" #~ msgid "Load APO Preset" #~ msgstr "APO プリセットを読み込む" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "起動時に EasyEffects 仮想デバイスの音量をリセット" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "出力プリセット: " #~ msgid "Input Presets: " #~ msgstr "入力プリセット: " #~ msgid "Split Mode" #~ msgstr "スプリットモード" #~ msgid "Split 1/2" #~ msgstr "スプリット 1/2" #~ msgid "Split 2/3" #~ msgstr "スプリット 2/3" #~ msgid "Split Frequency 2" #~ msgstr "スプリット周波数 2" #~ msgid "Split 3/4" #~ msgstr "スプリット 3/4" #~ msgid "Split Frequency 3" #~ msgstr "スプリット周波数 3" #~ msgid "Sub Band" #~ msgstr "サブバンド" #~ msgid "Band 1 Bypass" #~ msgstr "バンド 1 バイパス" #~ msgid "Band 1 Solo" #~ msgstr "バンド 1 ソロ" #~ msgid "Band 1 Detection" #~ msgstr "バンド 1 検出" #~ msgid "Band 1 Attack" #~ msgstr "バンド 1 アタック" #~ msgid "Band 1 Release" #~ msgstr "バンド 1 リリース" #~ msgid "Band 1 Threshold" #~ msgstr "バンド 1 しきい値" #~ msgid "Band 1 Ratio" #~ msgstr "バンド 1 比率" #~ msgid "Band 1 Knee" #~ msgstr "バンド 1 ニー" #~ msgid "Band 1 Makeup" #~ msgstr "バンド 1 メイクアップ" #~ msgid "Max Reduction" #~ msgstr "最大リダクション" #~ msgid "Low Band" #~ msgstr "ローバンド" #~ msgid "Band 2 Bypass" #~ msgstr "バンド 2 バイパス" #~ msgid "Band 2 Solo" #~ msgstr "バンド 2 ソロ" #~ msgid "Band 2 Detection" #~ msgstr "バンド 2 検出" #~ msgid "Band 2 Attack" #~ msgstr "バンド 2 アタック" #~ msgid "Band 2 Release" #~ msgstr "バンド 2 リリース" #~ msgid "Band 2 Threshold" #~ msgstr "バンド 2 しきい値" #~ msgid "Band 2 Ratio" #~ msgstr "バンド 2 比率" #~ msgid "Band 2 Knee" #~ msgstr "バンド 2 ニー" #~ msgid "Band 2 Makeup" #~ msgstr "バンド 2 メイクアップ" #~ msgid "Band 2 Max Reduction" #~ msgstr "バンド 2 最大リダクション" #~ msgid "Mid Band" #~ msgstr "ミッドバンド" #~ msgid "Band 3 Bypass" #~ msgstr "バンド 3 バイパス" #~ msgid "Band 3 Solo" #~ msgstr "バンド 3 ソロ" #~ msgid "Band 3 Detection" #~ msgstr "バンド 3 検出" #~ msgid "Band 3 Attack" #~ msgstr "バンド 3 アタック" #~ msgid "Band 3 Release" #~ msgstr "バンド 3 リリース" #~ msgid "Band 3 Threshold" #~ msgstr "バンド 3 しきい値" #~ msgid "Band 3 Ratio" #~ msgstr "バンド 3 比率" #~ msgid "Band 3 Knee" #~ msgstr "バンド 3 ニー" #~ msgid "Band 3 Makeup" #~ msgstr "バンド 3 メイクアップ" #~ msgid "Band 3 Max Reduction" #~ msgstr "バンド 3 最大リダクション" #~ msgid "High Band" #~ msgstr "ハイバンド" #~ msgid "Band 4 Bypass" #~ msgstr "バンド 4 バイパス" #~ msgid "Band 4 Solo" #~ msgstr "バンド 4 ソロ" #~ msgid "Band 4 Detection" #~ msgstr "バンド 4 検出" #~ msgid "Band 4 Attack" #~ msgstr "バンド 4 アタック" #~ msgid "Band 4 Release" #~ msgstr "バンド 4 リリース" #~ msgid "Band 4 Threshold" #~ msgstr "バンド 4 しきい値" #~ msgid "Band 4 Ratio" #~ msgstr "バンド 4 比率" #~ msgid "Band 4 Knee" #~ msgstr "バンド 4 ニー" #~ msgid "Band 4 Makeup" #~ msgstr "バンド 4 メイクアップ" #~ msgid "Band 4 Max Reduction" #~ msgstr "バンド 4 最大リダクション" #~ msgid "Wet Amount" #~ msgstr "Wet 量" #~ msgid "Dry Amount" #~ msgstr "Dry 量" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects は、高度なオーディオ操作ツールです。イコライザー、リミッター、" #~ "コンプレッサー、リバーブツールなどが含まれていますが、これらはほんの一部で" #~ "す。さらに、スペクトラムアナライザーもあります。" #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects は、PulseEffects の後継版です。EasyEffects は PipeWire のオー" #~ "ディオサーバーのみ対応しています。PulseAudio をお使いの場合、代わりに " #~ "PulseEffects をお使いください。" #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "EasyEffects はデフォルトの PipeWire サウンドサーバーを使用しているので、ほ" #~ "とんどのアプリケーションで動作します。サポートされているすべてのアプリケー" #~ "ションは、メインウィンドウに表示され、それぞれ個別に有効にすることができま" #~ "す。" #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "EasyEffects は、音の出力を操作するだけでなく、マイクなどの入力デバイスにも" #~ "エフェクトをかけることができます。例えば、音声録音の時に便利ですが、音声会" #~ "話の時にも効果を発揮します。" #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "EasyEffects を起動すると、前回のセッションで使用した設定を適用します。ま" #~ "た、現在のすべての設定をプロファイルとして保存することもできます。" #~ msgid "The main page showing two audio output apps" #~ msgstr "2 つのオーディオ出力アプリを表示するメインページ" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "オーディオコントロールを表示するベースエンハンサーページ" #~ msgid "The convolver page showing audio controls" #~ msgstr "オーディオコントロールを表示するコンボルバーのページ" #~ msgid "This release adds the following features:" #~ msgstr "このリリースでは、以下の機能が追加されています:" #~ msgid "" #~ "When effects are disable to an application we now set its target metadata " #~ "to null. This will allow the media session" #~ msgstr "" #~ "アプリケーションに対してエフェクトが無効になっている場合、ターゲットメタ" #~ "データをnullに設定します。これにより、メディアセッションが可能になります" #~ msgid "manager" #~ msgstr "マネージャー" #~ msgid "" #~ "A new configuration option was added. It allows EasyEffects to ignore " #~ "streams whose purpose is to monitor sink" #~ msgstr "" #~ "新しい設定オプションが追加されました。これは、EasyEffects が監視シンクデバ" #~ "イスのストリームを無視することを可能にします。" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr "" #~ "これにより、OBS を使用する際にユーザーが抱えていた問題のいくつかを解決する" #~ "ことができます。" #~ msgid "The code that shows the stream sample format has been improved" #~ msgstr "ストリームのサンプル形式を表示するコードが改善されました" #~ msgid "" #~ "The rnnoise library is now optional. This should help package maintainers " #~ "to build" #~ msgstr "" #~ "rnnoise ライブラリがオプションになりました。これはパッケージメンテナが" #~ "Debianパッケージをビルドするのに役立ちます。" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "詳しくは issue #1000 を参照してください。" #~ msgid "" #~ "Our logs now show the source code line where the messages are being " #~ "printed" #~ msgstr "" #~ "ログにメッセージが出力されるソースコードの行が表示されるようになりました" #~ msgid "This release fixes the following bugs:" #~ msgstr "このリリースでは、以下のバグが修正されています:" #~ msgid "" #~ "The \"enable effects\" checkbox in our window was not being updated when " #~ "third party programs like pavucontrol" #~ msgstr "" #~ "pavucontrol などのサードパーティ製プログラムが動作しているとき、ウィンドウ" #~ "の「エフェクトを有効にする」チェックボックスが更新されないことがありました" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "そのストリームを仮想デバイスから遠ざけました。これは今すぐ修正する必要があ" #~ "ります。" #~ msgid "" #~ "Fixed a crash that could happen when the maximum autogain history was " #~ "changed." #~ msgstr "" #~ "オートゲインの最大履歴を変更すると、クラッシュすることがある問題を修正しま" #~ "した。" #~ msgid "Avoid crashes when pw-mididump is running" #~ msgstr "pw-mididump 実行時のクラッシュを回避" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "ピッチプラグインのインターフェースが改善されました" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "アプリケーションアイコンが QT を使用するデスクトップに対応しました" #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "ブロックリストのコードは、ストリームが `application.id` タグを設定した場" #~ "合、それを使用します" #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "マウスのスクロールの問題を回避するために、`プレーヤー/レコーダー` に表示さ" #~ "れるアプリケーションリストのエントリを表示します" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "タブにボリュームスケールが表示されなくなりました。この問題の詳細と解決策に" #~ "ついては、#1211 を参照してください" #~ msgid "and #1427" #~ msgstr "and #1427" #~ msgid "" #~ "When no application is available for display in the `Players/Recorders` a " #~ "message will be shown to the user" #~ msgstr "" #~ "`プレーヤー/レコーダー` に表示できるアプリケーションがない場合、メッセージ" #~ "が表示されます" #~ msgid "Many translation updates" #~ msgstr "多くの翻訳の更新" #~ msgid "" #~ "Fixed a bug where EasyEffects crashed when the number of points displayed " #~ "in the spectrum was changed while" #~ msgstr "" #~ "EasyEffects が次の状態のときにスペクトラムに表示されるポイント数を変更した" #~ "ときにクラッシュするバグを修正しました" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "" #~ "パイプラインがアクティブで、かつスペクトラムウィジェットが表示されている間" #~ msgid "" #~ "The pipeline latency value displayed in our window could be wrong in some " #~ "situations. This was fixed." #~ msgstr "" #~ "ウィンドウに表示されるパイプラインの待機時間の値は、状況によっては間違って" #~ "いる可能性があります。この問題は修正されました。" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "パイプラインの非アクティブ時のタイムアウトを選択できる設定が追加されまし" #~ "た。クライアントが再生していないとき" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "の接続や録画は、タイムアウトに達するとフィルタリングが解除されます。これは" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "CPUのパワーを無駄にせず、無音で処理することができます。" #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "オートゲインプラグインでは、3つのラウドネスのうち、どのラウドネスを使用し" #~ "て幾何学的な計算を行うかを選択できるようになりました" #~ msgid "mean." #~ msgstr "。" #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "オートゲインプラグインに最大履歴を設定できるようになり、libebur128 ヒスト" #~ "グラムモードは使用されなくなりました。" #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "これにより、Integrated ラウドネスが永遠に同じ値で止まってしまうようなケー" #~ "スを避けることができます。" #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "EasyEffects のアイコンは、QT デスクトップで見えるように更新されました。" #~ msgid "This release fixes the following bug:" #~ msgstr "このリリースでは、以下のバグが修正されています:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "グローバルバイパスの状態を返すコマンドラインオプションが再び動作するように" #~ "なりました。" #~ msgid "This release adds the following feature:" #~ msgstr "このリリースでは、以下の機能が追加されています:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "クロスフィードフィルターは、PipeWire の動的遅延スイッチにうまく対応するよ" #~ "うになりました。これで、音量レベルのジャンプが起こらなくなるはずです。" #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "モノラルマイクが EasyEffects で正しく動作しない不具合を修正しました" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "次の PipeWire リリース `0.3.44` への対応" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "オートゲインフィルターは、PipeWire の動的遅延スイッチにうまく対応するよう" #~ "になりました。これで、音量レベルのジャンプが起こらなくなるはずです。" #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "EasyEffects の起動時に、バーチャルデバイスのボリュームとミュートの状態をリ" #~ "セットできるオプションを追加しました。これは、謎の理由でオーディオサーバー" #~ "によってデバイスがミュートされている場合に役立ちます。" #~ msgid "Better support for computer suspending." #~ msgstr "コンピュータのサスペンドのサポートが強化されました。" #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "プリセットを持たない自動読み込みプロファイルを作成しようとすると、アプリ" #~ "ケーションがクラッシュするというバグを修正しました。" #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "イコライザーバンドの「品質」を「0」に設定するとアプリケーションがクラッ" #~ "シュするバグを修正しました。" #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita は、ウィンドウの一部を作成したり、ダークテーマとライトテーマを" #~ "切り替えるために使用されます。" #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "設定メニューは、LibAdwaita ウィジェットを使用して再設計されました。" #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "イコライザー APO のプリセットインポート機能で、ベルフィルターだけでなく、" #~ "対応する他のフィルターも適用できるよう改善しました" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "メニューの「すべての設定をリセット」機能が Flatpak でも動作するようにしま" #~ "した。" #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "メニューの 「自動非表示」を無効にすることができる新しいオプションを用意し" #~ "ました。これにより、現在 gtk4 で抱えているポップオーバーメニュー関連のバグ" #~ "を回避できるかもしれません。" #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "中央の周波数帯でカンマを千の区切りとして保存された APO プリセットを読み込" #~ "むための解析がより強力になりました。" #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "fmt ライブラリは、少なくとも c++ コンパイラがその機能を実装していない間は" #~ "新しい依存関係にあります。これは今後数年のうちに実現すると思われます。" #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM と GLIBMM はもう依存関係にありません。現在は gtk4 を直接使用していま" #~ "す。" #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "コンボルバーインターフェースでインパルスレスポンスを組み合わせることができ" #~ "るようになりました。新しいインパルスファイルが生成され、インパルスリストに" #~ "表示されます。" #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "プロットの「x 軸」の描画を改善しました。ウィンドウの幅に応じてラベルの数が" #~ "動的に調整されるようになりました。" #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "ドキュメントが EasyEffects の新機能を反映して更新されました。PulseEffects " #~ "に関する古い文献は削除されました。メニューセクションにドキュメントボタンが" #~ "追加されました。" #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "スピンボタンに範囲外の値が入力されたときに、前の値にリセットされるのではな" #~ "く、最低/最高の値に更新されるようになりました。" #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "アプリケーションウィンドウは最大化された状態を記憶し、次回の起動時に反映し" #~ "ます。" #~ msgid "The `tbb` library is a new dependency" #~ msgstr "「tbb」ライブラリは新しい依存関係です" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "リミッターとマルチバンドコンプレッサーのプラグインで、オプションの外部サイ" #~ "ドチェーンを使用できるようになりました。" #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "オートゲインプラグインで、音量補正の基準となるラウドネスを選択できるように" #~ "なりました。" #~ msgid "" #~ "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " #~ "Amplification\" parameter." #~ msgstr "" #~ "イコライザープラグインの APO プロファイルインポート機能で、\"Pre " #~ "Amplification\" パラメータを解析するようになりました。" #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "" #~ "オプションのキュービックボリュームは一般設定で有効にすることができます。" #~ msgid "" #~ "PipeWire monitor streams are now excluded and removed from the " #~ "applications list." #~ msgstr "" #~ "PipeWire のモニターストリームがアプリケーションリストから除外され、削除さ" #~ "れるようになりました。" #~ msgid "Hopefully crashes like the one reported at [1172]( are fixed." #~ msgstr "" #~ "うまくいけば [1172]( で報告されたもののようなクラッシュが修正されていま" #~ "す。" #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "スペクトラムがクラッシュするのを防ぎました。" #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "英語以外の言語を使用しているシステムでは、Pavucontrol は入力アプリケーショ" #~ "ンリストに追加されません。" #~ msgid "" #~ "Improved compatibility with WirePlumber. This is needed to run on systems " #~ "that decided to use it instead of the" #~ msgstr "" #~ "WirePlumber との互換性を改善しました。これは次のものの代わりにシステムで動" #~ "作するために必要です" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "内蔵の PipeWire セッションマネージャーです。詳細は issue [1144]( で確認で" #~ "きます" #~ msgid "" #~ "When trying to add an autoloading profile for a device already in the " #~ "list its target preset will be updated. This way we can change the " #~ "profile preset without having to remove and recreating it." #~ msgstr "" #~ "すでにリストにあるデバイスに自動読み込みプロファイルを追加しようとすると、" #~ "そのターゲットプリセットが更新されます。これにより、プロファイルを削除して" #~ "再度作成せずにプロファイルのプリセットを変更することができます。" #~ msgid "" #~ "The preset autoloading support implementation was redesigned again. It " #~ "should work on more hardware now. For more information see issue [1051](" #~ msgstr "" #~ "プリセットの自動読み込みサポートの実装を再設計しました。これにより、多くの" #~ "ハードウェアで動作するようになりました。詳しくは issue [1051]( を確認して" #~ "ください" #~ msgid "" #~ "If the Limiter or the Maximizer are set in the last position of the " #~ "plugin stack, new plugins are added at the second to last position in " #~ "order to prevent hardware damage on eventually high output level." #~ msgstr "" #~ "プラグインスタックの最後にリミッターやマキシマイザーが設定されている場合、" #~ "高い出力レベルでハードウェアが損傷するのを防ぐために、新しいプラグインは最" #~ "後から2番目の位置に追加されます。" #~ msgid "" #~ "Removing an application from the blocklist, its previous enabled state is " #~ "restored." #~ msgstr "" #~ "ブロックリストからアプリケーションを削除すると、有効な状態に戻ります。" #~ msgid "" #~ "Sometimes when removing imported models from the noise reduction plugin " #~ "the current used model was not properly updated. This should be fixed now." #~ msgstr "" #~ "ノイズ除去プラグインからインポートしたモデルを削除すると、現在使用している" #~ "モデルが正しく更新されないことがありました。これは現在修正されているはずで" #~ "す。" #~ msgid "" #~ "When editing presets files in an external editor, duplicated entries " #~ "won't be shown in our presets menu." #~ msgstr "" #~ "外部エディタでプリセットファイルを編集すると、重複したエントリーがプリセッ" #~ "トメニューに表示されなくなります。" #~ msgid "Now the blocklist is correctly set when switching presets." #~ msgstr "" #~ "プリセットを切り替えたときに、ブロックリストが正しく設定されるようになりま" #~ "した。" #~ msgid "" #~ "Now the status of the global bypass button is correctly updated when " #~ "changing plugin stack." #~ msgstr "" #~ "プラグインのスタックを変更したときに、グローバルバイパスボタンの状態が正し" #~ "く更新されるようになりました。" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "システム上のアイコンが見つからない場合は、アプリケーション情報インター" #~ "フェース内に表示されません" #~ msgid "" #~ "Some icons not showing in Plasma DE with Breeze icon theme should appear " #~ "now." #~ msgstr "" #~ "Breeze アイコンテーマを使用した Plasma DE で表示されなかった一部のアイコン" #~ "が表示されるようになりました。" #~ msgid "Updated Chinese translation." #~ msgstr "中国語の翻訳を更新しました。" #~ msgid "Updated Italian translation." #~ msgstr "イタリア語の翻訳を更新しました。" #~ msgid "Added support for the compressor parameter `Boost Amount`" #~ msgstr "コンプレッサーのパラメーター「Boost Amount」に対応しました" #~ msgid "" #~ "The multiband compressor plugin now uses the stereo multiband compressor " #~ "plugin from Linux Studio Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "マルチバンドコンプレッサープラグインは、Calf Studio のものから Linux " #~ "Studio Plugins のステレオマルチバンドコンプレッサープラグインを使用するよ" #~ "うになりました。" #~ msgid "" #~ "The limiter plugin now uses the stereo limiter plugin from Linux Studio " #~ "Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "リミッタープラグインは、Calf Studio のものから Linux Studio Plugins のステ" #~ "レオリミッタープラグインを使用するようになりました。" #~ msgid "" #~ "LV2 filters now are spawned in PipeWire graph only when loaded the first " #~ "time. Once loaded, they remain connected until EasyEffects shutdown." #~ msgstr "" #~ "LV2 フィルターは、最初に読み込まれたときのみ PipeWire グラフに生成されるよ" #~ "うになりました。一度読み込まれると、EasyEffects がシャットダウンするまで接" #~ "続されたままになります。" #~ msgid "The echo canceller sampling rate is now properly set." #~ msgstr "" #~ "エコーキャンセラーのサンプリングレートが正しく設定されるようになりました。" #~ msgid "" #~ "The threshold parameter from the deesser plugin is now saved to the " #~ "preset file." #~ msgstr "" #~ "ディエッサープラグインのしきい値パラメーターがプリセットファイルに保存され" #~ "るようになりました。" #~ msgid "" #~ "Improved band splitting for crystalizer with new default intensity values." #~ msgstr "" #~ "クリスタライザーのバンドスプリットを改善し、新しいデフォルトの強度値を追加" #~ "しました。" #~ msgid "" #~ "Depending on the input gain or output gain values the corresponding level " #~ "bars could not be aligned." #~ msgstr "" #~ "入力ゲインや出力ゲインの値によっては、対応するレベルバーが揃わないことがあ" #~ "りました。" #~ msgid "" #~ "When adding more equalizer bands they are set to `Bell` instead of `Off`." #~ msgstr "" #~ "イコライザーバンドを追加すると、「オフ」ではなく「ベル」に設定されます。" #~ msgid "" #~ "Equalizer APO presets loading is now working properly on locales " #~ "different than C." #~ msgstr "" #~ "イコライザー APO のプリセットの読み込みが、C 以外のロケールで正しく動作す" #~ "るようになりました。" #~ msgid "Improved linking management between port filter nodes in PipeWire." #~ msgstr "PipeWire のポートフィルターノード間のリンク管理を改善しました。" #~ msgid "" #~ "The crystalizer plugin signal amplification was too high before. It " #~ "should be within more reasonable levels now." #~ msgstr "" #~ "以前は、クリスタライザープラグインの信号増幅が高すぎました。今は、より合理" #~ "的なレベルになっているはずです。" #~ msgid "" #~ "Improved the resampler used in the plugins that require one(like the " #~ "rnnoise plugin)" #~ msgstr "" #~ "リサンプラーを必要とするプラグイン (rnnoise プラグインなど) で使用されるリ" #~ "ザンプラーの改善" #~ msgid "Setting multiple autoloading presets should be fine now" #~ msgstr "" #~ "複数の自動読み込みプリセットを設定しても正常に動作するようになりました" #~ msgid "Transient windows are now properly set for some plugins dialogs" #~ msgstr "" #~ "一部のプラグインのダイアログで、一時的なウィンドウが適切に設定されるように" #~ "なりました" #~ msgid "" #~ "The convolver impulse response menu was improved to workaround an issue " #~ "where the impulse files was not loaded when only one was available in the " #~ "menu" #~ msgstr "" #~ "コンボルバーのインパルス応答メニューで、インパルスファイルが1つしかない場" #~ "合に読み込まれないという問題を改善しました" #~ msgid "" #~ "Fixed a bug that could make the pitch plugin to not be properly " #~ "initialized" #~ msgstr "ピッチプラグインが正しく初期化されないことがあるバグを修正しました" #~ msgid "" #~ "The saturation warning should not displace its neighbor widgets anymore" #~ msgstr "" #~ "サチュレーション警告は、もう隣のウィジェットの位置を変えることはありません" #~ msgid "Fixed the locale in a few widgets" #~ msgstr "いくつかのウィジェットのロケールを修正" #~ msgid "Fixed wrong alignment in a few widgets" #~ msgstr "いくつかのウィジェットで誤った配置になっていたのを修正" #~ msgid "" #~ "The Loudness plugin is being used again for the reasons described at This " #~ "means that is an optional dependency again." #~ msgstr "" #~ "ラウドネスプラグインは、ここで説明されている理由のために再び使用されていま" #~ "す。そのため、オプションの依存関係になりました。" #~ msgid "" #~ "Fixed a segmentation fault that happened when optional dependencies were " #~ "not installed" #~ msgstr "" #~ "オプションの依存パッケージがインストールされていない場合に発生するセグメン" #~ "テーションフォールトを修正しました" #~ msgid "Improved equalizer interface." #~ msgstr "イコライザーのインターフェースを改善しました。" #~ msgid "" #~ "Now we use a sidechain LSP compressor that allows the user to select and " #~ "external source as the sidechain input." #~ msgstr "" #~ "現在は、サイドチェーン入力として外部ソースを選択できるサイドチェーン LSP " #~ "コンプレッサーを使用しています。" #~ msgid "We now support the LSP compressor `Boosting` mode." #~ msgstr "LSP コンプレッサーの「ブースト」モードに対応しました。" #~ msgid "" #~ "When `split-channels` is enabled in the equalizer the imported APO preset " #~ "will be applied only to the channel being visualized in the window. This " #~ "will allow to import different presets for each channel instead of just " #~ "settings the same values to both." #~ msgstr "" #~ "イコライザーで「スプリットチャンネル」が有効になっている場合、インポートさ" #~ "れた APO プリセットは、ウィンドウに表示されているチャンネルのみ適用されま" #~ "す。これにより、両方に同じ値を設定するのではなく、チャンネルごとに異なるプ" #~ "リセットをインポートすることができます。" #~ msgid "" #~ "Fixed some segmentation faults that could happen when creating a preset " #~ "autoloading profile or removing presets" #~ msgstr "" #~ "プリセットの自動読み込みプロファイル作成時やプリセットの削除時に発生するセ" #~ "グメンテーションフォールトを修正" #~ msgid "" #~ "This is one of the biggest releases that I have ever made. The amount of " #~ "changes is so big that it is hard to talk about everything here." #~ msgstr "" #~ "今回のリリースは、これまでのリリースの中でも最も大きなもののひとつです。変" #~ "更点が多すぎて、ここですべてを話すことはできません。" #~ msgid "" #~ "The following are just the most import ones. People interested on the " #~ "journey that got us here can take" #~ msgstr "" #~ "以下は、最も重要なものだけです。ここに至るまでの道のりに興味のある方は" #~ msgid "a look at and" #~ msgstr "を見て、" #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "" #~ "アプリケーションとそのリポジトリの名称が PulseEffects から EasyEffects に" #~ "変更されました" #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "gtkmm3 は gtkmm4 に置き換えられました" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "" #~ "Gstreamer は、ネイティブの PipeWire フィルターに置き換えられました。" #~ msgid "" #~ "Many features were reimplemented from scratch. The preset autoloading is " #~ "one example. Another remarkable change will be seen in the plugins " #~ "selection menu. Now the user can show in the window only the plugins that " #~ "he/she wants to use." #~ msgstr "" #~ "多くの機能がゼロから再実装されました。プリセットの自動読み込みはその一例で" #~ "す。また、プラグイン選択メニューも大きく変化しました。ユーザーは、使用した" #~ "いプラグインだけをウィンドウに表示できるようになりました。" #~ msgid "" #~ "Boost is no longer a dependency. The price paid for that was a little " #~ "change in our presets structures. With some patience it is possible to " #~ "edit PulseEffects presets in a text editor and make them work in " #~ "EasyEffects. Hopefully someone will come up with a script for this in the " #~ "feature." #~ msgstr "" #~ "Boost は依存関係でなくなりました。そのため、プリセットの構造に少し変更があ" #~ "りました。根気があれば、PulseEffects のプリセットをテキストエディタで編集" #~ "して、EasyEffects で動作させることができます。誰かがこの機能のためのスクリ" #~ "プトを開発してくれることを期待しています。" #~ msgid "" #~ "New libraries are being used and some of the librarires that were " #~ "optional before are now required" #~ msgstr "" #~ "新しいライブラリーが使われるようになり、以前はオプションであったライブラ" #~ "リーの一部が必須になりました" #~ msgid "Average" #~ msgstr "平均" #~ msgid "Failed" #~ msgstr "失敗" #~ msgid "Use Default" #~ msgstr "デフォルトを使用" #~ msgid "Remove this plugin" #~ msgstr "このプラグインを削除" #~ msgid "Import Presets" #~ msgstr "プリセットをインポート" #~ msgid "Start Service at Login" #~ msgstr "ログイン時にサービスを開始" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "起動時にデバイスの音量をリセット" #, fuzzy #~ msgid "Activate" #~ msgstr "アクティブモデル" #~ msgid "Add to Blocklist" #~ msgstr "ブロックリストに追加" #~ msgid "Blocklist" #~ msgstr "ブロックリスト" #~ msgid "Add Plugin" #~ msgstr "プラグインを追加" #~ msgid "Speakers" #~ msgstr "スピーカー" #~ msgid "Microphone" #~ msgstr "マイク" #~ msgid "Plugins" #~ msgstr "プラグイン" #, fuzzy #~ msgid "enabled" #~ msgstr "有効" #, fuzzy #~ msgid "disabled" #~ msgstr "有効" #~ msgid "Format" #~ msgstr "フォーマット" #~ msgid "Latency" #~ msgstr "レイテンシー" #~ msgid "idle" #~ msgstr "アイドル" #~ msgid "Faster" #~ msgstr "より速く" #~ msgid "Preserve Formant" #~ msgstr "フォルマントを保持" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" easyeffects-7.1.7/po/ka.po000066400000000000000000001725221463533416400154220ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-02-22 18:30+0000\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.16-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "ჩართვა" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "გამორიცხვა" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_მორგება" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "პრესეტები" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "ძირითადი მენიუს" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "სამიზნე წერტილი" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "სიჩუმე" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "მითითება" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "დაბრუნება" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "ფარდობითი" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "დიაპაზონი" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "გამოტანის გაძლიერება" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "შეყვანა" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "გამოტანა" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "მოწყობილობა" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "სახელი" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "პროფილი" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "შაბლონი" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "მოსმენა" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "მესამე" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "მეორე" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "რაოდენობა" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "ჰარმონიები" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "ფარგლები" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "იატაკი" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "უმცირესი მნიშვნელობა" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "ბმული" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "აპლიკაციის სახელი" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "კომპრესორი" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "რეჟიმი" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "ქვევით" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "ზემოთ" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "გაძლიერება" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "შეტევა" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "დრო" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "ზღვარი" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "შეტევის დრო" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "გამოცემა" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "გათავისუფლების დრო" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "პროპორციები" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "მუხლი" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "სტერეო რეჟიმი" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "წყარო" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "შუა" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "გვერდითი" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "მარცხენა" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "მარჯვენა" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "მინ" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "მაქს" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "მარჯვენა" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "მარჯვენა" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "გვერდითი" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "გვერდითი" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "სტერეო რეჟიმი" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "პიკი" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "დაბალსიხშირული ფილტრი" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "ტიპი" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "გარე" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "შეყვანის მოწყობილობა" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "სიხშირე" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "გამორთ" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "გაძლიერება" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "კონვერტი" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "მრუდი" #: data/ui/convolver.ui:40 msgid "L" msgstr "მხ" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "მარცხენა არხი" #: data/ui/convolver.ui:53 msgid "R" msgstr "მჯ" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "მარჯვენა არხი" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "კომბინირება" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "სპექტრი" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "სიხშირე" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "სემპლები" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "ხანგრძლოვობა" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "ლენტა" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "დადუმება" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "ფართო" #: data/ui/deesser.ui:78 msgid "Split" msgstr "გაყოფა" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "გამოვლინდა" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "დაყოვნება" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "გუნდები" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "ბალანსი" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "არხების გაყოფა" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "პრესეტის შემოტანა" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "პრესეტის შემოტანა" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "დახრა" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "სოლო" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "ხარისხი" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "სიგანე" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "ჭერი" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "შიდა" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "წვდომა" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "აღწერა" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "ზარი" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "გუნდები" #: data/ui/filter.ui:56 msgid "Notch" msgstr "ამოკვეთა" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "რეზონანსი" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "ეკვალაიზერი" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "ფილტრი" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "გეითი" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "ზონა" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "მიქსი" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "პიკი" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "დიზერი" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "გაძლიერება" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "სტანდარტული" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "ბრტყელი" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "გამოტანის ხმა" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "კლინინგი" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "კლასიკური" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "თანამედროვე" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "სტერეო რეჟიმი" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "მაღალი ხარისხი" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "ძირითადი" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "მოწყობილობის მართვა" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "ინფორმაცია სერვერის შესახებ" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "სემპლინგისსიჩქარე" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "გამოტანის მოწყობილობები" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "შემომტანი მოწყობილობები" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "მოდულები" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "კლიენტი" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "მდგომარეობა" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "ჩართულია" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "არხები" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "ორივე" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "ორივე არხი" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "ტალღოვანი" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "თეთრი ხმაური" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Pitch" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "მითითება" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "მითითება" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "ეფექტის დამატება" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_საერთო" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "სერვისი" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "აუდიო" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "შიდა" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "სიხშირე" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "სტილი" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "ექსპერიმენტალური" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "ფორმა" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "მართკუთხედები" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "ხაზები" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "წერტილები" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "წერტილები" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "ხაზის სიგანე" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "ღერძის ჭდეები" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "მინიმუმი" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "მაქსიმუმი" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "ჩატვირთვა" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "შაბლონი" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "პრესეტის შემოტანა" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "შაბლონი" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "პრესეტები" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "შაბლონი" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "პრესეტები" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "პატარა" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "საშუალო" #: data/ui/reverb.ui:84 msgid "Large" msgstr "დიდი" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "გვირაბი" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "ექსპერიმენტალური" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "დიფუზია" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Bass-ის მოჭრა" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "მაღალი სიხშირეების მოჭრა" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "ოთახი" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "დისკო" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "მოდელები" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "მიმოხილვა" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "ხმაურის მოცილება" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "ხმის მომატების ავტომატური კონტროლი" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "გაგრძელება" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "დონე" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "სტერეო რეჟიმი" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "გაშვებულია" #: src/app_info.cpp:102 msgid "Suspended" msgstr "გაჩერებულია" #: src/app_info.cpp:104 msgid "Idle" msgstr "უმოქმედო" #: src/app_info.cpp:106 msgid "Creating" msgstr "შექმნა" #: src/app_info.cpp:108 msgid "Error" msgstr "შეცდომა" #: src/app_info.cpp:110 msgid "Unknown" msgstr "უცნობი" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "არხები" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "გახსნა" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "სალამურები" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "მოთამაშეები" #: src/effects_box.cpp:352 msgid "Effects" msgstr "ეფექტები" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "ეკვალაიზერი" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "წაშლა" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "გამოტანის მოწყობილობები" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "დამატება" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "პრესეტის შემოტანა" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "პრესეტები" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "პრესეტის შემოტანა" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "ეკვალაიზერი" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "დონე" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "შემზღუდველი" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "ხმაურის შემცირება" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "გამოყენება" #~ msgid "Uniform" #~ msgstr "ერთგვაროვანი" #~ msgid "infinity" #~ msgstr "უსასრულობა" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "პროპორციები" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "ზღვარი" #, fuzzy #~ msgid "Low-pass" #~ msgstr "დაბალსიხშირული ფილტრი" #, fuzzy #~ msgid "High-pass" #~ msgstr "მაღალსიხშირული ფილტრი" #~ msgid "Mixed" #~ msgstr "შერეული" #~ msgid "Smooth" #~ msgstr "რბილი" #~ msgid "Detector" #~ msgstr "დეტექტორი" #~ msgid "Soft" #~ msgstr "რბილი" #~ msgid "Phase" #~ msgstr "ფაზა" #~ msgid "Independent" #~ msgstr "დამოუკიდებელი" #~ msgid "Octaves" #~ msgstr "ოქტავები" #~ msgid "_Manual" #~ msgstr "_ხელით" #~ msgid "Low Pass" #~ msgstr "დაბალსიხშირული ფილტრი" #~ msgid "Cancel" #~ msgstr "გაუქმება" easyeffects-7.1.7/po/km.po000066400000000000000000001554041463533416400154360ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-08-17 04:16+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Khmer (Central) \n" "Language: km\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.14-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.7/po/ko.po000066400000000000000000002130571463533416400154370ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-12-31 05:09+0000\n" "Last-Translator: 이정희 \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.4-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "이퀄라이저, 컴프레서 및 기타 오디오 효과" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire 응용프로그램을 위한 오디오 효과" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" "limiter;compressor;reverberation;equalizer;autovolume;리미터;컴프레서;리버브;" "이퀄라이저;자동음량조절;반향;잔향;자동음량;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "이 응용프로그램 활성화/비활성화" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "활성화" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "제외된 앱 목록: 이 응용프로그램 추가/제거하기" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "제외하기" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "응용 프로그램 음소거" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "이 응용프로그램의 음량 변경하기" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "응용 프로그램 음량" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "도움말(_H)" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "설정 재지정(_R)" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "환경설정(_P)" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "단축키(_S)" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "Easy Effects 정보(_A)" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "종료(_Q)" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "프리셋" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "프리셋 메뉴" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "전역 바이패스 활성화/비활성화" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "전역 Bypass" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "기본 메뉴" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects 창" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "응용 프로그램 목록" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "빈 목록" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "사용 가능한 오디오 응용프로그램 없음" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "대상" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "최대 히스토리" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "참조" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "순간" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "단기" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "통합" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "기하 평균 (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "기하 평균 (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "기하 평균 (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "기하 평균 (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "히스토리 재지정" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "재지정" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "소리의 세기" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "상대적" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "범위" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "아웃풋 게인" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "인풋" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "플러그인 인풋 게인" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "아웃풋" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "플러그인 아웃풋 게인" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "장치" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "이름" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "프로필" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "프리셋" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "이 자동불러오기 프리셋 제거하기" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "듣기" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "고조파 섞기" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "세번째" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "두번째" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "수량" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "고조파" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "스코프" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "플로어" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "플로어 값" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "링크" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "응용프로그램 이름" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "제외된 응용프로그램에 추가하기" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "제외된 프로그램 목록" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "제외된 프로그램 보기" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "컴프레서" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "모드" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "아래방향" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "윗방향" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "증폭" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "압축 모드" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "부스트 한계값" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "부스트 양" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "어택" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "타임" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "한계값" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "어택 타임" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "어택 한계값" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "릴리스" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "릴리스 타임" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "릴리스 한계값" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "비율" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 #, fuzzy msgid "Knee" msgstr "Knee" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "메이크업" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "드라이 레벨" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "웨트 레벨" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "사이드체인" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "스테레오 분할 모드" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "소스" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "중간" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "측면" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "좌측" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "우측" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "최소" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "최대" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "사이드체인 소스" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "좌측/우측" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "우측/좌측" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "중간/측면" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "측면/중간" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "스테레오 분할 모드" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "피크" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "로우패스 필터" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "단순 이동 평균" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "사이드체인 모드" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "사이드체인 듣기" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "유형" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "피드포워드" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "피드백" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "외부" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "사이드체인 유형" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "입력 장치" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "프리앰플리케이션" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "반응성" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "룩 어헤드" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "사이드체인 필터" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "하이패스" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "주파수" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "끄기" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "하이패스 필터 모드" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "하이패스 필터 주파수" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "로우패스" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "로우패스 필터 모드" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "게인" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "엔벌로프" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "커브" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "좌측 채널" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "우측 채널" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "임펄스" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "결합하기" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "스테레오 너비" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "스펙트럼" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "로그 스케일" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "오토게인" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "속도" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "샘플" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "재생시간" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Impulse 반응 결합하기" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "첫 번째 커널" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "두 번째 커널" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "출력 파일 이름" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "결합된 커널 이름" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Impulse 가져오기" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "검색하기" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Impulse 파일 검색하기" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Impulse 파일 목록" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "기본값" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "컷오프" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "피드" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "바이패스" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "음소거" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "포스트 필터 베타" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "탐지" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "와이드" #: data/ui/deesser.ui:78 msgid "Split" msgstr "분할" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 분할" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "주파수 1 분할" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 피크" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "주파수 2 피크" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 게인" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "주파수 1 게인" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 레벨" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "주파수 2 레벨" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 피크 Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "주파수 2 피크 Q" #: data/ui/deesser.ui:267 #, fuzzy msgid "Laxity" msgstr "Laxity" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "감지됨" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "감소" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "지연시간" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "필터 길이" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "이 응용프로그램 활성화/비활성화" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "피치 우측" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "분할 채널" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "프리셋 가져오기" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "프리셋 내보내기" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "내부" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "액세스" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "하이쉘프" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "밴드패스" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "래더패스" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "래더리젝션" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "올패스" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "릴리스 존 시작" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "주파수 2 피크" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "히스토리 재지정" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "대역폭 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "대역폭 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "대역폭 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "대역폭 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "대역폭 압축 모드" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "대역폭 바이패스" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "스테레오 분할" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "로우컷 필터 주파수" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "하이컷 필터 주파수" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "대역폭 게인" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "대역폭 감소" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "프리셋 자동 로딩" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "출력 장치" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "출력 프리셋" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "자동 로딩 출력 프리셋 추가하기" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "출력 자동 로딩 프리셋 목록" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "입력 장치" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "입력 프리셋" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "자동 로딩 입력 프리셋 추가하기" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "입력 자동 로딩 프리셋 목록" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "모듈" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "모듈 목록" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "클라이언트" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "클라이언트 목록" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "테스트 신호" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "상태" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "활성화됨" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "속성" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "채널" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "두 채널 모두" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "파형" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "사인파" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "백색 소음" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "빠른 탐색" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "앤티 앨리어싱" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "시퀀스 길이" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "탐색 창" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "오버랩 길이" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "피치" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "세미톤" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "템포 차이" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "속도 차이" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "이 효과 제거하기" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "효과 추가하기" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "이 효과 제거하기" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "사용된 플러그인 목록" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "효과 없음" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "플러그인 검색하기" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "플러그인 목록" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "서비스" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "오디오" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "내부" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "주파수" #: data/ui/preferences_general.ui:143 #, fuzzy msgid "Related to LV2 Plugins" msgstr "업데이트 빈도 (LV2 플러그인)" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "주파수 범위" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "불러오기" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "현재 설정을 취소하고 이 프리셋을 불러옵니다" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "이 프리셋 파일에 현재 설정 저장하기" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "이 프리셋 파일 제거하기" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "출력 프리셋 검색하기" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "프리셋 가져오기" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "새 프리셋 이름" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "새 프리셋 만들기" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "프리셋 검색하기" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "프리셋 목록" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "출력 프리셋 검색하기" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "출력 프리셋 목록" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "고주파 감쇠" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "음성 감지" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "모델을 불러오지 않았습니다" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Easy Effects 종료" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "디리버버레이션" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "F2 레벨" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "입력 밸런스" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "스테레오 모드" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "출력 밸런스" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "실행 중" #: src/app_info.cpp:102 msgid "Suspended" msgstr "일시 중단됨" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "만드는 중" #: src/app_info.cpp:108 msgid "Error" msgstr "오류" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "채널" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "EasyEffects를 재설정합니다." #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "사용 가능한 프리셋을 표시합니다." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "프리셋을 불러옵니다. 예시: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "출력(_O)" #: src/application_ui.cpp:345 msgid "_Input" msgstr "입력(_I)" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "PipeWire(_P)" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Impulse 파일을 가져오지 않았습니다" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Impulse 파일 가져오기" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "열기" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Impulse 불러오기" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Impulse 제거하기" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "불러온 Impulse 파일 없음" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Impulse 파일을 불러오지 못했습니다" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "재생기" #: src/effects_box.cpp:352 msgid "Effects" msgstr "효과음" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "APO 프리셋 파일 가져오기" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO 프리셋" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "APO 프리셋을 불러오지 못했습니다. 파일 형식이 지원되지 않을 수 있습니다. 내용" "을 확인하세요." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "APO 프리셋을 내보낼 때 분할 채널은 아직 지원되지 않습니다." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "EqualizerAPO 프리셋 파일 내보내기" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO 프리셋" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ 프리셋 파일 가져오기" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ 프리셋" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "GraphicEQ 프리셋을 불러오지 못했습니다. 파일 형식이 지원되지 않을 수 있습니" "다. 내용을 확인해주세요." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "자동 로딩 프리셋 제거하기" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "출력 레벨 미터" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "제거" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "출력 장치" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "프리셋 가져오기" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "제외된 프로그램 목록" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "새 프리셋 이름" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "프리셋 목록" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "프리셋 가져오기" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "선택한 모델을 불러오지 못했습니다. 형식이 지원되지 않을 수 있습니다. 표준 모" "델로 돌아갔습니다." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "모델 파일 가져오기" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise 모델" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "베이스 인핸서" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "베이스 음량" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "콘벌버" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "크로스피드" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "크리스탈라이저" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "딥 노이즈 리무버" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "디이저" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "에코 캔슬러" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "이퀄라이저" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "익사이터" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "레벨 미터" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "리미터" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "맥시마이저" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "멀티밴드 컴프레서" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "멀티밴드 게이트" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "리버버레이션" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "노이즈 저감" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "음성 프로세서" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "스테레오 도구" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} 사용 불가" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "{} 효과 \"{}\"에 필요한 소프트웨어가 설치되지 않았습니다. Easy Effects " "Flatpak 패키지를 사용하거나 소프트웨어를 직접 설치해 보세요." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "Easy Effects가 컴파일될 때 {} 효과가 비활성화되었습니다. 이는 아마도 이 효과" "에 필요한 소프트웨어 \"{}\"를 사용할 수 없었기 때문일 것입니다. Easy Effects " "Flatpak 패키지를 사용하거나 자신만의 Easy Effects 패키지를 구축해 보세요." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "{} 사용 중" #~ msgid "\"Presets\"" #~ msgstr "\"프리셋\"" #~ msgid "Import a preset" #~ msgstr "프리셋 가져오기" #~ msgid "Uniform" #~ msgstr "균일" #~ msgid "New Output Preset Name" #~ msgstr "새 출력 프리셋 이름" #~ msgid "infinity" #~ msgstr "무한대" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "비율" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "한계값" #, fuzzy #~ msgid "Low-pass" #~ msgstr "저대역" #, fuzzy #~ msgid "High-pass" #~ msgstr "고대역" #, fuzzy #~ msgid "Band Type" #~ msgstr "바이패스" #, fuzzy #~ msgid "Loudness List" #~ msgstr "소리의 세기" #, fuzzy #~ msgid "Formant" #~ msgstr "포멧" #, fuzzy #~ msgid "Preserved" #~ msgstr "프리셋" #, fuzzy #~ msgid "Detector" #~ msgstr "Detection" #~ msgid "_Manual" #~ msgstr "수동(_M)" #~ msgid "Cancel" #~ msgstr "취소하기" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "PreAmplification" #, fuzzy #~ msgid "Frame Size" #~ msgstr "Frame Size" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "전역 바이패스 활성화/비활성화" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "저대역" #, fuzzy #~ msgid " Uniform" #~ msgstr "균일" #, fuzzy #~ msgid "Left Delay" #~ msgstr "좌측 채널" #, fuzzy #~ msgid "Right Delay" #~ msgstr "우측 채널" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "타겟" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "타겟" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "타겟" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "타겟" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "PipeWire 음향 효과 애플리케이션" #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects 정보(_A)" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects 윈도우" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "바이패스" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects는 고급 오디오 처리 도구 입니다. 이퀄라이저, 리미터, 컴프레서, " #~ "리버브 툴 등이 포함되며, 이외에도 여러가지 플러그인이 있습니다. 예를 들자" #~ "면 스펙트럼 분석기도 내장되어 있습니다." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects는 PulseEffects의 후속 프로젝트 입니다. EasyEffects는 PipeWire " #~ "만을 지원 합니다. PulseAudio를 사용하는 경우 PulseEffects를 사용하십시오." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "EasyEffects는 기본 PipeWire 사운드 서버를 사용하므로 대부분의 응용 프로그" #~ "램에서 작동합니다. 지원되는 모든 응용 프로그램은 메인 화면에 표시되며 각" #~ "각 개별적으로 활성화할 수 있습니다." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "EasyEffects는 음향 출력을 처리할 뿐만 아니라 마이크 등의 입력 장치에도 음" #~ "향효과를 걸 수 있습니다. 예를 들어 오디오 녹음 할 때 유용하며 음성 대화 시" #~ "에도 효과를 발휘합니다." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "EasyEffects를 시작하면 마지막 세션에서 사용된 설정이 적용됩니다. 현재 설정" #~ "을 모두 프로파일로 저장할 수도 있습니다." #~ msgid "The main page showing two audio output apps" #~ msgstr "두 개의 오디오 출력 프로그램을 보여주는 메인 페이지" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "오디오 컨트롤을 보여주는 bass enhancer 페이지" #~ msgid "The convolver page showing audio controls" #~ msgstr "오디오 컨트롤을 보여주는 convolver 페이지" #~ msgid "This release adds the following features:" #~ msgstr "이 릴리스에는 다음 기능이 추가되었습니다:" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "피치 플러그인의 인터페이스가 개선되었습니다" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "이제 응용 프로그램 아이콘이 QT를 사용하는 데스크톱과 호환됩니다." #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "스트림이 설정하는 경우 차단 목록 코드는 `application.id` 태그를 사용합니" #~ "다." #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "마우스 스크롤 문제를 방지하려면 `재생/녹음`에 표시된 애플리케이션 목록의 " #~ "항목을 스크롤하십시오" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "탭에 더 이상 볼륨 스케일이 표시되지 않습니다. 문제 및 해결 방법에 대한 자" #~ "세한 내용은 #1211에서 확인할 수 있습니다." #~ msgid "and #1427" #~ msgstr "그리고 #1427" #~ msgid "This release fixes the following bug:" #~ msgstr "이 릴리스는 다음 버그를 수정합니다:" #~ msgid "This release adds the following feature:" #~ msgstr "이 릴리스에는 다음 기능이 추가되었습니다:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "크로스 피드 필터는 PipeWire의 동적 레이턴시 스위치에 잘 대응합니다. 이제 " #~ "볼륨 레벨 점프가 발생하지 않습니다." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "모노 마이크가 EasyEffects에서 제대로 작동하지 않던 버그를 수정했습니다" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "PipeWire 다음 릴리스 `0.3.44`를 지원" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "차단 목록에 추가" #, fuzzy #~ msgid "Add Plugin" #~ msgstr "플러그인 추가" #, fuzzy #~ msgid "Format" #~ msgstr "포멧" #, fuzzy #~ msgid "Latency" #~ msgstr "레이턴시" #, fuzzy #~ msgid "idle" #~ msgstr "유휴 상태" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" easyeffects-7.1.7/po/meson.build000066400000000000000000000001121463533416400166120ustar00rootroot00000000000000i18n_mod.gettext(meson.project_name(), preset: 'glib' ) subdir('news') easyeffects-7.1.7/po/nb_NO.po000066400000000000000000002034351463533416400160200ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-02-20 11:02+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål \n" "Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Tonekontroll, kompressor og andre lydeffekter" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Lydeffekter for PipeWire-programmer" #: data/com.github.wwmm.easyeffects.desktop.in:7 #, fuzzy msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "begrenser; kompressor;klang ; equalizer; autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Slå på/ Slå av denne applikasjonen" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Slå på" #: data/ui/app_info.ui:225 #, fuzzy msgid "Excluded App List: Add/remove this application" msgstr "Liste over Ekskluderte App-er: Legg til/ Fjern denne applikasjonen" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Ekskluder" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Demp Applikasjonen" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Endre volumet på applikasjonen" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Programlydstyrke" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Hjelp" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Tilbakestill innstillingene" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Innstillinger" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Snarveier" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Om Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Avslutt" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 #, fuzzy msgid "Presets" msgstr "Profiler" #: data/ui/application_window.ui:61 #, fuzzy msgid "Presets Menu" msgstr "Profilmeny" #: data/ui/application_window.ui:68 #, fuzzy msgid "Enable/disable the global bypass" msgstr "Skru på/ Skru av global forbipassering" #: data/ui/application_window.ui:73 #, fuzzy msgid "Global Bypass" msgstr "Global Forbipassering" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Hovedmeny" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects vindu" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Applikasjons liste" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Tom liste" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Ingen applikasjon for lyd tilgjengelig" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 #, fuzzy msgid "Controls" msgstr "Kontroll knapper" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Mål" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Stillhet" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Maksimum historikk" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referanse" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Øyeblikkelig" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Midlertidig" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrert" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Geometrisk gjennomsnitt (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Tilbakestill historikk" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Tilbakestill" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Utgangs Forsterkning" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Inngang" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Programvareutvidelse inngang forsterkning" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Utgang" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Programvareutvidelse utgang forsterkning" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Enhet" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Navn" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Forhåndsinnstilling" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Fjern autolasting Forhåndsinnstilling" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Lytt" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "Tredje" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "Andre" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Mengde" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Overtoner" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Omfang" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Gulv" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Gulvverdi" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Lenke" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Programnavn" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Vis svartelistede programmer" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Svartelistede programmer" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Vis svartelistede programmer" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Lukk vinduet" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompressor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Nedover" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Oppover" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Kompresjonsmodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tid" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Terskel" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 #, fuzzy msgid "Release" msgstr "frigjøring grense" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Forhold" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Kne" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Splittet Stereomodus" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Kilde" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Midten" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Side" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Venstre" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Høyre" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Maks" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Venstre/Høyre" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Høyre/Venstre" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Splitt Stereokilde" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 #, fuzzy msgid "Peak" msgstr "Top" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Lavpassfilter" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 #, fuzzy msgid "Feed-back" msgstr "Respons" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Ekstern" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Inndataenhet" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Førforsterkning" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Høypass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekvens" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Av" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Høypassfilter-modus" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Høypassfilter-frekvens" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Lavpass" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Lavpassfilter-modus" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Forsterkning" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "V" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Venstre kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "H" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Høyre kanal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulser" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Kombiner" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereobredde" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Log-skala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autoforsterk" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Takt" #: data/ui/convolver.ui:168 #, fuzzy msgid "Samples" msgstr "Prøver" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Varighet" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Første kjerne" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Andre kjerne" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Utdata-filnavn" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Kombinert kjernenavn" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Søk" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Impulsfilliste" #: data/ui/crossfeed.ui:39 #, fuzzy msgid "Default" msgstr "Standard" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Forstum" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlengde" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Oppdagelse" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Bred" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Splitt" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 Splitt" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frekvens 1 Splitt" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "F2 Top" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Forsterkning" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Reduksjon" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inverter fase" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlengde" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Reduksjon" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Reduksjon" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Slå på/ Slå av denne applikasjonen" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bånd" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balanse" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Høyre" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Beregn frekvenser" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Bånd" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importer forhåndsinnstillinger" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Bredde" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Ekstern" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Tilgang" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Beskrivelse" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Fjern denne modellfilen" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Høypass" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Bånd" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonans" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Lavpass" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Maks. reduksjon" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Lavpass" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 #, fuzzy msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Tilbakestill historikk" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Oversampling" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ingen" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Utgangslydstyrke" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klassisk" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderne" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Inverter fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Bånd 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Bånd 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Bånd 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Bånd 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Bånd 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Bånd 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Bånd 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Bånd 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Bånd-start" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Bånd-slutt" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereomodus" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Kvalitet" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Maks. reduksjon" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Generelt" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Bruk forvalgt inngang" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Egendefinert inngangsenhet" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Bruk forvalgt utgang" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Egendefinert utgangsenhet" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Tjenerinfo" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Biblioteksversjon" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Utgangsenheter" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Utgangsforhåndsinnstillinger" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Opprett tilknytning" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Inngangsenheter" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Inngangsforhåndsinnstillinger" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduler" #: data/ui/pipe_manager_box.ui:495 #, fuzzy msgid "Modules List" msgstr "Modulliste" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Klienter" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Klientliste" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Testsignal" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Tilstand" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Påskrudd" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Egenskaper" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanaler" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Begge" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Begge kanaler" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Bølgeform" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusbølge" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Hvit støy" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Lukk vinduet" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filterlengde" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Referanse" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Referanse" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Fjern denne modellfilen" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Legg til effekt" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Fjern denne modellfilen" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Programtilleggsliste" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Generelt" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Tjeneste" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Start tjeneste ved systemoppstart" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Lyd" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Inaktivitetstidsavbrudd" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Ekstern" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frekvens" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Ifør mørk drakt" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Eksperimentelt" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Lukk vinduet" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Form" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Bjelker" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linjer" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Høyde" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Linjebredde" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Farge" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Forhåndsinnstilling" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importer modell" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Nytt inngangforhåndsinnstillingsnavn" #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Opprett forhåndsinnstilling" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Forhåndsinnstilling" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Inngangforhåndsinnstillingsliste" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Forhåndsinnstilling" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Inngangforhåndsinnstillingsliste" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Høyfrekvensdemping" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Romstørrelse" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Lite" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Middels" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Stort" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Eksperimentelt" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Tor tom hall" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Diskotek" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importer modell" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Oppdagelse" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modeller" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktiv modell" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Oversikt" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Lukk vinduet" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "Avslutt EasyEffects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Tjenerinfo" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 #, fuzzy msgid "Start" msgstr "Bånd-start" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Reduksjon" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereomodus" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 #, fuzzy msgid "Error" msgstr "feil" #: src/app_info.cpp:110 #, fuzzy msgid "Unknown" msgstr "ukjent" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Kanaler" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Avslutt EasyEffects" #: src/application.cpp:609 #, fuzzy msgid "Hide the Window." msgstr "Skjul vinduet." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "Vis tilgjengelige forhåndsinnstillinger." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Utgang" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Inngang" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Åpne" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Opptakere" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Avspillere" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effekter" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importer forhåndsinnstillinger" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Lagre" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importer forhåndsinnstillinger" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Inngangsforhåndsinnstillinger" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Utgangsenhet" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Fjern" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Utgangsenhet" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Legg til" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importer forhåndsinnstillinger" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Svartelistede programmer" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Lagre?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Slette?" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Nytt inngangforhåndsinnstillingsnavn" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Inngangforhåndsinnstillingsliste" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importer forhåndsinnstillinger" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Markert modul er ikke lastet. Det er mulig at formatet ikke støttes. Faller " "tilbake til standard modell." #: src/rnnoise_ui.cpp:159 #, fuzzy msgid "Import Model File" msgstr "Importer modellfil" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 #, fuzzy msgid "Bass Enhancer" msgstr "Bass Forbedring" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 #, fuzzy msgid "Convolver" msgstr "Convolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Krystallisering" #: src/tags_plugin_name.cpp:45 #, fuzzy msgid "Deep Noise Remover" msgstr "Dyp Støyfjerner" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Ekkokansellering" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Tonekontroll" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Nivåmåler" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Begrenser" #: src/tags_plugin_name.cpp:57 #, fuzzy msgid "Maximizer" msgstr "Maksimer" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Multibånd Kompressor" #: src/tags_plugin_name.cpp:59 #, fuzzy msgid "Multiband Gate" msgstr "Multiband Avgrenser" #: src/tags_plugin_name.cpp:61 #, fuzzy msgid "Reverberation" msgstr "Klang" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Støyreduksjon" #: src/tags_plugin_name.cpp:63 #, fuzzy msgid "Speech Processor" msgstr "Vokalprosessor" #: src/tags_plugin_name.cpp:64 #, fuzzy msgid "Stereo Tools" msgstr "Stereo verktøy" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} Ikke tilgjengelig" #: src/ui_helpers.cpp:97 #, fuzzy, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "Programvaren som kreves for effekten {}, er ikke installert \"{}\". Vurder " "å bruke Easy Effects Flatpak pakken eller installer programvaren på egenhånd." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "Effekten {} ble deaktivert når Easy Effects ble kompilert. Det er mulig på " "grunn av at programvaren som kreves for denne effekten, \"{}\" ikke var " "tilgjengelig. Vurder å bruke Easy Effects Flatpak pakken eller installer " "programvaren på egenhånd." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Bruker {}" #~ msgid "\"Presets\"" #~ msgstr "«Forhåndsinnstillinger»" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importer forhåndsinnstillinger" #~ msgid "Uniform" #~ msgstr "Ensartet" #~ msgid "infinity" #~ msgstr "uendelig" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Forhold" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Terskel" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Lavpass" #, fuzzy #~ msgid "High-pass" #~ msgstr "Høypass" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt lavpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt lavpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt lavpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt høypass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt høypass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt høypass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt båndpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt båndpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt båndpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct båndsperre" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct båndsperre" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct båndsperre" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Modulliste" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Profiler" #, fuzzy #~ msgid "Detector" #~ msgstr "Oppdagelse" #~ msgid "Octaves" #~ msgstr "Oktaver" #, fuzzy #~ msgid "_Manual" #~ msgstr "_Manuell" #~ msgid "Cancel" #~ msgstr "Avbryt" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Forstum program" #~ msgid "Frame Size" #~ msgstr "Rammestørrelse" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Lavpass" #, fuzzy #~ msgid " Uniform" #~ msgstr "Ensartet" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Venstre kanal" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Høyre kanal" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reduksjon" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects er et avansert lydmanipuleringsverktøy. Det har tonekontroll, " #~ "lydbegrenser, kompressor og etterklangsverktøy, for å nevne noe. En " #~ "innebygd spektrumsanalysator komplementerer disse." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects er etterfølgeren til PulseEffects. EasyEffects støtter også " #~ "Pipewire sin lydtjener. PulseAudio-brukere bør bruke PulseEffects " #~ "istedenfor." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Når EasyEffects startes, vil den huske alle innstillingene du gjorde i " #~ "forrige økt. Det er også mulig å lagre innstillingene i ulike profiler." #~ msgid "The main page showing two audio output apps" #~ msgstr "Hovedsiden som viser to programmer der det spilles av lyd" #, fuzzy #~ msgid "The convolver page showing audio controls" #~ msgstr "Convolver-siden viser lydkontroller" #~ msgid "This release adds the following features:" #~ msgstr "Denne utgaven bringer følgende funksjoner:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bånd 1" #, fuzzy #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Dette er en ny innstilling som lar brukeren velge tidsavbrudd for " #~ "inaktivitet. Når ingen klient spiller" #, fuzzy #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "til eller tar opp fra enhetene vil filterne avlenkes etter at " #~ "tidsavbruddsperioden er nådd. Dette gjøres for å ikke" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "kaste bort prosessorkraft på å behandle stillhet." #~ msgid "This release fixes the following bug:" #~ msgstr "Denne utgaven fikser følgende feil:" #~ msgid "This release adds the following feature:" #~ msgstr "Denne utgaven fikser følgende funksjon:" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Støtte for neste PipeWire-utgave `0.3.44`" #~ msgid "The `tbb` library is a new dependency" #~ msgstr "`tbb`-biblioteket er en ny avhengighet" #~ msgid "Updated Chinese translation." #~ msgstr "Oppdatert kinesisk oversettelse." #~ msgid "Updated Italian translation." #~ msgstr "Oppdatert italiensk oversettelse." #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "gtkmm3 erstattes av gtkmm4" #, fuzzy #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "GStreamer erstattet av systemspesifikke PipeWire-filtre." #~ msgid "Average" #~ msgstr "Gjennomsnitt" #~ msgid "Use Default" #~ msgstr "Bruk forvalg" #~ msgid "Remove this plugin" #~ msgstr "Fjern dette programtillegget" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktiv modell" #~ msgid "Add to Blocklist" #~ msgstr "Legg til på svarteliste" #~ msgid "Blocklist" #~ msgstr "Svarteliste" #~ msgid "Add Plugin" #~ msgstr "Legg til programtillegg" #~ msgid "Speakers" #~ msgstr "Høyttalere" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Programtillegg" #, fuzzy #~ msgid "enabled" #~ msgstr "Påskrudd" #, fuzzy #~ msgid "disabled" #~ msgstr "Påskrudd" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Forsinkelse" #~ msgid "Faster" #~ msgstr "Raskere" easyeffects-7.1.7/po/news/000077500000000000000000000000001463533416400154325ustar00rootroot00000000000000easyeffects-7.1.7/po/news/LINGUAS000066400000000000000000000001531463533416400164560ustar00rootroot00000000000000cs de fr_FR gl hr id_ID it_IT nl pl pt_BR ru sk sv da nb_NO es_MX es_CO tr zh_CN ro es_VE ja ko es km af theasyeffects-7.1.7/po/news/POTFILES.in000066400000000000000000000000601463533416400172030ustar00rootroot00000000000000data/com.github.wwmm.easyeffects.metainfo.xml.ineasyeffects-7.1.7/po/news/af.po000066400000000000000000001221171463533416400163640ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Afrikaans \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Oudio-effekte vir PipeWire toepassing" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects is 'n gevorederde oudio manipilasie toepassing. Dit sluit in 'n " "gelykmaker, beperker, kompressor en nagalminstrument, net om 'n paar te " "noem. Om die te komplementeer is daar ook 'n spektrum ontleder." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects is die opvolger van PulseEffects. EasyEffects ondersteun slegs " "PipeWire se klankbediener. PulseAudio-gebruikers moet eerder PulseEffects " "gebruik." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Omdat EasyEffects die verstek PipeWire-klankbediener gebruik, sal dit met " "die meeste, indien nie alle toepassings wat jy gebruik nie, werk. Alle " "ondersteunde toepassings word in die hoofskerm aangebied, waar elkeen " "individueel geaktiveer kan word." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/ar.po000066400000000000000000001207541463533416400164050ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-04-17 22:27+0000\n" "PO-Revision-Date: 2024-04-20 21:07+0000\n" "Last-Translator: Abdullah Albaroty \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Weblate 5.5-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "تأثيرات صوتية لتطبيقات PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/cs.po000066400000000000000000002626521463533416400164140ustar00rootroot00000000000000# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Pavel Fric , 2017, 2018, 2019. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-06-20 22:06+0000\n" "Last-Translator: Jakub Pavlů \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" "X-Generator: Weblate 5.6-rc\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Zvukové efekty pro programy využívající PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects je pokročilým nástrojem pro zacházení se zvukem. Obsahuje mimo " "jiné nástroj ekvalizéru, omezovače (limiter), kompresoru a dozvuku. Na " "doplnění je také vestavěn analyzátor spektra." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects je nástupce aplikace PulseEffects. EasyEffects podporuje pouze " "audio server PipeWire. Uživatelé PulseAudio by měli použít aplikaci " "PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Protože EasyEffects používá výchozí zvukový server PipeWire, bude pracovat s " "většinou, pokud už ne se všemi vámi používanými programy. Všechny " "podporované programy jsou ukázány v hlavním okně, v němž je možné kterýkoli " "z nich ručně povolit." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Vedle práce se zvukovým výstupem dokáže EasyEffects efekty použít i na " "vstupní zařízení, jako je mikrofon. To je užitečné mimo jiné při nahrávání " "zvuku, avšak lze dobře uplatnit i během hlasových hovorů." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Když je EasyEffects spuštěn, zapamatuje si nastavení používané při posledním " "sezení. Je možné i uložit všechna aktuální nastavení jako profil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Hlavní stránka zobrazující dvě aplikace přehrávající zvuk" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Stránka zesílení basů zobrazující nastavení zvuku" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 #, fuzzy msgid "The convolver page showing audio controls" msgstr "Stránka konvoleru (convoler) zobrazující nastavení zvuku" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Funkce:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" "Vylepšení systému správy pipeline. Nelimitující efekty jsou umístěny před " "limitér, i když poslední dva pluginy v pipeline jsou limitér následovaný " "měřičem úrovně." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Opravy chyb:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" "Opravena regrese, která za určitých podmínek znemožňovala aktualizaci měřičů " "úrovně." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Ostatní poznámky:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" "Ve virtuálních zařízeních nyní nastavíme monitor.passthrough = true. To " "umožní, aby přehrávače videa správně použily posunutí latence, až bude " "vydána verze PipeWire > 1.0.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Vylepšené překlady." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" "EasyEffects se pokusí vyhnout přesunu do svých virtuálních zdrojových " "streamů, pro které uživatel nastavil vlastní objekt target.object, který se " "liší od mikrofonu, ze kterého EE nahrává. Aby se tato logika projevila, musí " "být stream spuštěn, když je již EE spuštěn." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Aktualizovány překlady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "Ekvalizér umí exportovat základní soubory předvoleb APO" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" "Na kartě přehrávače/rekordéry se zobrazí binární název zvukového klienta v " "případech, kdy není definován žádný název aplikace." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" "Verzi EasyEffects lze zobrazit v příkazovém řádku pomocí volby --version" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" "Bylo implementováno řešení chyby v gtk4 GtkLevelBar, které bude zachováno, " "dokud vývojáři gtk nevyřeší situaci na své straně" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" "Opravena regrese zavedená ve verzi 7.1.2, která mohla způsobit pád aplikace " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "Zásuvný modul DeepFilterNet lze nyní přidat do souboru předvoleb" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "Spektrum má novou možnost, která umožňuje vypnout dynamické vertikální " "měřítko." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "Vylepšená kompatibilita s nejnovějšími verzemi LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "Opraveno nesprávné vykreslení charakteristik souboru impulzní odezvy" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Opravena malá chyba, která bránila správné inicializaci prahu hlasové " "aktivity redukce šumu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "Do zásuvného modulu pro redukci šumu byl přidán nový ovládací prvek, který " "umožňuje vypnout detekci hlasu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "Efekt Filtr byl vylepšen o nové parametry, protože byl přenesen z Calf " "Studia do zásuvných modulů Linux Studia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "Redukce šumu pomocí RNNoise byla vylepšena přidáním ovládacích prvků Release " "a VAD Threshold." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "Redukce šumu pomocí RNNoise nyní dokáže smíchat původní a denoizovaný " "signál, aby výstup nezněl příliš \"suše\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Tato verze je určena pro práci s verzí Linux Studio Plugins stejnou nebo " "vyšší než \"1.2.10\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects lze nyní sestavit také pomocí libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" "Expander ze zásuvných modulů Linux Studio lze použít v aplikaci Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" "V pásmech ekvalizéru je nyní k dispozici dodatečný ovladač zesílení, který " "umožňuje efektivnější zadávání hodnot, které se obtížně nastavují ve " "stupnici. Další podrobnosti najdete v čísle 1383." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" "Přidána možnost výběru a načtení více souborů v úvodních dialogových oknech " "pro předvolby, impulzní odezvy Convolver a modely RNNoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "Opraveno tlačítko Solo v nastavení pásma ekvalizéru." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "Složky Easy Effects v adresáři /etc byly zrušeny a předvolby v nich umístěné " "se již nebudou načítat. V současné době se v nabídce Předvolby automaticky " "načítají pouze místní předvolby v adresáři ~/.config/easyeffects. V budoucnu " "zavedeme nový systém pro instalaci, správu a import komunitních předvoleb." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "Do okna předvoleb byla přidána sekce \"Experimentální funkce\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" "Lze použít nativní okno zásuvných modulů LSP. Jedná se o experimentální " "funkci určenou pouze pro pokročilé uživatele. Očekávejte tedy nějaké chyby." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "V efektu Pitch Shift lze nyní používat zlomkové půltónové hodnoty." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "Rozbalovací nabídka vstupního/výstupního zařízení na kartě PipeWire se " "aktualizuje, když se změní výchozí zařízení systému a je povoleno Použít " "výchozí. Tím se opravuje problém z roku 1989." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "Byl přidán nový zásuvný modul Level Meter založený na libebur128." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" "Zásuvný modul Pitch nyní používá knihovnu SoundTouch místo Rubberband. " "Doufejme, že k některým záhadným pádům, ke kterým docházelo s Rubbernandem, " "již nebude docházet." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" "Vylepšená kompatibilita s posledními verzemi PipeWire. Více informací " "najdete na adrese" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" "Aktivní filtry ekvalizéru již nejsou při změně počtu pásem nastaveny na typ " "Bell." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "Rabberband již není závislý, protože byl nahrazen systémem SoundTouch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "V nabídce předvoleb je nyní před uložením/odstraněním souboru předvoleb " "vyžadováno potvrzení." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "Reset zásuvného modulu by již neměl způsobit nefunkčnost jeho ovládacích " "prvků." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "Speex již není nesprávně uveden jako závislost sestavení (speexdsp je stále " "závislost sestavení)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "RNNoise již není autodependence. Nyní je ve výchozím nastavení vyžadována, " "pokud není k dispozici, musí být explicitně zakázána pomocí -Denable-" "rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "V poslední verzi došlo k malé chybě. Vytváříme novou, abychom se ujistili, " "že lidé mají v balíčku správnou větev" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "Funkce ekvalizéru \"třídit pásma\" nyní řadí pásma v nastavení GSettings, " "takže výsledek lze uložit do předvoleb." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "Zlepšení výkonu při resetování kláves." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "Opraven výběr předvolby \"Velký prázdný sál\" v efektu Dozvuk." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Opraveno několik nesprávných použití rozhraní API služby PipeWire, které " "mohou potenciálně opravit některé náhodné chyby, s nimiž se někteří " "uživatelé potýkají." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Vzhledem k tomu, že odstraňujeme kód zastaralý v GTK 4.10, byla zvýšena " "minimální verze GTK." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "Byla zlepšena rychlost aktualizace zásuvných modulů spektra. Různé " "vzorkovací frekvence by měly vést k vizuálně podobným frekvencím aktualizace." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "Interval aktualizace používaný hladinoměry a spektrem si může uživatel " "přizpůsobit." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "Hodnotu posuvníku zesílení pásma ekvalizéru lze aktualizovat ve větších " "krocích. Jemné ovládání je stále možné pomocí kláves nahoru/dolů na " "klávesnici." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Drobná vylepšení potlačovače ozvěny." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "Po přechodu na více filtrů nebyly sondy pro potlačení ozvěny propojeny se " "zvukovou kartou. To by nyní mělo být opraveno." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Do efektového potrubí je nyní možné přidat více než jednu instanci filtru." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Byl přidán nový zásuvný modul Speech Processor založený na knihovně Speex. " "Kromě potlačení šumu dokáže také detekovat hlasovou aktivitu. Je to slušná " "alternativa pro případy, kdy knihovna rnnoise nefunguje dobře." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Vylepšená kompatibilita se zásuvnými moduly Linux Studia 1.2.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "Předvolby GraphicEQ lze importovat do efektu ekvalizéru." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "Název aplikace byl změněn na Easy Effects, aby se dodržely konvence " "pojmenování podle Pokynů pro lidské rozhraní prostředí GNOME." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "Dokumentace byla aktualizována." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Vylepšené automatické načítání předvoleb." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "Práh ticha funkce Autogain může nyní konfigurovat uživatel." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "Do efektu Stereo Tools byly přidány ovládací prvky Dry a Wet." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "Potlačovač ozvěny je nyní vybaven funkcí potlačení zbytkového šumu, která je " "rovněž založena na knihovně Speex." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Při najetí myší na graf se zobrazovala nesprávná hodnota souřadnice osy x. " "Tato regrese je opravena." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "Kvůli nové funkci více instancí se změnil formát předvoleb, ale starý formát " "je stále kompatibilní a lze jej načíst. Každopádně berte v úvahu, že uložení " "aktuální předvolby ji vždy zapíše v novém formátu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "Implementace vícepásmové brány byla přesunuta z CALFu do zásuvných modulů " "Linux Studia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 #, fuzzy msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "Kód pro automatické načtení profilu u USB zařízení byl vylepšen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "U některých zásuvných modulů byly přidány ovládací prvky Wet/dry" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "Rozhraní efektů se již nenačítá, pokud v systému není nainstalován " "související zásuvný modul lv2. Místo něj se zobrazí stavové hlášení pro " "uživatele." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "Dokumentace byla aktualizována" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Vylepšené zprávy pro ladění" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Vylepšené překlady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Opravena chyba, kdy EasyEffects mohlo spadnout při současném zavírání okna a " "aplikování efektů." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "Do profilu lze uložit stav bypassu. Důvod je popsaný v problému 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "Kód pro automatické načtení profilu u USB zařízení byl vylepšen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 #, fuzzy msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Uživateli je zobrazen dialog, pokud se nezdaří načíst profil, nebo pokud " "soubor profilu/impulse se nepovedlo importovat." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Místo zásuvného modulu SideChain Gate ze služby Linux Studio Plugins se nyní " "používá zásuvný modul ze služby Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffect již nespadne pokud uživatelské nastavení jazyka není správně " "nastaveno." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "V ikoně bylo implementováno řešení, které si poradí s nedostatečnou podporou " "SVG v knihovně QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Při zakázání efektů aplikaci nyní nastavíme její cílová metadata na null. To " "umožní správci relací médií (wireplumber) správně přesunout stream do nového " "zařízení." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Byla přidána nová možnost konfigurace. Umožňuje aplikaci EasyEffects " "ignorovat proudy, jejichž účelem je sledovat zařízení sink. To pomůže " "vyřešit některé problémy, které měli naši uživatelé při používání OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Kód, který zobrazuje formát vzorku proudu, byl vylepšen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "Knihovna rnnoise je nyní volitelná. To by mělo správcům balíčků usnadnit " "sestavení balíčku Debianu. Více informací naleznete v čísle 1000." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Naše protokoly nyní zobrazují řádek zdrojového kódu, na který se zprávy " "vypisují" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "Zaškrtávací políčko \"povolit efekty\" v našem okně se neaktualizovalo, když " "programy třetích stran, jako je pavucontrol, přesunuly stream z našich " "virtuálních zařízení. To by nyní mělo být opraveno." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Opraven pád, ke kterému mohlo dojít při změně maximální historie " "automatického získávání." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Zamezení pádům při spuštěném pw-mididump" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "Rozhraní zásuvného modulu pitch bylo vylepšeno" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "Ikona naší aplikace je nyní kompatibilní s desktopy používajícími QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Náš kód blocklistu použije značku application.id, pokud ji stream nastaví" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Aby se předešlo problémům s posouváním myší, položky v seznamu aplikací " "zobrazené na kartě Přehrávače/Rekordéry již nezobrazují stupnici hlasitosti. " "Podrobnější informace o problému a jeho řešení naleznete v čísle 1211 a 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Pokud není k dispozici žádná aplikace pro zobrazení v Přehrávačích/" "Záznamnících, zobrazí se uživateli zpráva" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Mnoho aktualizací překladů" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Opravena chyba, kdy EasyEffeects spadl, když se změnil počet bodů " "zobrazených ve spektru, zatímco byla aktivní naše pipeline a widget spektra " "byl viditelný." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "Hodnota zpoždění potrubí zobrazená v našem okně může být v některých " "situacích chybná. To bylo opraveno." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Přibylo nové nastavení, které uživateli umožňuje zvolit časový limit " "nečinnosti pro potrubí. Pokud žádný klient nepřehrává na naše zařízení ani z " "nich nenahrává, budou filtry po dosažení časového limitu odpojeny. To se " "provádí proto, abychom zajistili, že nebudeme plýtvat výkonem procesoru při " "zpracování ticha." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Zásuvný modul autogain nyní umožňuje uživateli vybrat, která ze tří " "hlasitostí se použije pro výpočet geometrického průměru." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Zásuvný modul autogain nyní umožňuje nastavit maximální historii a již " "nepoužívá režim histogramu libebur128. To by mělo zabránit případům, kdy se " "integrovaná hlasitost zasekne navždy na stejné hodnotě." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "Ikona EasyEffects byla aktualizována tak, aby byla viditelná na plochách QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "Volba příkazového řádku, která vrací stav globálního bypassu, je opět " "funkční." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Filtr crossfeed by se měl lépe vypořádat s dynamickými přepínači latence " "PipeWire. V těchto situacích by již nemělo docházet ke skokům v úrovni " "hlasitosti." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Opravena chyba, která znemožňovala správnou funkci monofonních mikrofonů s " "aplikací EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "Podpora příští verze PipeWire 0.3.44" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Filtr autogain by se měl lépe vypořádat s dynamickými přepínači latence " "PipeWire. V těchto situacích by již nemělo docházet ke skokům v úrovni " "hlasitosti." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Přidali jsme možnost, která umožňuje resetovat hlasitost a stav ztlumení " "virtuálních zařízení při spuštění aplikace EasyEffects. To by mělo pomoci v " "případech, kdy jsou naše zařízení z neznámých důvodů ztlumena zvukovým " "serverem." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Lepší podpora pozastavení počítače." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Byla opravena chyba, která při pokusu o vytvoření profilu automatického " "načítání bez předvoleb způsobila pád aplikace." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Opravena chyba, kdy nastavení kvality pásma ekvalizéru na nulu vedlo k pádu " "aplikace." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita se používá k vytvoření některých částí našeho okna a k přepínání " "mezi tmavými a světlými motivy." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "Nabídka nastavení byla přepracována pomocí widgetů LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "Funkce importu předvoleb ekvalizéru APO byla vylepšena tak, aby bylo možné " "použít nejen filtr Bell, ale i další podporované filtry (v současné době " "není v zásuvném modulu LSP k dispozici pouze filtr Bandpass)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "Funkce Obnovit všechna nastavení v naší nabídce by nyní měla ve Flatpaku " "fungovat." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Máme novou možnost, která uživateli umožňuje vypnout automatické skrývání " "nabídek. To může pomoci obejít některé chyby, které v současné době mají " "nabídky Popover v gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Robustnější parsování pro import předvoleb APO uložených s čárkou jako " "oddělovačem tisíců v centrálním frekvenčním pásmu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "Knihovna fmt je nová závislost Přinejmenším dokud kompilátory c++ " "neimplementují její funkce. Očekává se, že k tomu dojde v příštích letech." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "GTKMM a GLIBMM již nejsou závislé. Nyní používáme přímo gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Používají se nové knihovny a některé knihovny, které byly dříve nepovinné, " "jsou nyní povinné" #, fuzzy #~ msgid "and #1427" #~ msgstr "Pásma" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ekvalizér, kompresor a jiné zvukové efekty" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "" #~ "omezovač (limiter);kompresor;dozvuk;ekvalizér;automatická hlasitost;" #~ msgid "\"Presets\"" #~ msgstr "\"Přednastavení\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Povolit" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Programy" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Programy" #, fuzzy #~ msgid "_Preferences" #~ msgstr "Referenční Signál" #, fuzzy #~ msgid "_Shortcuts" #~ msgstr "Jednorázové" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Nastavení" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Přednastavení" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Přednastavení" #~ msgid "Global Bypass" #~ msgstr "Přepustení" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Programy" #, fuzzy #~ msgid "Empty List" #~ msgstr "Prázdné zdi" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Programy" #~ msgid "Target" #~ msgstr "Cíl" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Největší zesílení" #, fuzzy #~ msgid "Reference" #~ msgstr "Referenční Signál" #~ msgid "Momentary" #~ msgstr "Chvilkové" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Jednorázové" #~ msgid "Integrated" #~ msgstr "Sjednocené" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Použít přechod" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Použít přechod" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Použít přechod" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Použít přechod" #, fuzzy #~ msgid "Reset History" #~ msgstr "Vymazat Historii" #~ msgid "Relative" #~ msgstr "Relativní" #~ msgid "Range" #~ msgstr "Rozsah" #~ msgid "Loudness" #~ msgstr "Hlasitost" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Vstupní zesílení" #~ msgid "Input" #~ msgstr "Vstup" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Vstupní zesílení" #~ msgid "Output" #~ msgstr "Výstup" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Vstupní zesílení" #~ msgid "Reset" #~ msgstr "Vrátit na výchozí" #, fuzzy #~ msgid "Device" #~ msgstr "Omezovač vstupu" #~ msgid "Name" #~ msgstr "Název" #, fuzzy #~ msgid "Preset" #~ msgstr "Přednastavení" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Odstranit tento soubor s přednastavením" #~ msgid "Listen" #~ msgstr "Poslouchat" #~ msgid "Blend Harmonics" #~ msgstr "Míchat harmonické kmity" #~ msgid "3rd" #~ msgstr "3." #~ msgid "2nd" #~ msgstr "2." #~ msgid "Amount" #~ msgstr "Množství" #~ msgid "Harmonics" #~ msgstr "Harmonické kmity" #~ msgid "Scope" #~ msgstr "Rozsah" #~ msgid "Floor" #~ msgstr "Spodní mez" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Spodní mez" #, fuzzy #~ msgid "Application Name" #~ msgstr "Programy" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Zobrazit Aplikace z Blocklistu na Hlavní Kartě" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Programy" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Zobrazit Aplikace z Blocklistu na Hlavní Kartě" #~ msgid "Compressor" #~ msgstr "Kompresor" #~ msgid "Mode" #~ msgstr "Režim" #~ msgid "Downward" #~ msgstr "Dolů" #~ msgid "Upward" #~ msgstr "Nahoru" #~ msgid "Compression Mode" #~ msgstr "Kompresní režim" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Množství" #~ msgid "Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Time" #~ msgstr "Ve skutečném čase" #~ msgid "Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Náběh" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Práh" #~ msgid "Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Release Time" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Relativní Práh Uvolnění" #~ msgid "Ratio" #~ msgstr "Poměr" #~ msgid "Knee" #~ msgstr "Přechod" #~ msgid "Makeup" #~ msgstr "Pozvednutí" #~ msgid "Sidechain" #~ msgstr "Postranní řetězec" #~ msgid "Peak" #~ msgstr "Vrchol" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Dolní pásmo" #~ msgid "Uniform" #~ msgstr "Rovnoměrný" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Postranní řetězec" #~ msgid "Source" #~ msgstr "Zdroj" #~ msgid "Middle" #~ msgstr "Střední" #~ msgid "Side" #~ msgstr "Postranní" #~ msgid "Left" #~ msgstr "Levý" #~ msgid "Right" #~ msgstr "Pravý" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Postranní řetězec" #~ msgid "Type" #~ msgstr "Typ" #~ msgid "Feed-forward" #~ msgstr "Kanál-vpřed" #~ msgid "Feed-back" #~ msgstr "Kanál-zpět" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Postranní řetězec" #, fuzzy #~ msgid "Input Device" #~ msgstr "Omezovač vstupu" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Předzesílení" #~ msgid "Reactivity" #~ msgstr "Reaktivita" #~ msgid "Lookahead" #~ msgstr "Výhled" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Postranní řetězec" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Horní pásmo" #~ msgid "Frequency" #~ msgstr "Kmitočet" #~ msgid "Off" #~ msgstr "Vypnuto" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "Nízká pásmová propust 12 dB/okt" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "Nízká pásmová propust 24 dB/okt" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "Nízká pásmová propust 36 dB/okt" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Vysokopásmový filtr" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Tlumení vysokého kmitočtu" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Vysokopásmový filtr" #~ msgid "Gain" #~ msgstr "Zesílení" #, fuzzy #~ msgid "Envelope" #~ msgstr "Sklon" #~ msgid "Curve" #~ msgstr "Křivka" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Kanály" #~ msgid "R" #~ msgstr "P" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Rozdělit kanály" #, fuzzy #~ msgid "Impulses" #~ msgstr "Odpověď impulsu" #~ msgid "Stereo Width" #~ msgstr "Šířka sterea" #~ msgid "Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Měřítko" #, fuzzy #~ msgid "Autogain" #~ msgstr "Automatické zesílení" #~ msgid "Rate" #~ msgstr "Kmitočet" #~ msgid "Samples" #~ msgstr "Vzorky" #~ msgid "Duration" #~ msgstr "Doba trvání" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Odpověď impulsu" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Výstup" #~ msgid "Import Impulse" #~ msgstr "Zavést impuls" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Zavést soubor s impulsem" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Zavést soubor s impulsem" #~ msgid "Default" #~ msgstr "Výchozí" #~ msgid "Cutoff" #~ msgstr "Useknutí" #~ msgid "Feed" #~ msgstr "Kanál" #~ msgid "Bypass" #~ msgstr "Překlenutí" #~ msgid "Mute" #~ msgstr "Ztlumit" #~ msgid "Detection" #~ msgstr "Zjištění" #~ msgid "Wide" #~ msgstr "Rozšířit" #~ msgid "Split" #~ msgstr "Rozdělit" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Rozdělit" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Kmitočet" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Vrchol" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Kmitočet" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Zesílení" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Kmitočet" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Úroveň" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Kmitočet" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Vrchol Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Kmitočet" #~ msgid "Laxity" #~ msgstr "Nedbalost" #~ msgid "Detected" #~ msgstr "Zjištěno" #, fuzzy #~ msgid "Reduction" #~ msgstr "Snížení" #~ msgid "Frame Size" #~ msgstr "Rozměry rámečku" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtr" #~ msgid "Bands" #~ msgstr "Pásma" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Rozdělit kanály" #~ msgid "Flat Response" #~ msgstr "Uhladit" #~ msgid "Calculate Frequencies" #~ msgstr "Vypočítat Kmitočty" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "APO Přednastavení" #~ msgid "Bell" #~ msgstr "Zvonek" #~ msgid "High Pass" #~ msgstr "Horní pásmo" #~ msgid "High Shelf" #~ msgstr "Horní práh" #~ msgid "Low Pass" #~ msgstr "Dolní pásmo" #~ msgid "Low Shelf" #~ msgstr "Dolní práh" #~ msgid "Notch" #~ msgstr "Vroubek" #~ msgid "Resonance" #~ msgstr "Rezonance" #, fuzzy #~ msgid "All Pass" #~ msgstr "Dolní pásmo" #, fuzzy #~ msgid "Band Type" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Pásma" #~ msgid "Slope" #~ msgstr "Sklon" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Sklon" #~ msgid "Width" #~ msgstr "Šířka" #~ msgid "Quality" #~ msgstr "Jakost" #~ msgid "Solo" #~ msgstr "Sólo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Strop" #, fuzzy #~ msgid "Description" #~ msgstr "Zjištění" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Odstranit tento soubor s přednastavením" #~ msgid "12dB/oct Lowpass" #~ msgstr "Nízká pásmová propust 12 dB/okt" #~ msgid "24dB/oct Lowpass" #~ msgstr "Nízká pásmová propust 24 dB/okt" #~ msgid "36dB/oct Lowpass" #~ msgstr "Nízká pásmová propust 36 dB/okt" #~ msgid "12dB/oct Highpass" #~ msgstr "Vysoká pásmová propust 12 dB/okt" #~ msgid "24dB/oct Highpass" #~ msgstr "Vysoká pásmová propust 24 dB/okt" #~ msgid "36dB/oct Highpass" #~ msgstr "Vysoká pásmová propust 36 dB/okt" #~ msgid "6dB/oct Bandpass" #~ msgstr "Pásmová propustnost 6 dB/okt" #~ msgid "12dB/oct Bandpass" #~ msgstr "Pásmová propustnost 12 dB/okt" #~ msgid "18dB/oct Bandpass" #~ msgstr "Pásmová propustnost 18 dB/okt" #~ msgid "6dB/oct Bandreject" #~ msgstr "Vyloučení pásma 6 dB/okt" #~ msgid "12dB/oct Bandreject" #~ msgstr "Vyloučení pásma 12 dB/okt" #~ msgid "18dB/oct Bandreject" #~ msgstr "Vyloučení pásma 18 dB/okt" #~ msgid "Inertia" #~ msgstr "Setrvačnost" #~ msgid "Gate" #~ msgstr "Brána" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Internal" #~ msgstr "Sjednocené" #~ msgid "Gating" #~ msgstr "Hradlo" #~ msgid "Oversampling" #~ msgstr "Převzorkování" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Rozšířit" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Rozšířit" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Šířka čáry" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Šířka čáry" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Šířka čáry" #~ msgid "None" #~ msgstr "Žádný" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Předzesílení" #~ msgid "Stereo Link" #~ msgstr "Spojení sterea" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Postranní řetězec" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Automatické Úrovně" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Automatické Úrovně" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Automatické Úrovně" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Automatické Úrovně" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Levý" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Pravý" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Postranní řetězec" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Postranní řetězec" #~ msgid "Standard" #~ msgstr "Standardní" #~ msgid "Flat" #~ msgstr "Rovný" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Rozměry rámečku" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Výstup" #~ msgid "Ceiling" #~ msgstr "Strop" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Zavést impuls" #, fuzzy #~ msgid "Modern" #~ msgstr "Režim" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Postranní řetězec" #, fuzzy #~ msgid "Bands List" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 5" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 6" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 7" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 8" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band End" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Kompresní režim" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Postranní řetězec" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Nízkopropustný Mód Filtru" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Nízkopropustný Mód Filtru" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Vysokopásmový filtr" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Vysokopásmový filtr" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Vstupní zesílení" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Křivka" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Rozdělit" #~ msgid "Split 1/2" #~ msgstr "Rozdělit 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Kmitočet" #~ msgid "Split 2/3" #~ msgstr "Rozdělit 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Kmitočet" #~ msgid "Split 3/4" #~ msgstr "Rozdělit 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Kmitočet" #~ msgid "Sub Band" #~ msgstr "Spodní pásmo" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Pozvednutí" #~ msgid "Max Reduction" #~ msgstr "Snížení" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "Low Band" #~ msgstr "Nízké pásmo" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Pozvednutí" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "Mid Band" #~ msgstr "Střední pásmo" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Pozvednutí" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "High Band" #~ msgstr "Vysoké pásmo" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Překlenutí" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Náběh" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Uvolnění" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Práh" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Pozvednutí" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "General" #~ msgstr "Obecné" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Použít Výchozí" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Omezovač vstupu" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Použít Výchozí" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Vstupní zesílení" #, fuzzy #~ msgid "Server Information" #~ msgstr "Dozvuk" #, fuzzy #~ msgid "Header Version" #~ msgstr "Verze" #, fuzzy #~ msgid "Library Version" #~ msgstr "Verze" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Vzorkování" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Minimální Kmitočet" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Největší zesílení" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Výchozí zeslabení" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Vstupní zesílení" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Výstupní přednastavení:" #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Výstupní přednastavení:" #, fuzzy #~ msgid "Input Devices" #~ msgstr "Omezovač vstupu" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Vstupní přednastavení:" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Vstupní přednastavení:" #~ msgid "Modules" #~ msgstr "Moduly" #, fuzzy #~ msgid "Modules List" #~ msgstr "Moduly" #~ msgid "Clients" #~ msgstr "Klienti" #, fuzzy #~ msgid "Clients List" #~ msgstr "Klienti" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Zkušební signály" #~ msgid "State" #~ msgstr "Stav" #, fuzzy #~ msgid "Enabled" #~ msgstr "Povolit" #~ msgid "Channels" #~ msgstr "Kanály" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Kanály" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Sinusová tabulka" #~ msgid "White Noise" #~ msgstr "Bílý šum" #, fuzzy #~ msgid "High Speed" #~ msgstr "Horní práh" #, fuzzy #~ msgid "High Quality" #~ msgstr "Jakost" #, fuzzy #~ msgid "Formant" #~ msgstr "Formát" #, fuzzy #~ msgid "Preserved" #~ msgstr "Přednastavení" #, fuzzy #~ msgid "Crisp" #~ msgstr "Křehkost" #, fuzzy #~ msgid "Detector" #~ msgstr "Zjištění" #, fuzzy #~ msgid "Compound" #~ msgstr "Komprese" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Centy" #~ msgid "Semitones" #~ msgstr "Půltóny" #~ msgid "Octaves" #~ msgstr "Oktávy" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Odstranit tento soubor s přednastavením" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Vstupní efekty" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "Obecné" #, fuzzy #~ msgid "Service" #~ msgstr "Omezovač vstupu" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Zpracovat všechny výstupy" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Zpracovat všechny vstupy" #~ msgid "Use Dark Theme" #~ msgstr "Použít tmavý vzhled" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Spektrum" #~ msgid "Bars" #~ msgstr "Pruhy" #~ msgid "Lines" #~ msgstr "Čáry" #~ msgid "Points" #~ msgstr "Body" #~ msgid "Height" #~ msgstr "Výška" #~ msgid "Line Width" #~ msgstr "Šířka čáry" #~ msgid "Fill" #~ msgstr "Výplň" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Kmitočet" #, fuzzy #~ msgid "Minimum" #~ msgstr "Nejvýše" #~ msgid "Maximum" #~ msgstr "Nejvýše" #~ msgid "Load" #~ msgstr "Načíst" #~ msgid "Save current settings to this preset file" #~ msgstr "Uložit nynější nastavení do tohoto souboru s přednastavením" #~ msgid "Remove this preset file" #~ msgstr "Odstranit tento soubor s přednastavením" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Výstupní přednastavení:" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Vytvořit přednastavení" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Zavést přednastavení" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Výstupní přednastavení:" #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Výstupní přednastavení:" #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Vstupní přednastavení:" #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Vstupní přednastavení:" #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Vstupní přednastavení:" #~ msgid "High Frequency Damping" #~ msgstr "Tlumení vysokého kmitočtu" #~ msgid "Room Size" #~ msgstr "Velikost prostoru" #~ msgid "Small" #~ msgstr "Malý" #~ msgid "Medium" #~ msgstr "Střední" #~ msgid "Large" #~ msgstr "Velký" #~ msgid "Tunnel" #~ msgstr "Chodba" #~ msgid "Large/smooth" #~ msgstr "Velký/plynulý" #~ msgid "Experimental" #~ msgstr "Pokusný" #~ msgid "Diffusion" #~ msgstr "Rozptylování" #~ msgid "Pre Delay" #~ msgstr "Předzpoždění" #~ msgid "Decay Time" #~ msgstr "Čas dozvuku" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Množství" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Úroveň cíle" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Množství" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Úroveň" #~ msgid "Bass Cut" #~ msgstr "Ořezání hloubek" #~ msgid "Treble Cut" #~ msgstr "Ořezání výšek" #~ msgid "Ambience" #~ msgstr "Okolní prostředí" #~ msgid "Empty Walls" #~ msgstr "Prázdné zdi" #~ msgid "Room" #~ msgstr "Pokoj" #~ msgid "Large Empty Hall" #~ msgstr "Velký prázdný sál" #~ msgid "Disco" #~ msgstr "Disko" #~ msgid "Large Occupied Hall" #~ msgstr "Velký obsazený sál" #, fuzzy #~ msgid "Import Model" #~ msgstr "Zavést impuls" #, fuzzy #~ msgid "Models" #~ msgstr "Režim" #, fuzzy #~ msgid "Standard Model" #~ msgstr "Standardní" #, fuzzy #~ msgid "Active Model" #~ msgstr "Agresivní režim" #, fuzzy #~ msgid "Overview" #~ msgstr "Omezovač vstupu" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Vynulovat EasyEffects." #, fuzzy #~ msgid "Close the Window" #~ msgstr "Skrýt Okno" #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Vyvážení" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Vyvážení" #~ msgid "Softclip" #~ msgstr "Softclip" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Softclip" #~ msgid "Stereo Matrix" #~ msgstr "Matrice sterea" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LP > LP (výchozí stereo)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LP > SS (stereo ke střední straně)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "SS > LP (střední strana ke stereu)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LP > LL (mono levý kanál)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LP > PP (mono pravý kanál)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LP > L+P (mono součet L+P)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (stereo obrácení kanálů)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Základ sterea" #~ msgid "Invert Phase" #~ msgstr "Obrátit fázi" #~ msgid "Side Level" #~ msgstr "Postranní úroveň" #~ msgid "Side Balance" #~ msgstr "Postranní vyvážení" #~ msgid "Middle Level" #~ msgstr "Prostřední úroveň" #~ msgid "Middle Panorama" #~ msgstr "Prostřední panorama" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Vstupní zesílení" #~ msgid "Delay L/R" #~ msgstr "Zpoždění L/P" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Zpoždění L/P" #~ msgid "Stereo Base" #~ msgstr "Základ sterea" #~ msgid "Stereo Phase" #~ msgstr "Fáze sterea" #, fuzzy #~ msgid "Creating" #~ msgstr "Hradlo" #, fuzzy #~ msgid "channels" #~ msgstr "Kanály" #~ msgid "Output Presets: " #~ msgstr "Výstupní přednastavení:" #~ msgid "Input Presets: " #~ msgstr "Vstupní přednastavení:" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Zvukové efekty pro programy využívající PulseAudio" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Ukončit EasyEffects. Užitečné, když běži ve služebním režimu." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Nahrát přednastavení. Příklad: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Vynulovat EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Skrýt Okno" #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Globální propuštění. 1 pro zapnutí, 2 pro vypnutí, 3 pro získání stavu" #~ msgid "Show available presets." #~ msgstr "Ukázat dostupná přednastavení." #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Zavést soubor s impulsem" #~ msgid "Import Impulse File" #~ msgstr "Zavést soubor s impulsem" #~ msgid "Open" #~ msgstr "Otevřít" #~ msgid "Cancel" #~ msgstr "Zrušit" #~ msgid "Impulse Response" #~ msgstr "Odpověď impulsu" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Odpověď impulsu" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Zavést impuls" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Zavést soubor s impulsem" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Nepodařilo se nahrát soubor s impulsem" #, fuzzy #~ msgid "Recorders" #~ msgstr "Okraj" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "nekonečno" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "Zavést APO přednastavení" #, fuzzy #~ msgid "APO Presets" #~ msgstr "APO Přednastavení" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Odstranit tento soubor s přednastavením" #, fuzzy #~ msgid "Output Device" #~ msgstr "Vstupní zesílení" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Zavést přednastavení" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Zavést soubor s impulsem" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Agresivní režim" #~ msgid "Bass Enhancer" #~ msgstr "Zlepšovač hloubek" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Hlasitost" #~ msgid "Convolver" #~ msgstr "Svinovač" #~ msgid "Crossfeed" #~ msgstr "Prolínání kanálů" #~ msgid "Crystalizer" #~ msgstr "Krystalizátor" #~ msgid "Deesser" #~ msgstr "Odstraňovač sykotu" #~ msgid "Delay" #~ msgstr "Zpoždění" #~ msgid "Echo Canceller" #~ msgstr "Potlačovač echa" #~ msgid "Equalizer" #~ msgstr "Ekvalizér" #~ msgid "Exciter" #~ msgstr "Zvukový budič" #~ msgid "Filter" #~ msgstr "Filtr" #~ msgid "Limiter" #~ msgstr "Omezovač" #~ msgid "Maximizer" #~ msgstr "Zvětšovač" #~ msgid "Multiband Compressor" #~ msgstr "Vícepásmový kompresor" #~ msgid "Multiband Gate" #~ msgstr "Vícepásmová brána" #~ msgid "Pitch" #~ msgstr "Výška tónu" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Dozvuk" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Zmenšení zesílení" #~ msgid "Stereo Tools" #~ msgstr "Nástroje sterea" #~ msgid "Average" #~ msgstr "Průměr" #~ msgid "Failed" #~ msgstr "Nepodařilo se" #, fuzzy #~ msgid "Use Default" #~ msgstr "Použít Výchozí" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Odstranit tento soubor s přednastavením" #~ msgid "Import Presets" #~ msgstr "Zavést přednastavení" #~ msgid "Start Service at Login" #~ msgstr "Spustit službu při přihlášení" #, fuzzy #~ msgid "Activate" #~ msgstr "Agresivní režim" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Černá listina" #~ msgid "Blocklist" #~ msgstr "Černá listina" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibrace mikrofonu" #, fuzzy #~ msgid "enabled" #~ msgstr "Povolit" #, fuzzy #~ msgid "disabled" #~ msgstr "Povolit" #~ msgid "Format" #~ msgstr "Formát" #~ msgid "Latency" #~ msgstr "Prodleva" #~ msgid "Faster" #~ msgstr "Rychleji" #~ msgid "Preserve Formant" #~ msgstr "Zachovat složku rozhodující o barvě zvuku" #~ msgid "Cmoy" #~ msgstr "Sluchátkový zesilovač (CMoy)" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Vstupní zesílení" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanály" #, fuzzy #~ msgid "Value" #~ msgstr "Spodní mez" #~ msgid "Output Effects" #~ msgstr "Výstupní efekty" #~ msgid "Settings" #~ msgstr "Nastavení" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Nastavení" #, fuzzy #~ msgid "Documentation" #~ msgstr "Doba trvání" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Zkušební signály" #, fuzzy #~ msgid "Signal" #~ msgstr "Zkušební signály" #~ msgid "Show Spectrum" #~ msgstr "Ukázat spektrum" #~ msgid "Border" #~ msgstr "Okraj" #~ msgid "Spectrum Type" #~ msgstr "Typ spektra" #~ msgid "Spectrum Color" #~ msgstr "Barva spektra" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Agresivní režim" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Zmenšení zesílení" #, fuzzy #~ msgid "Wet" #~ msgstr "Váhy" #~ msgid "Dry" #~ msgstr "Zkušební" #~ msgid "S/C Level" #~ msgstr "Úroveň S/C" #~ msgid "Short Term" #~ msgstr "Jednorázové" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Dolní pásmo" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Nastavit hlasitost a zapnout/vypnout efekty" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Zahrnuje ekvalizér s vestavěnými přednastaveními" #~ msgid "Input Limiter" #~ msgstr "Omezovač vstupu" #~ msgid "Calibration" #~ msgstr "Kalibrace" #~ msgid "Automatic Smoothing Control" #~ msgstr "Automatické Vyhlazení" #~ msgid "Limit" #~ msgstr "Omezení" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Tlumení" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Zvukové efekty pro programy využívající PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Zvukové efekty pro programy PulseAudio" #~ msgid "Help" #~ msgstr "Nápověda" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrace mikrofonu" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automaticky použít toto přednastavení, když je nyní používané zařízení " #~ "zapojeno v systému" #, fuzzy #~ msgid "Version" #~ msgstr "Verze" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Čtverec" #~ msgid "Saw" #~ msgstr "Pila" #~ msgid "Triangle" #~ msgstr "Trojúhelník" #~ msgid "Silence" #~ msgstr "Ticho" #~ msgid "Pink Noise" #~ msgstr "Růžový šum" #~ msgid "Ticks" #~ msgstr "Tiknutí" #~ msgid "Gaussian Noise" #~ msgstr "Gaussovský šum" #~ msgid "Red Noise" #~ msgstr "Červený šum" #~ msgid "Blue Noise" #~ msgstr "Modrý šum" #~ msgid "Violet Noise" #~ msgstr "Fialový šum" #~ msgid "Volume" #~ msgstr "Hlasitost" #~ msgid "Window" #~ msgstr "Okno" #~ msgid "Measure Noise" #~ msgstr "Změřit šum" #~ msgid "Subtract Noise" #~ msgstr "Odečíst šum" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Provided by" #~ msgstr "Poskytuje" #~ msgid "Extended Filter" #~ msgstr "Rozšířený filtr" #~ msgid "Low" #~ msgstr "Nízký" #~ msgid "Moderate" #~ msgstr "Střední" #~ msgid "High" #~ msgstr "Vysoký" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Úroveň potlačení" #~ msgid "Delay Agnostic" #~ msgstr "Zpozdit absolutní" #~ msgid "Very High" #~ msgstr "Velmi vysoký" #~ msgid "Noise Suppressor" #~ msgstr "Potlačovač šumu" #~ msgid "Adaptive Digital" #~ msgstr "Přizpůsobivý digitální" #~ msgid "Fixed Digital" #~ msgstr "Pevný digitální" #~ msgid "Gain Controller" #~ msgstr "Ovladač zesílení" #~ msgid "Detection Likelihood" #~ msgstr "Pravděpodobnost zjištění" #~ msgid "Very Low" #~ msgstr "Velmi nízká" #~ msgid "Voice Detector" #~ msgstr "Zjišťovatel hlasu" #~ msgid "Use Custom Color" #~ msgstr "Použít vlastní barvu" #~ msgid "Use Gradient" #~ msgstr "Použít přechod" #~ msgid "Gradient Color" #~ msgstr "Barva přechodu" #~ msgid "Import Impulse Response File" #~ msgstr "Zavést soubor s odpovědí impulsu" #~ msgid "Select the impulse Response File" #~ msgstr "Vybrat soubor s odpovědí impulsu" #~ msgid "Aggressive Mode" #~ msgstr "Agresivní režim" #~ msgid "Before" #~ msgstr "Před" #~ msgid "After" #~ msgstr "Po" #~ msgid "Loudness Range" #~ msgstr "Rozsah hlasitosti" #~ msgid "Loudness Compensator" #~ msgstr "Kompenzace Hlasitosti" #~ msgid "Apply" #~ msgstr "Použít" #~ msgid "Based on" #~ msgstr "Na základě" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Výchozí rychlost vzorkování" #~ msgid "Default Source" #~ msgstr "Výchozí zdroj" #~ msgid "Server" #~ msgstr "Server" #~ msgid "File" #~ msgstr "Soubor" #~ msgid "Configuration" #~ msgstr "Nastavení" #, fuzzy #~ msgid "server" #~ msgstr "Server" #, fuzzy #~ msgid "Based on a" #~ msgstr "Na základě" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Spočítat kmitočty" #, fuzzy #~ msgid "Advanced" #~ msgstr "Nastavení" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "APO Přednastavení" #~ msgid "Auto Gain" #~ msgstr "Automatické zesílení" #~ msgid "Detect Silence" #~ msgstr "Zjištění Ticha" #~ msgid "Muted" #~ msgstr "Ztlumeno" #~ msgid "Distant Headphones" #~ msgstr "Vzdálená sluchátka" #~ msgid "Priority Type" #~ msgstr "Typ přednosti" #~ msgid "Niceness" #~ msgstr "Přívětivost" #~ msgid "Priority" #~ msgstr "Přednost" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Minimální Kmitočet" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Maximální Kmitočet" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "Znovu připojit mikrofon pro použití změn provedených v Blocklistu" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "Restartovat přehrávač pro použití změn provedených v Blocklistu" #~ msgid "About" #~ msgstr "O programu" #~ msgid "Protocol" #~ msgstr "Protokol" #~ msgid "Default Sample Format" #~ msgstr "Výchozí formát vzorku" #~ msgid "Channel Mapping" #~ msgstr "Přiřazení kanálu" #~ msgid "Resamplers" #~ msgstr "Převzorkovače" #~ msgid "Buffer" #~ msgstr "Vyrovnávací paměť" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Ekvalizér - výstup" #~ msgid "Block Size" #~ msgstr "Velikost Bloku" #~ msgid "Resampler" #~ msgstr "Převzorkovač" #~ msgid "paused" #~ msgstr "Pozastaveno" #~ msgid "playing" #~ msgstr "Přehrává se" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "Import APO Presets" #~ msgstr "Zavést APO Přednastavení" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Zmenšení zesílení" #~ msgid "Exponent" #~ msgstr "Exponent" easyeffects-7.1.7/po/news/da.po000066400000000000000000002177531463533416400163750ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Lyd Effekter for PipeWire Applikationer" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects er en advanceret lydmanipuleringsværktøj. Det inkluderer en " "equalizer, begrænser, kompressor og et efterklangsværktøj, for blot at nævne " "nogle få. For at supplere til dette er der også en indbygget " "spektrumanalysator." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects er efterfølgeren til PulseEffects. EasyEffects understøtter kun " "PipeWires lydserver. PulseAudio brugere bør i stedet bruge PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Da EasyEffects bruger PipeWires standard lydserver, vil den virke med de " "fleste, hvis ikke alle, progammer du bruger." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Ud over manipulering af lydudgange, er EasyEffects i stand til at anvende " "effekter på en input-enhed, f.eks. en mikrofon. Dette er f.eks. nyttigt i " "lydoptagelse, men det virker også godt under samtaler." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Når EasyEffects startes, husker den automatisk den konfiguration, der blev " "brugt i sidste session. Det er også muligt at gemme alle nuværende " "indstillinger som profiler." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Hovedsiden viser to lydoutput apps" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Basforstærkersiden, der viser lydkontroller" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "Convolver-siden, der viser lydkontrolelementer" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "Forindstil Autolæsning" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #, fuzzy msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Autogain-pluginet giver nu brugeren mulighed for at vælge, hvilken af de tre " "lydstyrker der bruges til at beregne den geometriske" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 #, fuzzy msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Autogain-pluginet tillader nu at indstille den maksimale historik og bruger " "ikke længere `libebur128` histogramtilstand." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "EasyEffects-ikonet er blevet opdateret på en måde, der burde gøre det " "synligt i QT-skriveborde." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "This release adds the following features:" #~ msgstr "Denne udgivelse tilføjer følgende funktioner:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bånd 1" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Der er en ny indstilling, der giver brugeren mulighed for at vælge en " #~ "inaktivitetstimeout for pipelinen. Når ingen klient spiller" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "til eller optagelse fra vores enheder vil filtrene blive fjernet, når " #~ "timeout er nået. Dette gøres for at sikre" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "vi spilder ikke CPU-kraft på at processerer tavshed." #~ msgid "mean." #~ msgstr "middel." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Dette bør undgå de tilfælde, hvor den 'Integrerede' lydstyrke bliver " #~ "hængende for evigt i den samme værdi." #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Equalizer, Kompressor og Andre Lydeffekter" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "begrænser;kompressor;efterklang;equalizer;autovolume;" #~ msgid "\"Presets\"" #~ msgstr "\"Forindstillinger\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Aktiveret" #~ msgid "Mute Application" #~ msgstr "Stum applikation" #~ msgid "Application Volume" #~ msgstr "Applikationvolume" #~ msgid "_Preferences" #~ msgstr "_Præferencer" #~ msgid "_Manual" #~ msgstr "_Manuel" #~ msgid "_Reset Settings" #~ msgstr "_Nulstil Indstillinger" #~ msgid "_About EasyEffects" #~ msgstr "_Om EasyEffects" #~ msgid "Presets" #~ msgstr "Forindstillinger" #~ msgid "Presets Menu" #~ msgstr "Forindstillinger Menu" #~ msgid "Global Bypass" #~ msgstr "Global Omgåelse" #~ msgid "Primary Menu" #~ msgstr "Primær Menu" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects-vindue" #~ msgid "Applications List" #~ msgstr "Applikationsliste" #, fuzzy #~ msgid "Empty List" #~ msgstr "Tomme Vægge" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Applikationvolume" #~ msgid "Target" #~ msgstr "Mål" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Maksimum" #~ msgid "Reference" #~ msgstr "Hanvisning" #~ msgid "Momentary" #~ msgstr "Øjeblikkelig" #~ msgid "Short-Term" #~ msgstr "Kortfristet" #~ msgid "Integrated" #~ msgstr "Integreret" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Geometrisk Gennemsnit" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Geometrisk Gennemsnit" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Geometrisk Gennemsnit" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Geometrisk Gennemsnit" #~ msgid "Reset History" #~ msgstr "Nustil historie" #~ msgid "Relative" #~ msgstr "Relativ" #~ msgid "Range" #~ msgstr "Rækkevidde" #~ msgid "Loudness" #~ msgstr "Hørestyrke" #~ msgid "Output Gain" #~ msgstr "Udgangsforstærkning" #~ msgid "Input" #~ msgstr "Indgang" #~ msgid "Plugin Input Gain" #~ msgstr "Plugin-Indgangsforstærkning" #~ msgid "Output" #~ msgstr "Udgang" #~ msgid "Plugin Output Gain" #~ msgstr "Plugin-Udgangsforstærkning" #~ msgid "Reset" #~ msgstr "Nustil" #~ msgid "Using" #~ msgstr "Bruger" #~ msgid "Device" #~ msgstr "Enhed" #~ msgid "Name" #~ msgstr "Navn" #~ msgid "Profile" #~ msgstr "Profil" #~ msgid "Preset" #~ msgstr "Forindstilling" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Fjern Autoindlæst Forudindstilling" #~ msgid "Listen" #~ msgstr "Lyt" #~ msgid "Blend Harmonics" #~ msgstr "Bland Harmonik" #~ msgid "3rd" #~ msgstr "Tredje" #~ msgid "2nd" #~ msgstr "Anden" #~ msgid "Amount" #~ msgstr "Mængde" #~ msgid "Harmonics" #~ msgstr "Harmonik" #~ msgid "Scope" #~ msgstr "Omfang" #~ msgid "Floor" #~ msgstr "Gulv" #~ msgid "Floor Value" #~ msgstr "Gulvværdi" #, fuzzy #~ msgid "Application Name" #~ msgstr "Applikationvolume" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Liste over Blokerede Applikationer" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Liste over Blokerede Applikationer" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Liste over Blokerede Applikationer" #~ msgid "Compressor" #~ msgstr "Kompressor" #~ msgid "Mode" #~ msgstr "Tilstand" #~ msgid "Downward" #~ msgstr "Nedadrettet" #~ msgid "Upward" #~ msgstr "Opadrettet" #~ msgid "Boosting" #~ msgstr "Øge" #~ msgid "Compression Mode" #~ msgstr "Kompressortilstand" #~ msgid "Boost Threshold" #~ msgstr "Øg Grænseværdi" #~ msgid "Boost Amount" #~ msgstr "Øgningsbeløb" #~ msgid "Attack" #~ msgstr "Angreb" #~ msgid "Time" #~ msgstr "Tid" #~ msgid "Threshold" #~ msgstr "Grænseværdi" #~ msgid "Attack Time" #~ msgstr "Angrebstid" #~ msgid "Attack Threshold" #~ msgstr "Angreb Grænseværdi" #~ msgid "Release" #~ msgstr "Frigør" #~ msgid "Release Time" #~ msgstr "Frigøringstid" #~ msgid "Release Threshold" #~ msgstr "Grænseværdi af Frigivelse" #~ msgid "Ratio" #~ msgstr "Forhold" #~ msgid "Knee" #~ msgstr "Knæ" #~ msgid "Makeup" #~ msgstr "Makeup" #~ msgid "Sidechain" #~ msgstr "Sidekæde" #~ msgid "Peak" #~ msgstr "Top" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Lavpas" #~ msgid "Uniform" #~ msgstr "Ensartet" #~ msgid "Sidechain Mode" #~ msgstr "Sidekæde-tilstand" #~ msgid "Source" #~ msgstr "Kilde" #~ msgid "Middle" #~ msgstr "Midte" #~ msgid "Side" #~ msgstr "Side" #~ msgid "Left" #~ msgstr "Venstre" #~ msgid "Right" #~ msgstr "Højre" #~ msgid "Sidechain Source" #~ msgstr "Sidekæde Kilde" #~ msgid "Type" #~ msgstr "Type" #~ msgid "Feed-forward" #~ msgstr "Fremadrettet" #~ msgid "Feed-back" #~ msgstr "Tilbagemelding" #~ msgid "External" #~ msgstr "Ekstern" #~ msgid "Sidechain Type" #~ msgstr "Sidekæde Type" #~ msgid "Input Device" #~ msgstr "Input-enhed" #~ msgid "PreAmplification" #~ msgstr "Forforstærkning" #~ msgid "Reactivity" #~ msgstr "Reaktivitet" #~ msgid "Lookahead" #~ msgstr "Fremadskuen" #~ msgid "Sidechain Filters" #~ msgstr "Sidekæde Filter" #~ msgid "High-Pass" #~ msgstr "Højpas" #~ msgid "Frequency" #~ msgstr "Frekvens" #~ msgid "Off" #~ msgstr "Slukket" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #~ msgid "High-Pass Filter Mode" #~ msgstr "Højpasfiltertilstand" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Højpasfilterfrekvens" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Lavpasfiltertilstand" #~ msgid "Gain" #~ msgstr "Gain" #~ msgid "Envelope" #~ msgstr "Konvolut" #~ msgid "Curve" #~ msgstr "Kurve" #~ msgid "L" #~ msgstr "L" #~ msgid "Left Channel" #~ msgstr "Venstre Kanal" #~ msgid "R" #~ msgstr "R" #~ msgid "Right Channel" #~ msgstr "Højre Kanal" #~ msgid "Impulses" #~ msgstr "Impulser" #~ msgid "Combine" #~ msgstr "Kombiner" #~ msgid "Stereo Width" #~ msgstr "Stereo-bredde" #~ msgid "Spectrum" #~ msgstr "Spektrum" #~ msgid "Rate" #~ msgstr "Rate" #~ msgid "Samples" #~ msgstr "Prøver" #~ msgid "Duration" #~ msgstr "Varighed" #~ msgid "Combine Impulse Responses" #~ msgstr "Kombiner Impulsresponser" #~ msgid "First Kernel" #~ msgstr "Første Kerne" #~ msgid "Second Kernel" #~ msgstr "Anden Kerne" #~ msgid "Output File Name" #~ msgstr "Udgang Filnavn" #~ msgid "Combined Kernel Name" #~ msgstr "Kombineret Kernenavn" #~ msgid "Import Impulse" #~ msgstr "Import Impulser" #~ msgid "Search" #~ msgstr "Søg" #~ msgid "Search Impulse File" #~ msgstr "Søg Impulsfiler" #~ msgid "Impulse Files List" #~ msgstr "Impulsfiler liste" #~ msgid "Default" #~ msgstr "Standard" #~ msgid "Cutoff" #~ msgstr "Afskæring" #~ msgid "Feed" #~ msgstr "Foder" #~ msgid "Bypass" #~ msgstr "Omgåelse" #~ msgid "Mute" #~ msgstr "Stum" #~ msgid "Detection" #~ msgstr "Opsporing" #~ msgid "Wide" #~ msgstr "Bred" #~ msgid "Split" #~ msgstr "Opdeling" #~ msgid "F1 Split" #~ msgstr "F1 Opdeling" #~ msgid "Frequency 1 Split" #~ msgstr "Frekvens 1 Opdeling" #~ msgid "F2 Peak" #~ msgstr "F2 Top" #~ msgid "Frequency 2 Peak" #~ msgstr "Frekvens 2 Top" #~ msgid "F1 Gain" #~ msgstr "F1 Gain" #~ msgid "Frequency 1 Gain" #~ msgstr "Frekvens 1 Gain" #~ msgid "F2 Level" #~ msgstr "F2 Niveau" #~ msgid "Frequency 2 Level" #~ msgstr "Frekvens 2 Niveau" #~ msgid "F2 Peak Q" #~ msgstr "F2 Top Q" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frekvens 2 Top Q" #~ msgid "Laxity" #~ msgstr "Lakshed" #~ msgid "Detected" #~ msgstr "Detektet" #~ msgid "Reduction" #~ msgstr "Reduktion" #~ msgid "Frame Size" #~ msgstr "Rammestørrelse" #~ msgid "Filter Length" #~ msgstr "Filterlængde" #~ msgid "Bands" #~ msgstr "Bånd" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Opdel kanaler" #~ msgid "Flat Response" #~ msgstr "Flad Respons" #~ msgid "Calculate Frequencies" #~ msgstr "Beregn Frekvenser" #~ msgid "Load APO Preset" #~ msgstr "Indlæs APO-Forindstilling" #~ msgid "Bell" #~ msgstr "Klokke" #~ msgid "High Pass" #~ msgstr "Højpas" #~ msgid "High Shelf" #~ msgstr "Høj Hylde" #~ msgid "Low Pass" #~ msgstr "Lavpas" #~ msgid "Low Shelf" #~ msgstr "Lav Hylde" #~ msgid "Notch" #~ msgstr "Indhak" #~ msgid "Resonance" #~ msgstr "Resonans" #~ msgid "All Pass" #~ msgstr "Alle Pas" #~ msgid "Band Type" #~ msgstr "Båndtype" #~ msgid "Band Mode" #~ msgstr "Båndtilstand" #~ msgid "Slope" #~ msgstr "Hældning" #~ msgid "Band Slope" #~ msgstr "Båndhældning" #~ msgid "Width" #~ msgstr "Bredde" #~ msgid "Quality" #~ msgstr "Kvalitet" #~ msgid "Solo" #~ msgstr "Solo" #~ msgid "Ceil" #~ msgstr "Ceil" #~ msgid "Ceil Value" #~ msgstr "Ceil Værdi" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Adgang" #~ msgid "Description" #~ msgstr "Beskrivelse" #~ msgid "Remove this model file" #~ msgstr "Fjern denne modelfil" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Lavpas" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Lavpas" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Lavpas" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Højpas" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Højpas" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Højpas" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Båndpas" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Båndpas" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Båndpas" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Båndafvise" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Båndafvise" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Båndafvise" #~ msgid "Inertia" #~ msgstr "Inerti" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Frigøringstid" #, fuzzy #~ msgid "Internal" #~ msgstr "Ekstern" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "Oversampling" #~ msgstr "Oversampling" #~ msgid "Dither" #~ msgstr "Tøve" #~ msgid "Herm Thin" #~ msgstr "Herm Tynd" #~ msgid "Herm Wide" #~ msgstr "Herm Bred" #~ msgid "Herm Tail" #~ msgstr "Herm Hale" #~ msgid "Herm Duck" #~ msgstr "Herm Duck" #~ msgid "Exp Thin" #~ msgstr "Exp Tynd" #~ msgid "Exp Wide" #~ msgstr "Exp Bred" #~ msgid "Exp Tail" #~ msgstr "Exp Hale" #~ msgid "Exp Duck" #~ msgstr "Exp Duck" #~ msgid "Line Thin" #~ msgstr "Linje Tynd" #~ msgid "Line Wide" #~ msgstr "Linje Bred" #~ msgid "Line Tail" #~ msgstr "Linje Hale" #~ msgid "Line Duck" #~ msgstr "Linje Duck" #~ msgid "None" #~ msgstr "Ingen" #~ msgid "Half x2(2L)" #~ msgstr "Halv x2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "Halv x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Halv x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Halv x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Halv x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Halv x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Halv x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Halv x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Halv x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Halv x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Fuld x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Fuld x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Fuld x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Fuld x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Fuld x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Fuld x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Fuld x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Fuld x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Fuld x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Fuld x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC PræAmp" #~ msgid "Sidechain PreAmplification" #~ msgstr "Sidekæde Forforstærkning" #~ msgid "Boost" #~ msgstr "Boost" #~ msgid "Stereo Link" #~ msgstr "Stereoforbindelse" #~ msgid "External Sidechain" #~ msgstr "Ekstern Sidekæde" #~ msgid "External Sidechain Source" #~ msgstr "Ekstern Sidekæde Kilde" #~ msgid "Auto Leveling" #~ msgstr "Auto-Nivellering" #~ msgid "Auto Leveling Attack" #~ msgstr "Auto-Nivelleringsangreb" #~ msgid "Auto Leveling Release" #~ msgstr "Auto-Nivelleringsudløse" #~ msgid "Auto Leveling Knee" #~ msgstr "Auto-Nivellering Knæ" #~ msgid "Gain Left" #~ msgstr "Gain Venstre" #~ msgid "Gain Right" #~ msgstr "Gain Højre" #~ msgid "Sidechain Left" #~ msgstr "Sidekæde Venstre" #~ msgid "Sidechain Right" #~ msgstr "Sidekæde Højre" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Flat" #~ msgstr "Flad" #~ msgid "FFT Size" #~ msgstr "FFT Størrelse" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Fast Fourier Transform Størrelse" #~ msgid "Output Volume" #~ msgstr "Udgang Volume" #~ msgid "Ceiling" #~ msgstr "Loft" #~ msgid "Operating Mode" #~ msgstr "Driftstilstand" #~ msgid "Classic" #~ msgstr "Klassik" #~ msgid "Modern" #~ msgstr "Moderne" #~ msgid "Sidechain Boost" #~ msgstr "Sidekæde Boost" #~ msgid "Pink BT" #~ msgstr "Pink BT" #~ msgid "Pink MT" #~ msgstr "Pinkt MT" #~ msgid "Brown BT" #~ msgstr "Brun BT" #~ msgid "Brown MT" #~ msgstr "Brun MT" #~ msgid "Bands List" #~ msgstr "Båndsliste" #~ msgid "Band 1" #~ msgstr "Bånd 1" #~ msgid "Band 2" #~ msgstr "Bånd 2" #~ msgid "Band 3" #~ msgstr "Bånd 3" #~ msgid "Band 4" #~ msgstr "Bånd 4" #~ msgid "Band 5" #~ msgstr "Bånd 5" #~ msgid "Band 6" #~ msgstr "Bånd 6" #~ msgid "Band 7" #~ msgstr "Bånd 7" #~ msgid "Band 8" #~ msgstr "Bånd 8" #~ msgid "Band Start" #~ msgstr "Bånd start" #~ msgid "Band End" #~ msgstr "Bånd Slut" #~ msgid "Band Compression Mode" #~ msgstr "Bånd Kompressionstilstand" #~ msgid "Band Bypass" #~ msgstr "Bånd Omgåelse" #~ msgid "Band Sidechain Options" #~ msgstr "Bånd Sidekæde Valgmuligheder" #~ msgid "Low-Cut Filter" #~ msgstr "Lavskåret Filter" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Lavskåret Filter Frekvens" #~ msgid "High-Cut Filter" #~ msgstr "Højskåret Filter" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Højskåret Filter Frekvens" #~ msgid "PreAmp" #~ msgstr "PræAmp" #~ msgid "Band Gain" #~ msgstr "Bånd Gain" #~ msgid "Band Envelope" #~ msgstr "Bånd Konvolut" #~ msgid "Band Curve" #~ msgstr "Bånd Kurve" #~ msgid "Split Mode" #~ msgstr "Opdelt Tilstand" #~ msgid "Split 1/2" #~ msgstr "Opdel 1/2" #~ msgid "Split Frequency 1" #~ msgstr "Opdelt Frekvens 1" #~ msgid "Split 2/3" #~ msgstr "Opdel 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Opdel Frekvens 2" #~ msgid "Split 3/4" #~ msgstr "Opdelt 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Opdel Frekvens 3" #~ msgid "Sub Band" #~ msgstr "Underbånd" #~ msgid "Band 1 Bypass" #~ msgstr "Bånd 1 Omgåelse" #~ msgid "Band 1 Solo" #~ msgstr "Bånd 1 Solo" #~ msgid "Band 1 Detection" #~ msgstr "Bånd 1 Opsporing" #~ msgid "Band 1 Attack" #~ msgstr "Bånd 1 Angreb" #~ msgid "Band 1 Release" #~ msgstr "Bånd 1 Frigivelse" #~ msgid "Band 1 Threshold" #~ msgstr "Bånd 1 Grænseværdi" #~ msgid "Band 1 Ratio" #~ msgstr "Bånd 1 Forhold" #~ msgid "Band 1 Knee" #~ msgstr "Bånd 1 Knæ" #~ msgid "Band 1 Makeup" #~ msgstr "Bånd 1 Makeup" #~ msgid "Max Reduction" #~ msgstr "Max Reduktion" #~ msgid "Band 1 Max Reduction" #~ msgstr "Bånd 1 Max Reduktion" #~ msgid "Low Band" #~ msgstr "Lavbånd" #~ msgid "Band 2 Bypass" #~ msgstr "Bånd 2 Omgåelse" #~ msgid "Band 2 Solo" #~ msgstr "Bånd 2 Solo" #~ msgid "Band 2 Detection" #~ msgstr "Bånd 2 Opsporing" #~ msgid "Band 2 Attack" #~ msgstr "Bånd 2 Angreb" #~ msgid "Band 2 Release" #~ msgstr "Bånd 2 Frigivelse" #~ msgid "Band 2 Threshold" #~ msgstr "Bånd 2 Grænseværdi" #~ msgid "Band 2 Ratio" #~ msgstr "Bånd 2 Forhold" #~ msgid "Band 2 Knee" #~ msgstr "Bånd 2 Knæ" #~ msgid "Band 2 Makeup" #~ msgstr "Bånd 2 Makeup" #~ msgid "Band 2 Max Reduction" #~ msgstr "Bånd 2 Max Reduktion" #~ msgid "Mid Band" #~ msgstr "Mellembånd" #~ msgid "Band 3 Bypass" #~ msgstr "Bånd 3 Omgåelse" #~ msgid "Band 3 Solo" #~ msgstr "Bånd 3 Solo" #~ msgid "Band 3 Detection" #~ msgstr "Bånd 3 Opsporing" #~ msgid "Band 3 Attack" #~ msgstr "Bånd 3 Angreb" #~ msgid "Band 3 Release" #~ msgstr "Bånd 3 Frigivelse" #~ msgid "Band 3 Threshold" #~ msgstr "Bånd 3 Grænseværdi" #~ msgid "Band 3 Ratio" #~ msgstr "Bånd 3 Forhold" #~ msgid "Band 3 Knee" #~ msgstr "Bånd 3 Knæ" #~ msgid "Band 3 Makeup" #~ msgstr "Bånd 3 Makeup" #~ msgid "Band 3 Max Reduction" #~ msgstr "Bånd 3 Max Reduktion" #~ msgid "High Band" #~ msgstr "Højbånd" #~ msgid "Band 4 Bypass" #~ msgstr "Bånd 4 Omgåelse" #~ msgid "Band 4 Solo" #~ msgstr "Bånd 4 Solo" #~ msgid "Band 4 Detection" #~ msgstr "Bånd 4 Opsporing" #~ msgid "Band 4 Attack" #~ msgstr "Bånd 4 Angreb" #~ msgid "Band 4 Release" #~ msgstr "Bånd 4 Frigivelse" #~ msgid "Band 4 Threshold" #~ msgstr "Bånd 4 Grænseværdi" #~ msgid "Band 4 Ratio" #~ msgstr "Bånd 4 Forhold" #~ msgid "Band 4 Knee" #~ msgstr "Bånd 4 Knæ" #~ msgid "Band 4 Makeup" #~ msgstr "Bånd 4 Makeup" #~ msgid "Band 4 Max Reduction" #~ msgstr "Bånd 4 Max Reduktion" #~ msgid "General" #~ msgstr "Generelt" #~ msgid "Use Default Input" #~ msgstr "Brug Standard Input" #~ msgid "Custom Input Device" #~ msgstr "Brugerdefineret Input-Enhed" #~ msgid "Use Default Output" #~ msgstr "Brug Standard Udgang" #~ msgid "Custom Output Device" #~ msgstr "Brugerdefineret Udgangs-Enhed" #~ msgid "Server Information" #~ msgstr "Serveroplysninger" #~ msgid "Header Version" #~ msgstr "Overskriftsversion" #~ msgid "Library Version" #~ msgstr "Bibloteksversion" #~ msgid "Sampling Rate" #~ msgstr "Prøvetagningsfrekvens" #~ msgid "Minimum Quantum" #~ msgstr "Minimumsantal" #~ msgid "Maximum Quantum" #~ msgstr "Maksimumantal" #~ msgid "Default Quantum" #~ msgstr "Standard Antal" #~ msgid "Output Devices" #~ msgstr "Udgangsenheder" #~ msgid "Output Presets" #~ msgstr "Udgangsforindstillinger" #~ msgid "Create Association" #~ msgstr "Skab Associering" #~ msgid "Add Autoloading Output Preset" #~ msgstr "Tilføj Autolæsning Udgangsforindstilling" #~ msgid "Output Autoloading Presets List" #~ msgstr "Udgangsautolæsingsforindstillinger Liste" #~ msgid "Input Devices" #~ msgstr "Indgangsenheder" #~ msgid "Input Presets" #~ msgstr "Indgangsforindstillinger" #~ msgid "Add Autoloading Input Preset" #~ msgstr "Tilføj Autolæsning Indgangsforindstilling" #~ msgid "Input Autoloading Presets List" #~ msgstr "Indgangsautolæsingsforindstillinger Liste" #~ msgid "Modules" #~ msgstr "Moduler" #~ msgid "Modules List" #~ msgstr "Liste over moduler" #~ msgid "Clients" #~ msgstr "Klienter" #~ msgid "Clients List" #~ msgstr "Liste over klienter" #~ msgid "Test Signal" #~ msgstr "Test-Signal" #~ msgid "State" #~ msgstr "Tilstand" #~ msgid "Enabled" #~ msgstr "Aktiveret" #~ msgid "Channels" #~ msgstr "Kanaler" #~ msgid "Both" #~ msgstr "Begge" #~ msgid "Both Channels" #~ msgstr "Begge Kanaler" #~ msgid "Waveform" #~ msgstr "Bølgeform" #~ msgid "Sine Wave" #~ msgstr "Sinusbølge" #~ msgid "White Noise" #~ msgstr "Hvid Støj" #, fuzzy #~ msgid "High Speed" #~ msgstr "Høj Hylde" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvalitet" #, fuzzy #~ msgid "Formant" #~ msgstr "Formater" #, fuzzy #~ msgid "Preserved" #~ msgstr "Forindstilling" #, fuzzy #~ msgid "Crisp" #~ msgstr "Sprødhed" #, fuzzy #~ msgid "Detector" #~ msgstr "Opsporing" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Cent" #~ msgid "Semitones" #~ msgstr "Semitoner" #~ msgid "Octaves" #~ msgstr "Oktaver" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Fjern denne modelfil" #~ msgid "Used Plugins List" #~ msgstr "Liste over Anvendte Plugins" #, fuzzy #~ msgid "No Effects" #~ msgstr "Easyeffects" #~ msgid "Search Plugin" #~ msgstr "Søgeplugin" #~ msgid "Plugins List" #~ msgstr "Plugins-liste" #~ msgid "_General" #~ msgstr "_Generelt" #~ msgid "Service" #~ msgstr "Tjeneste" #, fuzzy #~ msgid "Shutdown on Window Closing" #~ msgstr "Luk helt ved vinduelukning" #~ msgid "Audio" #~ msgstr "Lyd" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Behandle Alle Udgange" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Behandle Alle Indgange" #~ msgid "Use Cubic Volume" #~ msgstr "Brug Kubisk Volumen" #~ msgid "Style" #~ msgstr "Stil" #~ msgid "Use Dark Theme" #~ msgstr "Brug Mørk-tilstand" #~ msgid "_Spectrum" #~ msgstr "_Spektrum" #~ msgid "Shape" #~ msgstr "Form" #~ msgid "Bars" #~ msgstr "Bjælke" #~ msgid "Lines" #~ msgstr "Linjer" #~ msgid "Points" #~ msgstr "Point" #~ msgid "Height" #~ msgstr "Højde" #~ msgid "Line Width" #~ msgstr "Linje Bredde" #~ msgid "Fill" #~ msgstr "Fil" #~ msgid "Show Bars Border" #~ msgstr "Vis Bjælkerammer" #~ msgid "Color" #~ msgstr "Farve" #~ msgid "Lines and Bars" #~ msgstr "Linjer og Bjælker" #~ msgid "Axis Labels" #~ msgstr "Etiketter på akserne" #~ msgid "Frequency Range" #~ msgstr "Frekvens Rækkevidde" #~ msgid "Minimum" #~ msgstr "Minimum" #~ msgid "Maximum" #~ msgstr "Maksimum" #~ msgid "Load" #~ msgstr "Indlæs" #~ msgid "Save current settings to this preset file" #~ msgstr "Gem nuværende indstillinger til denne forindstillingsfil" #~ msgid "Remove this preset file" #~ msgstr "Fjern denne forindstillingsfil" #~ msgid "New Output Preset Name" #~ msgstr "Ny Udgangsforindstillingsnavn" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Opret Forindstilling" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Import Forudindstilling" #~ msgid "Search Output Preset" #~ msgstr "Søg Udgangeforindstillinger" #~ msgid "Output Presets List" #~ msgstr "Liste af Udgangeforindstillinger" #~ msgid "New Input Preset Name" #~ msgstr "Ny Indgangsforindstillingsnavn" #~ msgid "Search Input Preset" #~ msgstr "Søg Indgangsforindstillinger" #~ msgid "Input Presets List" #~ msgstr "Liste Af Indgangsforindstillinger" #~ msgid "High Frequency Damping" #~ msgstr "Højfrekvensdæmpning" #~ msgid "Room Size" #~ msgstr "Størrelse af Værelse" #~ msgid "Small" #~ msgstr "Lille" #~ msgid "Medium" #~ msgstr "Mellem" #~ msgid "Large" #~ msgstr "Stor" #~ msgid "Tunnel" #~ msgstr "Tunnel" #~ msgid "Large/smooth" #~ msgstr "Stor/Glat" #~ msgid "Experimental" #~ msgstr "Eksperimentelt" #~ msgid "Diffusion" #~ msgstr "Diffusion" #~ msgid "Pre Delay" #~ msgstr "Pre Forsinkelse" #~ msgid "Decay Time" #~ msgstr "Nedbrydningstime" #~ msgid "Wet Amount" #~ msgstr "Vådmængde" #~ msgid "Wet Level" #~ msgstr "Vådniveau" #~ msgid "Dry Amount" #~ msgstr "Tørmængde" #~ msgid "Dry Level" #~ msgstr "TørNiveau" #~ msgid "Bass Cut" #~ msgstr "Bas Snit" #~ msgid "Treble Cut" #~ msgstr "Diskant Snit" #~ msgid "Ambience" #~ msgstr "Stemning" #~ msgid "Empty Walls" #~ msgstr "Tomme Vægge" #~ msgid "Room" #~ msgstr "Værelse" #~ msgid "Large Empty Hall" #~ msgstr "Stor Tom Hal" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Large Optaget Hal" #~ msgid "Import Model" #~ msgstr "Import Model" #~ msgid "Models" #~ msgstr "Modeller" #~ msgid "Standard Model" #~ msgstr "Standard Model" #~ msgid "RNNoise Models List" #~ msgstr "Liste over RNNoise-Modeller" #~ msgid "Active Model" #~ msgstr "Aktive Modeller" #~ msgid "Standard RNNoise Model" #~ msgstr "Standard RNNoise-Model" #, fuzzy #~ msgid "Overview" #~ msgstr "Tjeneste" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Nustli EasyEffects." #, fuzzy #~ msgid "Close the Window" #~ msgstr "Skjul Vinduet." #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "_Om EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #~ msgid "Input Balance" #~ msgstr "Indgangsbalance" #~ msgid "Softclip" #~ msgstr "Softclip" #~ msgid "Softclip Level" #~ msgstr "Softclip-niveau" #~ msgid "Stereo Matrix" #~ msgstr "Stereo-matrix" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Stereo-Standard)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Stereo til Midtside)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Midtside til Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Mono Venstre Kanal)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Mono Højre Kanal)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Mono sum L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Stereo Vend Kanaler)" #~ msgid "Stereo Mode" #~ msgstr "Stereotilstand" #~ msgid "Invert Phase" #~ msgstr "Inverter Fase" #~ msgid "Side Level" #~ msgstr "Side Niveau" #~ msgid "Side Balance" #~ msgstr "Side Balance" #~ msgid "Middle Level" #~ msgstr "Mellem-Niveau" #~ msgid "Middle Panorama" #~ msgstr "Mellem-Panorama" #~ msgid "Output Balance" #~ msgstr "Udgangsbalance" #~ msgid "Delay L/R" #~ msgstr "Forsinkelse L/R" #~ msgid "Delay Left Right" #~ msgstr "Forsinkelse Venstre Højre" #~ msgid "Stereo Base" #~ msgstr "Stereo-Base" #~ msgid "Stereo Phase" #~ msgstr "Stereo-Fase" #, fuzzy #~ msgid "Creating" #~ msgstr "Gating" #, fuzzy #~ msgid "channels" #~ msgstr "Kanaler" #~ msgid "Output Presets: " #~ msgstr "Udgangsforindstillinger:" #~ msgid "Input Presets: " #~ msgstr "Indgangsforindstillinger:" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Lydeffekter for PipeWire applikationer" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Afslut EasyEffects. Nyttigt når man kører i servicetilstand." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Indlæs en forindstilling. Eksempelvis: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Nustli EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Skjul Vinduet." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Global Omgåelse. 1 for at aktivere, 2 for at deaktivere og 3 for at få " #~ "status" #~ msgid "Show available presets." #~ msgstr "Vis tilgængelige forindstillinger." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Impulsfiler liste" #~ msgid "Import Impulse File" #~ msgstr "Import Impulsfil" #~ msgid "Open" #~ msgstr "Åben" #~ msgid "Cancel" #~ msgstr "Annuller" #~ msgid "Impulse Response" #~ msgstr "Impulsrespons" #~ msgid "Load Impulse" #~ msgstr "Indlæs Impuls" #~ msgid "Remove Impulse" #~ msgstr "Fjern Impuls" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Impulsfiler liste" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Kunne Ikke Indlæse Impulsfilen" #~ msgid "Recorders" #~ msgstr "Optagere" #~ msgid "Players" #~ msgstr "Spillere" #, fuzzy #~ msgid "Effects" #~ msgstr "Easyeffects" #~ msgid "infinity" #~ msgstr "uendelighed" #~ msgid "Import APO Preset File" #~ msgstr "Import APO Forindstillingsfil" #~ msgid "APO Presets" #~ msgstr "APO-Forindstillinger" #~ msgid "Remove Autoloading Preset" #~ msgstr "Fjern Autoindlæst Forudindstilling" #~ msgid "Remove" #~ msgstr "Fjern" #~ msgid "Output Device" #~ msgstr "Udgangsenhed" #~ msgid "Add" #~ msgstr "Tilføj" #~ msgid "Import Preset" #~ msgstr "Import Forudindstilling" #~ msgid "Import Model File" #~ msgstr "Import Modelfil" #~ msgid "RNNoise Models" #~ msgstr "RNNoise-modeller" #, fuzzy #~ msgid "Bass Enhancer" #~ msgstr "Balance" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Hørestyrke" #, fuzzy #~ msgid "Delay" #~ msgstr "Pre Forsinkelse" #, fuzzy #~ msgid "Echo Canceller" #~ msgstr "Annuller" #, fuzzy #~ msgid "Filter" #~ msgstr "Filterlængde" #, fuzzy #~ msgid "Maximizer" #~ msgstr "Maksimum" #, fuzzy #~ msgid "Multiband Compressor" #~ msgstr "Kompressor" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Serveroplysninger" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Reduktion" #, fuzzy #~ msgid "Stereo Tools" #~ msgstr "Stereotilstand" #~ msgid "Average" #~ msgstr "Gennemsnitlig" #~ msgid "Failed" #~ msgstr "Fejlede" #~ msgid "Use Default" #~ msgstr "Brug Standard" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Fjern denne modelfil" #~ msgid "Import Presets" #~ msgstr "Importer Forindstillinger" #~ msgid "Start Service at Login" #~ msgstr "Start Tjeneste ved Login" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktive Modeller" #~ msgid "Add to Blocklist" #~ msgstr "Tilføj til Blokliste" #~ msgid "Blocklist" #~ msgstr "Blockliste" #~ msgid "Add Plugin" #~ msgstr "Tilføj Plugin" #~ msgid "Speakers" #~ msgstr "Højtalerer" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Plugins" #, fuzzy #~ msgid "enabled" #~ msgstr "Aktiveret" #, fuzzy #~ msgid "disabled" #~ msgstr "Aktiveret" #~ msgid "Format" #~ msgstr "Formater" #~ msgid "Latency" #~ msgstr "Forsinkelse" #~ msgid "Faster" #~ msgstr "Hurtigere" #~ msgid "Preserve Formant" #~ msgstr "Bevar Formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Player Name" #~ msgstr "Spillernavn" #~ msgid "Show Blocklisted Players" #~ msgstr "Vis Bloklistede Spillere" #~ msgid "RLC (BT)" #~ msgstr "BLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "7bit" #~ msgstr "7bit" #~ msgid "8bit" #~ msgstr "8bit" #~ msgid "11bit" #~ msgstr "11bit" #~ msgid "12bit" #~ msgstr "12bit" #~ msgid "15bit" #~ msgstr "15bit" #~ msgid "16bit" #~ msgstr "16bit" #~ msgid "23bit" #~ msgstr "23bit" #~ msgid "24bit" #~ msgstr "24bit" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Output Channel" #~ msgstr "Udgangskanal" #~ msgid "Channel" #~ msgstr "Kanal" #~ msgid "Value" #~ msgstr "Værdi" easyeffects-7.1.7/po/news/de.po000066400000000000000000002644661463533416400164040ustar00rootroot00000000000000# German translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the EasyEffects package. # Bleuzen , 2017. # msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-26 00:09+0000\n" "Last-Translator: Flaausch \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Audio Effekte für PipeWire Anwendungen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects ist ein fortschrittliches Audiobearbeitungswerkzeug. Es umfasst " "einen Equalizer, Limiter, Kompressor und ein Hallwerkzeug, um nur einige zu " "nennen. Ergänzend dazu gibt es auch einen eingebauten Spektrumanalysator." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects ist der Nachfolger von PulseEffects. EasyEffects unterstützt nur " "den Audioserver von PipeWire. PulseAudio-Nutzer sollte stattdessen " "PulseEffects verwenden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Da EasyEffects den Standard PulseAudio Sound Server benutzt, funktioniert es " "mit so ziemlich allen Anwendungen. Alle unterstützten Anwendungen werden im " "Hauptfenster angezeigt, wo diese individuell ein-/ausgeschaltet werden " "können." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Neben der Audiomanipulation des Ausgangs kann EasyEffects auch Effekte auf " "Eingabegeräte, z.B. Mikrofone, anwenden. Dies ist sinnvoll für z.B. " "Audioaufnahmen oder VOIP Anwendungen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Wenn EasyEffects startet, stellt es die Konfiguration der letzten Sitzung " "wieder her. Es ist auch möglich, die aktuellen Einstellungen als Profile zu " "speichern." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Die Hauptseite mit zwei Audioausgabe-Apps" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Die Bassverstärkerseite mit den Audiosteuerelementen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "Die Convolverseite mit den Audiosteuerelementen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 #, fuzzy msgid "Bug fixes:" msgstr "Fehlerbehebungen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Weitere Anmerkungen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Übersetzungen wurden aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Übersetzungen wurden aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #, fuzzy msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "Der Grenz-Parameter des Deesser Plugins wird jetzt in der Voreinstellungs-" "Datei gespeichert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" "Eine Sektion für \"Experimentelle Funktionen\" wurde zum Einstellungsdialog " "hinzugefügt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "automatisch geladene Voreinstellungen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #, fuzzy msgid "Improved translations" msgstr "Übersetzungen wurden aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #, fuzzy msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Das Begrenzer Plugin verwendet jetzt das Begrenzer Plugin von Linux Studio " "Plugins statt das von Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 #, fuzzy msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Wenn jetzt Effekte einer Anwendung deaktiviert werden, setzen wir dessen " "Ziel-Metadaten auf null. Dies ermöglicht der Medien Session" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 #, fuzzy msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Es wurde eine neue Einstellungsmöglichkeit hinzugefügt. Diese erlaubt " "EasyEffects überwachende Eingänge zu ignorieren" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Der Code zum Anzeigen des Stream-Auflösungsformats wurde verbessert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 #, fuzzy msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "Die rnnoise-Bibliothek ist jetzt optional. Dadurch sollten Paket-Maintainer " "einfacher" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "In den Logs werden jetzt die Sourcecode-Zeilen angezeigt, welche die " "Nachricht ausgelöst hat" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 #, fuzzy msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "Die \"Effekte aktivieren\" Checkbox im Fenster wurde nicht aktualisiert, " "wenn Programme wie Pavucontrol" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Ein Absturz-Problem wurde behoben, wenn der Verlauf der automatischen " "Verstärkungsregelung verändert wurde." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Absturz-Probleme durch pw-mididump wurden behoben" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "Die Benutzer-Oberfläche der Tonhöhe-Erweiterung wurde verbessert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "Unser App-Symbol ist jetzt auch mit QT-basierten Desktops kompatibel" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 #, fuzzy msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Unser Blocklist-Code berücksichtigt jetzt den `application.id` Tag, sofern " "dieser gesetzt ist" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 #, fuzzy msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Um Probleme beim Maus-Scrollen zu vermeiden, werden Einträge in der " "Anwendungen-Liste jetzt unter `Spieler` angezeigt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #, fuzzy msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Wenn keine Anwendungen verfügbar sind, wird in `Spieler` eine Nachricht dem " "Nutzer angezeigt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Unzählige Übersetzungen aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 #, fuzzy msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Es wurde ein Fehler behoben, der EasyEffects zum Absturz brachte, wenn die " "Anzahl der angezeigten Punkte im Spektrum geändert wurde, während" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "Der angezeigte Pipeline-Latenz-Wert war in bestimmten Situationen falsch. " "Dies wurde behoben." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #, fuzzy msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Das Autogain-Plugin erlaubt es dem Benutzer nun auszuwählen, welche der drei " "Lautstärken für die Berechnung der geometrischen Werte verwendet werden " "sollen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 #, fuzzy msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Das Autogain-Plugin erlaubt nun die Einstellung des maximalen Verlaufs und " "verwendet nicht mehr den Histogramm-Modus `libebur128`." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "Das EasyEffects-Symbol wurde aktualisiert, damit es auf QT-Desktops sichtbar " "ist." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "Die Kommandozeilen-Option, welche den globalen `bypass`-Status " "zurückliefert, funktioniert wieder." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Der Crossfeed-Filter sollte nun besser mit PipeWire's dynamischem Wechsel " "der Latenz klarkommen. Unstetigkeiten in der Lautstärke sollten in diesen " "Situationen nicht mehr auftreten." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Es wurde ein Fehler behoben, der verhinderte, dass Monomikrofone " "ordnungsgemäß mit EasyEffects funktionierten" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "Unterstützung für die nächste PipeWire Version '0.3.44'" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Der Autogain-Filter sollte nun besser mit den dynamischen Latenzschaltern " "von PipeWire umgehen. Lautstärke-Sprünge sollten in diesen Situationen nicht " "mehr auftreten." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Wir haben eine Option hinzugefügt, mit der die Lautstärke und die " "Stummschaltung der virtuellen Geräte beim Start von EasyEffects " "zurückgesetzt werden können. Das sollte in den Fällen helfen, in denen die " "Geräte aus unbekannten Gründen vom Audioserver selbst stummgeschaltet werden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Computer in Bereitschaft werden nun besser unterstützt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Es wurde ein Fehler behohen, der die Anwendung zum Absturz brachte, wenn " "versucht wurde, automatisch ein Profil ohne Voreinstellungen anzulegen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 #, fuzzy msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Es wurde ein Fehler behoben, der beim Setzen der Equalizer Flankensteilheit " "(Q-Wert) auf `Null`die Anwendung zum Abstürzen brachte." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita wird verwendet in manchen Teilen unseres Fensters und um zwischen " "dunklem und hellem Farbschema umzuschalten." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "Das Einstellungs-Menü wurde auf LibAdwaita-Komponenten umgebaut." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 #, fuzzy msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "Der Import von Equalizer APO Vorlagen wurde verbessert, sodass dieses nicht " "mehr nur auf Glocken-Filter, sondern auch auf andere unterstützte angewendet " "werden kann" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 #, fuzzy msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "Die `alle Einstellungen zurücksetzen`-Funktion sollte jetzt auch für Flatpak " "funktionieren." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 #, fuzzy msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Jetzt gibt es eine Möglichkeit das automatische Verstecken des Menüs zu " "deaktivieren. Dies könnte bei einigen Problemen mit den GTK 4.0 Popover-" "Menüs helfen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "APO Voreinstellungen parsen ist jetzt robuster dank Komma als " "Tausendertrennzeichen im mittleren Frequenzbereich." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "Die fmt Bibliothek ist eine neue Abhängigkeit; zumindest solange der C++ " "Kompiler dies nicht unterstützt. Dies sollte in den kommenden Jahren der " "Fall sein." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM und GLIBMM sind jetzt keine Abhängigkeiten mehr. Jetzt verwenden wir " "GTK 4.0 direkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Jetzt ist es möglich Impulsantworten im Convolver zu kombinieren. Eine neue " "Impuls-Datei wird generiert und sollte in der Impuls-Liste sichtbar sein." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 #, fuzzy msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "X-Achsen-Anzeige in unseren Graphen verbessert. Jetzt wird die Anzahl der " "Beschriftungen dynamisch an die Fensterbreite angepasst." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "Die Dokumentation wurde um die neuen EasyEffects-Funktionen erweitert. " "PulseEffects-Referenzen wurden entfernt. Ein Button zur Dokumentation wurde " "dem Menü hinzugefügt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Wenn ein Drehknopf einen Wertebereich außerhalb des möglichen Bereichs hat, " "wird dieser jetzt an die Grenzen angepasst - statt den vorherigen Wert zu " "verwenden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "Das Anwengungsfenster speichert sich jetzt den Maximiert-Status und stellt " "diesen beim nächsten Öffnen wieder her." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 #, fuzzy msgid "The tbb library is a new dependency" msgstr "Die `tbb`-Bibliothek ist jetzt eine neue Abhängigkeit" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Die Begrenzer- und Multiband-Kompressor-Plugins können jetzt optional eine " "externe Sidechain verwenden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "Der Benutzer kann jetzt im Autogain-Plugin auswählen, welche Loudness als " "Referenz zur Lautstärken-Korrektur verwendet werden soll." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "Das APO-Profile-Import-Feature des Equalizer-Plugins parst jetzt auch den " "\"Pre Amplification\" Parameter." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "Kubische Lautstärke kann jetzt optional in den allgemeinen Einstellungen " "aktiviert werden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "PipeWire Monitor-Streams werden jetzt von der Applikaitonsliste " "ausgeschlossen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 #, fuzzy msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "Hoffentlich sind jetzt Abstürze, wie in [1172] gemeldet, behoben." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "Ein Absturz durch die Spektrum-Anzeige wurde verindert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "Pavucontrol wird jetzt nicht mehr in der Liste der Aufnahme-Anwendungen auf " "nicht-englischen Systemen angezeigt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 #, fuzzy msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "Kompatibilität mit WirePlumber verbesser. Dies ist notwendig, um auf " "Systemen zu laufen, die sich dazu entschieden haben, es statt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "Die Ziel-Voreinstellung für Geräte in der Liste werden aktualisiert, wenn " "ein Standardprofil hinterlegt wird. So kann die Profil-Voreinstellung " "angepasst werden, ohne das es komplett neu angelegt werden muss." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 #, fuzzy msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "Das Laden von Standard-Voreinstellungen wurde wieder verändert. Jetzt " "sollten mehr Geräte damit funktionieren. Für weitere Informationen siehe " "Ticket [1051](" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Wenn der Begrenzer oder Maximierer an der letzten Position der Plugin-Kette " "stehen, werden weitere Plugins an der zweitletzen Position hinzugefügt, um " "eventuelle Schäden an den Geräten durch zu hohe Laustärke zu vermeiden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "Wird eine Anwendung von der Blockliste entfernt, so werden die zuvor " "aktivierten Einstellungen wiederhergestellt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Manchmal wurde beim Entfernen von importierten Rauschreduzierungs-Modellen " "das aktuelle Modell nicht korrekt gesetzt. Dies sollte nun behoben sein." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Wenn Voreinstellungs-Datein in einem externen Editor verändert wurden, " "konnten duplizierte Einträge nicht mehr in dem Menü für Voreinstellungen " "angezeigt werden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Jetzt wird die Blockliste korrekt gesetzt, wenn Voreinstellungen gewechselt " "werden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Jetzt wird der Status der Knopfes für die globalen Umleitung korrekt " "aktualisiert, wenn die Plugin-Liste verändert wird." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Manche Symbole, die auf der Plasma-Desktopoberfläche gefehlt haben, sollten " "jetzt wieder angezeigt werden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Die chinesische Übersetzung wurde aktualisiert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Die italienische Übersetzung wurde aktualisiert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 #, fuzzy msgid "Added support for the compressor parameter Boost Amount" msgstr "Der Kompressor-Parameter `Boost Amount`wird jetzt unterstützt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "Das Multiband-Kompressor Plugin verwendet jetzt das Stereo Multiband-" "Kompressor Plugin von Linux Studio anstatt des Plugins von Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "Das Begrenzer Plugin verwendet jetzt das Begrenzer Plugin von Linux Studio " "Plugins statt das von Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "LV2 Filter werden jetzt in der PipeWire nur beim ersten Mal eingehängt. " "Jetzt bleiben diese eingehängt, bis EasyEffects beendet wird." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "Die Abtastrate der Echounterdrückung wird jetzt korrekt gesetzt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "Der Grenz-Parameter des Deesser Plugins wird jetzt in der Voreinstellungs-" "Datei gespeichert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Die Balkenvisualisierung konnte nicht abhängig von der Eingangs- oder " "Ausgangsverstäkung angepasst werden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 #, fuzzy msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "Beim Hinzufügen von Equalizer-Bereichen, werden diese jetzt mit `Glocke` " "statt `Aus` vorbesetzt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "Laden der Equalizer APO Voreinstellungen funktioniert jetzt auch in anderen " "Sprachen korrekt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Verbessertes Verknüfungs-Management zwischen Schnittstellenfilter-Knoten in " "PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "Die Signalverstärkung des Crystalizer Plugins war zuvor zu hoch. Jetzt " "sollte es mit sinnvolleren Werten vorbelegt sein." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Der Resampler, der in verschiedenen Plugins (z.B. der Rauschunterdrückung) " "verwendet wird, wurde verbessert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "Setzen von mehreren Standard-Voreinstellungen sollte jetzt funktionieren" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "Die Dialog-Fenster mancher Plugins werden jetzt korrekt dargestellt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 #, fuzzy msgid "We now support the LSP compressor Boosting mode." msgstr "Der Kompressor-Parameter `Boost Amount`wird jetzt unterstützt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 #, fuzzy msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "Die Anwendung und dessen Repository wurde von PulseEffects zu `EasyEffects` " "umbenannt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "GStreamer wurde durch PipeWire-Filter ersetzt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Es werden neue Bibliotheken verwendet, und einige der Bibliotheken, die " "zuvor optional waren, sind nun erforderlich" #~ msgid "This release adds the following features:" #~ msgstr "Dieser Release fügt die folgenden Features hinzu:" #~ msgid "manager" #~ msgstr "Manager" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr ". Dies sollte einige Probleme in Verbindung mit OBS beheben." #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "" #~ "Debian Pakete bauen können. Siehe Problem #1000 für weiter Informationen." #~ msgid "This release fixes the following bugs:" #~ msgstr "Dieser Release behebt die folgenden Fehler:" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "den Stream von unserem virtuellem Gerät entfernt haben. Dies sollte jetzt " #~ "behoben sein." #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "Tab ohne Lautstärke-Skala angezeigt. Weitere Details zu dem Problem und " #~ "dessen Lösung kann bei Ticket #1211" #~ msgid "and #1427" #~ msgstr "und #1427 nachgelesen werden" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "die Pipeline aktiv und das Spektrum-Widget sichtbar war" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Es gibt eine neue Einstellung, die es den BenutzerInnen erlaubt, einen " #~ "Timeout nach Inaktivität für den Audioeffekt festzulegen. Wenn kein " #~ "Client spielt" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "oder von einem Geräte aufnimmt, werden die Filter getrennt, nachdem der " #~ "Timeout erreicht ist. Dies wird getan um sicherzustellen," #~ msgid "we do not waste CPU power processing silence." #~ msgstr "" #~ "dass keine CPU-Leistung für das Verarbeiten von Stille verschwendet wird." #~ msgid "mean." #~ msgstr "gemein." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Dies sollte verhindern, dass die \"Integrierte\" Lautheit für immer auf " #~ "demselben Wert stehen bleibt." #~ msgid "This release fixes the following bug:" #~ msgstr "Diese Version behebt den folgenden Fehler:" #~ msgid "This release adds the following feature:" #~ msgstr "Dieser Release fügt die folgenden Features hinzu:" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "dem mitgelieferten PipeWire-Sitzungsmanager zu verwenden. Weitere " #~ "Informationen bei Fehlerticket [1144](" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Fehlende Symbole des Systems sollten jetzt nicht mehr in der " #~ "Applikationsinfo-Oberfläche angezeigt werden" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Equalizer, Kompressor und andere Audioeffekte" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "Limiter;Kompressor;Hall;Equalizer;Autovolumen;" #~ msgid "\"Presets\"" #~ msgstr "\"Voreinstellungen\"" #~ msgid "Enable" #~ msgstr "Aktiviert" #~ msgid "Exclude" #~ msgstr "Ausschließen" #~ msgid "Mute Application" #~ msgstr "Anwendung stummschalten" #~ msgid "Application Volume" #~ msgstr "Anwendungs-Lautstärke" #~ msgid "_Preferences" #~ msgstr "_Einstellungen" #~ msgid "_Manual" #~ msgstr "_Handbuch" #~ msgid "_Shortcuts" #~ msgstr "_Tastenkürzel" #~ msgid "_Reset Settings" #~ msgstr "_Einstellungen zurücksetzen" #~ msgid "_About EasyEffects" #~ msgstr "_Über EasyEffects" #~ msgid "Presets" #~ msgstr "Voreinstellungen" #~ msgid "Presets Menu" #~ msgstr "Voreinstellungs-Menü" #~ msgid "Global Bypass" #~ msgstr "Globale Umleitung" #~ msgid "Primary Menu" #~ msgstr "Hauptmenü" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects Fenster" #~ msgid "Applications List" #~ msgstr "Anwendungs-Liste" #~ msgid "Empty List" #~ msgstr "Leere Liste" #~ msgid "No Audio Application Available" #~ msgstr "Keine Audio-Anwendungen verfügbar" #~ msgid "Target" #~ msgstr "Ziel" #~ msgid "Maximum History" #~ msgstr "Gesamter Verlauf" #~ msgid "Reference" #~ msgstr "Referenz" #~ msgid "Momentary" #~ msgstr "Momentan" #~ msgid "Short-Term" #~ msgstr "Kurzzeitig" #~ msgid "Integrated" #~ msgstr "Integriert" #~ msgid "Geometric Mean (MSI)" #~ msgstr "Geometrisches Mittel (MSI)" #~ msgid "Geometric Mean (MS)" #~ msgstr "Geometrisches Mittel (MS)" #~ msgid "Geometric Mean (MI)" #~ msgstr "Geometrisches Mittel (MI)" #~ msgid "Geometric Mean (SI)" #~ msgstr "Geometrisches Mittel (SI)" #~ msgid "Reset History" #~ msgstr "Verlauf löschen" #~ msgid "Relative" #~ msgstr "Relativ" #~ msgid "Range" #~ msgstr "Umfang" #~ msgid "Loudness" #~ msgstr "Lautstärke" #~ msgid "Output Gain" #~ msgstr "Ausgangsverstärkung" #~ msgid "Input" #~ msgstr "Eingabe" #~ msgid "Plugin Input Gain" #~ msgstr "Eingangsverstärkungs-Plugin" #~ msgid "Output" #~ msgstr "Ausgang" #~ msgid "Plugin Output Gain" #~ msgstr "Ausgangsverstärkungs-Plugin" #~ msgid "Reset" #~ msgstr "Zurücksetzen" #~ msgid "Using" #~ msgstr "Nutze" #~ msgid "Device" #~ msgstr "Gerät" #~ msgid "Name" #~ msgstr "Name" #~ msgid "Profile" #~ msgstr "Profil" #~ msgid "Preset" #~ msgstr "Voreinstellung" #~ msgid "Remove this autoload preset" #~ msgstr "automatisch geladene Voreinstellung entfernen" #~ msgid "Listen" #~ msgstr "Zuhören" #~ msgid "Blend Harmonics" #~ msgstr "Oberwellen mischen" #~ msgid "3rd" #~ msgstr "Dritte" #~ msgid "2nd" #~ msgstr "Zweite" #~ msgid "Amount" #~ msgstr "Betrag" #~ msgid "Harmonics" #~ msgstr "Obertöne" #~ msgid "Scope" #~ msgstr "Bereich" #~ msgid "Floor" #~ msgstr "Boden" #, fuzzy #~ msgid "Floor Value" #~ msgstr "untere Grenze" #~ msgid "Link" #~ msgstr "Link" #~ msgid "Application Name" #~ msgstr "Anwendungen" #~ msgid "Add to Excluded Applications" #~ msgstr "Zu ausgeschlossenen Anwendungen hinzufügen" #~ msgid "Excluded Applications List" #~ msgstr "Liste der ausgeschlossenen Anwendungen" #~ msgid "Show Excluded Applications" #~ msgstr "Ausgeschlossene Anwendungen anzeigen" #~ msgid "Compressor" #~ msgstr "Kompressor" #~ msgid "Mode" #~ msgstr "Modus" #~ msgid "Downward" #~ msgstr "Abwärts" #~ msgid "Upward" #~ msgstr "Aufwärts" #~ msgid "Boosting" #~ msgstr "Boosten" #~ msgid "Compression Mode" #~ msgstr "Kompressionsmodus" #~ msgid "Boost Threshold" #~ msgstr "Verstärkungsschwelle" #~ msgid "Boost Amount" #~ msgstr "Verstärkung" #~ msgid "Attack" #~ msgstr "Ansprechzeit" #~ msgid "Time" #~ msgstr "Zeit" #~ msgid "Threshold" #~ msgstr "Schwelle" #~ msgid "Attack Time" #~ msgstr "Ansprechzeit" #~ msgid "Attack Threshold" #~ msgstr "Anprech-Schwelle" #~ msgid "Release" #~ msgstr "Freigabe" #, fuzzy #~ msgid "Release Time" #~ msgstr "Ausklingzeit" #~ msgid "Release Threshold" #~ msgstr "Abkling-Schwelle" #~ msgid "Ratio" #~ msgstr "Verhältnis" #~ msgid "Knee" #~ msgstr "Übergang" #~ msgid "Makeup" #~ msgstr "Hebung" #~ msgid "Sidechain" #~ msgstr "Sidechain" #~ msgid "Peak" #~ msgstr "Hochpunkt" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Tiefpass" #~ msgid "Uniform" #~ msgstr "Einheitlich" #~ msgid "Sidechain Mode" #~ msgstr "Sidechain-Modus" #~ msgid "Source" #~ msgstr "Quelle" #~ msgid "Middle" #~ msgstr "Mitte" #~ msgid "Side" #~ msgstr "Seite" #~ msgid "Left" #~ msgstr "Links" #~ msgid "Right" #~ msgstr "Rechts" #~ msgid "Sidechain Source" #~ msgstr "Sidechain-Quelle" #~ msgid "Type" #~ msgstr "Typ" #~ msgid "Feed-forward" #~ msgstr "Feedforward" #~ msgid "Feed-back" #~ msgstr "Feedback" #~ msgid "External" #~ msgstr "Extern" #~ msgid "Sidechain Type" #~ msgstr "Sidechain-Typ" #~ msgid "Input Device" #~ msgstr "Eingabegerät" #~ msgid "PreAmplification" #~ msgstr "Vorverstärkung" #~ msgid "Reactivity" #~ msgstr "Reaktivität" #~ msgid "Lookahead" #~ msgstr "Ausblick" #~ msgid "Sidechain Filters" #~ msgstr "Sidechain-Filter" #~ msgid "High-Pass" #~ msgstr "Hochpass" #~ msgid "Frequency" #~ msgstr "Frequenz" #~ msgid "Off" #~ msgstr "Aus" #~ msgid "12 dB/oct" #~ msgstr "12 dB/okt" #~ msgid "24 dB/oct" #~ msgstr "24 dB/okt" #~ msgid "36 dB/oct" #~ msgstr "36 dB/okt" #~ msgid "High-Pass Filter Mode" #~ msgstr "Hochpassfilter-Modus" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Hochpassfilter-Frequenz" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Tiefpassfilter-Modus" #~ msgid "Gain" #~ msgstr "Verstärkung" #, fuzzy #~ msgid "Envelope" #~ msgstr "Steigung" #~ msgid "Curve" #~ msgstr "Kurve" #~ msgid "L" #~ msgstr "L" #~ msgid "Left Channel" #~ msgstr "Linker Kanal" #~ msgid "R" #~ msgstr "R" #~ msgid "Right Channel" #~ msgstr "Rechter Kanal" #~ msgid "Impulses" #~ msgstr "Impulse" #~ msgid "Stereo Width" #~ msgstr "Stereo-Breite" #~ msgid "Spectrum" #~ msgstr "Spektrum" #~ msgid "Log Scale" #~ msgstr "logarithmische Skala" #~ msgid "Autogain" #~ msgstr "Automatische Verstärkungsregelung" #~ msgid "Rate" #~ msgstr "Rate" #~ msgid "Samples" #~ msgstr "Probenahme" #~ msgid "Duration" #~ msgstr "Dauer" #~ msgid "Combine Impulse Responses" #~ msgstr "Impulsantworten kombinieren" #~ msgid "Output File Name" #~ msgstr "Name der Ausgabedatei" #~ msgid "Import Impulse" #~ msgstr "Impuls importieren" #~ msgid "Search" #~ msgstr "Suche" #~ msgid "Search Impulse File" #~ msgstr "Impulsdatei suchen" #~ msgid "Impulse Files List" #~ msgstr "Impulsfilter-Liste" #~ msgid "Default" #~ msgstr "Standard" #~ msgid "Cutoff" #~ msgstr "Abgrenzung" #~ msgid "Feed" #~ msgstr "Speisung" #~ msgid "Bypass" #~ msgstr "Umleiten" #~ msgid "Mute" #~ msgstr "Stummschalten" #~ msgid "Detection" #~ msgstr "Erkennung" #~ msgid "Wide" #~ msgstr "Breit" #~ msgid "Split" #~ msgstr "Teilen" #~ msgid "F1 Split" #~ msgstr "F1 Teilen" #~ msgid "Frequency 1 Split" #~ msgstr "Teilfrequenz 1" #~ msgid "F2 Peak" #~ msgstr "F2 Peak" #~ msgid "Frequency 2 Peak" #~ msgstr "Frequenz 2 Peak" #~ msgid "F1 Gain" #~ msgstr "F1 Verstärkung" #~ msgid "Frequency 1 Gain" #~ msgstr "Frequenz 1 Verstärkung" #~ msgid "F2 Level" #~ msgstr "F2 Level" #~ msgid "Frequency 2 Level" #~ msgstr "Frequenz 2 Level" #~ msgid "F2 Peak Q" #~ msgstr "F2 Peak Q" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frequenz 2 Peak Q" #~ msgid "Laxity" #~ msgstr "Nachgiebigkeit" #~ msgid "Detected" #~ msgstr "Erkannt" #~ msgid "Reduction" #~ msgstr "Senkung" #~ msgid "Frame Size" #~ msgstr "Rahmengröße" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filter" #~ msgid "Excluded Apps" #~ msgstr "Ausgeschlossene Anwendungen" #~ msgid "Bands" #~ msgstr "Bereiche" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Kanäle trennen" #~ msgid "Flat Response" #~ msgstr "Flacher Frequenzgang" #~ msgid "Calculate Frequencies" #~ msgstr "Frequenzen berechnen" #~ msgid "Load APO Preset" #~ msgstr "APO Preset laden" #~ msgid "Bell" #~ msgstr "Glocke" #~ msgid "High Pass" #~ msgstr "Hochpass" #~ msgid "High Shelf" #~ msgstr "Höhen-Kuhschwanzfilter" #~ msgid "Low Pass" #~ msgstr "Tiefpass" #~ msgid "Low Shelf" #~ msgstr "Tiefen-Kuhschwanzfilter" #~ msgid "Notch" #~ msgstr "Badewannenfilter" #~ msgid "Resonance" #~ msgstr "Resonanz" #~ msgid "All Pass" #~ msgstr "Allpass" #~ msgid "Band Type" #~ msgstr "Band Typ" #~ msgid "Band Mode" #~ msgstr "Band Modus" #~ msgid "Slope" #~ msgstr "Steigung" #~ msgid "Band Slope" #~ msgstr "Band Kurve" #~ msgid "Width" #~ msgstr "Breite" #~ msgid "Quality" #~ msgstr "Qualität" #~ msgid "Solo" #~ msgstr "Solo" #~ msgid "Ceil" #~ msgstr "obere Grenze" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Zugriff" #~ msgid "Description" #~ msgstr "Beschreibung" #~ msgid "Remove this model file" #~ msgstr "diese Modell-Datei entfernen" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt Tiefpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt Tiefpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt Tiefpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt Hochpass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt Hochpass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt Hochpass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt Bandpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt Bandpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt Bandpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/okt Bandsperre" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/okt Bandsperre" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/okt Bandsperre" #~ msgid "Inertia" #~ msgstr "Trägheit" #~ msgid "Gate" #~ msgstr "Gate" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Ausklingzeit" #, fuzzy #~ msgid "Internal" #~ msgstr "Extern" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "Oversampling" #~ msgstr "Überabtastung" #~ msgid "Herm Wide" #~ msgstr "Herm Breit" #~ msgid "Exp Wide" #~ msgstr "Exp Breit" #~ msgid "Line Thin" #~ msgstr "Line Thin" #~ msgid "Line Wide" #~ msgstr "Line Wide" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Line Tail" #~ msgid "None" #~ msgstr "Keine" #~ msgid "Half x2(2L)" #~ msgstr "Halb x2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "Halb x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Halb x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Halb x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Halb x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Halb x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Halb x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Halb x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Halb x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Halb x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Voll x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Voll x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Voll x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Voll x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Voll x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Voll x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Voll x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Voll x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Voll x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Voll x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC Vorverstärker" #~ msgid "Sidechain PreAmplification" #~ msgstr "Sidechain Vorverstärkung" #~ msgid "Boost" #~ msgstr "Boost" #~ msgid "Stereo Link" #~ msgstr "Stereoverbindung" #~ msgid "External Sidechain" #~ msgstr "Externe Sidechain" #~ msgid "External Sidechain Source" #~ msgstr "Externe Sidechain-Quelle" #~ msgid "Auto Leveling" #~ msgstr "Auto Leveling" #~ msgid "Auto Leveling Attack" #~ msgstr "Auto Leveling Attack" #~ msgid "Auto Leveling Release" #~ msgstr "Auto Leveling Release" #~ msgid "Auto Leveling Knee" #~ msgstr "Auto Leveling Knee" #~ msgid "Gain Left" #~ msgstr "Verstärkung Links" #~ msgid "Gain Right" #~ msgstr "Verstärkung Rechts" #~ msgid "Sidechain Left" #~ msgstr "Sidechain Links" #~ msgid "Sidechain Right" #~ msgstr "Sidechain Rechts" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Flat" #~ msgstr "Flach" #~ msgid "FFT Size" #~ msgstr "FFT-Größe" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Auflösung der schnellen Fourier-Transformation" #~ msgid "Output Volume" #~ msgstr "Ausgangslautstärke" #~ msgid "Ceiling" #~ msgstr "Grenze" #~ msgid "Operating Mode" #~ msgstr "Betriebsmodus" #~ msgid "Classic" #~ msgstr "Klassisch" #~ msgid "Modern" #~ msgstr "Modern" #~ msgid "Sidechain Boost" #~ msgstr "Sidechain Boost" #~ msgid "Bands List" #~ msgstr "Band-Liste" #~ msgid "Band 1" #~ msgstr "Band 1" #~ msgid "Band 2" #~ msgstr "Band 2" #~ msgid "Band 3" #~ msgstr "Band 3" #~ msgid "Band 4" #~ msgstr "Band 4" #~ msgid "Band 5" #~ msgstr "Band 5" #~ msgid "Band 6" #~ msgstr "Band 6" #~ msgid "Band 7" #~ msgstr "Band 7" #~ msgid "Band 8" #~ msgstr "Band 8" #~ msgid "Band Start" #~ msgstr "Band Beginn" #~ msgid "Band End" #~ msgstr "Band Ende" #~ msgid "Band Compression Mode" #~ msgstr "Band Kompressionsmodus" #~ msgid "Band Bypass" #~ msgstr "Band Umleitung" #~ msgid "Band Sidechain Options" #~ msgstr "Band Sidechain Einstellungen" #~ msgid "Low-Cut Filter" #~ msgstr "Hochpass-Filter" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Tiefpassfilter-Frequenz" #~ msgid "High-Cut Filter" #~ msgstr "Tiefpass-Filter" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Tiefpassfilter-Frequenz" #~ msgid "PreAmp" #~ msgstr "Vorverstärker" #~ msgid "Band Gain" #~ msgstr "Bereichs-Verstärkung" #~ msgid "Band Envelope" #~ msgstr "Band Bereich" #~ msgid "Band Curve" #~ msgstr "Band-Kurve" #~ msgid "Split Mode" #~ msgstr "Teilungsmodus" #~ msgid "Split 1/2" #~ msgstr "1/2 Teilen" #~ msgid "Split Frequency 1" #~ msgstr "Teilfrequenz 1" #~ msgid "Split 2/3" #~ msgstr "2/3 Teilen" #~ msgid "Split Frequency 2" #~ msgstr "Teilfrequenz 2" #~ msgid "Split 3/4" #~ msgstr "3/4 Teilen" #~ msgid "Split Frequency 3" #~ msgstr "Teilfrequenz 3" #~ msgid "Sub Band" #~ msgstr "Subband" #~ msgid "Band 1 Bypass" #~ msgstr "Band 1 Umleitung" #~ msgid "Band 1 Solo" #~ msgstr "Nur Band 1" #~ msgid "Band 1 Detection" #~ msgstr "Band 1 Erkennung" #~ msgid "Band 1 Attack" #~ msgstr "Band 1 Ansprechzeit" #~ msgid "Band 1 Release" #~ msgstr "Band 1 Freigabe" #~ msgid "Band 1 Threshold" #~ msgstr "Band 1 Schwelle" #~ msgid "Band 1 Ratio" #~ msgstr "Band 1 Verhältnis" #~ msgid "Band 1 Knee" #~ msgstr "Band 1 Knie" #~ msgid "Band 1 Makeup" #~ msgstr "Band 1 Hebung" #~ msgid "Max Reduction" #~ msgstr "Senkung" #~ msgid "Band 1 Max Reduction" #~ msgstr "maximale Band 1 Reduktion" #~ msgid "Low Band" #~ msgstr "Tiefband" #~ msgid "Band 2 Bypass" #~ msgstr "Band 2 Umleitung" #~ msgid "Band 2 Solo" #~ msgstr "Nur Band 2" #~ msgid "Band 2 Detection" #~ msgstr "Band 2 Erkennung" #~ msgid "Band 2 Attack" #~ msgstr "Band 2 Ansprechzeit" #~ msgid "Band 2 Release" #~ msgstr "Band 2 Freigabe" #~ msgid "Band 2 Threshold" #~ msgstr "Band 2 Schwelle" #~ msgid "Band 2 Ratio" #~ msgstr "Band 2 Verhältnis" #~ msgid "Band 2 Knee" #~ msgstr "Band 2 Knie" #~ msgid "Band 2 Makeup" #~ msgstr "Band 2 Hebung" #~ msgid "Band 2 Max Reduction" #~ msgstr "maximale Band 2 Reduktion" #~ msgid "Mid Band" #~ msgstr "Mittelband" #~ msgid "Band 3 Bypass" #~ msgstr "Band 3 Umleitung" #~ msgid "Band 3 Solo" #~ msgstr "Nur Band 3" #~ msgid "Band 3 Detection" #~ msgstr "Band 3 Erkennung" #~ msgid "Band 3 Attack" #~ msgstr "Band 3 Ansprechzeit" #~ msgid "Band 3 Release" #~ msgstr "Band 3 Freigabe" #~ msgid "Band 3 Threshold" #~ msgstr "Band 3 Schwelle" #~ msgid "Band 3 Ratio" #~ msgstr "Band 3 Verhältnis" #~ msgid "Band 3 Knee" #~ msgstr "Band 3 Knie" #~ msgid "Band 3 Makeup" #~ msgstr "Band 3 Hebung" #~ msgid "Band 3 Max Reduction" #~ msgstr "maximale Band 3 Reduktion" #~ msgid "High Band" #~ msgstr "Hochband" #~ msgid "Band 4 Bypass" #~ msgstr "Band 4 Umleitung" #~ msgid "Band 4 Solo" #~ msgstr "Nur Band 4" #~ msgid "Band 4 Detection" #~ msgstr "Band 4 Erkennung" #~ msgid "Band 4 Attack" #~ msgstr "Band 4 Ansprechzeit" #~ msgid "Band 4 Release" #~ msgstr "Band 4 Freigabe" #~ msgid "Band 4 Threshold" #~ msgstr "Band 4 Schwelle" #~ msgid "Band 4 Ratio" #~ msgstr "Band 4 Verhältnis" #~ msgid "Band 4 Knee" #~ msgstr "Band 4 Knie" #~ msgid "Band 4 Makeup" #~ msgstr "Band 4 Hebung" #~ msgid "Band 4 Max Reduction" #~ msgstr "Maximale Band 4 Reduktion" #~ msgid "General" #~ msgstr "Allgemein" #~ msgid "Use Default Input" #~ msgstr "Standardeingang nutzen" #~ msgid "Custom Input Device" #~ msgstr "benutzerdefiniertes Eingabegerät" #~ msgid "Use Default Output" #~ msgstr "Standardausgang nutzen" #~ msgid "Custom Output Device" #~ msgstr "benutzerdefiniertes Ausgabegerät" #~ msgid "Server Information" #~ msgstr "Serverinformation" #~ msgid "Header Version" #~ msgstr "Header-Version" #~ msgid "Library Version" #~ msgstr "Bibliotheksversion" #~ msgid "Sampling Rate" #~ msgstr "Abtastrate" #~ msgid "Minimum Quantum" #~ msgstr "Minimales Quantum" #~ msgid "Maximum Quantum" #~ msgstr "Maximales Quantum" #~ msgid "Default Quantum" #~ msgstr "Standard Quantum" #~ msgid "Output Devices" #~ msgstr "Ausgabegeräte" #~ msgid "Output Presets" #~ msgstr "Ausgabe-Voreinstellungen" #~ msgid "Create Association" #~ msgstr "Assoziation erstellen" #~ msgid "Add Autoloading Output Preset" #~ msgstr "automatische Ausgabe-Voreinstellung hinzufügen" #~ msgid "Output Autoloading Presets List" #~ msgstr "automatisch geladene Ausgabe-Voreinstellungen" #~ msgid "Input Devices" #~ msgstr "Eingabegeräte" #~ msgid "Input Presets" #~ msgstr "Eingabe-Voreinstellungen" #~ msgid "Add Autoloading Input Preset" #~ msgstr "automatische Eingangs-Voreinstellung hinzufügen" #~ msgid "Input Autoloading Presets List" #~ msgstr "automatisch geladene Eingang-Voreinstellungen" #~ msgid "Modules" #~ msgstr "Module" #~ msgid "Modules List" #~ msgstr "Modulliste" #~ msgid "Clients" #~ msgstr "Clienten" #~ msgid "Clients List" #~ msgstr "Client-Liste" #~ msgid "Test Signal" #~ msgstr "Testsignal" #~ msgid "State" #~ msgstr "Status" #~ msgid "Enabled" #~ msgstr "Aktiviert" #~ msgid "Properties" #~ msgstr "Eigenschaften" #~ msgid "Channels" #~ msgstr "Kanäle" #~ msgid "Both" #~ msgstr "Beide" #~ msgid "Both Channels" #~ msgstr "Beide Kanäle" #~ msgid "Waveform" #~ msgstr "Schwingungsverlauf" #~ msgid "Sine Wave" #~ msgstr "Sinuswelle" #~ msgid "White Noise" #~ msgstr "Weißes Rauschen" #~ msgid "High Speed" #~ msgstr "Schnell" #~ msgid "High Quality" #~ msgstr "Hohe Qualität" #~ msgid "High Consistency" #~ msgstr "Hohe Konsistenz" #~ msgid "Formant" #~ msgstr "Format" #~ msgid "Shifted" #~ msgstr "Verschoben" #~ msgid "Preserved" #~ msgstr "Beibehalten" #~ msgid "Transients" #~ msgstr "Transient" #~ msgid "Crisp" #~ msgstr "Klar" #~ msgid "Mixed" #~ msgstr "Gemischt" #~ msgid "Smooth" #~ msgstr "Sanft" #~ msgid "Detector" #~ msgstr "Erkennung" #~ msgid "Compound" #~ msgstr "Verbindung" #~ msgid "Percussive" #~ msgstr "Hart" #~ msgid "Soft" #~ msgstr "Weich" #~ msgid "Phase" #~ msgstr "Phase" #~ msgid "Laminar" #~ msgstr "Laminar" #~ msgid "Independent" #~ msgstr "Unabhängig" #~ msgid "Cents" #~ msgstr "Cent" #~ msgid "Semitones" #~ msgstr "Halbtöne" #~ msgid "Octaves" #~ msgstr "Oktaven" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Diese Preset-Datei entfernen" #~ msgid "Add Effect" #~ msgstr "Effekt hinzufügen" #~ msgid "Used Plugins List" #~ msgstr "Benutzte Plugins" #~ msgid "No Effects" #~ msgstr "Keine Effekte" #~ msgid "Audio Stream Not Modified" #~ msgstr "Audio Stream nicht verändert" #~ msgid "Search Plugin" #~ msgstr "Plugin suchen" #~ msgid "Plugins List" #~ msgstr "Pluginliste" #~ msgid "_General" #~ msgstr "_Allgemein" #~ msgid "Service" #~ msgstr "Dienst" #~ msgid "Launch Service at System Startup" #~ msgstr "Dienst beim Systemstart starten" #~ msgid "Shutdown on Window Closing" #~ msgstr "Beim Schließen des Fensters beenden" #~ msgid "Audio" #~ msgstr "Audio" #~ msgid "Process All Output Streams" #~ msgstr "Alle Ausgänge verarbeiten" #~ msgid "Process All Input Streams" #~ msgstr "Alle Eingänge verarbeiten" #~ msgid "Ignore Streams from Monitor of Devices" #~ msgstr "Streams von Monitor-Geräten ignorieren" #~ msgid "Use Cubic Volume" #~ msgstr "Verwende kubische Lautstärke" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Lautstärke von virtuellen EasyEffects Geräten beim Start zurücksetzen" #~ msgid "Inactivity Timeout" #~ msgstr "Timeout durch Inaktivität" #~ msgid "Style" #~ msgstr "Stil" #~ msgid "Use Dark Theme" #~ msgstr "Benutze dunkles Thema" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "Menüs beim Rausklicken schließen" #~ msgid "_Spectrum" #~ msgstr "_Spektrum" #~ msgid "Shape" #~ msgstr "Form" #~ msgid "Bars" #~ msgstr "Balken" #~ msgid "Lines" #~ msgstr "Linien" #~ msgid "Dots" #~ msgstr "Punkte" #~ msgid "Points" #~ msgstr "Punkte" #~ msgid "Height" #~ msgstr "Höhe" #~ msgid "Line Width" #~ msgstr "Linienbreite" #~ msgid "Fill" #~ msgstr "Ausfüllen" #~ msgid "Show Bars Border" #~ msgstr "Balkenbegrenzung anzeigen" #~ msgid "Rounded Corners" #~ msgstr "Abgerundete Ecken" #~ msgid "Color" #~ msgstr "Farbe" #~ msgid "Lines and Bars" #~ msgstr "Linien und Leisten" #~ msgid "Axis Labels" #~ msgstr "Achsentitel" #~ msgid "Frequency Range" #~ msgstr "Frequenzspanne" #~ msgid "Minimum" #~ msgstr "Minimum" #~ msgid "Maximum" #~ msgstr "Maximum" #~ msgid "Load" #~ msgstr "Laden" #~ msgid "Save current settings to this preset file" #~ msgstr "Aktuelle Einstellungen in dieser Preset-Datei speichern" #~ msgid "Remove this preset file" #~ msgstr "Diese Preset-Datei entfernen" #~ msgid "New Output Preset Name" #~ msgstr "Neuer Ausgabe-Presetname" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Preset erstellen" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Preset importieren" #~ msgid "Search Output Preset" #~ msgstr "Ausgabe-Preset suchen" #~ msgid "Output Presets List" #~ msgstr "Liste der Ausgabe-Voreinstellungen" #~ msgid "New Input Preset Name" #~ msgstr "Neuer Eingabe-Presetname" #~ msgid "Search Input Preset" #~ msgstr "Eingabe-Preset suchen" #~ msgid "Input Presets List" #~ msgstr "Eingabe-Voreinstellungen" #~ msgid "High Frequency Damping" #~ msgstr "Hochfrequenz-Dämpfung" #~ msgid "Room Size" #~ msgstr "Raumgröße" #~ msgid "Small" #~ msgstr "Klein" #~ msgid "Medium" #~ msgstr "Mittel" #~ msgid "Large" #~ msgstr "Groß" #~ msgid "Tunnel" #~ msgstr "Tunnel" #~ msgid "Large/smooth" #~ msgstr "Groß/sanft" #~ msgid "Experimental" #~ msgstr "Experimentell" #~ msgid "Diffusion" #~ msgstr "Verbreitung" #~ msgid "Pre Delay" #~ msgstr "Vorverzögerung" #~ msgid "Decay Time" #~ msgstr "Abklingzeit" #~ msgid "Wet Amount" #~ msgstr "Feuchtigkeits-Anteil" #~ msgid "Wet Level" #~ msgstr "Feuchtigkeit" #~ msgid "Dry Amount" #~ msgstr "Trockenheits-Anteil" #~ msgid "Dry Level" #~ msgstr "Trockenheit" #~ msgid "Bass Cut" #~ msgstr "Bassschnitt" #~ msgid "Treble Cut" #~ msgstr "Höhenschnitt" #~ msgid "Ambience" #~ msgstr "Atmosphäre" #~ msgid "Empty Walls" #~ msgstr "Leere Wände" #~ msgid "Room" #~ msgstr "Raum" #~ msgid "Large Empty Hall" #~ msgstr "Große leere Halle" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Große besetzte Halle" #~ msgid "Import Model" #~ msgstr "Modell importieren" #~ msgid "Models" #~ msgstr "Modelle" #~ msgid "Standard Model" #~ msgstr "Standard-Modell" #~ msgid "RNNoise Models List" #~ msgstr "RNNoise-Modell Liste" #~ msgid "Active Model" #~ msgstr "Aktives Modell" #~ msgid "Standard RNNoise Model" #~ msgstr "Standard RNNoise-Modell" #~ msgid "Overview" #~ msgstr "Übersicht" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Öffne die EasyEffects Bedinungsanleitung" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Vollbildschirm/Vom Vollbildschirm wiederherstellen" #~ msgid "Close the Window" #~ msgstr "Fenster schließen" #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects beenden" #~ msgid "Balance" #~ msgstr "Balance" #~ msgid "Input Balance" #~ msgstr "Eingangsverstärkung" #~ msgid "Softclip" #~ msgstr "Softclip" #~ msgid "Softclip Level" #~ msgstr "Softclip-Stufe" #~ msgid "Stereo Matrix" #~ msgstr "Stereo-Matrix" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Stereo Standard)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Stereo zu Mittelseite)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Mittelseite zu Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Linker Monokanal)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Rechter Monokanal)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Monosumme L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Stereo Kanäle tauschen)" #~ msgid "Stereo Mode" #~ msgstr "Stereo Modus" #~ msgid "Invert Phase" #~ msgstr "Phase umkehren" #~ msgid "Side Level" #~ msgstr "Seitenebene" #~ msgid "Side Balance" #~ msgstr "Seitenausgleich" #~ msgid "Middle Level" #~ msgstr "Mittlere Ebene" #~ msgid "Middle Panorama" #~ msgstr "Mittleres Panorama" #~ msgid "Output Balance" #~ msgstr "Ausgabe-Balance" #~ msgid "Delay L/R" #~ msgstr "Verzögerung L/R" #~ msgid "Delay Left Right" #~ msgstr "Verzögerung L/R" #~ msgid "Stereo Base" #~ msgstr "Stereo Basis" #~ msgid "Stereo Phase" #~ msgstr "Stereo Phase" #~ msgid "Running" #~ msgstr "läuft" #~ msgid "Suspended" #~ msgstr "pausiert" #~ msgid "Idle" #~ msgstr "Untätig" #~ msgid "Creating" #~ msgstr "Erstellen" #~ msgid "Error" #~ msgstr "Fehler" #~ msgid "Unknown" #~ msgstr "Unbekannt" #~ msgid "channels" #~ msgstr "Kanäle" #~ msgid "Output Presets: " #~ msgstr "Ausgabe-Voreinstellungen: " #~ msgid "Input Presets: " #~ msgstr "Eingabe-Voreinstellungen: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Audioeffekte für PipeWire Anwendungen" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Beende EasyEffects. Nützlich bei der Ausführung als Service." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Lade ein Preset. Beispiel: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "EasyEffects zurücksetzen." #~ msgid "Hide the Window." #~ msgstr "Fenster verstecken." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Globale Umleitung. 1 zum Aktivieren, 2 zum Deaktivieren und 3 zum " #~ "Erhalten des Status" #~ msgid "Show available presets." #~ msgstr "Verfügbare Voreinstellungen anzeigen." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Impulsfilter-Liste" #~ msgid "Import Impulse File" #~ msgstr "Impulsdatei importieren" #~ msgid "Open" #~ msgstr "Öffnen" #~ msgid "Cancel" #~ msgstr "Abbrechen" #~ msgid "Impulse Response" #~ msgstr "Impulsantwort" #~ msgid "Load Impulse" #~ msgstr "Impuls laden" #~ msgid "Remove Impulse" #~ msgstr "Impuls entfernen" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Impulsfilter-Liste" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Die Impulsdatei konnte nicht geladen werden" #~ msgid "Recorders" #~ msgstr "Rekorder" #~ msgid "Players" #~ msgstr "Spieler" #~ msgid "Effects" #~ msgstr "Effekte" #~ msgid "infinity" #~ msgstr "unendlich" #~ msgid "Import APO Preset File" #~ msgstr "APO Preset-Datei importieren" #~ msgid "APO Presets" #~ msgstr "APO Voreinstellungen" #~ msgid "Remove Autoloading Preset" #~ msgstr "Voreinstellung automatisch laden" #~ msgid "Remove" #~ msgstr "Entfernen" #~ msgid "Output Device" #~ msgstr "Ausgabegerät" #~ msgid "Add" #~ msgstr "Hinzufügen" #~ msgid "Import Preset" #~ msgstr "Preset importieren" #~ msgid "Import Model File" #~ msgstr "Modell-Datei importieren" #~ msgid "RNNoise Models" #~ msgstr "RNNoise-Modelle" #~ msgid "Bass Enhancer" #~ msgstr "Bassverstärker" #~ msgid "Bass Loudness" #~ msgstr "Bass Lautheit" #~ msgid "Convolver" #~ msgstr "Convolver" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Crystalizer" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Verzögerung" #~ msgid "Echo Canceller" #~ msgstr "Echounterdrückung" #~ msgid "Equalizer" #~ msgstr "Equalizer" #~ msgid "Exciter" #~ msgstr "Exciter" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Limiter" #~ msgstr "Limiter" #~ msgid "Maximizer" #~ msgstr "Maximierer" #~ msgid "Multiband Compressor" #~ msgstr "Multiband-Kompressor" #~ msgid "Multiband Gate" #~ msgstr "Multiband Gate" #~ msgid "Pitch" #~ msgstr "Tonhöhe" #~ msgid "Reverberation" #~ msgstr "Nachhall" #~ msgid "Noise Reduction" #~ msgstr "Rauschreduzierung" #~ msgid "Stereo Tools" #~ msgstr "Stereowerkzeuge" #~ msgid "Average" #~ msgstr "Durchschnitt" #~ msgid "Failed" #~ msgstr "Gescheitert" #~ msgid "Use Default" #~ msgstr "Standard verwenden" #~ msgid "Remove this plugin" #~ msgstr "Dieses Plugin entfernen" #~ msgid "Import Presets" #~ msgstr "Presets importieren" #~ msgid "Start Service at Login" #~ msgstr "Dienst beim Login starten" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktives Modell" #~ msgid "Add to Blocklist" #~ msgstr "Zur Sperrliste hinzufügen" #~ msgid "Blocklist" #~ msgstr "Sperrliste" #~ msgid "Add Plugin" #~ msgstr "Plugin hinzufügen" #~ msgid "Speakers" #~ msgstr "Lautsprecher" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Plugins" #, fuzzy #~ msgid "enabled" #~ msgstr "Aktiviert" #, fuzzy #~ msgid "disabled" #~ msgstr "Aktiviert" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latenz" #~ msgid "idle" #~ msgstr "inaktiv" #~ msgid "Faster" #~ msgstr "Schneller" #~ msgid "Preserve Formant" #~ msgstr "Formant erhalten" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Player Name" #~ msgstr "Spielername" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Ausgangsverstärkung" #~ msgid "Channel" #~ msgstr "Kanal" #, fuzzy #~ msgid "Value" #~ msgstr "Boden" #~ msgid "Output Effects" #~ msgstr "Ausgabeeffekte" #~ msgid "Settings" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "Documentation" #~ msgstr "Dauer" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Testsignal" #~ msgid "Signal" #~ msgstr "Signal" #~ msgid "Show Spectrum" #~ msgstr "Spektrum anzeigen" #~ msgid "Border" #~ msgstr "Grenze" #~ msgid "Spectrum Type" #~ msgstr "Spektrumstyp" #~ msgid "Spectrum Color" #~ msgstr "Spektrumfarbe" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Aktives Modell" #~ msgid "Maximum Gain Reduction" #~ msgstr "Maximale Amplitudenreduktion" #~ msgid "Wet" #~ msgstr "Nass" #~ msgid "Dry" #~ msgstr "Trocken" #~ msgid "S/C Level" #~ msgstr "S/C-Level" #~ msgid "Phase Correlation" #~ msgstr "Phasenkorrelation" #~ msgid "Short Term" #~ msgstr "Kurzfristig" #~ msgid "Id" #~ msgstr "Id" #~ msgid "Low-pass" #~ msgstr "Tiefpass" #~ msgid "Run in Background" #~ msgstr "Im Hintergrund ausführen" #~ msgid "ceil" #~ msgstr "Begrenzen" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Setze die Lautstärke und schalte Effekte ein/aus" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Enthält einen Equalizer mit integrierten Presets" #~ msgid "Input Limiter" #~ msgstr "Eingabe-Limiter" #~ msgid "Calibration" #~ msgstr "Kalibrierung" #~ msgid "Automatic Smoothing Control" #~ msgstr "Automatische Glättungsregelung" #~ msgid "Limit" #~ msgstr "Grenze" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Dämpfung" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Audio-Effekte für Pulseaudio Anwendungen" #~ msgid "using" #~ msgstr "nutzt" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Audioeffekte für Pulseaudio-Anwendungen" #~ msgid "Help" #~ msgstr "Hilfe" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrationsmikrofon" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Dieses Preset automatisch anwenden, wenn das aktuell verwendete Gerät an " #~ "das System angeschlossen ist" #, fuzzy #~ msgid "Version" #~ msgstr "Version" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Rechteck" #~ msgid "Saw" #~ msgstr "Sägezahn" #~ msgid "Triangle" #~ msgstr "Dreieck" #~ msgid "Silence" #~ msgstr "Ruhe" #~ msgid "Pink Noise" #~ msgstr "Rosa Rauschen" #~ msgid "Ticks" #~ msgstr "Ticken" #~ msgid "Gaussian Noise" #~ msgstr "Gaußsches Rauschen" #~ msgid "Red Noise" #~ msgstr "Rotes Rauschen" #~ msgid "Blue Noise" #~ msgstr "Blaues Rauschen" #~ msgid "Violet Noise" #~ msgstr "Violettes Rauschen" #~ msgid "Volume" #~ msgstr "Lautstärke" #~ msgid "Window" #~ msgstr "Fenster" #~ msgid "Measure Noise" #~ msgstr "Rauschen messen" #~ msgid "Subtract Noise" #~ msgstr "Rauschen reduzieren" #~ msgid "Extended Filter" #~ msgstr "Erweiterter Filter" #~ msgid "Low" #~ msgstr "Tief" #~ msgid "Moderate" #~ msgstr "Mäßig" #~ msgid "High" #~ msgstr "Hoch" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Unterdrückungsgrad" #~ msgid "Delay Agnostic" #~ msgstr "Verzögerungsagnostisch" #~ msgid "Very High" #~ msgstr "Sehr hoch" #~ msgid "Noise Suppressor" #~ msgstr "Rauschunterdrücker" #~ msgid "Adaptive Digital" #~ msgstr "Adaptiv Digital" #~ msgid "Fixed Digital" #~ msgstr "Fixiert Digital" #~ msgid "Gain Controller" #~ msgstr "Verstärkungsregler" #~ msgid "Detection Likelihood" #~ msgstr "Erkennungswahrscheinlichkeit" #~ msgid "Very Low" #~ msgstr "Sehr Tief" #~ msgid "Voice Detector" #~ msgstr "Spracherkennung" #~ msgid "Use Custom Color" #~ msgstr "Benutzerdefinierte Farbe benutzen" #~ msgid "Use Gradient" #~ msgstr "Farbverlauf nutzen" #~ msgid "Gradient Color" #~ msgstr "Verlaufsfarbe" #~ msgid "Import Impulse Response File" #~ msgstr "Impulsantwortdatei importieren" #~ msgid "Select the impulse Response File" #~ msgstr "Auswahl der Impulsantwortdatei" #~ msgid "Aggressive Mode" #~ msgstr "Aggressiver Modus" #~ msgid "Before" #~ msgstr "Vorher" #~ msgid "After" #~ msgstr "Nachher" #~ msgid "Loudness Range" #~ msgstr "Lautstärkebereich" #~ msgid "Apply" #~ msgstr "Anwenden" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Standard Samplingrate" #~ msgid "Default Source" #~ msgstr "Standard Audioquelle" #~ msgid "Server" #~ msgstr "Server" #~ msgid "File" #~ msgstr "Datei" #~ msgid "Configuration" #~ msgstr "Konfiguration" #, fuzzy #~ msgid "server" #~ msgstr "Server" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Frequenz zurücksetzen" #, fuzzy #~ msgid "Advanced" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Presets" #~ msgid "Auto Gain" #~ msgstr "Automatische Verstärkungsregelung" #~ msgid "Detect Silence" #~ msgstr "Stille erkennen" #~ msgid "Muted" #~ msgstr "Stumm" #~ msgid "Distant Headphones" #~ msgstr "Entfernte Kopfhörer" #~ msgid "Priority Type" #~ msgstr "Prioritätstyp" #~ msgid "Niceness" #~ msgstr "Qualität" #~ msgid "Priority" #~ msgstr "Priorität" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frequenz" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frequenz" #~ msgid "About" #~ msgstr "Über" #~ msgid "Protocol" #~ msgstr "Protokoll" #~ msgid "Default Sample Format" #~ msgstr "Standard Samplingformat" #~ msgid "Channel Mapping" #~ msgstr "Kanalzuordnung" #~ msgid "Resamplers" #~ msgstr "Resampler" #~ msgid "Pipeline Input" #~ msgstr "Pipeline-Eingang" #~ msgid "Buffer" #~ msgstr "Puffer" #~ msgid "Pipeline Output" #~ msgstr "Pipeline-Ausgang" #~ msgid "Block Size" #~ msgstr "Blockgröße" #~ msgid "Resampler" #~ msgstr "Resampler" #~ msgid "paused" #~ msgstr "Pausiert" #~ msgid "playing" #~ msgstr "Spielt" #~ msgid "Pulseaudio" #~ msgstr "PulseAudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Presets importieren" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Amplitudenreduktion" #~ msgid "Exponent" #~ msgstr "Exponent" easyeffects-7.1.7/po/news/easyeffects-news.pot000066400000000000000000001203471463533416400214400ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/es.po000066400000000000000000003034041463533416400164050ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-03-30 02:32+0000\n" "Last-Translator: Eduardo Malaspina \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de sonido para las aplicaciones PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects es una herramienta avanzada de manipulación de audio. Incluye " "un ecualizador, un limitador, un compresor y una herramienta de " "reverberación, por mencionar algunos. Para complementar esto, también hay un " "analizador de espectro incorporado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects es el sucesor de PulseEffects. Easy Effects sólo es compatible " "con el servidor de audio de PipeWire. Los usuarios de PulseAudio deben " "utilizar en su lugar PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Dado que Easy Effects utiliza el servidor de sonido PipeWire por defecto, " "funcionará con la mayoría, si no con todas, las aplicaciones que utilice. " "Todas las aplicaciones compatibles se presentan en la ventana principal, " "donde cada una puede ser activada individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Además de manipular la salida de sonido, Easy Effects es capaz de aplicar " "efectos a un dispositivo de entrada, como un micrófono. Esto es, por " "ejemplo, útil en la grabación de audio, pero también funciona bien durante " "las conversaciones de voz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Cuando se inicie Easy Effects, recordará convenientemente la configuración " "utilizada en la última sesión. También es posible guardar todos los ajustes " "actuales como perfiles." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace (wwmm)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "La página principal mostrando dos aplicaciones de salida de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "La página del potenciador de graves mostrando los controles de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "La página del convolucionador mostrando los controles de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" "Se ha mejorado el sistema de gestión de tuberías. Los efectos no limitadores " "se colocan antes del limitador, incluso si los dos últimos complementos de " "la tubería son un limitador seguido de un medidor de nivel." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Corrección de errores:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" "Se ha corregido una regresión que impedía que los medidores de nivel se " "actualizaran en determinadas condiciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Otras notas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" "Ahora establecemos monitor.passthrough = true en nuestros dispositivos " "virtuales. Esto permitirá que los reproductores de vídeo apliquen " "correctamente la compensación de latencia cuando se publique PipeWire 1.0.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Traducciones actualizadas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" "EasyEffects intentará evitar moverse a sus transmisiones de fuentes " "virtuales para las cuales el usuario ha configurado un objeto objetivo " "personalizado que sea diferente del micrófono desde el que EE está grabando. " "La transmisión debe iniciarse cuando EE ya se esté ejecutando para que esta " "lógica surta efecto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "El ecualizador puede exportar archivos preestablecidos APO básicos" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" "Nuestra pestaña de reproductores/grabadores mostrará el nombre binario del " "cliente de audio en los casos en los que no se define ningún nombre de " "aplicación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" "La versión de EasyEffects puede mostrarse en la línea de comando mediante la " "opción --version" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" "Se implementó una solución para un error en gtk4 GtkLevelBar y se mantendrá " "en su lugar hasta que los desarrolladores de gtk hayan hecho las cosas de su " "lado" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" "Se ha corregido una regresión introducida en 7.1.2 que podría causar que " "EasyEffects se bloquee" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "El complemento DeepFilterNet ahora se puede añadir al archivo de perfil" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "El espectro tiene una nueva opción que permite desactivar la escala vertical " "dinámica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "Compatibilidad mejorada con las últimas versiones de LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" "Se ha corregido un dibujo incorrecto de las características del archivo de " "impulso de respuesta" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Se ha corregido un pequeño error que impedía iniciar correctamente el umbral " "de actividad de voz y la reducción de ruido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "Se ha añadido un nuevo control al plugin de reducción de ruido que permite " "desactivar el reconocimiento de voz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "El efecto Filtro se ha mejorado con nuevos parámetros ya que se ha portado " "de Calf Studio a Linux Studio Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "La reducción de ruido mediante RNNoise se ha mejorado con la adición de los " "controles Release y VAD Threshold." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "Ahora, la reducción de ruido mediante RNNoise puede mezclar las señales " "original y eliminada para evitar que la salida suene demasiado \"seca\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Esta versión está pensada para funcionar con las versiones de Linux Studio " "Plugins iguales o superiores a \"1.2.10\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects ahora también se puede compilar con libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" "El expansor de plugins de Linux Studio se puede utilizar en Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" "Las bandas del ecualizador disponen ahora de un control de ganancia " "adicional que permite introducir con mayor eficacia valores difíciles de " "ajustar en la escala. Más detalles en el problema 1383." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" "Se ha añadido la posibilidad de seleccionar y cargar varios archivos en los " "cuadros de diálogo para los preajustes, respuestas impulsivas de Convolver y " "modelos RNNoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "Arreglado el botón Solo en los ajustes de la banda del ecualizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "Las carpetas de Easy Effects en /etc han quedado obsoletas y los preajustes " "ubicados allí ya no se cargarán. Por el momento, sólo los preajustes locales " "en ~/.config/easyeffects se cargan automáticamente en el menú de los " "preajustes. En el futuro implementaremos un nuevo sistema para instalar, " "gestionar e importar los preajustes de la comunidad." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" "Se ha añadido una sección de \"Características experimentales\" a las " "preferencias." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" "Se puede utilizar la ventana nativa de los plugins de LSP. Se trata de una " "función experimental destinada únicamente a usuarios avanzados. Así que " "espera algunos errores." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" "Los valores de los semitonos fraccionarios ahora se pueden usar en el efecto " "Pitch Shift." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "El menú desplegable del dispositivo de entrada/salida en nuestra pestaña de " "PipeWire se actualiza cuando cambia el dispositivo predeterminado del " "sistema y se habilita Usar predeterminado. Esto soluciona el problema 1989." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" "Se ha agregado un nuevo complemento de medidor de nivel basado en libebur128." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" "El complemento Pitch ahora usa la biblioteca SoundTouch en lugar de " "Rubberband. Con suerte, algunos de los errores raros que estaban ocurriendo " "con Rubbernand no volverán a suceder." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" "Compatibilidad mejorada con las versiones recientes de PipeWire. Mas " "información en" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" "Los filtros del ecualizador que está activo ya no se configuran en tipo Bell " "cuando cambia el número de bandas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" "Rabberband ya no es una dependencia desde que fue reemplazada por SoundTouch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "El menú preestablecido ahora pide confirmación para guardar/eliminar un " "archivo preestablecido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "Restabler un complemento ya no debería hacer que sus controles sean " "ineficaces." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "Speex ya no aparece incorrectamente como una dependencia de la compilación " "(speexdsp sigue siendo una dependencia de compilación)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "RNNoise ya no es una dependencia automática. Ahora es necesaria por defecto; " "si no está disponible, debe desactivarse explícitamente con -Denable-" "rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "Un pequeño error se hizo en la última versión. Hacer una nueva para " "asegurarte de que la gente tiene la rama correcta en el paquete" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "La función de \"ordenar bandas\" del ecualizador ahora ordena las bandas en " "GSettings, por lo que el resultado se puede guardar en los preajustes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "Mejora del rendimiento al restablecer las claves." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Se ha corregido la selección del preajuste \"Una gran sala vacía\" el efecto " "de Reverberación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Corregidos algunos errores de uso de la API de PipeWire que potencialmente " "pueden solucionar algunos fallos aleatorios a los que se enfrentan algunos " "usuarios." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Como estamos eliminando código obsoleto de GTK 4.10, se ha aumentado la " "versión mínima de GTK." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "Frecuencia de actualización del complemento de espectro mejorada. Las " "diferentes frecuencias de muestreo ahora deberían dar como resultado " "visualmente las mismas frecuencias de actualización." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "El intervalo de actualización utilizado por los medidores de nivel y el " "espectro puede ser personalizado por el usuario." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "El valor del control deslizante de ganancia de la banda EQ se puede " "actualizar en pasos grandes. El control preciso aún es posible con las " "teclas arriba/abajo del teclado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Pequeñas mejoras en el cancelador de eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "Después de cambiar al uso de varios filtros, los sensores canceladores de " "eco no estaban asociados con la tarjeta de sonido. Ahora esto debería " "arreglarse." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Ahora es posible añadir más de una instancia de filtro a la cadena de " "efectos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Se ha añadido un nuevo plugin de procesador de voz basado en la biblioteca " "Speex. Además de suprimir el ruido, también puede detectar la actividad de " "la voz. Es una alternativa decente para los casos en los que la biblioteca " "rnnoise no funciona bien." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Compatibilidad mejorada con Linux Studio Plugins 1.2.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" "Los preajustes de GraphicEQ pueden importarse al efecto del ecualizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "El nombre de la aplicación ha sido cambiado a Easy Effects para adherirse a " "las convenciones de nomenclatura de las Directrices de Interfaz Humana de " "GNOME." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "Se ha actualizado la información." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Mejora de la autocarga de los preajustes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" "Ahora el usuario puede configurar el umbral de silencio de la ganancia " "automática." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "Se agregaron controles secos y húmedos al efecto Stereo Tools." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "El cancelador del eco ahora tiene un control para la supresión del ruido " "residual también basado en la biblioteca de Speed." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Al pasar el ratón por encima de un gráfico se mostraba un valor erróneo de " "la coordenada del eje x. Esta regresión se ha corregido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "Debido a la nueva función de instancias múltiples, el formato preestablecido " "ha cambiado, pero el antiguo aún es compatible y puede cargarse. De todos " "modos, tenga en cuenta que al guardar el preset actual siempre lo escribirá " "en el nuevo formato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "La implementación de la puerta multibanda se ha migrado de CALF a los " "plugins de Linux Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "Se ha mejorado la compatibilidad del código de carga automática " "preestablecido con dispositivos bluez5." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "Se ha añadido controles húmedo/seco para algunos plugins" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "La interfaz de efectos ya no se carga cuando el plugin lv2 relacionado no " "está instalado en el sistema. En su lugar se muestra un mensaje de estado al " "usuario." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "La documentación ha sido actualizada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Mejoría en mensajes de depuración" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Traducciones mejoradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Se ha corregido un error por el que EasyEffects podía fallar al cerrar su " "ventana mientras se aplicaban los efectos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "El estado de baipás se puede guardar en el archivo de preselección. Las " "razones por las que se hizo esto se pueden ver en la incidencia 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "Se ha mejorado la compatibilidad del código de precarga con los dispositivos " "usb." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Se muestra un cuadro de diálogo al usuario cuando no se puede cargar un " "preajuste o no se puede importar un archivo de preajuste/impulso." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Ahora se utiliza el plugin SideChain Gate de Linux Studio Plugins en lugar " "del de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffects ya no debería bloquearse cuando la configuración regional del " "usuario no está bien configurada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Se ha implementado una solución en nuestro icono para hacer frente a la " "falta de soporte adecuado de SVG en QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Cuando los efectos se desactivan en una aplicación, ahora establecemos sus " "metadatos de destino como nulos. Esto permitirá que el gestor de sesiones " "multimedia (wireplumber) mueva correctamente el flujo a un nuevo dispositivo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Se ha añadido una nueva opción de configuración. Permite a EasyEffects " "ignorar los flujos cuyo propósito es supervisar los dispositivos de " "recepción. Esto ayudará a solucionar algunos de los problemas que tenían " "nuestros usuarios al utilizar OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Se ha mejorado el código que muestra el formato de muestra del flujo" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "La biblioteca rnnoise es ahora opcional. Esto debería ayudar a los " "mantenedores de paquetes a construir un paquete Debian. Vea la incidencia " "1000 para más información." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Nuestros registros muestran ahora la línea de código fuente donde se " "imprimen los mensajes" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "La casilla \"activar efectos \" en nuestra ventana no se actualizaba cuando " "programas de terceros como pavucontrol alejaban el flujo de nuestros " "dispositivos virtuales. Esto debería estar arreglado ahora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Se ha corregido un fallo que podía producirse cuando se modificaba el " "historial máximo de autogestión." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Evitar los fallos cuando se ejecuta pw-mididump" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "Se ha mejorado la interfaz del plugin de tono" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "El icono de nuestra aplicación es ahora compatible con los escritorios que " "usan QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Nuestro código de lista de bloqueo utilizará la etiqueta application.id si " "el flujo la establece" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Para evitar problemas con el desplazamiento del ratón, las entradas de la " "lista de aplicaciones que aparecen en la pestaña Reproductores/Grabadoras ya " "no muestran una escala de volumen. Encontrará más detalles sobre el problema " "y su solución en los números 1211 y 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Cuando no haya ninguna aplicación disponible para su visualización en los " "reproductores/grabadores, se mostrará un mensaje al usuario" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Muchas actualizaciones de las traducciones" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Se ha corregido un error por el que EasyEffeects se bloqueaba cuando se " "cambiaba el número de puntos mostrados en el espectro mientras nuestro " "pipeline estaba activo y el widget del espectro estaba visible" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "El valor de la latencia de la tubería mostrado en nuestra ventana podía ser " "erróneo en algunas situaciones. Esto se ha solucionado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Hay un nuevo ajuste que permite al usuario seleccionar un tiempo de " "inactividad para la tubería. Cuando ningún cliente esté reproduciendo o " "grabando desde nuestros dispositivos, los filtros se desvincularán una vez " "alcanzado el tiempo de espera. Esto se hace para asegurarse de que no " "desperdiciamos energía de la CPU procesando el silencio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "El plugin de ganancia automática ahora permite al usuario seleccionar cuál " "de los tres tipos de sonoridad se utiliza para calcular." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "El complemento de ganancia automática ahora permite configurar el historial " "máximo y ya no usa el modo de histograma libebur128. Esto debería evitar los " "casos en los que la sonoridad integrada se atasca para siempre en el mismo " "valor." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "El icono de EasyEffects ha sido actualizado de forma que debería ser visible " "en los escritorios QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "La opción de línea de comandos que retorna el estado de bypass global vuelve " "a funcionar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "El filtro de alimentación cruzada debería funcionar mejor con los " "conmutadores de latencia dinámica de PipeWire. Ya no deberían producirse " "saltos en el nivel del volumen en estas situaciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Se ha corregido un error que impedía que los micrófonos mono funcionaran " "correctamente con EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "Compatibilidad con la próxima versión de PipeWire 0.3.44" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "El filtro autogain debería lidiar mejor con los conmutadores de latencia " "dinámica de PipeWire. Ya no deberían producirse saltos en el nivel de " "volumen en estas situaciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Hemos añadido una opción que permite restablecer el volumen y el estado de " "silencio de nuestros dispositivos virtuales cuando se inicia EasyEffects. " "Esto debería ayudar en los casos en que nuestros dispositivos son " "silenciados por el servidor de audio por razones desconocidas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Se ha mejorado el soporte para la suspensión del ordenador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Se ha corregido un error que causaba que la aplicación se bloqueara al " "intentar crear un perfil de carga automática que no disponía de preajustes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Se ha corregido un error por el que, al poner a cero la calidad de una banda " "del ecualizador, la aplicación se bloqueaba." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "Se hace uso de LibAdwaita para crear algunas partes de nuestra ventana y " "para manejar el cambio entre temas oscuros y claros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "El menú de ajustes ha sido rediseñado utilizando widgets de LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "Se mejoró la función de importación preestablecida APO del ecualizador para " "aplicar no solo el filtro Bell, sino también otros compatibles (por el " "momento, solo el filtro Bandpass no está disponible en el complemento LSP)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "La función Restablecer todos los ajustes de nuestro menú debería funcionar " "ahora en Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Tenemos una nueva opción que permite al usuario desactivar la ocultación " "automática de nuestros menús. Esto puede ayudar a solucionar algunos errores " "que los menús Popover tienen actualmente en gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Un análisis más robusto para importar perfiles APO guardados con una coma " "como separador de miles en la banda de frecuencia central." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "La biblioteca fmt es una nueva dependencia, al menos mientras los " "compiladores de c++ no implementen sus características. Se espera que esto " "ocurra en los próximos años." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "GTKMM y GLIBMM ya no son dependencias. Ahora usamos gtk4 directamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Ahora es posible combinar respuestas a impulsos en la interfaz del " "convolucionador. Un nuevo archivo de respuesta a impulsos es generado y debe " "ser visible en la lista de respuestas a impulsos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Mejorados los dibujos del eje x en nuestros gráficos. Ahora el número de " "etiquetas se ajusta dinámicamente en función del ancho de nuestra ventana." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "La documentación se ha actualizado para reflejar las nuevas características " "de EasyEffects. Se han eliminado las antiguas referencias sobre " "PulseEffects. Se ha añadido al menú el botón de documentación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Cuando se introduce un valor fuera de rango a un spinbutton, ahora se " "actualiza con el valor más bajo o más alto en lugar de restablecerse al " "valor previo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "La ventana principal ahora recuerda el estado maximizado y lo restaura " "cuando se abre de nuevo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "La biblioteca tbb es una nueva dependencia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Los plugins Limitador y Compresor multibanda ahora pueden utilizar una " "cadena lateral externa opcional." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "El plugin de ganancia automática ahora permite al usuario seleccionar el " "tipo de sonoridad a usar como referencia en la corrección de volumen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "La función de importación de perfiles APO del plugin Ecualizador ahora " "analiza el parámetro \"PreAmplificación\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "El volumen cúbico puede activarse de forma opcional en la configuración " "general." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "El plugin de Spectrum debía entrar en passthrough siempre que no fuera " "visible, pero esto sólo ocurría cuando nuestra ventana estaba cerrada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Mejor apoyo a la Tecnología de Asistencia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "Las sondas utilizadas en algunos filtros como el Compresor y el Limitador no " "estaban siendo revinculadas luego de cambiar el orden de los plugins en la " "tubería. Ahora debería funcionar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Los flujos de monitorización de PipeWire están ahora excluidos y eliminados " "de la lista de aplicaciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" "Esperemos que se solucionen los bloqueos como el informado en el problema " "1172." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" "Se ha corregido un caso en el que el visualizador de espectro se bloqueaba." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "Pavucontrol ya no se añade a la lista de aplicaciones de entrada en los " "sistemas con localización diferente a la inglesa." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "Compatibilidad mejorada con WirePlumber. Esto es necesario para ejecutarse " "en sistemas que decidieron usarlo en lugar del administrador de sesión " "integrado de PipeWire. Más información en el número 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "Al intentar añadir un perfil de carga automática para un dispositivo que ya " "está en la lista se actualizará su perfil de destino. De esta manera podemos " "modificar los ajustes del perfil sin tener que eliminarlo y volver a crearlo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "La implementación de soporte de carga automática preestablecida fue " "rediseñada nuevamente. Debería funcionar en más hardware ahora. Para obtener " "más información, consulte el número 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Si el Limitador o el Maximizador se colocan en la última posición de la pila " "de plugins, los nuevos plugins se añaden en la penúltima posición con el fin " "de evitar la posibilidad de que el hardware se dañe por un nivel de salida " "eventualmente alto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "Al eliminar una aplicación de la lista de aplicaciones bloqueadas, se " "restablece su estado anterior de activación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "En ocasiones, al eliminar los modelos importados del plugin de reducción de " "ruido, el modelo en uso no se actualizaba correctamente. Esto debería estar " "solucionado ahora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Al editar archivos de perfiles en un editor externo, las entradas duplicadas " "no se mostrarán en el menú de perfiles." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Ahora la lista de aplicaciones bloqueadas se ajusta correctamente al cambiar " "de perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Ahora el estado del botón de bypass global se actualiza correctamente al " "modificarse la pila de plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "Los iconos faltantes en el sistema no deberían ser mostrados dentro de la " "interfaz de usuario (si el ícono de una aplicación no pudiese ser mostrado " "aunque estés seguro de que está correctamente instalada, por favor abre un " "problema)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Algunos iconos que no se mostraban en el escritorio Plasma con el tema de " "iconos Breeze deberían ser visibles ahora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Traducción al chino actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Traducción al italiano actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "Se agregó soporte para el parámetro del compresor Boost Amount" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "El plugin de compresión multibanda ahora utiliza el plugin de compresión " "multibanda estéreo de Linux Studio Plugins, en lugar del de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "El plugin del limitador ahora utiliza el plugin del limitador estéreo de " "Linux Studio Plugins, en lugar del de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "Los filtros LV2 ahora se generan en el diagrama de PipeWire sólo cuando se " "cargan por primera vez. Una vez cargados, permanecen conectados hasta el " "cierre de EasyEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" "La tasa de muestreo del plugin de cancelación de eco está ahora " "correctamente ajustada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "El parámetro umbral del plugin deesser se guarda ahora en el archivo de " "perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "Mejorada la división de bandas para el cristalizador con nuevos valores de " "intensidad por defecto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Dependiendo de los valores de la ganancia de entrada y de salida, las barras " "de nivel correspondientes podrían no alinearse correctamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "Cuando se añaden más bandas de ecualizador se ponen en Campana en vez de en " "Apagado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "La carga de los perfiles del ecualizador APO ahora funciona correctamente en " "localizaciones diferentes a C." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Se ha mejorado la gestión de las conexiones entre puertos de nodos en " "PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "La amplificación de la señal del plugin del cristalizador era demasiado alta " "antes. Ahora debería estar dentro de niveles más razonables." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Se ha mejorado el remuestreador (resampler) utilizado en los plugins que lo " "requieren (como el plugin rnnoise)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "La configuración de múltiples perfiles de autocarga debería funcionar ahora " "correctamente" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "Las ventanas transitorias están ahora correctamente configuradas para " "algunos diálogos de plugins" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "El menú de respuesta de impulso de convolver se mejoró para solucionar un " "problema en el que los archivos de impulso no se cargaban cuando solo había " "uno disponible en el menú; consulte el problema 1011" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Se ha corregido un error que podía hacer que el plugin de tonalidad (pitch) " "no se inicializara correctamente" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "El aviso de saturación ahora no desplaza a los widgets adyacentes" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Se ha corregido la configuración regional en algunos widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Se ha corregido la alineación incorrecta de algunos widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "El complemento Loudness se está utilizando nuevamente por los motivos " "descritos en el problema 820. Esto significa que es una dependencia opcional " "nuevamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Se ha corregido un fallo de segmentación que ocurría cuando no se instalaban " "las dependencias opcionales" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Se ha mejorado la interfaz del ecualizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Ahora se hace uso de un compresor LSP de cadena lateral que permite al " "usuario seleccionar una fuente externa como entrada para la cadena lateral." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "Ahora soportamos el modo de compresor LSP Boosting." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "Cuando los canales divididos están activados en el ecualizador, el preajuste " "APO importado se aplicará sólo al canal que se está visualizando en la " "ventana. Esto permitirá importar diferentes preajustes para cada canal en " "lugar de simplemente ajustar los mismos valores a ambos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Se han corregido algunos fallos de segmentación que podían producirse al " "crear o eliminar un perfil de carga automática" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "Este es uno de los mayores lanzamientos que he hecho. El número de cambios " "es tan grande que es difícil describirlos todos aquí." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "Los siguientes son solo los más importantes. Las personas interesadas en el " "viaje que nos trajo aquí pueden consultar el número 904 y el número 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "La aplicación y su repositorio han sido renombrados de PulseEffects a " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "Se ha sustituido gtkmm3 por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Se ha sustituido Gstreamer por filtros nativos de PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "Muchas características se han reimplementado desde cero. La carga automática " "de perfiles es un ejemplo. Otro cambio notable se observa en el menú de " "selección de plugins. Ahora el usuario puede mostrar en la ventana sólo los " "plugins que desea utilizar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Boost ya no es una dependencia. El precio a pagar por esto es un pequeño " "cambio en la estructura de nuestros perfiles. Con algo de paciencia, es " "posible editar los perfiles de PulseEffects en un editor de texto y hacerlos " "funcionar en EasyEffects. Con un poco de suerte puede que alguien cree un " "script para automatizar esto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Se utilizan nuevas bibliotecas y algunas de las que antes eran opcionales " "ahora son requeridas" #~ msgid "This release adds the following features:" #~ msgstr "Esta versión añade las siguientes características:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Esta versión corrige los siguientes errores:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Banda 1" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Hay disponible un nuevo ajuste que permite al usuario seleccionar un " #~ "tiempo de inactividad para la tubería. Cuando ningún cliente está " #~ "reproduciendo" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "o grabando desde nuestros dispositivos, los filtros se desconectarán una " #~ "vez alcanzado el tiempo de espera. Esto se hace para asegurarse de que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "no desperdiciamos la potencia de la CPU procesando silencio." #~ msgid "mean." #~ msgstr "la media geométrica." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Esto debería evitar los casos en los que la sonoridad `Integrada` se " #~ "quedaba bloqueada indefinidamente en el mismo valor." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta versión corrige el siguiente error:" #~ msgid "This release adds the following feature:" #~ msgstr "Esta versión añade la siguiente funcionalidad:" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "gestor de sesiones de PipeWire integrado. Más información en [1144](" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Los iconos no disponibles en el sistema no deberían mostrarse en la " #~ "interfaz de información de la aplicación" #~ msgid "a look at and" #~ msgstr "un vistazo y" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ecualizador, compresor y otros efectos de sonido" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #~ msgid "Enable" #~ msgstr "Habilitar" #~ msgid "Exclude" #~ msgstr "Excluir" #~ msgid "Mute Application" #~ msgstr "Silenciar la aplicación" #~ msgid "Application Volume" #~ msgstr "Volumen de aplicación" #~ msgid "_Preferences" #~ msgstr "_Preferencias" #~ msgid "_Manual" #~ msgstr "_Manual" #~ msgid "_Shortcuts" #~ msgstr "_Atajos de teclado" #~ msgid "_Reset Settings" #~ msgstr "_Restablecer ajustes" #~ msgid "_About EasyEffects" #~ msgstr "_Acerca de EasyEffects" #~ msgid "Presets" #~ msgstr "Perfiles" #~ msgid "Presets Menu" #~ msgstr "Menú de perfiles" #~ msgid "Global Bypass" #~ msgstr "Bypass global" #~ msgid "Primary Menu" #~ msgstr "Menú principal" #~ msgid "EasyEffects Window" #~ msgstr "Ventana de EasyEffects" #~ msgid "Applications List" #~ msgstr "Lista de aplicaciones" #~ msgid "Empty List" #~ msgstr "Lista vacía" #~ msgid "No Audio Application Available" #~ msgstr "Ninguna aplicación de audio disponible" #~ msgid "Target" #~ msgstr "Objetivo" #~ msgid "Maximum History" #~ msgstr "Historial máximo" #~ msgid "Reference" #~ msgstr "Referencia" #~ msgid "Momentary" #~ msgstr "Momentánea" #~ msgid "Short-Term" #~ msgstr "Corto plazo" #~ msgid "Integrated" #~ msgstr "Integral" #~ msgid "Geometric Mean (MSI)" #~ msgstr "Media geométrica (MSI)" #~ msgid "Geometric Mean (MS)" #~ msgstr "Media geométrica (MS)" #~ msgid "Geometric Mean (MI)" #~ msgstr "Media geométrica (MI)" #~ msgid "Geometric Mean (SI)" #~ msgstr "Media geométrica (SI)" #~ msgid "Reset History" #~ msgstr "Restablecer el historial" #~ msgid "Relative" #~ msgstr "Relativa" #~ msgid "Range" #~ msgstr "Rango" #~ msgid "Loudness" #~ msgstr "Sonoridad" #~ msgid "Output Gain" #~ msgstr "Ganancia de salida" #~ msgid "Input" #~ msgstr "Entrada" #~ msgid "Plugin Input Gain" #~ msgstr "Ganancia de entrada del plugin" #~ msgid "Output" #~ msgstr "Salida" #~ msgid "Plugin Output Gain" #~ msgstr "Ganancia de salida del plugin" #~ msgid "Reset" #~ msgstr "Restablecer" #~ msgid "Using" #~ msgstr "Usando" #~ msgid "Device" #~ msgstr "Dispositivo" #~ msgid "Name" #~ msgstr "Nombre" #~ msgid "Profile" #~ msgstr "Perfil" #~ msgid "Preset" #~ msgstr "Perfil" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Eliminar perfil de carga automática" #~ msgid "Listen" #~ msgstr "Escuchar" #~ msgid "Blend Harmonics" #~ msgstr "Mezclar armónicos" #~ msgid "3rd" #~ msgstr "3ª" #~ msgid "2nd" #~ msgstr "2ª" #~ msgid "Amount" #~ msgstr "Cantidad" #~ msgid "Harmonics" #~ msgstr "Harmónicos" #~ msgid "Scope" #~ msgstr "Umbral" #~ msgid "Floor" #~ msgstr "Límite inferior" #~ msgid "Floor Value" #~ msgstr "Valor del límite inferior" #~ msgid "Link" #~ msgstr "Enlace" #~ msgid "Application Name" #~ msgstr "Nombre de la aplicación" #~ msgid "Add to Excluded Applications" #~ msgstr "Añadir a las aplicaciones excluidas" #~ msgid "Excluded Applications List" #~ msgstr "Lista de aplicaciones excluidas" #~ msgid "Show Excluded Applications" #~ msgstr "Mostrar aplicaciones excluidas" #~ msgid "Compressor" #~ msgstr "Compresor" #~ msgid "Mode" #~ msgstr "Modo" #~ msgid "Downward" #~ msgstr "Descendente" #~ msgid "Upward" #~ msgstr "Ascendente" #~ msgid "Boosting" #~ msgstr "Refuerzo" #~ msgid "Compression Mode" #~ msgstr "Modo de compresión" #~ msgid "Boost Threshold" #~ msgstr "Umbral de refuerzo" #~ msgid "Boost Amount" #~ msgstr "Cantidad de refuerzo" #~ msgid "Attack" #~ msgstr "Ataque" #~ msgid "Time" #~ msgstr "Tiempo" #~ msgid "Threshold" #~ msgstr "Umbral" #~ msgid "Attack Time" #~ msgstr "Tiempo de ataque" #~ msgid "Attack Threshold" #~ msgstr "Umbral de ataque" #~ msgid "Release" #~ msgstr "Decaimiento" #~ msgid "Release Time" #~ msgstr "Tiempo de decaimiento" #~ msgid "Release Threshold" #~ msgstr "Umbral de decaimiento" #~ msgid "Ratio" #~ msgstr "Ratio (n:1)" #~ msgid "Knee" #~ msgstr "Rótula" #~ msgid "Makeup" #~ msgstr "Ganancia de compensación" #~ msgid "Sidechain" #~ msgstr "Cadena lateral" #~ msgid "Peak" #~ msgstr "Pico" #~ msgid "RMS" #~ msgstr "RMS (media cuadrática)" #~ msgid "Low-Pass" #~ msgstr "Paso bajo" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "Sidechain Mode" #~ msgstr "Modo cadena lateral" #~ msgid "Source" #~ msgstr "Fuente" #~ msgid "Middle" #~ msgstr "Medio" #~ msgid "Side" #~ msgstr "Lateral" #~ msgid "Left" #~ msgstr "Izquierdo" #~ msgid "Right" #~ msgstr "Derecho" #~ msgid "Sidechain Source" #~ msgstr "Fuente de la cadena lateral" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Feed-forward" #~ msgid "Feed-back" #~ msgstr "Feed-back" #~ msgid "External" #~ msgstr "Externa" #~ msgid "Sidechain Type" #~ msgstr "Tipo de cadena lateral" #~ msgid "Input Device" #~ msgstr "Dispositivo de entrada" #~ msgid "PreAmplification" #~ msgstr "Preamplificación" #~ msgid "Reactivity" #~ msgstr "Reactividad" #~ msgid "Lookahead" #~ msgstr "Anticipación" #~ msgid "Sidechain Filters" #~ msgstr "Filtros de cadena lateral" #~ msgid "High-Pass" #~ msgstr "Paso alto" #~ msgid "Frequency" #~ msgstr "Frecuencia" #~ msgid "Off" #~ msgstr "Desactivado" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #~ msgid "High-Pass Filter Mode" #~ msgstr "Modo filtro de paso alto" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frecuencia del filtro de paso alto" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Modo filtro de paso bajo" #~ msgid "Gain" #~ msgstr "Ganancia" #~ msgid "Envelope" #~ msgstr "Envolvente" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "L" #~ msgid "Left Channel" #~ msgstr "Canal izquierdo" #~ msgid "R" #~ msgstr "R" #~ msgid "Right Channel" #~ msgstr "Canal derecho" #~ msgid "Impulses" #~ msgstr "Respuestas a impulsos" #~ msgid "Combine" #~ msgstr "Combinar" #~ msgid "Stereo Width" #~ msgstr "Amplitud estéreo" #~ msgid "Spectrum" #~ msgstr "Espectro" #~ msgid "Log Scale" #~ msgstr "Escala logarítmica" #~ msgid "Autogain" #~ msgstr "Ganancia automática" #~ msgid "Rate" #~ msgstr "Tasa" #~ msgid "Samples" #~ msgstr "Muestras" #~ msgid "Duration" #~ msgstr "Duración" #~ msgid "Combine Impulse Responses" #~ msgstr "Combinar las respuestas a impulsos" #~ msgid "First Kernel" #~ msgstr "Primer núcleo" #~ msgid "Second Kernel" #~ msgstr "Segundo núcleo" #~ msgid "Output File Name" #~ msgstr "Nombre del archivo de salida" #~ msgid "Combined Kernel Name" #~ msgstr "Nombre del núcleo combinado" #~ msgid "Import Impulse" #~ msgstr "Importar archivo de respuesta a impulsos" #~ msgid "Search" #~ msgstr "Buscar" #~ msgid "Search Impulse File" #~ msgstr "Buscar archivo de respuesta a impulsos" #~ msgid "Impulse Files List" #~ msgstr "Lista de archivos de respuesta a impulsos" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "Cutoff" #~ msgstr "Corte" #~ msgid "Feed" #~ msgstr "Alimentación" #~ msgid "Bypass" #~ msgstr "Bypass" #~ msgid "Mute" #~ msgstr "Silenciar" #~ msgid "Detection" #~ msgstr "Detección" #~ msgid "Wide" #~ msgstr "Banda ancha" #~ msgid "Split" #~ msgstr "Banda dividida" #~ msgid "F1 Split" #~ msgstr "División F1" #~ msgid "Frequency 1 Split" #~ msgstr "División de la frecuencia 1" #~ msgid "F2 Peak" #~ msgstr "Pico F2" #~ msgid "Frequency 2 Peak" #~ msgstr "Pico de la frecuencia 2" #~ msgid "F1 Gain" #~ msgstr "Ganancia F1" #~ msgid "Frequency 1 Gain" #~ msgstr "Ganancia de la frecuencia 1" #~ msgid "F2 Level" #~ msgstr "Nivel F2" #~ msgid "Frequency 2 Level" #~ msgstr "Nivel de la frecuencia 2" #~ msgid "F2 Peak Q" #~ msgstr "Pico Q F2" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Pico Q de la frecuencia 2" #~ msgid "Laxity" #~ msgstr "Laxitud" #~ msgid "Detected" #~ msgstr "Detectado" #~ msgid "Reduction" #~ msgstr "Reducción" #~ msgid "Frame Size" #~ msgstr "Tamaño del cuadro" #~ msgid "Filter Length" #~ msgstr "Longitud del filtro" #~ msgid "Excluded Apps" #~ msgstr "Aplicaciones excluidas" #~ msgid "Bands" #~ msgstr "Bandas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Dividir canales" #~ msgid "Flat Response" #~ msgstr "Respuesta plana" #~ msgid "Calculate Frequencies" #~ msgstr "Calcular frecuencias" #~ msgid "Load APO Preset" #~ msgstr "Cargar el perfil APO" #~ msgid "Bell" #~ msgstr "Campana" #~ msgid "High Pass" #~ msgstr "Paso alto" #~ msgid "High Shelf" #~ msgstr "Shelving de agudos" #~ msgid "Low Pass" #~ msgstr "Pase bajo" #~ msgid "Low Shelf" #~ msgstr "Shelving de graves" #~ msgid "Notch" #~ msgstr "Rechazo de banda" #~ msgid "Resonance" #~ msgstr "Resonancia" #~ msgid "All Pass" #~ msgstr "Paso total" #~ msgid "Band Type" #~ msgstr "Tipo de banda" #~ msgid "Band Mode" #~ msgstr "Modo de banda" #~ msgid "Slope" #~ msgstr "Pendiente" #~ msgid "Band Slope" #~ msgstr "Pendiente de la banda" #~ msgid "Width" #~ msgstr "Anchura" #~ msgid "Quality" #~ msgstr "Calidad" #~ msgid "Solo" #~ msgstr "Solo" #~ msgid "Ceil" #~ msgstr "Límite superior" #~ msgid "Ceil Value" #~ msgstr "Valor del límite superior" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Acceder" #~ msgid "Description" #~ msgstr "Descripción" #~ msgid "Remove this model file" #~ msgstr "Borrar este perfil" #~ msgid "12dB/oct Lowpass" #~ msgstr "Paso bajo 12dB/oct" #~ msgid "24dB/oct Lowpass" #~ msgstr "Paso bajo 24dB/oct" #~ msgid "36dB/oct Lowpass" #~ msgstr "Paso bajo 36dB/oct" #~ msgid "12dB/oct Highpass" #~ msgstr "Paso alto 12dB/oct" #~ msgid "24dB/oct Highpass" #~ msgstr "Paso alto 24dB/oct" #~ msgid "36dB/oct Highpass" #~ msgstr "Paso alto 36dB/oct" #~ msgid "6dB/oct Bandpass" #~ msgstr "Paso banda 6dB/oct" #~ msgid "12dB/oct Bandpass" #~ msgstr "Paso banda 12dB/oct" #~ msgid "18dB/oct Bandpass" #~ msgstr "Paso banda 18dB/oct" #~ msgid "6dB/oct Bandreject" #~ msgstr "Rechazo de banda 6dB/oct" #~ msgid "12dB/oct Bandreject" #~ msgstr "Rechazo de banda 12dB/oct" #~ msgid "18dB/oct Bandreject" #~ msgstr "Rechazo de banda 18dB/oct" #~ msgid "Inertia" #~ msgstr "Inercia" #~ msgid "Gate" #~ msgstr "Puerta de ruido" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Tiempo de decaimiento" #, fuzzy #~ msgid "Internal" #~ msgstr "Externa" #~ msgid "Gating" #~ msgstr "Actividad de la puerta" #~ msgid "Oversampling" #~ msgstr "Sobremuestreo" #~ msgid "Dither" #~ msgstr "Dither" #~ msgid "Herm Thin" #~ msgstr "Herm Thin" #~ msgid "Herm Wide" #~ msgstr "Herm Wide" #~ msgid "Herm Tail" #~ msgstr "Herm Tail" #~ msgid "Herm Duck" #~ msgstr "Herm Duck" #~ msgid "Exp Thin" #~ msgstr "Exp Thin" #~ msgid "Exp Wide" #~ msgstr "Exp Wide" #~ msgid "Exp Tail" #~ msgstr "Exp Tail" #~ msgid "Exp Duck" #~ msgstr "Exp Duck" #~ msgid "Line Thin" #~ msgstr "Line Thin" #~ msgid "Line Wide" #~ msgstr "Line Wide" #~ msgid "Line Tail" #~ msgstr "Line Tail" #~ msgid "Line Duck" #~ msgstr "Line Duck" #~ msgid "None" #~ msgstr "Ninguno" #~ msgid "Half x2(2L)" #~ msgstr "Parcial x2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "Parcial x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Parcial x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Parcial x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Parcial x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Parcial x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Parcial x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Parcial x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Parcial x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Parcial x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Completo x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Completo x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Completo x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Completo x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Completo x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Completo x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Completo x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Completo x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Completo x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Completo x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC PreAmp" #~ msgid "Sidechain PreAmplification" #~ msgstr "Preamplificaión de la cadena lateral" #~ msgid "Boost" #~ msgstr "Refuerzo" #~ msgid "Stereo Link" #~ msgstr "Enlace estéreo" #~ msgid "External Sidechain" #~ msgstr "Cadena lateral externa" #~ msgid "External Sidechain Source" #~ msgstr "Fuente de la cadena lateral externa" #~ msgid "Auto Leveling" #~ msgstr "Nivelación automática" #~ msgid "Auto Leveling Attack" #~ msgstr "Ataque de nivelación automática" #~ msgid "Auto Leveling Release" #~ msgstr "Decaimiento de nivelación automática" #~ msgid "Auto Leveling Knee" #~ msgstr "Rótula (transición) de nivelación automática" #~ msgid "Gain Left" #~ msgstr "Ganancia izquierda" #~ msgid "Gain Right" #~ msgstr "Ganancia derecha" #~ msgid "Sidechain Left" #~ msgstr "Cadena lateral izquierda" #~ msgid "Sidechain Right" #~ msgstr "Cadena lateral derecha" #~ msgid "Standard" #~ msgstr "Estándar" #~ msgid "Flat" #~ msgstr "Plano" #~ msgid "FFT Size" #~ msgstr "Tamaño de la FFT" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Tamaño de la transformada rápida de Fourier" #~ msgid "Output Volume" #~ msgstr "Volumen de salida" #~ msgid "Ceiling" #~ msgstr "Límite superior" #~ msgid "Operating Mode" #~ msgstr "Modo de funcionamiento" #~ msgid "Classic" #~ msgstr "Clásico" #~ msgid "Modern" #~ msgstr "Moderno" #~ msgid "Sidechain Boost" #~ msgstr "Refuerzo de la cadena lateral" #~ msgid "Pink BT" #~ msgstr "Rosa BT" #~ msgid "Pink MT" #~ msgstr "Rosa MT" #~ msgid "Brown BT" #~ msgstr "Marrón BT" #~ msgid "Brown MT" #~ msgstr "Marrón MT" #~ msgid "Bands List" #~ msgstr "Lista de bandas" #~ msgid "Band 1" #~ msgstr "Banda 1" #~ msgid "Band 2" #~ msgstr "Banda 2" #~ msgid "Band 3" #~ msgstr "Banda 3" #~ msgid "Band 4" #~ msgstr "Banda 4" #~ msgid "Band 5" #~ msgstr "Banda 5" #~ msgid "Band 6" #~ msgstr "Banda 6" #~ msgid "Band 7" #~ msgstr "Banda 7" #~ msgid "Band 8" #~ msgstr "Banda 8" #~ msgid "Band Start" #~ msgstr "Inicio de la banda" #~ msgid "Band End" #~ msgstr "Fin de la banda" #~ msgid "Band Compression Mode" #~ msgstr "Modo de compresión de banda" #~ msgid "Band Bypass" #~ msgstr "Bypass de banda" #~ msgid "Band Sidechain Options" #~ msgstr "Opciones de la cadena lateral de la banda" #~ msgid "Low-Cut Filter" #~ msgstr "Filtro paso bajo" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Frecuencia del filtro paso bajo" #~ msgid "High-Cut Filter" #~ msgstr "Filtro paso alto" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Frecuencia del filtro paso alto" #~ msgid "PreAmp" #~ msgstr "PreAmp" #~ msgid "Band Gain" #~ msgstr "Ganancia de banda" #~ msgid "Band Envelope" #~ msgstr "Envolvente de banda" #~ msgid "Band Curve" #~ msgstr "Curva de la banda" #~ msgid "Split Mode" #~ msgstr "Modo de división" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #~ msgid "Split Frequency 1" #~ msgstr "Dividir frecuencia 1" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Dividir frecuencia 2" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Dividir frecuencia 3" #~ msgid "Sub Band" #~ msgstr "Sub-banda" #~ msgid "Band 1 Bypass" #~ msgstr "Bypass de banda 1" #~ msgid "Band 1 Solo" #~ msgstr "Solo de la banda 1" #~ msgid "Band 1 Detection" #~ msgstr "Método de detección de la banda 1" #~ msgid "Band 1 Attack" #~ msgstr "Ataque de la banda 1" #~ msgid "Band 1 Release" #~ msgstr "Tiempo de decaimiento de la banda 1" #~ msgid "Band 1 Threshold" #~ msgstr "Umbral de la banda 1" #~ msgid "Band 1 Ratio" #~ msgstr "Ratio de la banda 1" #~ msgid "Band 1 Knee" #~ msgstr "Rótula (transición) de la banda 1" #~ msgid "Band 1 Makeup" #~ msgstr "Ganancia de compensación de la banda 1" #~ msgid "Max Reduction" #~ msgstr "Atenuación máxima" #~ msgid "Band 1 Max Reduction" #~ msgstr "Reducción máx. de la banda 1" #~ msgid "Low Band" #~ msgstr "Banda baja" #~ msgid "Band 2 Bypass" #~ msgstr "Bypass de la banda 2" #~ msgid "Band 2 Solo" #~ msgstr "Solo de la banda 2" #~ msgid "Band 2 Detection" #~ msgstr "Método de detección de la banda 2" #~ msgid "Band 2 Attack" #~ msgstr "Ataque de la banda 2" #~ msgid "Band 2 Release" #~ msgstr "Tiempo de decaimiento de la banda 2" #~ msgid "Band 2 Threshold" #~ msgstr "Umbral de la banda 2" #~ msgid "Band 2 Ratio" #~ msgstr "Ratio de la banda 2" #~ msgid "Band 2 Knee" #~ msgstr "Rótula (transición) de la banda 2" #~ msgid "Band 2 Makeup" #~ msgstr "Ganancia de compensación de la banda 2" #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción máx. de la banda 2" #~ msgid "Mid Band" #~ msgstr "Banda media" #~ msgid "Band 3 Bypass" #~ msgstr "Bypass de la banda 3" #~ msgid "Band 3 Solo" #~ msgstr "Solo de la banda 3" #~ msgid "Band 3 Detection" #~ msgstr "Método de detección de la banda 3" #~ msgid "Band 3 Attack" #~ msgstr "Ataque de la banda 3" #~ msgid "Band 3 Release" #~ msgstr "Tiempo de decaimiento de la banda 3" #~ msgid "Band 3 Threshold" #~ msgstr "Umbral de la banda 3" #~ msgid "Band 3 Ratio" #~ msgstr "Ratio de la banda 3" #~ msgid "Band 3 Knee" #~ msgstr "Rótula (transición) de la banda 3" #~ msgid "Band 3 Makeup" #~ msgstr "Ganancia de compensación de la banda 3" #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción máx. de la banda 3" #~ msgid "High Band" #~ msgstr "Banda alta" #~ msgid "Band 4 Bypass" #~ msgstr "Bypass de la banda 4" #~ msgid "Band 4 Solo" #~ msgstr "Solo de la banda 4" #~ msgid "Band 4 Detection" #~ msgstr "Método de detección de la banda 4" #~ msgid "Band 4 Attack" #~ msgstr "Ataque de la banda 4" #~ msgid "Band 4 Release" #~ msgstr "Tiempo de decaimiento de la banda 4" #~ msgid "Band 4 Threshold" #~ msgstr "Umbral de la banda 4" #~ msgid "Band 4 Ratio" #~ msgstr "Ratio de la banda 4" #~ msgid "Band 4 Knee" #~ msgstr "Rótula (transición) de la banda 4" #~ msgid "Band 4 Makeup" #~ msgstr "Ganancia de compensación de la banda 4" #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción máx. de la banda 4" #~ msgid "General" #~ msgstr "General" #~ msgid "Use Default Input" #~ msgstr "Usar entrada predeterminada" #~ msgid "Custom Input Device" #~ msgstr "Dispositivo de entrada personalizado" #~ msgid "Use Default Output" #~ msgstr "Usar salida predeterminada" #~ msgid "Custom Output Device" #~ msgstr "Dispositivo de salida personalizado" #~ msgid "Server Information" #~ msgstr "Información del servidor" #~ msgid "Header Version" #~ msgstr "Versión principal" #~ msgid "Library Version" #~ msgstr "Versión de la biblioteca" #~ msgid "Sampling Rate" #~ msgstr "Tasa de muestreo" #~ msgid "Minimum Quantum" #~ msgstr "Quantum mínimo" #~ msgid "Maximum Quantum" #~ msgstr "Quantum máximo" #~ msgid "Default Quantum" #~ msgstr "Quantum por defecto" #~ msgid "Output Devices" #~ msgstr "Dispositivos de salida" #~ msgid "Output Presets" #~ msgstr "Perfiles de salida" #~ msgid "Create Association" #~ msgstr "Crear asociación" #~ msgid "Add Autoloading Output Preset" #~ msgstr "Agregar un perfil de salida de carga automática" #~ msgid "Output Autoloading Presets List" #~ msgstr "Lista de perfiles de salida de carga automática" #~ msgid "Input Devices" #~ msgstr "Dispositivos de entrada" #~ msgid "Input Presets" #~ msgstr "Perfiles de entrada" #~ msgid "Add Autoloading Input Preset" #~ msgstr "Agregar un perfil de entrada de carga automática" #~ msgid "Input Autoloading Presets List" #~ msgstr "Lista de perfiles de entrada de carga automática" #~ msgid "Modules" #~ msgstr "Módulos" #~ msgid "Modules List" #~ msgstr "Lista de los módulos" #~ msgid "Clients" #~ msgstr "Clientes" #~ msgid "Clients List" #~ msgstr "Lista de los clientes" #~ msgid "Test Signal" #~ msgstr "Señal de prueba" #~ msgid "State" #~ msgstr "Estado" #~ msgid "Enabled" #~ msgstr "Habilitado" #~ msgid "Properties" #~ msgstr "Propiedades" #~ msgid "Channels" #~ msgstr "Canales" #~ msgid "Both" #~ msgstr "Ambos" #~ msgid "Both Channels" #~ msgstr "Ambos canales" #~ msgid "Waveform" #~ msgstr "Forma de onda" #~ msgid "Sine Wave" #~ msgstr "Onda sinusoidal" #~ msgid "White Noise" #~ msgstr "Ruido blanco" #~ msgid "High Speed" #~ msgstr "Alta velocidad" #~ msgid "High Quality" #~ msgstr "Alta calidad" #~ msgid "High Consistency" #~ msgstr "Alta consistencia" #~ msgid "Formant" #~ msgstr "Formato" #~ msgid "Shifted" #~ msgstr "Alterado" #~ msgid "Preserved" #~ msgstr "Preservado" #~ msgid "Transients" #~ msgstr "Transitorios" #~ msgid "Crisp" #~ msgstr "Nítidos" #~ msgid "Mixed" #~ msgstr "Intermedios" #~ msgid "Smooth" #~ msgstr "Suavizados" #~ msgid "Detector" #~ msgstr "Detección" #~ msgid "Compound" #~ msgstr "Compuesto" #~ msgid "Percussive" #~ msgstr "Percusivo" #~ msgid "Soft" #~ msgstr "Suave" #~ msgid "Phase" #~ msgstr "Fase" #~ msgid "Laminar" #~ msgstr "Laminar" #~ msgid "Independent" #~ msgstr "Independiente" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Semitones" #~ msgstr "Semitonos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Borrar este perfil" #~ msgid "Add Effect" #~ msgstr "Agregar efecto" #~ msgid "Used Plugins List" #~ msgstr "Lista de plugins utilizados" #~ msgid "No Effects" #~ msgstr "Sin efectos" #~ msgid "Audio Stream Not Modified" #~ msgstr "Flujo de audio no modificado" #~ msgid "Search Plugin" #~ msgstr "Buscar plugin" #~ msgid "Plugins List" #~ msgstr "Lista de plugins" #~ msgid "_General" #~ msgstr "_General" #~ msgid "Service" #~ msgstr "Servicio" #, fuzzy #~ msgid "Shutdown on Window Closing" #~ msgstr "Apagar al cerrar la ventana" #~ msgid "Audio" #~ msgstr "Audio" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Procesar todas las salidas" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Procesar todas las entradas" #~ msgid "Use Cubic Volume" #~ msgstr "Usar volumen cúbico" #~ msgid "Inactivity Timeout" #~ msgstr "Tiempo de inactividad" #~ msgid "Style" #~ msgstr "Estilo" #~ msgid "Use Dark Theme" #~ msgstr "Usar tema oscuro" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "Ocultar los menús al hacer click fuera" #~ msgid "_Spectrum" #~ msgstr "_Espectro" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Bars" #~ msgstr "Barras" #~ msgid "Lines" #~ msgstr "Líneas" #~ msgid "Dots" #~ msgstr "Puntos" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Height" #~ msgstr "Altura" #~ msgid "Line Width" #~ msgstr "Ancho de la línea" #~ msgid "Fill" #~ msgstr "Rellenar" #~ msgid "Show Bars Border" #~ msgstr "Mostrar los bordes de las barras" #~ msgid "Rounded Corners" #~ msgstr "Redondear las esquinas" #~ msgid "Color" #~ msgstr "Color" #~ msgid "Lines and Bars" #~ msgstr "Lineas y barras" #~ msgid "Axis Labels" #~ msgstr "Etiquetas del eje" #~ msgid "Frequency Range" #~ msgstr "Rango de frecuencia" #~ msgid "Minimum" #~ msgstr "Mínima" #~ msgid "Maximum" #~ msgstr "Máximo" #~ msgid "Load" #~ msgstr "Cargar" #~ msgid "Save current settings to this preset file" #~ msgstr "Guardar la configuración actual en este perfil" #~ msgid "Remove this preset file" #~ msgstr "Eliminar este perfil" #~ msgid "New Output Preset Name" #~ msgstr "Nombre del nuevo perfil de salida" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Crear perfil" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar perfil" #~ msgid "Search Output Preset" #~ msgstr "Buscar perfil de salida" #~ msgid "Output Presets List" #~ msgstr "Lista de perfiles de salida" #~ msgid "New Input Preset Name" #~ msgstr "Nombre del nuevo perfil de entrada" #~ msgid "Search Input Preset" #~ msgstr "Buscar perfil de entrada" #~ msgid "Input Presets List" #~ msgstr "Lista de perfiles de entrada" #~ msgid "High Frequency Damping" #~ msgstr "Atenuación de alta frecuencia" #~ msgid "Room Size" #~ msgstr "Tamaño de la sala" #~ msgid "Small" #~ msgstr "Pequeña" #~ msgid "Medium" #~ msgstr "Mediana" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Túnel" #~ msgid "Large/smooth" #~ msgstr "Grande/suave" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difusión" #~ msgid "Pre Delay" #~ msgstr "Pre retraso" #~ msgid "Decay Time" #~ msgstr "Tiempo de decaimiento" #~ msgid "Wet Amount" #~ msgstr "Cantidad de señal con efectos" #~ msgid "Wet Level" #~ msgstr "Nivel de señal con efectos" #~ msgid "Dry Amount" #~ msgstr "Cantidad de señal sin efectos" #~ msgid "Dry Level" #~ msgstr "Nivel de señal sin efectos" #~ msgid "Bass Cut" #~ msgstr "Corte de graves" #~ msgid "Treble Cut" #~ msgstr "Corte de agudos" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Paredes vacías" #~ msgid "Room" #~ msgstr "Sala" #~ msgid "Large Empty Hall" #~ msgstr "Sala grande vacía" #~ msgid "Disco" #~ msgstr "Discoteca" #~ msgid "Large Occupied Hall" #~ msgstr "Sala grande ocupada" #~ msgid "Import Model" #~ msgstr "Importar modelo" #~ msgid "Models" #~ msgstr "Modelos" #~ msgid "Standard Model" #~ msgstr "Modelo estándar" #~ msgid "RNNoise Models List" #~ msgstr "Lista de modelos de RNNoise" #~ msgid "Active Model" #~ msgstr "Modelo activo" #~ msgid "Standard RNNoise Model" #~ msgstr "Modelo RNNoise estándar" #~ msgid "Overview" #~ msgstr "Resumen" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Abrir el manual de EasyEffects" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Pantalla completa/restaurar desde pantalla completa" #~ msgid "Close the Window" #~ msgstr "Cerrar la ventana" #~ msgid "Quit EasyEffects" #~ msgstr "Cerrar EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #~ msgid "Input Balance" #~ msgstr "Balance de entrada" #~ msgid "Softclip" #~ msgstr "Recorte suave" #~ msgid "Softclip Level" #~ msgstr "Nivel del recorte suave (soft clipping)" #~ msgid "Stereo Matrix" #~ msgstr "Matriz estéreo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Estéreo predeterminado)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Estéreo a medio-lateral)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Medio-lateral a estéreo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "R > LL (Mono usando el canal izquierdo)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Mono usando el canal derecho)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Mono sumando los canales izq. y dcho.)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Estéreo invirtiendo los canales)" #~ msgid "Stereo Mode" #~ msgstr "Modo estéreo" #~ msgid "Invert Phase" #~ msgstr "Invertir la fase" #~ msgid "Side Level" #~ msgstr "Nivel lateral" #~ msgid "Side Balance" #~ msgstr "Balance lateral" #~ msgid "Middle Level" #~ msgstr "Nivel medio" #~ msgid "Middle Panorama" #~ msgstr "Panoramización media" #~ msgid "Output Balance" #~ msgstr "Balance de salida" #~ msgid "Delay L/R" #~ msgstr "Retraso L/R" #~ msgid "Delay Left Right" #~ msgstr "Retardo izquierdo/derecho" #~ msgid "Stereo Base" #~ msgstr "Base estéreo" #~ msgid "Stereo Phase" #~ msgstr "Fase estéreo" #~ msgid "Running" #~ msgstr "En ejecución" #~ msgid "Suspended" #~ msgstr "Suspendido" #~ msgid "Idle" #~ msgstr "Inactivo" #~ msgid "Creating" #~ msgstr "En creación" #~ msgid "Error" #~ msgstr "Error" #~ msgid "Unknown" #~ msgstr "Desconocido" #~ msgid "channels" #~ msgstr "canales" #~ msgid "Output Presets: " #~ msgstr "Perfiles de salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de entrada: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de audio para aplicaciones que utilizan PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Salir de EasyEffects. Útil cuando se está ejecutando en modo servicio." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Cargar un perfil. Por ejemplo: easyeffects -l musica" #~ msgid "Reset EasyEffects." #~ msgstr "Restablecer EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Ocultar la ventana." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Bypass global. 1 para habilitar, 2 para deshabilitar y 3 para obtener el " #~ "estado actual" #~ msgid "Show available presets." #~ msgstr "Mostrar los perfiles disponibles." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Lista de archivos de respuesta a impulsos" #~ msgid "Import Impulse File" #~ msgstr "Importar archivo de respuesta a impulsos" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid "Impulse Response" #~ msgstr "Respuesta a impulsos" #~ msgid "Load Impulse" #~ msgstr "Cargar archivo de respuesta a impulsos" #~ msgid "Remove Impulse" #~ msgstr "Eliminar archivo de respuesta a impulsos" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Lista de archivos de respuesta a impulsos" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "No se pudo cargar el archivo de respuesta a impulsos" #~ msgid "Recorders" #~ msgstr "Gravadores" #~ msgid "Players" #~ msgstr "Reproductores" #~ msgid "Effects" #~ msgstr "Efectos" #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "Import APO Preset File" #~ msgstr "Importar archivo de perfil APO" #~ msgid "APO Presets" #~ msgstr "Perfiles APO" #~ msgid "Remove Autoloading Preset" #~ msgstr "Eliminar perfil de carga automática" #~ msgid "Remove" #~ msgstr "Eliminar" #~ msgid "Output Device" #~ msgstr "Dispositivo de salida" #~ msgid "Add" #~ msgstr "Agregar" #~ msgid "Import Preset" #~ msgstr "Importar perfil" #~ msgid "Import Model File" #~ msgstr "Importar archivo de modelo" #~ msgid "RNNoise Models" #~ msgstr "Modelos RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Refuerzo de graves" #~ msgid "Bass Loudness" #~ msgstr "Sonoridad de graves" #~ msgid "Convolver" #~ msgstr "Convolucinador" #~ msgid "Crossfeed" #~ msgstr "Alimentación cruzada" #~ msgid "Crystalizer" #~ msgstr "Cristalizador" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Retraso" #~ msgid "Echo Canceller" #~ msgstr "Cancelación de eco" #~ msgid "Equalizer" #~ msgstr "Ecualizador" #~ msgid "Exciter" #~ msgstr "Excitador" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limitador" #~ msgid "Maximizer" #~ msgstr "Maximizador" #~ msgid "Multiband Compressor" #~ msgstr "Compresor multibanda" #~ msgid "Multiband Gate" #~ msgstr "Puerta de ruido multibanda" #~ msgid "Pitch" #~ msgstr "Tono" #~ msgid "Reverberation" #~ msgstr "Reverberación" #~ msgid "Noise Reduction" #~ msgstr "Reducción de ruido" #~ msgid "Stereo Tools" #~ msgstr "Herramientas estéreo" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar predeterminado" #~ msgid "Remove this plugin" #~ msgstr "Eliminar este plugin" #~ msgid "Import Presets" #~ msgstr "Importar perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar el servicio en el inicio de sesión" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Restablecer el volumen de los dispositivos de EasyEffect al inicio" easyeffects-7.1.7/po/news/es_CO.po000066400000000000000000002312001463533416400167600ustar00rootroot00000000000000# Spanish (CO) translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the Pulseeffects package. # CCaroV , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Spanish (Colombia) \n" "Language: es_CO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de audio paras las aplicaciones PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects es una herramienta avanzada de manipulación de audio. Incluye un " "ecualizador, limitador, compresor y una herramienta de reverberación, solo " "por mencionar algunos. Para complementar esto también hay un analizador de " "espectro incorporado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects es el sucesor de PulseEffects. EasyEffects solo admite el " "servidor de audio de PipeWire. Los usuarios de PulseAudio deben usar " "PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Debido a que EasyEffects utiliza el servidor de sonido PipeWire " "predeterminado, funcionará con la mayoría, si no todas, las aplicaciones que " "utilice. Todas las aplicaciones soportadas se presentan en la ventana " "principal, donde cada una se puede habilitar individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Además de manipular el sonido de salida, EasyEffects puede aplicar efectos a " "dispositivos de entrada, como micrófonos. Esto es útil, por ejemplo, en la " "grabación de audio, pero también funciona correctamente durante " "conversaciones de voces." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Cuando EasyEffects esté activo este convenientemente recordará la " "configuración usada en la última sesión. También es posible guardar la " "configuración actual como un perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "La página principal que muestra dos aplicaciones de salida de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "La página de potenciador de graves que muestra los controles de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "La página convolver que muestra los controles de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #, fuzzy msgid "Improved translations" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 #, fuzzy msgid "Many translation updates" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #, fuzzy msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "El plugin autogain ahora permite al usuario seleccionar cuál de las tres " "sonoridades se utilizan para calcular la geométrica" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 #, fuzzy msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "El plugin autogain ahora permite establecer el historial máximo y ya no usa " "el modo `libebur128` histograma." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "El icono de EasyEffects se ha actualizado de una manera que debería hacerlo " "visible en los escritorios QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "La opción de línea de comandos que devuelve el estado de derivación global " "está funcionando de nuevo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "El filtro de crossfeed debería tratar mejor con los interruptores de " "latencia dinámica de PipeWire. Los saltos en el nivel de volumen ya no " "deberían ocurrir en estas situaciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Corregido un error que impedía que los micrófonos mono funcionaran " "correctamente con EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "Soporte para la próxima versión de PipeWire `0.3.44`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "El filtro de autogain debe tratar mejor con los interruptores de latencia " "dinámica de PipeWire. Los saltos en el nivel de volumen ya no deberían " "ocurrir en estas situaciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Hemos añadido una opción que permite restablecer el volumen y el estado de " "silencio de nuestros dispositivos virtuales cuando se inicie EasyEffects. " "Debería ayudar con los casos en los que nuestros dispositivos son " "silenciados por el servidor de audio por razones desconocidas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Mejor soporte para la suspensión de la computadora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Se ha corregido un error por el que al intentar crear un perfil de carga " "automática sin tener ajustes preestablecidos la aplicación se bloqueaba." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 #, fuzzy msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "se ha Corregido un error donde el establecimiento de una banda de " "ecualizador `calidad` a `cero` daría lugar a un accidente de aplicación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita se utiliza para crear algunas partes de nuestra ventana y para " "manejar el cambio entre temas oscuros y claros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "El menú de configuración ha sido rediseñado usando los widgets de LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 #, fuzzy msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "Ecualizador APO función de importación preestablecida se ha mejorado para " "aplicar no solo el filtro de Bell, sino también otros soportados" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 #, fuzzy msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "La función `Reiniciar todas las configuraciones` de nuestro menú debería " "funcionar ahora en Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 #, fuzzy msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Tenemos una nueva opción que permite al usuario deshabilitar nuestros menús " "`autohide`. Esto puede ayudar a solucionar algunos errores que los menús " "Popover tienen actualmente en gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Análisis más robusto para importar preajustes APO guardados con coma como " "separador de miles en banda de frecuencia central." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "La biblioteca fmt es una nueva dependencia Al menos mientras los " "compiladores de c++ no implementan sus características. Se espera que esto " "suceda en los próximos años." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM y GLIBMM ya no son una dependencia. Ahora usamos gtk4 directamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Ahora es posible combinar respuestas de impulso en la interfaz Convolver. Se " "genera un nuevo archivo de impulso y debe ser visible en la lista de " "impulsos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 #, fuzzy msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Dibujos `x ejes` mejorados en nuestras gráficas. Ahora el número de " "etiquetas se ajusta dinámicamente dependiendo del ancho de nuestra ventana." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "La documentación se ha actualizado para reflejar las nuevas características " "de EasyEffects. Se han eliminado las referencias antiguas sobre " "PulseEffects. El botón de documentación se ha añadido en la sección de menú." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Cuando un spinbutton se llena con un valor fuera de rango, ahora se " "actualiza con el valor más bajo/ más alto en lugar de reinicializar al " "anterior." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "This release adds the following features:" #~ msgstr "Esta versión añade las siguientes características:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Esta versión corrige los siguientes errores:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Hay una nueva configuración que permite al usuario seleccionar un tiempo " #~ "de inactividad para la canalización. Cuando no se reproduce ningún cliente" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "desde nuestros dispositivos, los filtros se desvincularán después de que " #~ "se alcance el tiempo de espera. Esto se hace para asegurarse de que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "" #~ "no desperdiciamos el silencio de procesamiento de energía de la CPU." #~ msgid "mean." #~ msgstr "medida." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Esto debe evitar los casos en los que el `Integrated` loudness se queda " #~ "atascado para siempre en el mismo valor." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta versión corrige el siguiente error:" #~ msgid "This release adds the following feature:" #~ msgstr "Esta versión incluye las siguientes novedades:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ecualizador, Compresor y Otros Efectos de Sonido" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Habilitar" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Ajustes" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Perfiles" #~ msgid "Global Bypass" #~ msgstr "Bypass Global" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Empty List" #~ msgstr "Paredes Vacías" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplicaciones" #~ msgid "Target" #~ msgstr "Objetivo" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Máximo" #~ msgid "Momentary" #~ msgstr "Momentáneo" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Corto Plazo" #~ msgid "Integrated" #~ msgstr "Integrado" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Usar la Media Geométrica" #~ msgid "Reset History" #~ msgstr "Restablecer Historial" #~ msgid "Relative" #~ msgstr "Reativo" #~ msgid "Range" #~ msgstr "Rango" #~ msgid "Loudness" #~ msgstr "Volumen" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Ganancia de Entrada" #~ msgid "Input" #~ msgstr "Entrada" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Ganancia de Entrada" #~ msgid "Output" #~ msgstr "Salida" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Caudal de Salida" #~ msgid "Reset" #~ msgstr "Restablecer" #~ msgid "Name" #~ msgstr "Nombre" #, fuzzy #~ msgid "Preset" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Remover preajuste de autocargar" #~ msgid "Listen" #~ msgstr "Escuchar" #~ msgid "Blend Harmonics" #~ msgstr "Mezclar Harmónicos" #~ msgid "3rd" #~ msgstr "3era" #~ msgid "2nd" #~ msgstr "2nda" #~ msgid "Amount" #~ msgstr "Cantidad" #~ msgid "Harmonics" #~ msgstr "Harmónicos" #~ msgid "Scope" #~ msgstr "Alcance" #~ msgid "Floor" #~ msgstr "Fondo" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Fondo" #~ msgid "Link" #~ msgstr "Acoplar" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Aplicaciones" #~ msgid "Compressor" #~ msgstr "Compresor" #~ msgid "Mode" #~ msgstr "Modo" #~ msgid "Downward" #~ msgstr "Hacia Abajo" #~ msgid "Upward" #~ msgstr "Hacia Arriba" #~ msgid "Compression Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Cantidad" #~ msgid "Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Time" #~ msgstr "Tiempo Real" #~ msgid "Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Ataque" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Límite" #~ msgid "Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Release Time" #~ msgstr "Tiempo Real" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Límite" #~ msgid "Ratio" #~ msgstr "Radio" #~ msgid "Knee" #~ msgstr "Codo" #~ msgid "Makeup" #~ msgstr "Amplificación" #~ msgid "Sidechain" #~ msgstr "Cadena Lateral" #~ msgid "Peak" #~ msgstr "Pico" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Paso Bajo" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Cadena Lateral" #~ msgid "Source" #~ msgstr "Fuente" #~ msgid "Middle" #~ msgstr "Medio" #~ msgid "Side" #~ msgstr "Lado" #~ msgid "Left" #~ msgstr "Izquierda" #~ msgid "Right" #~ msgstr "Derecha" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Cadena Lateral" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Adelantar" #~ msgid "Feed-back" #~ msgstr "Realimentar" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Input Device" #~ msgstr "Efectos de Entrada" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Reactivity" #~ msgstr "Reactividad" #~ msgid "Lookahead" #~ msgstr "Atenuación" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Pase Alto" #~ msgid "Frequency" #~ msgstr "Frecuencia" #~ msgid "Off" #~ msgstr "Apagdo" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "12dB/oct Paso Bajo" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "24dB/oct Paso Bajo" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "36dB/oct Paso Bajo" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filtro de Pase Alto" #~ msgid "Gain" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Envelope" #~ msgstr "Pendiente" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Canales" #~ msgid "R" #~ msgstr "R" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Dividir Canales" #, fuzzy #~ msgid "Impulses" #~ msgstr "Respuesta de Impulse" #~ msgid "Stereo Width" #~ msgstr "Amplitud Estéreo" #~ msgid "Spectrum" #~ msgstr "Espectro" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Escala" #~ msgid "Autogain" #~ msgstr "AutoGain" #~ msgid "Rate" #~ msgstr "Tasa" #~ msgid "Samples" #~ msgstr "Muestras" #~ msgid "Duration" #~ msgstr "Duración" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Respuesta de Impulse" #~ msgid "Import Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Importar Archivo Impulse" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "Cutoff" #~ msgstr "Umbral" #~ msgid "Feed" #~ msgstr "Alimentar" #~ msgid "Bypass" #~ msgstr "Derivación" #~ msgid "Mute" #~ msgstr "Silenciar" #~ msgid "Detection" #~ msgstr "Detección" #~ msgid "Wide" #~ msgstr "Ancho" #~ msgid "Split" #~ msgstr "Dividir" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Dividir" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Pico" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Pico Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frecuencia" #~ msgid "Laxity" #~ msgstr "Relajamiento" #~ msgid "Detected" #~ msgstr "Detectado" #, fuzzy #~ msgid "Reduction" #~ msgstr "Reducción" #~ msgid "Frame Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtro" #~ msgid "Bands" #~ msgstr "Bandas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Dividir Canales" #~ msgid "Flat Response" #~ msgstr "Respuesta Plana" #~ msgid "Calculate Frequencies" #~ msgstr "Calcular Frecuencias" #~ msgid "Bell" #~ msgstr "Timbre" #~ msgid "High Pass" #~ msgstr "Pase Alto" #~ msgid "High Shelf" #~ msgstr "Estante Alto" #~ msgid "Low Pass" #~ msgstr "Paso Bajo" #~ msgid "Low Shelf" #~ msgstr "Estante Bajo" #~ msgid "Notch" #~ msgstr "Muesca" #~ msgid "Resonance" #~ msgstr "Resonancia" #, fuzzy #~ msgid "All Pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid "Band Type" #~ msgstr "Tipo" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Modo" #~ msgid "Slope" #~ msgstr "Pendiente" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendiente" #~ msgid "Width" #~ msgstr "Anchura" #~ msgid "Quality" #~ msgstr "Calidad" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Límite" #, fuzzy #~ msgid "Description" #~ msgstr "Detección" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Borrar este perfil" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Paso Bajo" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Paso Bajo" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Paso Bajo" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Pase Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Pase Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Pase Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Paso de Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Paso de Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Paso de Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rechazo de Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rechazo de Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rechazo de Banda" #~ msgid "Inertia" #~ msgstr "Inercia" #~ msgid "Gate" #~ msgstr "Puerta de Ruido" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Tiempo Real" #, fuzzy #~ msgid "Internal" #~ msgstr "Integrado" #~ msgid "Gating" #~ msgstr "Puerta" #~ msgid "Oversampling" #~ msgstr "Sobre Muestreo" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Ancho" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Ancho" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Ancho de Linea" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Ancho de Linea" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Mesa Sinusoidal" #~ msgid "None" #~ msgstr "Ninguno" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Stereo Link" #~ msgstr "Acoplamiento Estéreo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Ganancia Automática" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Derecha" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Salida" #~ msgid "Ceiling" #~ msgstr "Límite" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Modern" #~ msgstr "Modo" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Bands List" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 5" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 6" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 7" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 8" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band End" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Calcular Frecuencias" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Calcular Frecuencias" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Ganancia de Entrada" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curva" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frecuencia" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Amplificación" #~ msgid "Max Reduction" #~ msgstr "Reducción" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Reducción" #~ msgid "Low Band" #~ msgstr "Banda Baja" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción" #~ msgid "Mid Band" #~ msgstr "Banda Media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción" #~ msgid "General" #~ msgstr "General" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberación" #, fuzzy #~ msgid "Header Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Library Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Tasa de Muestreo por Defecto" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Ganancia Máxima" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Profundidad Predeterminda" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Efectos de Salida" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Efectos de Entrada" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "Modules" #~ msgstr "Módulos" #, fuzzy #~ msgid "Modules List" #~ msgstr "Módulos" #~ msgid "Clients" #~ msgstr "Clientes" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clientes" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Señal de Prueba" #~ msgid "State" #~ msgstr "Estado" #, fuzzy #~ msgid "Enabled" #~ msgstr "Habilitar" #~ msgid "Channels" #~ msgstr "Canales" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Canales" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Mesa Sinusoidal" #~ msgid "White Noise" #~ msgstr "Ruido Blanco" #, fuzzy #~ msgid "High Speed" #~ msgstr "Estante Alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidad" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #, fuzzy #~ msgid "Preserved" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Crisp" #~ msgstr "Frescura" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Clip Suave" #~ msgid "Cents" #~ msgstr "Acentos" #~ msgid "Semitones" #~ msgstr "Semitonos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "No Effects" #~ msgstr "Efectos" #, fuzzy #~ msgid "_General" #~ msgstr "General" #, fuzzy #~ msgid "Service" #~ msgstr "Servidor" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Procesar Todas las Salidas" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Procesar Todas las Entradas" #~ msgid "Use Dark Theme" #~ msgstr "Usar Tema Oscuro" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Espectro" #~ msgid "Bars" #~ msgstr "Barras" #~ msgid "Lines" #~ msgstr "Lineas" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Height" #~ msgstr "Altura" #~ msgid "Line Width" #~ msgstr "Ancho de Linea" #~ msgid "Fill" #~ msgstr "Rellenar" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "Minimum" #~ msgstr "Máximo" #~ msgid "Maximum" #~ msgstr "Máximo" #~ msgid "Save current settings to this preset file" #~ msgstr "Guardar esta configuración a este perfil" #~ msgid "Remove this preset file" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Crear Perfil" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Preajuste" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "High Frequency Damping" #~ msgstr "Amortiguación de Alta Frecuencia" #~ msgid "Room Size" #~ msgstr "Tamaño de la Habitación" #~ msgid "Small" #~ msgstr "Pequeña" #~ msgid "Medium" #~ msgstr "Mediana" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Túnel" #~ msgid "Large/smooth" #~ msgstr "Grande/Liso" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difusión" #~ msgid "Pre Delay" #~ msgstr "Pre Retraso" #~ msgid "Decay Time" #~ msgstr "Tiempo de Decaimiento" #~ msgid "Wet Amount" #~ msgstr "Cantidad húmeda" #~ msgid "Wet Level" #~ msgstr "Nivel húmedo" #~ msgid "Dry Amount" #~ msgstr "Gran cantidad" #~ msgid "Dry Level" #~ msgstr "nivel seco" #~ msgid "Bass Cut" #~ msgstr "Corte de Bajos" #~ msgid "Treble Cut" #~ msgstr "Corte de Sobreagudos" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Paredes Vacías" #~ msgid "Room" #~ msgstr "Habitación" #~ msgid "Large Empty Hall" #~ msgstr "Habitación Vacía Grande" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Habitación Ocupada Grande" #~ msgid "Import Model" #~ msgstr "Importar Modelo" #~ msgid "Models" #~ msgstr "Modelos" #~ msgid "Standard Model" #~ msgstr "Modelo estándar" #~ msgid "RNNoise Models List" #~ msgstr "RNNoise Lista de Modelos" #~ msgid "Active Model" #~ msgstr "Modelo activo" #~ msgid "Standard RNNoise Model" #~ msgstr "Modelo estándar RNNoise" #~ msgid "Overview" #~ msgstr "Visión general" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Abrir el manual de EasyEffects" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Pantalla completa/Restaurar desde pantalla completa" #~ msgid "Close the Window" #~ msgstr "Cierra la ventana" #~ msgid "Quit EasyEffects" #~ msgstr "Salir de EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #~ msgid "Input Balance" #~ msgstr "Balance de insumos" #~ msgid "Softclip" #~ msgstr "Clip Suave" #~ msgid "Softclip Level" #~ msgstr "Nivel del Clip Suave" #~ msgid "Stereo Matrix" #~ msgstr "Matriz Estéreo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Estéreo Predeterminado)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Estéreo hacia Medio Lado)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Medio Lado - Estéreo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Canal Izquierdo Mono)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Canal Derecho Mono)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Suma Mono L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Intercambiar Canales)" #~ msgid "Stereo Mode" #~ msgstr "Modo Estéreo" #~ msgid "Invert Phase" #~ msgstr "Invertir Fase" #~ msgid "Side Level" #~ msgstr "Nivel Lateral" #~ msgid "Side Balance" #~ msgstr "Balance Lateral" #~ msgid "Middle Level" #~ msgstr "Nivel Medio" #~ msgid "Middle Panorama" #~ msgstr "Panorama Medio" #~ msgid "Output Balance" #~ msgstr "Balance de producción" #~ msgid "Delay L/R" #~ msgstr "Retraso L/R" #~ msgid "Delay Left Right" #~ msgstr "Retraso Izquierda Derecha" #~ msgid "Stereo Base" #~ msgstr "Base Estéreo" #~ msgid "Stereo Phase" #~ msgstr "Fase Estéreo" #~ msgid "Running" #~ msgstr "Corriendo" #~ msgid "Suspended" #~ msgstr "Suspendido" #~ msgid "Idle" #~ msgstr "Inactivo" #~ msgid "Creating" #~ msgstr "Creando" #~ msgid "Error" #~ msgstr "Error" #~ msgid "Unknown" #~ msgstr "Desconocido" #~ msgid "channels" #~ msgstr "canales" #~ msgid "Output Presets: " #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de audio para aplicaciones PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Salir de EasyEffects. Útil cuando se está ejecutando en modo de servicio." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Cargar un perfil. Ejemplo: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Restablecer EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Oculta la ventana." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Bypass global, 1 para habilitar, 2 para deshabilitar y 3 para obtener el " #~ "estado" #~ msgid "Show available presets." #~ msgstr "Mostrar perfiles disponibles." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Importar Archivo Impulse" #~ msgid "Import Impulse File" #~ msgstr "Importar impulso de archivo" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid "Impulse Response" #~ msgstr "Respuesta de Impulse" #~ msgid "Load Impulse" #~ msgstr "Cargar impulso" #~ msgid "Remove Impulse" #~ msgstr "Remover impulso" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "No se pudo encontrar el archivo Impulse" #~ msgid "Recorders" #~ msgstr "grabadoras" #~ msgid "Players" #~ msgstr "Jugadores" #~ msgid "Effects" #~ msgstr "Efectos" #~ msgid "infinity" #~ msgstr "infinidad" #~ msgid "Import APO Preset File" #~ msgstr "Importar archivo de preajuste APO" #~ msgid "APO Presets" #~ msgstr "Preajustes APO" #~ msgid "Remove Autoloading Preset" #~ msgstr "Remover preajuste de autocargar" #, fuzzy #~ msgid "Output Device" #~ msgstr "Efectos de Salida" #~ msgid "Add" #~ msgstr "Añadir" #~ msgid "Import Preset" #~ msgstr "Importar Preajuste" #~ msgid "Import Model File" #~ msgstr "Importar archivo modelo" #~ msgid "RNNoise Models" #~ msgstr "Modelos RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "potenciador de graves" #~ msgid "Bass Loudness" #~ msgstr "sonoridad de graves" #~ msgid "Convolver" #~ msgstr "enrevesado" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Cristalizador" #~ msgid "Deesser" #~ msgstr "DeEsser" #~ msgid "Delay" #~ msgstr "Retraso" #~ msgid "Echo Canceller" #~ msgstr "Cancelador de Eco" #~ msgid "Equalizer" #~ msgstr "Ecualizador" #~ msgid "Exciter" #~ msgstr "Excitador" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limitador" #~ msgid "Maximizer" #~ msgstr "Maximizador" #~ msgid "Multiband Compressor" #~ msgstr "Compresor Multibanda" #~ msgid "Multiband Gate" #~ msgstr "Puerta Multibanda" #~ msgid "Pitch" #~ msgstr "Tono" #~ msgid "Reverberation" #~ msgstr "Reverberación" #~ msgid "Noise Reduction" #~ msgstr "Reducción de ruido" #~ msgid "Stereo Tools" #~ msgstr "Herramientas Estéreo" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Borrar este perfil" #~ msgid "Import Presets" #~ msgstr "Importar Perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar Servicio al Iniciar Sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Lista Negra" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrar Micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "Faster" #~ msgstr "Más Rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar Formato" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Help" #~ msgstr "Ayuda" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Use Custom Color" #~ msgstr "Usar Color Personalizado" #~ msgid "Use Gradient" #~ msgstr "Usar Degradado" #~ msgid "Spectrum Color" #~ msgstr "Color del Espectro" #~ msgid "Gradient Color" #~ msgstr "Color del Degradado" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Exponent" #~ msgstr "Exponente" #~ msgid "Sampling" #~ msgstr "Muestreo" #~ msgid "Block Size" #~ msgstr "Tamaño de Bloque" #~ msgid "Pipeline Input" #~ msgstr "Caudal de Entrada" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Niceness" #~ msgstr "Meticulosidad" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridad" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Priority" #~ msgstr "Prioridad" # Resampler does not have an official translation #~ msgid "Resampler" #~ msgstr "Remuestreador" #~ msgid "Default Source" #~ msgstr "Fuente Predeterminada" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Muestreo Predeterminado" #~ msgid "Channel Mapping" #~ msgstr "Mapa de Canales" #~ msgid "File" #~ msgstr "Archivo" #~ msgid "Configuration" #~ msgstr "Configuración" # Resamplers does not have an official translation #~ msgid "Resamplers" #~ msgstr "Remuestreadores" #~ msgid "Detect Silence" #~ msgstr "Detectar Silencio" #~ msgid "-23" #~ msgstr "-23" #~ msgid "Weights" #~ msgstr "Fuerza" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuación" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Silenciado" #~ msgid "Distant Headphones" #~ msgstr "Audífonos a Distancia" #~ msgid "Reset Equalizer" #~ msgstr "Restablecer Ecualizador" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "Dry" #~ msgstr "Secar" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Import Impulse Response File" #~ msgstr "Importar Archivo de Respuesta Impulse" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione el Archivo de Respuesta Impulse" #~ msgid "Loudness Range" #~ msgstr "Rango de Sonoridad" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Después" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Filtro Extendido" #~ msgid "Delay Agnostic" #~ msgstr "Retraso Agnóstico" #~ msgid "Suppresion Level" #~ msgstr "Nivel de Supresión" #~ msgid "Low" #~ msgstr "Bajo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Very High" #~ msgstr "Muy Alto" #~ msgid "Noise Suppressor" #~ msgstr "Supresor de Ruido" #~ msgid "Adaptive Digital" #~ msgstr "Adaptado Digital" #~ msgid "Fixed Digital" #~ msgstr "Arreglo Digital" #~ msgid "Gain Controller" #~ msgstr "Regulador de Ganancia" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidad de Detección" #~ msgid "Very Low" #~ msgstr "Muy Bajo" #~ msgid "Voice Detector" #~ msgstr "Detector de Voz" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automáticamente aplicar este perfil siempre que el dispositivo actual " #~ "esté conectado" #~ msgid "Volume" #~ msgstr "Volumen" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cuadrado" #~ msgid "Saw" #~ msgstr "Sierra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Silence" #~ msgstr "Silencio" #~ msgid "Pink Noise" #~ msgstr "Ruido Rosa" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Ruido Gaussiano" #~ msgid "Red Noise" #~ msgstr "Ruido Rojo" #~ msgid "Blue Noise" #~ msgstr "Ruido Azul" #~ msgid "Violet Noise" #~ msgstr "Ruido Violeta" #~ msgid "Window" #~ msgstr "Ventana" #~ msgid "Measure Noise" #~ msgstr "Medir Ruido" #~ msgid "Subtract Noise" #~ msgstr "Reducir Ruido" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Establecer el volumen y encender/apagar los efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Incluye un ecualizador con perfiles incluidos" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "reproduciendo" easyeffects-7.1.7/po/news/es_MX.po000066400000000000000000002171741463533416400170210ustar00rootroot00000000000000# Spanish (MX) translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the Pulseeffects package. # CCaroV , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Spanish (Mexico) \n" "Language: es_MX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de audio para aplicaciones PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects es una avanzada herramienta de manipulación de audio. Incluye un " "ecualizador, limitador, compresor y herramienta de reverberación , solo por " "mencionar algunos. Para complementar esto hay también incluido un analizador " "de espectro." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects es el sucesor de PulseEffects. Easy Effects solo es compatible " "con el servidor de audio de PipeWire. En su lugar, los usuarios de " "PulseAudio deberían usar PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Debido a que EasyEffects usa por defecto el servicio de sonido PulseAudio, " "este funcionará con la mayoría, sino que todas, las aplicaciones que use. " "Todas las aplicaciones son mostradas en la ventana principal donde pueden " "ser habilitadas individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Además de manipular el sonido de salida, EasyEffects puede aplicar efectos a " "dispositivos de entrada, como micrófonos. Esto es útil, por ejemplo, en la " "grabación de audio, pero también funciona correctamente durante " "conversaciones de voces." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Cuando EasyEffects esté activo este convenientemente recordará la " "configuración usada en la última sesión. También es posible guardar la " "configuración actual como un perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "La página principal que muestra dos aplicaciones de salida de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "La página del potenciador de graves que muestra los controles de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "La página de convolver que muestra los controles de audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Corrección de errores:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Otras notas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Actualización de traducciones." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "" "Se mejoró la compatibilidad con versiones recientes de PipeWire. Más " "información en" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" "Se mejoró la compatibilidad con versiones recientes de PipeWire. Más " "información en" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "El menú de ajustes preestablecidos ahora pide confirmación antes de guardar/" "eliminar un archivo preestablecido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "Se cometió un pequeño error en la última versión. Esta nueva versión asegura " "que todos los involucrados tengan la rama correcta" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "La función del ecualizador \"ordenar bandas\" ahora ordena las bandas en " "GSettings, por tanto el resultado puede ser guardado en los perfiles." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Pequeñas mejoras a la cancelación de eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ecualizador, Compresor y Otros Efectos de Sonido" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Habilitar" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Ajustes" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Perfiles" #~ msgid "Global Bypass" #~ msgstr "Bypass Global" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Empty List" #~ msgstr "Paredes Vacías" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplicaciones" #~ msgid "Target" #~ msgstr "Objetivo" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Máximo" #~ msgid "Momentary" #~ msgstr "Momentáneo" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Corto Plazo" #~ msgid "Integrated" #~ msgstr "Integrado" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Usar la Media Geométrica" #~ msgid "Reset History" #~ msgstr "Restablecer Historial" #~ msgid "Relative" #~ msgstr "Reativo" #~ msgid "Range" #~ msgstr "Rango" #~ msgid "Loudness" #~ msgstr "Loudness" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Ganancia de Entrada" #~ msgid "Input" #~ msgstr "Entrada" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Ganancia de Entrada" #~ msgid "Output" #~ msgstr "Salida" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Caudal de Salida" #~ msgid "Reset" #~ msgstr "Restablecer" #~ msgid "Name" #~ msgstr "Nombre" #, fuzzy #~ msgid "Preset" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Borrar este perfil" #~ msgid "Listen" #~ msgstr "Escuchar" #~ msgid "Blend Harmonics" #~ msgstr "Mezclar Harmónicos" #~ msgid "3rd" #~ msgstr "3era" #~ msgid "2nd" #~ msgstr "2nda" #~ msgid "Amount" #~ msgstr "Cantidad" #~ msgid "Harmonics" #~ msgstr "Harmónicos" #~ msgid "Scope" #~ msgstr "Alcance" #~ msgid "Floor" #~ msgstr "Fondo" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Fondo" #~ msgid "Link" #~ msgstr "Acoplar" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Aplicaciones" #~ msgid "Compressor" #~ msgstr "Compresor" #~ msgid "Mode" #~ msgstr "Modo" #~ msgid "Downward" #~ msgstr "Hacia Abajo" #~ msgid "Upward" #~ msgstr "Hacia Arriba" #~ msgid "Compression Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Cantidad" #~ msgid "Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Time" #~ msgstr "Tiempo Real" #~ msgid "Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Ataque" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Límite" #~ msgid "Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Release Time" #~ msgstr "Tiempo Real" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Límite" #~ msgid "Ratio" #~ msgstr "Radio" #~ msgid "Knee" #~ msgstr "Codo" #~ msgid "Makeup" #~ msgstr "Amplificación" #~ msgid "Sidechain" #~ msgstr "Cadena Lateral" #~ msgid "Peak" #~ msgstr "Pico" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Paso Bajo" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Cadena Lateral" #~ msgid "Source" #~ msgstr "Fuente" #~ msgid "Middle" #~ msgstr "Medio" #~ msgid "Side" #~ msgstr "Lado" #~ msgid "Left" #~ msgstr "Izquierda" #~ msgid "Right" #~ msgstr "Derecha" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Cadena Lateral" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Adelantar" #~ msgid "Feed-back" #~ msgstr "Realimentar" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Input Device" #~ msgstr "Efectos de Entrada" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Reactivity" #~ msgstr "Reactividad" #~ msgid "Lookahead" #~ msgstr "Atenuación" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Pase Alto" #~ msgid "Frequency" #~ msgstr "Frecuencia" #~ msgid "Off" #~ msgstr "Apagdo" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "12dB/oct Paso Bajo" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "24dB/oct Paso Bajo" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "36dB/oct Paso Bajo" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filtro de Pase Alto" #~ msgid "Gain" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Envelope" #~ msgstr "Pendiente" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Canales" #~ msgid "R" #~ msgstr "R" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Dividir Canales" #, fuzzy #~ msgid "Impulses" #~ msgstr "Respuesta de Impulse" #~ msgid "Stereo Width" #~ msgstr "Amplitud Estéreo" #~ msgid "Spectrum" #~ msgstr "Espectro" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Escala" #, fuzzy #~ msgid "Autogain" #~ msgstr "Ganancia Automática" #~ msgid "Rate" #~ msgstr "Tasa" #~ msgid "Samples" #~ msgstr "Muestras" #~ msgid "Duration" #~ msgstr "Duración" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Respuesta de Impulse" #~ msgid "Import Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Importar Archivo Impulse" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "Cutoff" #~ msgstr "Umbral" #~ msgid "Feed" #~ msgstr "Alimentar" #~ msgid "Bypass" #~ msgstr "Bypass" #~ msgid "Mute" #~ msgstr "Silenciar" #~ msgid "Detection" #~ msgstr "Detección" #~ msgid "Wide" #~ msgstr "Ancho" #~ msgid "Split" #~ msgstr "Dividir" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Dividir" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Pico" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Pico Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frecuencia" #~ msgid "Laxity" #~ msgstr "Relajamiento" #~ msgid "Detected" #~ msgstr "Detectado" #, fuzzy #~ msgid "Reduction" #~ msgstr "Reducción" #~ msgid "Frame Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtro" #~ msgid "Bands" #~ msgstr "Bandas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Dividir Canales" #~ msgid "Flat Response" #~ msgstr "Respuesta Plana" #~ msgid "Calculate Frequencies" #~ msgstr "Calcular Frecuencias" #~ msgid "Bell" #~ msgstr "Timbre" #~ msgid "High Pass" #~ msgstr "Pase Alto" #~ msgid "High Shelf" #~ msgstr "Estante Alto" #~ msgid "Low Pass" #~ msgstr "Paso Bajo" #~ msgid "Low Shelf" #~ msgstr "Estante Bajo" #~ msgid "Notch" #~ msgstr "Muesca" #~ msgid "Resonance" #~ msgstr "Resonancia" #, fuzzy #~ msgid "All Pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid "Band Type" #~ msgstr "Tipo" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Modo" #~ msgid "Slope" #~ msgstr "Pendiente" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendiente" #~ msgid "Width" #~ msgstr "Anchura" #~ msgid "Quality" #~ msgstr "Calidad" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Límite" #, fuzzy #~ msgid "Description" #~ msgstr "Detección" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Borrar este perfil" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Paso Bajo" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Paso Bajo" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Paso Bajo" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Pase Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Pase Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Pase Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Paso de Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Paso de Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Paso de Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rechazo de Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rechazo de Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rechazo de Banda" #~ msgid "Inertia" #~ msgstr "Inercia" #~ msgid "Gate" #~ msgstr "Puerta de Ruido" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Tiempo Real" #, fuzzy #~ msgid "Internal" #~ msgstr "Integrado" #~ msgid "Gating" #~ msgstr "Puerta" #~ msgid "Oversampling" #~ msgstr "Sobre Muestreo" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Ancho" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Ancho" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Ancho de Linea" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Ancho de Linea" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Mesa Sinusoidal" #~ msgid "None" #~ msgstr "Ninguno" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Stereo Link" #~ msgstr "Acoplamiento Estéreo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Ganancia Automática" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Derecha" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Salida" #~ msgid "Ceiling" #~ msgstr "Límite" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Modern" #~ msgstr "Modo" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Bands List" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 5" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 6" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 7" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 8" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band End" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Calcular Frecuencias" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Calcular Frecuencias" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Ganancia de Entrada" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curva" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frecuencia" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Amplificación" #~ msgid "Max Reduction" #~ msgstr "Reducción" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Reducción" #~ msgid "Low Band" #~ msgstr "Banda Baja" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción" #~ msgid "Mid Band" #~ msgstr "Banda Media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción" #~ msgid "General" #~ msgstr "General" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberación" #, fuzzy #~ msgid "Header Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Library Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Tasa de Muestreo por Defecto" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Ganancia Máxima" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Profundidad Predeterminda" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Efectos de Salida" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Efectos de Entrada" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "Modules" #~ msgstr "Módulos" #, fuzzy #~ msgid "Modules List" #~ msgstr "Módulos" #~ msgid "Clients" #~ msgstr "Clientes" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clientes" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Señal de Prueba" #~ msgid "State" #~ msgstr "Estado" #, fuzzy #~ msgid "Enabled" #~ msgstr "Habilitar" #~ msgid "Channels" #~ msgstr "Canales" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Canales" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Mesa Sinusoidal" #~ msgid "White Noise" #~ msgstr "Ruido Blanco" #, fuzzy #~ msgid "High Speed" #~ msgstr "Estante Alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidad" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #, fuzzy #~ msgid "Preserved" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Crisp" #~ msgstr "Frescura" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Clip Suave" #~ msgid "Cents" #~ msgstr "Acentos" #~ msgid "Semitones" #~ msgstr "Semitonos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "General" #, fuzzy #~ msgid "Service" #~ msgstr "Servidor" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Procesar Todas las Salidas" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Procesar Todas las Entradas" #~ msgid "Use Dark Theme" #~ msgstr "Usar Tema Oscuro" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Espectro" #~ msgid "Bars" #~ msgstr "Barras" #~ msgid "Lines" #~ msgstr "Lineas" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Height" #~ msgstr "Altura" #~ msgid "Line Width" #~ msgstr "Ancho de Linea" #~ msgid "Fill" #~ msgstr "Rellenar" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "Minimum" #~ msgstr "Máximo" #~ msgid "Maximum" #~ msgstr "Máximo" #~ msgid "Save current settings to this preset file" #~ msgstr "Guardar esta configuración a este perfil" #~ msgid "Remove this preset file" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Crear Perfil" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "High Frequency Damping" #~ msgstr "Amortiguación de Alta Frecuencia" #~ msgid "Room Size" #~ msgstr "Tamaño de la Habitación" #~ msgid "Small" #~ msgstr "Pequeña" #~ msgid "Medium" #~ msgstr "Mediana" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Túnel" #~ msgid "Large/smooth" #~ msgstr "Grande/Liso" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difusión" #~ msgid "Pre Delay" #~ msgstr "Pre Retraso" #~ msgid "Decay Time" #~ msgstr "Tiempo de Decaimiento" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantidad" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Nivel Objetivo" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantidad" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Nivel" #~ msgid "Bass Cut" #~ msgstr "Corte de Bajos" #~ msgid "Treble Cut" #~ msgstr "Corte de Sobreagudos" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Paredes Vacías" #~ msgid "Room" #~ msgstr "Habitación" #~ msgid "Large Empty Hall" #~ msgstr "Habitación Vacía Grande" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Habitación Ocupada Grande" #, fuzzy #~ msgid "Import Model" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Models" #~ msgstr "Modo" #, fuzzy #~ msgid "Active Model" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Restablecer EasyEffects." #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balance" #~ msgid "Softclip" #~ msgstr "Clip Suave" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Clip Suave" #~ msgid "Stereo Matrix" #~ msgstr "Matriz Estéreo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Estéreo Predeterminado)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Estéreo hacia Medio Lado)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Medio Lado - Estéreo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Canal Izquierdo Mono)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Canal Derecho Mono)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Suma Mono L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Intercambiar Canales)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Base Estéreo" #~ msgid "Invert Phase" #~ msgstr "Invertir Fase" #~ msgid "Side Level" #~ msgstr "Nivel Lateral" #~ msgid "Side Balance" #~ msgstr "Balance Lateral" #~ msgid "Middle Level" #~ msgstr "Nivel Medio" #~ msgid "Middle Panorama" #~ msgstr "Panorama Medio" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Balance" #~ msgid "Delay L/R" #~ msgstr "Retraso L/R" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Retraso L/R" #~ msgid "Stereo Base" #~ msgstr "Base Estéreo" #~ msgid "Stereo Phase" #~ msgstr "Fase Estéreo" #, fuzzy #~ msgid "Creating" #~ msgstr "Puerta" #, fuzzy #~ msgid "channels" #~ msgstr "Canales" #~ msgid "Output Presets: " #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de Sonido para las aplicaciones de PulseAudio" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Salir de EasyEffects. Útil cuando se está ejecutando en modo de servicio." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Cargar un perfil. Ejemplo: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Restablecer EasyEffects." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Bypass global, 1 para habilitar, 2 para deshabilitar y 3 para obtener el " #~ "estado" #~ msgid "Show available presets." #~ msgstr "Mostrar perfiles disponibles." #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Importar Archivo Impulse" #~ msgid "Import Impulse File" #~ msgstr "Importar Archivo Impulse" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid "Impulse Response" #~ msgstr "Respuesta de Impulse" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "No se pudo encontrar el archivo Impulse" #, fuzzy #~ msgid "Recorders" #~ msgstr "Bordes" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "infinidad" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "APO Presets" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "Output Device" #~ msgstr "Efectos de Salida" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Importar Archivo Impulse" #~ msgid "Bass Enhancer" #~ msgstr "Potenciado de Graves" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Loudness" #~ msgid "Convolver" #~ msgstr "Convolver" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Cristalizador" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Retraso" #~ msgid "Echo Canceller" #~ msgstr "Cancelador de Eco" #~ msgid "Equalizer" #~ msgstr "Ecualizador" #~ msgid "Exciter" #~ msgstr "Excitador" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limitador" #~ msgid "Maximizer" #~ msgstr "Maximizador" #~ msgid "Multiband Compressor" #~ msgstr "Compresor Multibanda" #~ msgid "Multiband Gate" #~ msgstr "Puerta Multibanda" #~ msgid "Pitch" #~ msgstr "Tono" #~ msgid "Reverberation" #~ msgstr "Reverberación" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Reducción de Ganancia" #~ msgid "Stereo Tools" #~ msgstr "Herramientas Estéreo" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Borrar este perfil" #~ msgid "Import Presets" #~ msgstr "Importar Perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar Servicio al Iniciar Sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Lista Negra" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrar Micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "Faster" #~ msgstr "Más Rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar Formato" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Help" #~ msgstr "Ayuda" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Use Custom Color" #~ msgstr "Usar Color Personalizado" #~ msgid "Use Gradient" #~ msgstr "Usar Degradado" #~ msgid "Spectrum Color" #~ msgstr "Color del Espectro" #~ msgid "Gradient Color" #~ msgstr "Color del Degradado" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Exponent" #~ msgstr "Exponente" #~ msgid "Sampling" #~ msgstr "Muestreo" #~ msgid "Block Size" #~ msgstr "Tamaño de Bloque" #~ msgid "Pipeline Input" #~ msgstr "Caudal de Entrada" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Niceness" #~ msgstr "Meticulosidad" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridad" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Priority" #~ msgstr "Prioridad" # Resampler does not have an official translation #~ msgid "Resampler" #~ msgstr "Remuestreador" #~ msgid "Default Source" #~ msgstr "Fuente Predeterminada" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Muestreo Predeterminado" #~ msgid "Channel Mapping" #~ msgstr "Mapa de Canales" #~ msgid "File" #~ msgstr "Archivo" #~ msgid "Configuration" #~ msgstr "Configuración" # Resamplers does not have an official translation #~ msgid "Resamplers" #~ msgstr "Remuestreadores" #~ msgid "Detect Silence" #~ msgstr "Detectar Silencio" #~ msgid "-23" #~ msgstr "-23" #~ msgid "Weights" #~ msgstr "Fuerza" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuación" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Silenciado" #~ msgid "Distant Headphones" #~ msgstr "Audífonos a Distancia" #~ msgid "Reset Equalizer" #~ msgstr "Restablecer Ecualizador" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "Dry" #~ msgstr "Secar" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Import Impulse Response File" #~ msgstr "Importar Archivo de Respuesta Impulse" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione el Archivo de Respuesta Impulse" #~ msgid "Loudness Range" #~ msgstr "Rango de Sonoridad" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Después" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Filtro Extendido" #~ msgid "Delay Agnostic" #~ msgstr "Retraso Agnóstico" #~ msgid "Suppresion Level" #~ msgstr "Nivel de Supresión" #~ msgid "Low" #~ msgstr "Bajo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Very High" #~ msgstr "Muy Alto" #~ msgid "Noise Suppressor" #~ msgstr "Supresor de Ruido" #~ msgid "Adaptive Digital" #~ msgstr "Adaptado Digital" #~ msgid "Fixed Digital" #~ msgstr "Arreglo Digital" #~ msgid "Gain Controller" #~ msgstr "Regulador de Ganancia" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidad de Detección" #~ msgid "Very Low" #~ msgstr "Muy Bajo" #~ msgid "Voice Detector" #~ msgstr "Detector de Voz" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automáticamente aplicar este perfil siempre que el dispositivo actual " #~ "esté conectado" #~ msgid "Volume" #~ msgstr "Volumen" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cuadrado" #~ msgid "Saw" #~ msgstr "Sierra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Silence" #~ msgstr "Silencio" #~ msgid "Pink Noise" #~ msgstr "Ruido Rosa" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Ruido Gaussiano" #~ msgid "Red Noise" #~ msgstr "Ruido Rojo" #~ msgid "Blue Noise" #~ msgstr "Ruido Azul" #~ msgid "Violet Noise" #~ msgstr "Ruido Violeta" #~ msgid "Window" #~ msgstr "Ventana" #~ msgid "Measure Noise" #~ msgstr "Medir Ruido" #~ msgid "Subtract Noise" #~ msgstr "Reducir Ruido" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Establecer el volumen y encender/apagar los efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Incluye un ecualizador con perfiles incluidos" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "reproduciendo" easyeffects-7.1.7/po/news/es_VE.po000066400000000000000000002150711463533416400170010ustar00rootroot00000000000000# Spanish (VE) translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the Pulseeffects package. # CCaroV , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Spanish (Venezuela) \n" "Language: es_VE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 #, fuzzy msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de Sonido para las Aplicaciones de PulseAudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects es una avanzada herramienta de manipulación de audio. Incluye un " "ecualizador, limitador, compresor y herramienta de reverberación , solo por " "mencionar algunos. Para complementar esto hay también incluido un analizador " "de espectro." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Debido a que EasyEffects usa por defecto el servicio de sonido PulseAudio, " "este funcionará con la mayoría, sino que todas, las aplicaciones que use. " "Todas las aplicaciones son mostradas en la ventana principal donde pueden " "ser habilitadas individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Además de manipular el sonido de salida, EasyEffects puede aplicar efectos a " "dispositivos de entrada, como micrófonos. Esto es útil, por ejemplo, en la " "grabación de audio, pero también funciona correctamente durante " "conversaciones de voces." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Cuando EasyEffects esté activo este convenientemente recordará la " "configuración usada en la última sesión. También es posible guardar la " "configuración actual como un perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ecualizador, Compresor y Otros Efectos de Sonido" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitador;compresor;reverberación;ecualizador;autovolumen;" #~ msgid "\"Presets\"" #~ msgstr "\"Perfiles\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Habilitar" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Ajustes" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Perfiles" #~ msgid "Global Bypass" #~ msgstr "Bypass Global" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Empty List" #~ msgstr "Paredes Vacías" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplicaciones" #~ msgid "Target" #~ msgstr "Objetivo" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Máximo" #~ msgid "Momentary" #~ msgstr "Momentáneo" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Corto Plazo" #~ msgid "Integrated" #~ msgstr "Integrado" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Usar la Media Geométrica" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Usar la Media Geométrica" #~ msgid "Reset History" #~ msgstr "Restablecer Historial" #~ msgid "Relative" #~ msgstr "Reativo" #~ msgid "Range" #~ msgstr "Rango" #~ msgid "Loudness" #~ msgstr "Loudness" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Ganancia de Entrada" #~ msgid "Input" #~ msgstr "Entrada" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Ganancia de Entrada" #~ msgid "Output" #~ msgstr "Salida" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Caudal de Salida" #~ msgid "Reset" #~ msgstr "Restablecer" #~ msgid "Name" #~ msgstr "Nombre" #, fuzzy #~ msgid "Preset" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Borrar este perfil" #~ msgid "Listen" #~ msgstr "Escuchar" #~ msgid "Blend Harmonics" #~ msgstr "Mezclar Harmónicos" #~ msgid "3rd" #~ msgstr "3era" #~ msgid "2nd" #~ msgstr "2nda" #~ msgid "Amount" #~ msgstr "Cantidad" #~ msgid "Harmonics" #~ msgstr "Harmónicos" #~ msgid "Scope" #~ msgstr "Alcance" #~ msgid "Floor" #~ msgstr "Fondo" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Fondo" #~ msgid "Link" #~ msgstr "Acoplar" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplicaciones" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Aplicaciones" #~ msgid "Compressor" #~ msgstr "Compresor" #~ msgid "Mode" #~ msgstr "Modo" #~ msgid "Downward" #~ msgstr "Hacia Abajo" #~ msgid "Upward" #~ msgstr "Hacia Arriba" #~ msgid "Compression Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Cantidad" #~ msgid "Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Time" #~ msgstr "Tiempo Real" #~ msgid "Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Ataque" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Límite" #~ msgid "Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Release Time" #~ msgstr "Tiempo Real" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Límite" #~ msgid "Ratio" #~ msgstr "Radio" #~ msgid "Knee" #~ msgstr "Codo" #~ msgid "Makeup" #~ msgstr "Amplificación" #~ msgid "Sidechain" #~ msgstr "Cadena Lateral" #~ msgid "Peak" #~ msgstr "Pico" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Paso Bajo" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Cadena Lateral" #~ msgid "Source" #~ msgstr "Fuente" #~ msgid "Middle" #~ msgstr "Medio" #~ msgid "Side" #~ msgstr "Lado" #~ msgid "Left" #~ msgstr "Izquierda" #~ msgid "Right" #~ msgstr "Derecha" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Cadena Lateral" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Adelantar" #~ msgid "Feed-back" #~ msgstr "Realimentar" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Input Device" #~ msgstr "Efectos de Entrada" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Reactivity" #~ msgstr "Reactividad" #~ msgid "Lookahead" #~ msgstr "Atenuación" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Pase Alto" #~ msgid "Frequency" #~ msgstr "Frecuencia" #~ msgid "Off" #~ msgstr "Apagdo" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "12dB/oct Paso Bajo" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "24dB/oct Paso Bajo" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "36dB/oct Paso Bajo" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filtro de Pase Alto" #~ msgid "Gain" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Envelope" #~ msgstr "Pendiente" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Canales" #~ msgid "R" #~ msgstr "R" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Dividir Canales" #, fuzzy #~ msgid "Impulses" #~ msgstr "Respuesta de Impulse" #~ msgid "Stereo Width" #~ msgstr "Amplitud Estéreo" #~ msgid "Spectrum" #~ msgstr "Espectro" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Escala" #, fuzzy #~ msgid "Autogain" #~ msgstr "Ganancia Automática" #~ msgid "Rate" #~ msgstr "Tasa" #~ msgid "Samples" #~ msgstr "Muestras" #~ msgid "Duration" #~ msgstr "Duración" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Respuesta de Impulse" #~ msgid "Import Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Importar Archivo Impulse" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "Cutoff" #~ msgstr "Umbral" #~ msgid "Feed" #~ msgstr "Alimentar" #~ msgid "Bypass" #~ msgstr "Bypass" #~ msgid "Mute" #~ msgstr "Silenciar" #~ msgid "Detection" #~ msgstr "Detección" #~ msgid "Wide" #~ msgstr "Ancho" #~ msgid "Split" #~ msgstr "Dividir" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Dividir" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Pico" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Nivel" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Pico Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frecuencia" #~ msgid "Laxity" #~ msgstr "Relajamiento" #~ msgid "Detected" #~ msgstr "Detectado" #, fuzzy #~ msgid "Reduction" #~ msgstr "Reducción" #~ msgid "Frame Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtro" #~ msgid "Bands" #~ msgstr "Bandas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Dividir Canales" #~ msgid "Flat Response" #~ msgstr "Respuesta Plana" #~ msgid "Calculate Frequencies" #~ msgstr "Calcular Frecuencias" #~ msgid "Bell" #~ msgstr "Timbre" #~ msgid "High Pass" #~ msgstr "Pase Alto" #~ msgid "High Shelf" #~ msgstr "Estante Alto" #~ msgid "Low Pass" #~ msgstr "Paso Bajo" #~ msgid "Low Shelf" #~ msgstr "Estante Bajo" #~ msgid "Notch" #~ msgstr "Muesca" #~ msgid "Resonance" #~ msgstr "Resonancia" #, fuzzy #~ msgid "All Pass" #~ msgstr "Paso Bajo" #, fuzzy #~ msgid "Band Type" #~ msgstr "Tipo" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Modo" #~ msgid "Slope" #~ msgstr "Pendiente" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendiente" #~ msgid "Width" #~ msgstr "Anchura" #~ msgid "Quality" #~ msgstr "Calidad" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Límite" #, fuzzy #~ msgid "Description" #~ msgstr "Detección" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Borrar este perfil" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Paso Bajo" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Paso Bajo" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Paso Bajo" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Pase Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Pase Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Pase Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Paso de Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Paso de Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Paso de Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rechazo de Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rechazo de Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rechazo de Banda" #~ msgid "Inertia" #~ msgstr "Inercia" #~ msgid "Gate" #~ msgstr "Puerta de Ruido" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Tiempo Real" #, fuzzy #~ msgid "Internal" #~ msgstr "Integrado" #~ msgid "Gating" #~ msgstr "Puerta" #~ msgid "Oversampling" #~ msgstr "Sobre Muestreo" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Ancho" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Ancho" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Ancho de Linea" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Ancho de Linea" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Mesa Sinusoidal" #~ msgid "None" #~ msgstr "Ninguno" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Pre-amplificación" #~ msgid "Stereo Link" #~ msgstr "Acoplamiento Estéreo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Ganancia Automática" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Ganancia" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Derecha" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Tamaño del Marco" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Salida" #~ msgid "Ceiling" #~ msgstr "Límite" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Modern" #~ msgstr "Modo" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Cadena Lateral" #, fuzzy #~ msgid "Bands List" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 5" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 6" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 7" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 8" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band End" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Modo de Compresión" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Calcular Frecuencias" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de Pase Alto" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Calcular Frecuencias" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Ganancia de Entrada" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curva" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frecuencia" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Amplificación" #~ msgid "Max Reduction" #~ msgstr "Reducción" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Reducción" #~ msgid "Low Band" #~ msgstr "Banda Baja" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducción" #~ msgid "Mid Band" #~ msgstr "Banda Media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducción" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detección" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Límite" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Amplificación" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducción" #~ msgid "General" #~ msgstr "General" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberación" #, fuzzy #~ msgid "Header Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Library Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Tasa de Muestreo por Defecto" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Ganancia Máxima" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Profundidad Predeterminda" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Efectos de Salida" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Efectos de Entrada" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "Modules" #~ msgstr "Módulos" #, fuzzy #~ msgid "Modules List" #~ msgstr "Módulos" #~ msgid "Clients" #~ msgstr "Clientes" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clientes" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Señal de Prueba" #~ msgid "State" #~ msgstr "Estado" #, fuzzy #~ msgid "Enabled" #~ msgstr "Habilitar" #~ msgid "Channels" #~ msgstr "Canales" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Canales" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Mesa Sinusoidal" #~ msgid "White Noise" #~ msgstr "Ruido Blanco" #, fuzzy #~ msgid "High Speed" #~ msgstr "Estante Alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidad" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #, fuzzy #~ msgid "Preserved" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Crisp" #~ msgstr "Frescura" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Clip Suave" #~ msgid "Cents" #~ msgstr "Acentos" #~ msgid "Semitones" #~ msgstr "Semitonos" #~ msgid "Octaves" #~ msgstr "Octavas" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "General" #, fuzzy #~ msgid "Service" #~ msgstr "Servidor" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Procesar Todas las Salidas" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Procesar Todas las Entradas" #~ msgid "Use Dark Theme" #~ msgstr "Usar Tema Oscuro" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Espectro" #~ msgid "Bars" #~ msgstr "Barras" #~ msgid "Lines" #~ msgstr "Lineas" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Height" #~ msgstr "Altura" #~ msgid "Line Width" #~ msgstr "Ancho de Linea" #~ msgid "Fill" #~ msgstr "Rellenar" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frecuencia" #, fuzzy #~ msgid "Minimum" #~ msgstr "Máximo" #~ msgid "Maximum" #~ msgstr "Máximo" #~ msgid "Save current settings to this preset file" #~ msgstr "Guardar esta configuración a este perfil" #~ msgid "Remove this preset file" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Crear Perfil" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Perfiles de Dispositivos de Entrada: " #~ msgid "High Frequency Damping" #~ msgstr "Amortiguación de Alta Frecuencia" #~ msgid "Room Size" #~ msgstr "Tamaño de la Habitación" #~ msgid "Small" #~ msgstr "Pequeña" #~ msgid "Medium" #~ msgstr "Mediana" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Túnel" #~ msgid "Large/smooth" #~ msgstr "Grande/Liso" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difusión" #~ msgid "Pre Delay" #~ msgstr "Pre Retraso" #~ msgid "Decay Time" #~ msgstr "Tiempo de Decaimiento" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantidad" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Nivel Objetivo" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantidad" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Nivel" #~ msgid "Bass Cut" #~ msgstr "Corte de Bajos" #~ msgid "Treble Cut" #~ msgstr "Corte de Sobreagudos" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Paredes Vacías" #~ msgid "Room" #~ msgstr "Habitación" #~ msgid "Large Empty Hall" #~ msgstr "Habitación Vacía Grande" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Habitación Ocupada Grande" #, fuzzy #~ msgid "Import Model" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Models" #~ msgstr "Modo" #, fuzzy #~ msgid "Active Model" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Restablecer EasyEffects." #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balance" #~ msgid "Softclip" #~ msgstr "Clip Suave" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Clip Suave" #~ msgid "Stereo Matrix" #~ msgstr "Matriz Estéreo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Estéreo Predeterminado)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Estéreo hacia Medio Lado)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Medio Lado - Estéreo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Canal Izquierdo Mono)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Canal Derecho Mono)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Suma Mono L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Intercambiar Canales)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Base Estéreo" #~ msgid "Invert Phase" #~ msgstr "Invertir Fase" #~ msgid "Side Level" #~ msgstr "Nivel Lateral" #~ msgid "Side Balance" #~ msgstr "Balance Lateral" #~ msgid "Middle Level" #~ msgstr "Nivel Medio" #~ msgid "Middle Panorama" #~ msgstr "Panorama Medio" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Balance" #~ msgid "Delay L/R" #~ msgstr "Retraso L/R" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Retraso L/R" #~ msgid "Stereo Base" #~ msgstr "Base Estéreo" #~ msgid "Stereo Phase" #~ msgstr "Fase Estéreo" #, fuzzy #~ msgid "Creating" #~ msgstr "Puerta" #, fuzzy #~ msgid "channels" #~ msgstr "Canales" #~ msgid "Output Presets: " #~ msgstr "Perfiles de Dispositivos de Salida: " #~ msgid "Input Presets: " #~ msgstr "Perfiles de Dispositivos de Entrada: " #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de Sonido para las aplicaciones de PulseAudio" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Salir de EasyEffects. Útil cuando se está ejecutando en modo de servicio." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Cargar un perfil. Ejemplo: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Restablecer EasyEffects." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Bypass global, 1 para habilitar, 2 para deshabilitar y 3 para obtener el " #~ "estado" #~ msgid "Show available presets." #~ msgstr "Mostrar perfiles disponibles." #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Importar Archivo Impulse" #~ msgid "Import Impulse File" #~ msgstr "Importar Archivo Impulse" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid "Impulse Response" #~ msgstr "Respuesta de Impulse" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Importar Archivo Impulse" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "No se pudo encontrar el archivo Impulse" #, fuzzy #~ msgid "Recorders" #~ msgstr "Bordes" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "infinidad" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "APO Presets" #~ msgstr "Perfiles" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Borrar este perfil" #, fuzzy #~ msgid "Output Device" #~ msgstr "Efectos de Salida" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Importar Perfiles" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Importar Archivo Impulse" #~ msgid "Bass Enhancer" #~ msgstr "Potenciado de Graves" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Loudness" #~ msgid "Convolver" #~ msgstr "Convolver" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Cristalizador" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Retraso" #~ msgid "Echo Canceller" #~ msgstr "Cancelador de Eco" #~ msgid "Equalizer" #~ msgstr "Ecualizador" #~ msgid "Exciter" #~ msgstr "Excitador" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limitador" #~ msgid "Maximizer" #~ msgstr "Maximizador" #~ msgid "Multiband Compressor" #~ msgstr "Compresor Multibanda" #~ msgid "Multiband Gate" #~ msgstr "Puerta Multibanda" #~ msgid "Pitch" #~ msgstr "Tono" #~ msgid "Reverberation" #~ msgstr "Reverberación" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Reducción de Ganancia" #~ msgid "Stereo Tools" #~ msgstr "Herramientas Estéreo" #~ msgid "Average" #~ msgstr "Promedio" #~ msgid "Failed" #~ msgstr "Fallido" #~ msgid "Use Default" #~ msgstr "Usar Predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Borrar este perfil" #~ msgid "Import Presets" #~ msgstr "Importar Perfiles" #~ msgid "Start Service at Login" #~ msgstr "Iniciar Servicio al Iniciar Sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agresivo" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Lista Negra" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrar Micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "Faster" #~ msgstr "Más Rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar Formato" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Help" #~ msgstr "Ayuda" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Use Custom Color" #~ msgstr "Usar Color Personalizado" #~ msgid "Use Gradient" #~ msgstr "Usar Degradado" #~ msgid "Spectrum Color" #~ msgstr "Color del Espectro" #~ msgid "Gradient Color" #~ msgstr "Color del Degradado" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Exponent" #~ msgstr "Exponente" #~ msgid "Sampling" #~ msgstr "Muestreo" #~ msgid "Block Size" #~ msgstr "Tamaño de Bloque" #~ msgid "Pipeline Input" #~ msgstr "Caudal de Entrada" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Niceness" #~ msgstr "Meticulosidad" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridad" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Priority" #~ msgstr "Prioridad" # Resampler does not have an official translation #~ msgid "Resampler" #~ msgstr "Remuestreador" #~ msgid "Default Source" #~ msgstr "Fuente Predeterminada" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Muestreo Predeterminado" #~ msgid "Channel Mapping" #~ msgstr "Mapa de Canales" #~ msgid "File" #~ msgstr "Archivo" #~ msgid "Configuration" #~ msgstr "Configuración" # Resamplers does not have an official translation #~ msgid "Resamplers" #~ msgstr "Remuestreadores" #~ msgid "Detect Silence" #~ msgstr "Detectar Silencio" #~ msgid "-23" #~ msgstr "-23" #~ msgid "Weights" #~ msgstr "Fuerza" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuación" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Silenciado" #~ msgid "Distant Headphones" #~ msgstr "Audífonos a Distancia" #~ msgid "Reset Equalizer" #~ msgstr "Restablecer Ecualizador" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "Dry" #~ msgstr "Secar" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Import Impulse Response File" #~ msgstr "Importar Archivo de Respuesta Impulse" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione el Archivo de Respuesta Impulse" #~ msgid "Loudness Range" #~ msgstr "Rango de Sonoridad" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Después" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Filtro Extendido" #~ msgid "Delay Agnostic" #~ msgstr "Retraso Agnóstico" #~ msgid "Suppresion Level" #~ msgstr "Nivel de Supresión" #~ msgid "Low" #~ msgstr "Bajo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Very High" #~ msgstr "Muy Alto" #~ msgid "Noise Suppressor" #~ msgstr "Supresor de Ruido" #~ msgid "Adaptive Digital" #~ msgstr "Adaptado Digital" #~ msgid "Fixed Digital" #~ msgstr "Arreglo Digital" #~ msgid "Gain Controller" #~ msgstr "Regulador de Ganancia" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidad de Detección" #~ msgid "Very Low" #~ msgstr "Muy Bajo" #~ msgid "Voice Detector" #~ msgstr "Detector de Voz" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automáticamente aplicar este perfil siempre que el dispositivo actual " #~ "esté conectado" #~ msgid "Volume" #~ msgstr "Volumen" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cuadrado" #~ msgid "Saw" #~ msgstr "Sierra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Silence" #~ msgstr "Silencio" #~ msgid "Pink Noise" #~ msgstr "Ruido Rosa" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Ruido Gaussiano" #~ msgid "Red Noise" #~ msgstr "Ruido Rojo" #~ msgid "Blue Noise" #~ msgstr "Ruido Azul" #~ msgid "Violet Noise" #~ msgstr "Ruido Violeta" #~ msgid "Window" #~ msgstr "Ventana" #~ msgid "Measure Noise" #~ msgstr "Medir Ruido" #~ msgid "Subtract Noise" #~ msgstr "Reducir Ruido" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Establecer el volumen y encender/apagar los efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Incluye un ecualizador con perfiles incluidos" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "reproduciendo" easyeffects-7.1.7/po/news/eu.po000066400000000000000000001000341463533416400164010ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-05-22 14:20+0000\n" "PO-Revision-Date: 2023-05-28 06:51+0000\n" "Last-Translator: Asier Sarasua Garmendia \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.18-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Audio-efektuak PipeWire aplikazioetarako" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:8 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:14 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:40 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:44 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:48 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:56 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:79 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:93 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:127 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:201 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:214 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:224 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:331 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:370 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:380 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:393 msgid "Features:" msgstr "Eginbideak:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:57 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:135 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:145 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:175 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:216 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:238 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:356 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:385 msgid "Bug fixes:" msgstr "Akatsen konponketa:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:136 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:147 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:162 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "Updated translations." msgstr "Eguneratutako itzulpenak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "Improved performance when resetting keys." msgstr "Errendimendu hobetua gakoak berrezartzean." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:94 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:111 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:112 msgid "The documentation has been updated." msgstr "Dokumentazioa eguneratu da." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:113 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:114 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:115 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:116 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:133 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:134 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:144 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:146 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:157 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:160 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:161 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:173 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:174 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:176 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:186 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:187 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:188 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:189 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:202 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:203 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:215 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:225 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:226 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:239 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:249 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:269 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:271 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:286 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:296 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:297 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:314 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:316 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:332 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:344 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:345 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:346 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:357 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:358 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:359 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:360 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:371 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:381 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:382 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:384 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/fi.po000066400000000000000000001016701463533416400163750ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-06-25 11:38-0300\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:8 msgid "Wellington Wallace" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:14 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:40 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:44 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:48 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:56 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:93 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:157 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:199 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:215 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:238 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:327 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:345 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:384 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Features:" msgstr "Ominaisuudet:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:57 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:112 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:173 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:189 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:297 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:332 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:370 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "Bug fixes:" msgstr "Bugikorjaukset:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:74 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:133 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:161 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:176 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:63 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:75 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "Updated translations." msgstr "Päivitetty käännöksiä." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:94 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:100 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:111 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:113 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:123 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:124 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:125 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:126 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:127 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:134 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:144 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:145 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:146 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:147 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:148 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:369 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:160 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:174 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:175 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:186 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:187 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:188 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:200 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:201 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:202 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:203 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:216 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:239 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:240 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:269 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:296 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:300 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:311 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:312 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:328 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:329 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:331 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:346 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:347 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:348 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:356 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:357 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:358 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:359 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:360 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:371 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:385 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:408 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:409 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:410 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/fr_FR.po000066400000000000000000003244121463533416400167760ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-10 23:11+0000\n" "Last-Translator: tachyglossues \n" "Language-Team: French \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.5-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Effets audio pour les applications utilisant le serveur audio PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects est un outil avancé de manipulation audio. Il inclut, entre " "autres, un égaliseur, un limiteur, un compresseur et _un effet de " "réverbération. Pour compléter le tout, un analyseur de spectre est également " "intégré." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects est le successeur de PulseEffects. Easy Effects ne prend en " "charge que le serveur audio de PipeWire. Les utilisateurs de PulseAudio " "doivent plutôt utiliser PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Comme Easy Effects utilise le serveur audio PipeWire par défaut, il " "fonctionnera avec la plupart, sinon la totalité, des applications que vous " "utilisez. Toutes les applications prises en charge sont présentées dans la " "fenêtre principale, où chacune peut être activée individuellement." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Outre la manipulation de la sortie audio, Easy Effects est capable de " "manipuler l’entrée audio (à partir d’un microphone par exemple). Cette " "fonction est utile pour l’enregistrement audio et fonctionne bien pour les " "appels vocaux." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Easy Effects se souvient également de la configuration utilisée lors de la " "dernière session. Il est aussi possible de sauvegarder tous les paramètres " "définis sous forme de profils." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "La page principale affichant deux applications en sortie audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "La page de l’amplificateur des basses affichant les commandes audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "La page du filtre Convolueur affichant les commandes audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Fonctionnalités :" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" "Amélioration du système de gestion du pipeline. Les effets non limiteur sont " "placés avant le limiteur même si les deux derniers plugins du pipeline sont " "un limiteur suivi d'un indicateur de niveau." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Corrections de bogues :" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" "Correction d'une régression qui empêchait la mise à jour des indicateurs de " "niveau dans certaines conditions." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Autres notes :" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" "Nous avons maintenant défini monitor.passthrough = true dans nos " "périphériques virtuels. Cela permettra aux lecteurs vidéo d'appliquer " "correctement le décalage de latence lorsque PipeWire > 1.0.3 sera " "disponible." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Traductions mises à jour." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" "EasyEffects tentera d'éviter de déplacer vers ses sources virtuelles les " "flux pour lesquels l'utilisateur a défini un objet cible personnalisé qui " "est différent du micro à partir duquel EE enregistre. Le flux doit être " "démarré lorsque EE est déjà en cours d'exécution pour que cette logique " "prenne effet." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Traductions mises à jour" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "L'égaliseur peut exporter des fichiers de préréglages APO basiques" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" "Notre onglet lecteurs/enregistreurs affichera le nom binaire du client audio " "dans le cas où aucun nom d'application n'est défini." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" "La version d'EasyEffects peut être affichée dans la ligne de commande grâce " "à l'option --version" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" "Une solution de contournement pour un bogue dans GtkLevelBar de gtk4 a été " "implémentée et sera maintenue en place jusqu'à ce que les développeurs de " "gtk règlent les choses de leur côté" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" "Correction d'une régression introduite dans la version 7.1.2 qui pouvait " "faire planter EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "Le greffon DeepFilterNet peut maintenant être ajouté au fichier de préréglage" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "Le spectre a une nouvelle option qui permet de désactiver l'échelle " "verticale dynamique." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "Amélioration de la compatibilité avec les dernières versions de LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" "Correction d'un dessin incorrect des caractéristiques du fichier de réponse " "impulsionnelle" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Correction d'un petit problème qui empêchait l'initialisation correcte du " "seuil d'activité vocale de la réduction du bruit." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "Ajout d'un nouveau contrôle au greffon de réduction de bruit qui permet de " "désactiver la détection de la voix." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "L'effet Filtre a été amélioré avec de nouveaux paramètres depuis qu'il a été " "porté de Calf Studio à Linux Studio Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "La réduction du bruit par RNNoise a été améliorée avec l'ajout de contrôles " "de relâchement et de seuils VAD." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "La réduction du bruit par RNNoise peut maintenant mélanger les signaux " "originaux et débruités pour éviter que la sortie ne sonne trop \"sèche\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Cette version est destinée à fonctionner avec des versions de Linux Studio " "Plugins égales ou supérieures à \"1.2.10\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects peut maintenant être construit avec libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" "L'Expanseur de Linux Studio Plugins peut être utilisé dans Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" "Les bandes de l'égaliseur ont désormais un contrôle de gain supplémentaire " "qui permet une saisie plus efficace des valeurs qui sont difficiles de " "définir à l'échelle. Plus de détails dans le ticket 1383." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" "Ajout de la possibilité de sélectionner et de charger plusieurs fichiers " "dans les boîtes de dialogue d'ouverture des pré-réglages, les réponses " "impulsionnelles du Convolueur et les modèles RNNoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" "Correction du bouton Solo dans les paramètres de la bande de l'égaliseur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "Les dossiers Easy Effects sous /etc ont été supprimés et les pré-réglages " "qui s'y trouvent ne seront plus chargés. Pour le moment, seuls les pré-" "réglages locaux sous ~/.config/easyeffects sont automatiquement chargés dans " "le menu des pré-réglages. À l'avenir, nous mettrons en place un nouveau " "système d'installation, de gestion et d'importation des pré-réglages " "communautaires." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" "Une section \"Fonctionnalités expérimentales\" a été ajoutée à notre fenêtre " "de préférences." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" "La fenêtre native des greffons LSP peut être utilisée. C'est une " "fonctionnalité expérimentale destinée uniquement aux utilisateurs confirmés. " "Il faut donc s'attendre à quelques bugs." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" "Les valeurs fractionnaires de demi-tons peuvent maintenant être utilisées " "dans l'effet Hauteur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "La liste déroulante des périphériques d'entrée/sortie dans notre onglet " "PipeWire est mise à jour lorsque le périphérique par défaut du système " "change et que l'option 'Utiliser la sortie par défaut' est activée. Ceci " "résout le ticket 1989." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" "Un nouveau greffon Indicateur de niveau basé sur libebur128 a été ajouté." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" "Le greffon Hauteur utilise maintenant la bibliothèque SoundTouch au lieu de " "Rubberband. Il est à espérer que certains des crashs mystérieux qui se " "produisaient avec Rubbernand ne se produiront plus." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" "Compatibilité améliorée avec les versions récentes de PipeWire. Plus " "d'informations à l'adresse suivante" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" "Les filtres de l'égaliseur actif ne sont plus réglés sur le type Bell " "lorsque le nombre de bandes change." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" "Rabberband n'est plus une dépendance depuis qu'il a été remplacé par " "SoundTouch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "Le menu des préréglages demande maintenant une confirmation avant " "d'enregistrer/supprimer un fichier de préréglage." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "La réinitialisation d'un greffon ne devrait plus rendre ses contrôles " "inefficaces." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "Speex n'est plus incorrectement listé comme une dépendance de compilation " "(speexdsp est toujours une dépendance de compilation)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "RNNoise n'est plus une dépendance automatique. Il est maintenant requis par " "défaut, s'il n'est pas disponible, il doit être explicitement désactivé avec " "-Denable-rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "Une petite erreur a été commise dans la dernière version. Nous en faisons " "une nouvelle pour nous assurer que les utilisateurs ont la bonne branche " "dans le paquet" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "La fonction \"trier les bandes\" de l'égaliseur ordonne maintenant les " "bandes sur GSettings, afin que le résultat puisse être sauvegardé dans les " "préréglages." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" "Amélioration de la performance lors de la réinitialisation des touches." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Correction de la sélection du préréglage \"Grande Salle Vide\" dans l'effet " "de réverbération." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Correction de certains mauvais usages de l'API de PipeWire qui peuvent " "potentiellement corriger certains bogues aléatoires rencontrés par certains " "utilisateurs." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Comme nous avons supprimé le code déprécié par GTK 4.10, la version minimale " "de GTK a été augmentée." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "La fréquence de mise à jour du greffon du spectre a été améliorée. Des taux " "d'échantillonnage différents devraient conduire à des fréquences de mise à " "jour similaires visuellement." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "L'intervalle de mise à jour utilisé par les indicateurs de niveau et le " "spectre peut être personnalisé par l'utilisateur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "La valeur du curseur de gain de la bande de l'égaliseur peut être mise à " "jour par paliers plus importants. Le contrôle du grain fin est toujours " "possible grâce aux touches haut/bas du clavier." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Petites améliorations de l'annulateur d'écho." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "Les sondes de l'annulateur d'écho n'étaient pas liées à la carte son après " "le passage à des instances de filtres multiples. Cela devrait être corrigé " "maintenant." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Il est désormais possible d'ajouter plus d'une instance de filtre au " "pipeline d'effets." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Un nouveau greffon Processeur vocal basé sur la bibliothèque Speex a été " "ajouté. En plus de supprimer le bruit, il peut également détecter l'activité " "vocale. C'est une alternative décente pour les cas où la bibliothèque " "rnnoise ne fonctionne pas bien." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" "Amélioration de la compatibilité avec les greffons Linux Studio (LSP) 1.2.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" "Les préréglages GraphicEQ peuvent être importés dans l'effet Égaliseur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "Le nom de l'application a été changé en Easy Effects afin d'adhérer aux " "conventions de nommage des directives de l'interface humaine de GNOME." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "La documentation a été mise à jour." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Chargement automatique des préréglages amélioré." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" "Le seuil de silence du Gain automatique peut maintenant être configuré par " "l'utilisateur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "Les contrôles du niveau sec et humide ont été ajoutés à l'effet Outils " "stéréo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "L'annulateur d'écho dispose désormais d'un contrôle de suppression du bruit " "résiduel, également basé sur la bibliothèque Speex." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Lorsque la souris survolait un graphique, la mauvaise valeur de la " "coordonnée de l'axe x était affichée. Cette régression est corrigée." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "En raison de la nouvelle fonctionnalité d'instances multiples, le format du " "préréglage a changé, mais l'ancien est toujours compatible pour être chargé. " "De toute façon, prenez en considération que sauvegarder le préréglage actuel " "l'écrira toujours dans le nouveau format." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "L'implémentation de Porte Multibande a été transférée de CALF vers Linux " "Studio Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "La compatibilité du code du chargement automatique des préréglages a été " "améliorée pour les périphériques bluez5." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "Des contrôles humides/secs ont été ajoutés pour certains greffons" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "L'interface d'effet n'est plus chargée lorsque le greffon lv2 correspondant " "n'est pas installé sur le système. A sa place, un message d'état destiné à " "l'utilisateur est affiché." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "La documentation a été mise à jour" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Amélioration des messages de débogage" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Améliorations des traductions" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Correction d'un bug où EasyEffects pouvait planter quand sa fenêtre était " "fermée pendant qu'un effet était en train d'être appliqué." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "L'état de contournement peut être enregistré dans un fichier de préréglages. " "La raison pour laquelle cela fonctionnait avant est expliquée en détail dans " "le ticket 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "Le code du chargement automatique des préréglages a été amélioré pour les " "périphériques USB." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Une boîte de dialogue est affichée à l'utilisateur lorsqu'un préréglage ne " "se charge pas ou qu'un fichier de préréglage/d'impulsion ne parvient pas à " "être importé." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Le greffon Porte de la chaîne latérale de Linux Studio Plugins est " "maintenant utilisé au lieu de celui de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffects ne plantera plus quand le langage de l'utilisateur n'est pas " "correctement configuré." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Une solution alternative a été implémenté pour notre icône pour gérer le " "manque de support du format SVG dans Qt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Lorsque les effets sont désactivés pour une application, nous définissons " "désormais ses métadonnées cibles comme étant nulles. Cela permettra à au " "gestionnaire de session média (wireplumber) de déplacer correctement le flux " "vers un autre périphérique." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Une nouvelle option de configuration a été ajoutée. Elle permet à " "EasyEffects d’ignorer les flux dont l’objectif est de surveiller les " "périphériques de sortie. Cela aidera à corriger certains problèmes pour les " "utilisateurs qui utilisent OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Le code qui affiche le format de l’échantillon de flux a été amélioré" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "La bibliothèque rnnoise est désormais facultative. Cela devrait aider les " "mainteneurs de paquets à proposer un paquet pour Debian. Voir le ticket 1000 " "pour plus d'informations." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Nos journaux (logs) indiquent maintenant la ligne de code source où les " "messages sont imprimés" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "La case \"activer les effets\" de notre fenêtre n’était pas mise à jour " "lorsque des programmes tiers comme pavucontrol déplaçait le flux en dehors " "de nos périphériques virtuels. Cela devrait être maintenant corrigé." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Correction d’un crash qui pouvait se produire lorsque l’historique maximum " "du gain automatique était modifié." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Éviter les plantages lorsque pw-mididump est en cours d’exécution" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "L'interface du greffon Hauteur a été améliorée" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "L'icône de notre application est maintenant compatible avec les ordinateurs " "de bureau qui utilisent QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Notre liste de blocage utilisera la balise application.id si le flux la " "définit" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Afin d'éviter les problèmes de défilement de la souris, les entrées de la " "liste des applications affichées dans notre onglet Lecteurs/Enregistreurs " "n'affichent plus d'échelle de volume. Vous trouverez plus de détails sur ce " "problème et sa solution dans les tickets 1211 et 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Lorsque aucune application n’est disponible pour l’affichage dans les " "Lecteurs/Enregistreurs, un message sera affiché à l’utilisateur" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Nombreuses mises à jour des traductions" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Correction d’un bug où EasyEffeects plantait lorsque le nombre de points " "affichés dans le spectre était modifié pendant que le pipeline était actif " "et que le widget du spectre était visible" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "La valeur de latence du pipeline affichée dans notre fenêtre peut être " "incorrecte dans certaines situations. Cela a été corrigé." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Un nouveau paramètre permet à l'utilisateur de sélectionner un délai " "d'inactivité pour le pipeline. Lorsqu'aucun client n'est en train de jouer " "ou d'enregistrer sur nos appareils, les filtres seront déconnectés une fois " "le délai atteint. Ceci est fait pour s'assurer que nous ne gaspillons pas la " "puissance du CPU en traitant le silence." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Le greffon Gain automatique permet désormais à l'utilisateur de sélectionner " "laquelle des trois intensités sonores est utilisée pour calculer la moyenne " "géométrique." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Le greffon Gain automatique permet désormais de définir l'historique maximal " "et n'utilise plus le mode histogramme de libebur128. Cela devrait permettre " "d'éviter les cas où l'intensité sonore intégrée est toujours bloquée à la " "même valeur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "L'icone EasyEffect a été mise à jour afin d’être visible dans les bureaux QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "L'option de ligne de commande retournant l’état du contournement global " "fonctionne à nouveau." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Le filtre Flux croisé devrait mieux gérer les changements de latence " "dynamiques de PipeWire. Les sauts de volume ne devraient plus se produire " "dans ces situations." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Correction d’un bug qui empêchait les microphones mono de fonctionner " "correctement avec EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "Prise en charge de la prochaine version de PipeWire 0.3.44" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Le filtre Gain automatique devrait mieux gérer les changements de latence " "dynamiques de PipeWire. Les sauts de volume ne devraient plus se produire " "dans ces situations." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Nous avons ajouté une option qui permet de réinitialiser le volume et l’état " "muet de nos périphériques virtuels au démarrage d’EasyEffects. Cela devrait " "aider dans les cas où nos périphériques sont mis en sourdine par le serveur " "audio pour des raisons inconnues." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Meilleure prise en charge de la mise en veille de l’ordinateur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Correction d’un bogue où la tentative de créer un profil de chargement " "automatique sans avoir de préréglages entraînait le plantage de " "l’application." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Correction d’un bug où le réglage de la qualité d’une bande de l’égaliseur " "sur zéro entraînait un plantage de l’application." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita est utilisé pour créer certaines parties de notre fenêtre et pour " "gérer le passage entre les thèmes sombres et clairs." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "Le menu des paramètres a été redessiné en utilisant les widgets LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "La fonction d’importation des préréglages de l’égaliseur APO a été améliorée " "pour appliquer non seulement le filtre Bell, mais aussi d’autres filtres " "pris en charge (pour l'instant, seul le filtre Passe-bande n'est pas " "disponibles dans le greffon LSP)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "La fonction Réinitialiser toutes les options de notre menu devrait " "fonctionner dans Flatpak maintenant." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Nous avons une nouvelle option qui permet à l'utilisateur de désactiver le " "masquage automatique de nos menus. Cela peut aider à contourner certains " "bogues que les menus Popover ont actuellement sur gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Analyse syntaxique plus robuste pour importer les préréglages APO " "enregistrés avec une virgule comme séparateur des milliers dans la bande de " "fréquence centrale." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "La bibliothèque fmt est une nouvelle dépendance, du moins tant que les " "compilateurs c++ n’implémentent pas ses fonctionnalités. Cela devrait " "arriver dans les prochaines années." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM et GLIBMM ne sont plus des dépendances. Nous utilisons maintenant gtk4 " "directement." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Il est maintenant possible de combiner des réponses d’impulsions dans " "l’interface du Convolueur. Un nouveau fichier d’impulsions est généré et il " "devrait être visible dans la liste des impulsions." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Amélioration des dessins de l’axe des X dans nos graphiques. Maintenant le " "nombre d’étiquettes est ajusté dynamiquement en fonction de la largeur de " "notre fenêtre." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "La documentation a été mise à jour en tenant compte des nouvelles " "fonctionnalités d’EasyEffects. Les anciennes références à PulseEffects ont " "été supprimées. Le bouton de la documentation a été ajouté dans le menu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Lorsqu’un bouton rotatif est rempli avec une valeur hors limites, il est " "maintenant mis à jour avec la valeur la plus basse/haute plutôt que de " "revenir à la valeur précédente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "La fenêtre de l’application se souvient désormais de l’état maximisé et le " "rétablit lors de la prochaine ouverture." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "La bibliothèque tbb est une nouvelle dépendance" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Les greffons Limiteur et Compresseur multibande peuvent désormais utiliser " "une chaîne latérale optionnel externe." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "Le greffon Gain automatique permet désormais à l’utilisateur de sélectionner " "la Sonie utilisée comme référence pour la correction du volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "La fonctionnalité d'importation de profil APO du greffon Égaliseur analyse " "désormais le paramètre \"Pré-Amplification\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "L'option de Volume Cubique peut être activée dans les Paramètres Généraux." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "Le greffon Spectre était censé entrer en mode passif lorsqu'il n'était pas " "visible, mais cela ne se produisait que lorsque notre fenêtre était fermée." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Amélioration du support aux technologies d'assistance." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "Les sondes utilisées dans certains filtres comme le compresseur et le " "limiteur n'étaient pas reliées après avoir changé l'ordre des greffons dans " "le pipeline. Cela devrait fonctionner maintenant." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Les flux PipeWire de monitoring sont maintenant exclus et retirés de la " "liste d’applications." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" "Les crashs comme celui signalé par le ticket 1172 sont vraisemblablement " "corrigés." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "Une situation entraînant un plantage du Spectre a été évitée." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "Pavucontrol n’est plus ajouté aux liste d’applications en entrée sur les " "systèmes ayant une autre langue que l’anglais." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "La compatibilité avec WirePlumber a été améliorée. C'est nécessaire pour les " "systèmes ayant décidé de l’utiliser à la place du gestionnaire de session " "PipeWire intégré. Plus d'informations dans le ticket 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "Lors de l'ajout d'un profil de chargement automatique pour un appareil déjà " "dans la liste, son préréglage cible sera mis à jour. De cette façon, nous " "pouvons changer le préréglage du profil sans avoir à le supprimer et à le " "recréer." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "L'implémentation de la prise en charge du chargement automatique des " "préréglages a encore été repensée. Elle devrait fonctionner sur plus de " "matériel maintenant. Pour plus d’informations, consultez le ticket 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Si le limiteur ou le maximiseur sont placés à la dernière position de la " "liste des greffons, les nouveaux greffons sont ajoutés à l’avant-dernière " "position afin d’éviter des dommages matériels dû à un niveau de sortie " "potentiellement élevé." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "En retirant une application de la liste de blocage, son état d’activation " "précédent est restauré." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Parfois, lors de la suppression de modèles importés du greffon de réduction " "du bruit, le modèle actuellement utilisé n’était pas correctement mis à " "jour. Cela devrait être corrigé maintenant." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Lorsque vous modifiez des fichiers de préréglages dans un éditeur externe, " "les entrées dupliquées n’apparaîtront pas dans notre menu de préréglages." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "La liste de blocage est maintenant correctement définie lorsque l'on passe " "d'un préréglage à l'autre." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "L’état du bouton de contournement global est maintenant correctement mis à " "jour lors du changement de pile d'un greffon." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "Les icônes manquantes dans le système ne devraient plus être affichés dans " "l'interface d'information de l'application (si l'icône d'une application " "n'est pas affichée même si vous êtes sûr(e) de l'avoir installée, veuillez " "ouvrir un ticket)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Certaines icônes qui n’apparaissaient pas dans le DE Plasma avec le thème " "d’icônes Breeze devraient maintenant apparaître." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Mise à jour de la traduction chinoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Mise à jour de la traduction italienne." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "Ajout du support pour le paramètre du compresseur Boost Amount" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "Le greffon de compresseur multibande utilise maintenant le greffon de " "compresseur multibande stéréo de Linux Studio Plugins au lieu de celui de " "Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "Le greffon limiteur est désormais celui de Linux Studio Plugins au lieu de " "celui de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "Les filtres LV2 sont désormais créés dans le graphe PipeWire uniquement " "lorsqu’ils sont chargés pour la première fois. Une fois chargés, ils restent " "connectés jusqu’à l’arrêt d’EasyEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" "Le taux d’échantillonnage de l’annulateur d’écho est maintenant correctement " "réglé." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "Le paramètre de seuil du greffon Déesseur est maintenant enregistré dans le " "fichier de préréglage." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "Division de bandes améliorée pour le cristallisateur avec de nouvelles " "valeurs d’intensité par défaut." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Selon les valeurs du gain d’entrée ou du gain de sortie, les barres de " "niveau correspondantes ne pouvaient pas être alignées." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "Lorsque vous ajoutez d’autres bandes à l’égaliseur, elles sont réglées sur " "Bell au lieu de Off." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "Le chargement des préréglages de l’Égaliseur APO fonctionne désormais " "correctement dans les langues autres que C." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Amélioration de la gestion des liens entre les nœuds de filtre de port dans " "PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "L'amplification du signal du plugin Cristallisateur était trop élevée avant. " "Elle devrait se situer dans des niveaux plus raisonnables maintenant." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Amélioration du ré-échantillonneur utilisé dans les greffons qui en " "nécessitent un (comme le greffon rnnoise)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "La configuration de plusieurs préréglages auto-chargeant devrait être " "correcte maintenant" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "Les fenêtres transitoires sont désormais correctement définies pour " "certaines boîtes de dialogue des greffons" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "Le menu des réponses impulsionnelles du convolueur a été amélioré pour " "résoudre un problème où les fichiers impulsionnels n’étaient pas chargés " "lorsqu’un seul était disponible dans le menu, voir le ticket 1011" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Correction d’un bogue qui pouvait empêcher l’initialisation correcte du " "greffon Hauteur" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "L'avertissement de saturation ne doit plus déplacer les widgets voisins" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Correction des paramètres régionaux dans quelques widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Correction d’un mauvais alignement dans quelques widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "Le greffon Sonie est utilisé à nouveau pour les raisons décrites dans le " "ticket 820. Cela signifie qu’il s’agit à nouveau d’une dépendance " "facultative." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Correction d’un défaut de segmentation qui se produisait lorsque les " "dépendances facultatives n’étaient pas installées" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Interface de l’égaliseur améliorée." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Nous utilisons maintenant un compresseur LSP à chaîne latérale qui permet à " "l'utilisateur de sélectionner une source externe comme entrée de la chaîne " "latérale." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "Nous supportons maintenant le mode Boosting du compresseur LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "Quand split-channels est activé dans l’égaliseur, le préréglage APO importé " "sera appliqué seulement au canal visualisé dans la fenêtre. Cela permet " "d’importer des préréglage différents pour chaque canal au lieu de régler les " "mêmes valeurs pour les deux." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Correction de certaines erreurs de segmentation qui pouvaient survenir lors " "de la création d’un profil de chargement automatique prédéfini ou de la " "suppression de préréglages" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "C'est l’une des plus grosses versions que j'ai jamais faite. La quantité de " "changements est si importante qu’il est difficile de parler de tout ici." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "Voici les plus importantes d’entre elles. Les personnes intéressées par le " "voyage qui nous a mené jusqu’ici peuvent analyser les tickets 904 et 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "L'application et son dépôt ont été renommés de PulseEffects à EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 a été remplacé par gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer a été remplacé par des filtres natifs PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "De nombreuses fonctionnalités ont été ré-implémentées à partir de zéro. Le " "chargement automatique des préréglages en est un exemple. Un autre " "changement remarquable se trouve dans le menu de sélection des greffons. " "Désormais, l’utilisateur peut afficher dans la fenêtre uniquement les " "greffons qu’il souhaite utiliser." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Boost n’est plus une dépendance. Le prix à payer pour cela a été un petit " "changement dans la structure de nos préréglages. Avec un peu de patience, il " "est possible d’éditer les préréglages PulseEffects avec un éditeur de texte " "et de les faire fonctionner dans EasyEffects. Quelqu’un proposera peut-être " "un script pour cela prochainement." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "De nouvelles bibliothèques sont utilisées et certaines d’entre elles, qui " "étaient auparavant facultatives, sont désormais obligatoires" #~ msgid "This release adds the following features:" #~ msgstr "Cette version ajoute les fonctionnalités suivantes :" #~ msgid "manager" #~ msgstr "gestionnaire" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr "" #~ "les périphériques puits. Cela aidera à résoudre certains des problèmes " #~ "rencontrés par nos utilisateurs lors de l’utilisation d’OBS." #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "un paquet Debian. Voir le problème n°1000 pour plus d’informations." #~ msgid "This release fixes the following bugs:" #~ msgstr "Cette version corrige les bugs suivants :" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "déplaçait le flux loin de nos appareils virtuels. Cela devrait être " #~ "maintenant corrigé." #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "Les onglets n’affichent plus d’échelle de volume. Plus de détails sur le " #~ "problème et sa solution peuvent être trouvés sur la page #1211" #~ msgid "and #1427" #~ msgstr "et #1427" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "notre pipeline était active et le widget spectre était visible" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Il y a une nouvelle option permettant à l’utilisateur de sélectionner un " #~ "délai d’inactivité pour les effets audio. Quand aucun client n’émet de son" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "ou n’enregistre depuis l’un des appareils, les filtres sont déconnectés " #~ "une fois le délai atteint. Cela permet d’assurer" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "de ne pas gâcher l’utilisation du CPU sur du silence." #~ msgid "mean." #~ msgstr "moyenne géométrique." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Cela devrait permettre d’éviter les cas où le loudness `Integrated` reste " #~ "toujours coincé à la même valeur." #~ msgid "This release fixes the following bug:" #~ msgstr "Cette version corrige les bugs suivants :" #~ msgid "This release adds the following feature:" #~ msgstr "Cette version ajoute les fonctionnalités suivantes :" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "Le gestionnaire de sessions PipeWire fourni. Plus d’informations dans " #~ "l’issue [1144](" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Les icônes manquantes sur le système ne doivent pas être affichées dans " #~ "l’interface d’information de l’application" #~ msgid "a look at and" #~ msgstr "regarder et" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Égaliseur, Compresseur et autres effets audio" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgid "\"Presets\"" #~ msgstr "Préréglage" #~ msgid "Enable/disable this application" #~ msgstr "Autoriser/Interdire cette application" #~ msgid "Enable" #~ msgstr "Activer" #~ msgid "Excluded App List: Add/remove this application" #~ msgstr "Liste des applications exclues : ajouter/retirer cette application" #~ msgid "Exclude" #~ msgstr "Exclure" #~ msgid "Mute Application" #~ msgstr "Couper le son de l’application" #~ msgid "Change the volume of this application" #~ msgstr "Modifier le volume de cette application" #~ msgid "Application Volume" #~ msgstr "Volume de l’application" #~ msgid "_Preferences" #~ msgstr "_Préférences" #~ msgid "_Manual" #~ msgstr "_Manuel" #~ msgid "_Shortcuts" #~ msgstr "_Raccourcis" #~ msgid "_Reset Settings" #~ msgstr "_Réinitialiser les paramètres" #~ msgid "_About EasyEffects" #~ msgstr "_À propos de EasyEffects" #~ msgid "Presets" #~ msgstr "Préréglage" #~ msgid "Presets Menu" #~ msgstr "Menu des préréglages" #~ msgid "Enable/disable the global bypass" #~ msgstr "Activer/désactiver le contournement global" #~ msgid "Global Bypass" #~ msgstr "Contournement global" #~ msgid "Primary Menu" #~ msgstr "Menu principal" #~ msgid "EasyEffects Window" #~ msgstr "Fenêtre de EasyEffects" #~ msgid "Applications List" #~ msgstr "Liste des applications" #~ msgid "Empty List" #~ msgstr "Liste vide" #~ msgid "No Audio Application Available" #~ msgstr "Aucune application audio disponible" #~ msgid "Target" #~ msgstr "Cible" #~ msgid "Maximum History" #~ msgstr "Historique maximum" #~ msgid "Reference" #~ msgstr "Référence" #~ msgid "Momentary" #~ msgstr "Temporaire" #~ msgid "Short-Term" #~ msgstr "Court-terme" #~ msgid "Integrated" #~ msgstr "Intégré" #~ msgid "Geometric Mean (MSI)" #~ msgstr "Moyenne géométrique (MSI)" #~ msgid "Geometric Mean (MS)" #~ msgstr "Moyenne géométrique (MS)" #~ msgid "Geometric Mean (MI)" #~ msgstr "Moyenne géométrique (MI)" #~ msgid "Geometric Mean (SI)" #~ msgstr "Moyenne géométrique (SI)" #~ msgid "Reset History" #~ msgstr "Réinitialiser l’historique" #~ msgid "Relative" #~ msgstr "Relatif" #~ msgid "Range" #~ msgstr "Intervalle" #~ msgid "Loudness" #~ msgstr "Sonie" #~ msgid "Output Gain" #~ msgstr "Gain de sortie" #~ msgid "Input" #~ msgstr "Entrée" #~ msgid "Plugin Input Gain" #~ msgstr "Gain d’entrée du plugin" #~ msgid "Output" #~ msgstr "Sortie" #~ msgid "Plugin Output Gain" #~ msgstr "Gain de sortie du plugin" #~ msgid "Reset" #~ msgstr "Réinitialiser" #~ msgid "Using" #~ msgstr "Utilise" #~ msgid "Device" #~ msgstr "Périphérique" #~ msgid "Name" #~ msgstr "Nom" #~ msgid "Profile" #~ msgstr "Profil" #~ msgid "Preset" #~ msgstr "Préréglage" #~ msgid "Remove this autoload preset" #~ msgstr "Supprimer ce préréglage auto-chargeant" #~ msgid "Listen" #~ msgstr "Écouter" #~ msgid "Blend Harmonics" #~ msgstr "Mélanger les harmoniques" #~ msgid "3rd" #~ msgstr "3ème" #~ msgid "2nd" #~ msgstr "2ème" #~ msgid "Amount" #~ msgstr "Quantité" #~ msgid "Harmonics" #~ msgstr "Harmoniques" #, fuzzy #~ msgid "Scope" #~ msgstr "Seuil" #~ msgid "Floor" #~ msgstr "Limite inférieure" #~ msgid "Floor Value" #~ msgstr "Valeur plancher" #~ msgid "Link" #~ msgstr "Lien" #~ msgid "Application Name" #~ msgstr "Nom de l’application" #~ msgid "Add to Excluded Applications" #~ msgstr "Ajouter aux applications exclues" #~ msgid "Excluded Applications List" #~ msgstr "Liste des applications exclues" #~ msgid "Show Excluded Applications" #~ msgstr "Afficher les applications exclues" #~ msgid "Compressor" #~ msgstr "Compresseur" #~ msgid "Mode" #~ msgstr "Mode" #~ msgid "Downward" #~ msgstr "Descendant" #~ msgid "Upward" #~ msgstr "Ascendant" #~ msgid "Boosting" #~ msgstr "Renforcement" #~ msgid "Compression Mode" #~ msgstr "Mode de compression" #~ msgid "Boost Threshold" #~ msgstr "Seuil de renforcement" #~ msgid "Boost Amount" #~ msgstr "Quantité de renforcement" #~ msgid "Attack" #~ msgstr "Attaque" #~ msgid "Time" #~ msgstr "Temps" #~ msgid "Threshold" #~ msgstr "Seuil" #~ msgid "Attack Time" #~ msgstr "Temps d’attaque" #~ msgid "Attack Threshold" #~ msgstr "Seuil d’attaque" #~ msgid "Release" #~ msgstr "Relâ­che­ment" #~ msgid "Release Time" #~ msgstr "Temps de relâ­che­ment" #~ msgid "Release Threshold" #~ msgstr "Seuil de relâ­che­ment" #~ msgid "Ratio" #~ msgstr "Ratio" #~ msgid "Knee" #~ msgstr "Genou" #~ msgid "Makeup" #~ msgstr "Compensation de gain" #~ msgid "Sidechain" #~ msgstr "Chaîne latérale" #~ msgid "Peak" #~ msgstr "Crête" #, fuzzy #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Passe-bas" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "Sidechain Mode" #~ msgstr "Mode chaîne latérale" #~ msgid "Source" #~ msgstr "Source" #~ msgid "Middle" #~ msgstr "Centrale" #~ msgid "Side" #~ msgstr "Latérale" #~ msgid "Left" #~ msgstr "Gauche" #~ msgid "Right" #~ msgstr "Droite" #~ msgid "Sidechain Source" #~ msgstr "Source de la chaîne latérale" #~ msgid "Type" #~ msgstr "Type" #, fuzzy #~ msgid "Feed-forward" #~ msgstr "Feed-forward" #, fuzzy #~ msgid "Feed-back" #~ msgstr "Feed-back" #~ msgid "External" #~ msgstr "Externe" #~ msgid "Sidechain Type" #~ msgstr "Type de chaîne latérale" #~ msgid "Input Device" #~ msgstr "Périphérique d’entrée" #~ msgid "PreAmplification" #~ msgstr "Préamplification" #~ msgid "Reactivity" #~ msgstr "Réactivité" #~ msgid "Lookahead" #~ msgstr "Anticipation" #~ msgid "Sidechain Filters" #~ msgstr "Filtres de chaîne latérale" #~ msgid "High-Pass" #~ msgstr "Passe-haut" #~ msgid "Frequency" #~ msgstr "Fréquence" #~ msgid "Off" #~ msgstr "Désactivé" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #~ msgid "High-Pass Filter Mode" #~ msgstr "Mode de filtrage passe-haut" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Fréquence du filtre passe-haut" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Mode de filtre passe-bas" #~ msgid "Gain" #~ msgstr "Gain" #~ msgid "Envelope" #~ msgstr "Enveloppe" #~ msgid "Curve" #~ msgstr "Courbe" #~ msgid "L" #~ msgstr "G" #~ msgid "Left Channel" #~ msgstr "Canal gauche" #~ msgid "R" #~ msgstr "D" #~ msgid "Right Channel" #~ msgstr "Canal droit" #~ msgid "Impulses" #~ msgstr "Réponse impulsionnelle" #~ msgid "Combine" #~ msgstr "Combiner" #~ msgid "Stereo Width" #~ msgstr "Amplitude stéréo" #~ msgid "Spectrum" #~ msgstr "Spectre" #~ msgid "Log Scale" #~ msgstr "Échelle logarithmique" #~ msgid "Autogain" #~ msgstr "Gain automatique" #~ msgid "Rate" #~ msgstr "Taux" #~ msgid "Samples" #~ msgstr "Échantillons" #~ msgid "Duration" #~ msgstr "Durée" #~ msgid "Combine Impulse Responses" #~ msgstr "Combiner les réponses impulsionnelles" #~ msgid "First Kernel" #~ msgstr "Premier noyau" #~ msgid "Second Kernel" #~ msgstr "Deuxième noyau" #~ msgid "Output File Name" #~ msgstr "Nom du fichier de sortie" #~ msgid "Combined Kernel Name" #~ msgstr "Nom du noyau combiné" #~ msgid "Import Impulse" #~ msgstr "Importer une réponse impulsionnelle" #~ msgid "Search" #~ msgstr "Rechercher" #~ msgid "Search Impulse File" #~ msgstr "Rechercher un fichier de réponse impulsionnelle" #~ msgid "Impulse Files List" #~ msgstr "Liste des fichiers de réponse impulsionnelle" #~ msgid "Default" #~ msgstr "Par défaut" #~ msgid "Cutoff" #~ msgstr "Coupure" #~ msgid "Feed" #~ msgstr "Flux" #~ msgid "Bypass" #~ msgstr "Contourner" #~ msgid "Mute" #~ msgstr "Couper le son" #~ msgid "Detection" #~ msgstr "Détection" #~ msgid "Wide" #~ msgstr "Large" #~ msgid "Split" #~ msgstr "Diviser" #~ msgid "F1 Split" #~ msgstr "Division F1" #~ msgid "Frequency 1 Split" #~ msgstr "Division de la fréquence 1" #~ msgid "F2 Peak" #~ msgstr "Crête F2" #~ msgid "Frequency 2 Peak" #~ msgstr "Crête de la fréquence 2" #~ msgid "F1 Gain" #~ msgstr "Gain F1" #~ msgid "Frequency 1 Gain" #~ msgstr "Gain de la Fréquence 1" #~ msgid "F2 Level" #~ msgstr "Niveau F2" #~ msgid "Frequency 2 Level" #~ msgstr "Niveau de la fréquence 2" #~ msgid "F2 Peak Q" #~ msgstr "Crête Q F2" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Crête de la fréquence 2" #~ msgid "Laxity" #~ msgstr "Laxité" #~ msgid "Detected" #~ msgstr "Détecté" #~ msgid "Reduction" #~ msgstr "Réduction" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Frame Size" #~ msgstr "Taille du cadre" #~ msgid "Filter Length" #~ msgstr "Longueur du filtre" #~ msgid "Excluded Apps" #~ msgstr "Applications exclues" #~ msgid "Bands" #~ msgstr "Bandes" #~ msgid "IIR" #~ msgstr "IIR" #, fuzzy #~ msgid "FIR" #~ msgstr "FIR" #, fuzzy #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Diviser les canaux" #~ msgid "Flat Response" #~ msgstr "Réponse plate" #~ msgid "Calculate Frequencies" #~ msgstr "Calculer les fréquences" #~ msgid "Load APO Preset" #~ msgstr "Charger un préréglage APO" #~ msgid "Bell" #~ msgstr "Cloche" #~ msgid "High Pass" #~ msgstr "Passe-haut" #~ msgid "Low Pass" #~ msgstr "Passe-bas" #~ msgid "Notch" #~ msgstr "Réjection de bande" #~ msgid "Resonance" #~ msgstr "Résonance" #~ msgid "All Pass" #~ msgstr "Toutes les passes" #~ msgid "Band Type" #~ msgstr "Type de bande" #~ msgid "Band Mode" #~ msgstr "Mode de la bande" #~ msgid "Slope" #~ msgstr "Pente" #~ msgid "Band Slope" #~ msgstr "Pente de la bande" #~ msgid "Width" #~ msgstr "Largeur" #~ msgid "Quality" #~ msgstr "Qualité" #~ msgid "Solo" #~ msgstr "Solo" #~ msgid "Ceil" #~ msgstr "Plafonner" #~ msgid "Ceil Value" #~ msgstr "Valeur du plafonnement" #, fuzzy #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Accéder" #~ msgid "Description" #~ msgstr "Description" #~ msgid "Remove this model file" #~ msgstr "Supprimer ce fichier modèle" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct passe-bas" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct passe-bas" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct passe-bas" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct passe-haut" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct passe-haut" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct passe-haut" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct passe-bande" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct passe-bande" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct passe-bande" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct coupe-bande" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct coupe-bande" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct coupe-bande" #~ msgid "Inertia" #~ msgstr "Inertie" #, fuzzy #~ msgid "Gate" #~ msgstr "Porte à bruits" #~ msgid "Zone" #~ msgstr "Zone" #~ msgid "Hysteresis" #~ msgstr "hystérèse" #~ msgid "Attack Zone Start" #~ msgstr "Début de la zone d’attaque" #~ msgid "Release Zone Start" #~ msgstr "Début de la zone de relâchement" #~ msgid "Internal" #~ msgstr "Interne" #~ msgid "Oversampling" #~ msgstr "Suréchantillonnage" #, fuzzy #~ msgid "Dither" #~ msgstr "Dither" #, fuzzy #~ msgid "Herm Thin" #~ msgstr "Herm Thin" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Herm Wide" #, fuzzy #~ msgid "Herm Tail" #~ msgstr "Herm Tail" #, fuzzy #~ msgid "Herm Duck" #~ msgstr "Herm Duck" #, fuzzy #~ msgid "Exp Thin" #~ msgstr "Exp Thin" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Exp Wide" #, fuzzy #~ msgid "Exp Tail" #~ msgstr "Exp Tail" #, fuzzy #~ msgid "Exp Duck" #~ msgstr "Exp Duck" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Line Thin" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Line Wide" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Line Tail" #, fuzzy #~ msgid "Line Duck" #~ msgstr "Line Duck" #~ msgid "None" #~ msgstr "Aucun" #~ msgid "Half x2(2L)" #~ msgstr "Moitié x2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "Moitié x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Moitié x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Moitié x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Moitié x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Moitié x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Moitié x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Moitié x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Moitié x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Moitié x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Complet x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Complet x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Complet x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Complet x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Complet x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Complet x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Complet x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Complet x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Complet x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Complet x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC PréAmp" #~ msgid "Sidechain PreAmplification" #~ msgstr "Préamplification de la chaîne latérale" #~ msgid "Boost" #~ msgstr "Renforcer" #~ msgid "Stereo Link" #~ msgstr "Lien stéréo" #~ msgid "External Sidechain" #~ msgstr "Chaîne latérale externe" #~ msgid "External Sidechain Source" #~ msgstr "Source de la chaîne latérale externe" #~ msgid "Auto Leveling" #~ msgstr "Auto-nivellement" #~ msgid "Auto Leveling Attack" #~ msgstr "Auto-nivellement de l’attaque" #~ msgid "Auto Leveling Release" #~ msgstr "Auto-nivellement du relâ­che­ment" #~ msgid "Auto Leveling Knee" #~ msgstr "Auto-nivellement du genou" #~ msgid "Gain Left" #~ msgstr "Gain à gauche" #~ msgid "Gain Right" #~ msgstr "Gain à droite" #~ msgid "Sidechain Left" #~ msgstr "Chaîne latérale gauche" #~ msgid "Sidechain Right" #~ msgstr "Chaîne latérale droite" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Flat" #~ msgstr "Plat" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "FFT Size" #~ msgstr "Taille FFT" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Taille de la transformation de Fourier rapide" #~ msgid "Output Volume" #~ msgstr "Volume de sortie" #~ msgid "Ceiling" #~ msgstr "Plafonnement" #~ msgid "Operating Mode" #~ msgstr "Mode de fonctionnement" #~ msgid "Classic" #~ msgstr "Classique" #~ msgid "Modern" #~ msgstr "Moderne" #~ msgid "Sidechain Boost" #~ msgstr "Renforcement de la chaîne latérale" #~ msgid "Pink BT" #~ msgstr "Rose BT" #~ msgid "Pink MT" #~ msgstr "Rose MT" #~ msgid "Brown BT" #~ msgstr "Marron BT" #~ msgid "Brown MT" #~ msgstr "Marron MT" #~ msgid "Bands List" #~ msgstr "Liste des bandes" #~ msgid "Band 1" #~ msgstr "Bande 1" #~ msgid "Band 2" #~ msgstr "Bande 2" #~ msgid "Band 3" #~ msgstr "Bande 3" #~ msgid "Band 4" #~ msgstr "Bande 4" #~ msgid "Band 5" #~ msgstr "Bande 5" #~ msgid "Band 6" #~ msgstr "Bande 6" #~ msgid "Band 7" #~ msgstr "Bande 7" #~ msgid "Band 8" #~ msgstr "Bande 8" #~ msgid "Band Start" #~ msgstr "Début de la bande" #~ msgid "Band End" #~ msgstr "Fin de la bande" #~ msgid "Band Compression Mode" #~ msgstr "Mode de compression de la bande" #~ msgid "Band Bypass" #~ msgstr "Contourner bande" #~ msgid "Band Sidechain Options" #~ msgstr "Options de la chaîne latérale de la bande" #~ msgid "Low-Cut Filter" #~ msgstr "Filtre coupe-bas" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Fréquence du filtre coupe-bas" #~ msgid "High-Cut Filter" #~ msgstr "Filtre coupe-haut" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Fréquence du filtre coupe-haut" #~ msgid "PreAmp" #~ msgstr "PréAmp" #~ msgid "Band Gain" #~ msgstr "Gain de la bande" #~ msgid "Band Envelope" #~ msgstr "Enveloppe de la bande" #~ msgid "Band Curve" #~ msgstr "Courbe de la bande" #~ msgid "Split Mode" #~ msgstr "Mode de division" #~ msgid "Split 1/2" #~ msgstr "Diviser 1/2" #~ msgid "Split Frequency 1" #~ msgstr "Diviser la fréquence 1" #~ msgid "Split 2/3" #~ msgstr "Diviser 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Diviser la fréquence 2" #~ msgid "Split 3/4" #~ msgstr "Diviser 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Diviser la fréquence 3" #~ msgid "Sub Band" #~ msgstr "Sous-bande" #~ msgid "Band 1 Bypass" #~ msgstr "Contournement bande 1" #~ msgid "Band 1 Solo" #~ msgstr "Solo de la bande 1" #~ msgid "Band 1 Detection" #~ msgstr "Détection de la bande 1" #~ msgid "Band 1 Attack" #~ msgstr "Attaque de la bande 1" #~ msgid "Band 1 Release" #~ msgstr "Relâ­che­ment de la bande 1" #~ msgid "Band 1 Threshold" #~ msgstr "Seuil de la bande 1" #~ msgid "Band 1 Ratio" #~ msgstr "Ratio de la bande 1" #~ msgid "Band 1 Knee" #~ msgstr "Genou de la bande 1" #~ msgid "Band 1 Makeup" #~ msgstr "Rattrapage de gain de la bande 1" #~ msgid "Max Reduction" #~ msgstr "Atténuation maximale" #~ msgid "Band 1 Max Reduction" #~ msgstr "Réduction max de la bande 1" #~ msgid "Low Band" #~ msgstr "Bande inférieure" #~ msgid "Band 2 Bypass" #~ msgstr "Contournement bande 2" #~ msgid "Band 2 Solo" #~ msgstr "Solo de la bande 2" #~ msgid "Band 2 Detection" #~ msgstr "Détection de la bande 2" #~ msgid "Band 2 Attack" #~ msgstr "Attaque de la bande 2" #~ msgid "Band 2 Release" #~ msgstr "Relâ­che­ment de la bande 2" #~ msgid "Band 2 Threshold" #~ msgstr "Seuil de la bande 2" #~ msgid "Band 2 Ratio" #~ msgstr "Ratio de bande 2" #~ msgid "Band 2 Knee" #~ msgstr "Genou de la bande 2" #~ msgid "Band 2 Makeup" #~ msgstr "Compensation de gain de la bande 2" #~ msgid "Band 2 Max Reduction" #~ msgstr "Réduction max de la bande 2" #~ msgid "Mid Band" #~ msgstr "Bande centrale" #~ msgid "Band 3 Bypass" #~ msgstr "Contournement bande 3" #~ msgid "Band 3 Solo" #~ msgstr "Solo de la bande 3" #~ msgid "Band 3 Detection" #~ msgstr "Détection de la bande 3" #~ msgid "Band 3 Attack" #~ msgstr "Attaque de la bande 3" #~ msgid "Band 3 Release" #~ msgstr "Relâ­che­ment de la bande 3" #~ msgid "Band 3 Threshold" #~ msgstr "Seuil de la bande 3" #~ msgid "Band 3 Ratio" #~ msgstr "Ratio de bande 3" #~ msgid "Band 3 Knee" #~ msgstr "Genou de la bande 3" #~ msgid "Band 3 Makeup" #~ msgstr "Compensation de gain de la bande 3" #~ msgid "Band 3 Max Reduction" #~ msgstr "Réduction max. de la banda 3" #~ msgid "High Band" #~ msgstr "Bande supérieure" #~ msgid "Band 4 Bypass" #~ msgstr "Contournement bande 4" #~ msgid "Band 4 Solo" #~ msgstr "Solo de la bande 4" #~ msgid "Band 4 Detection" #~ msgstr "Détection de la bande 4" #~ msgid "Band 4 Attack" #~ msgstr "Attaque de la bande 4" #~ msgid "Band 4 Release" #~ msgstr "Relâ­che­ment de la bande 4" #~ msgid "Band 4 Threshold" #~ msgstr "Seuil de la bande 4" #~ msgid "Band 4 Ratio" #~ msgstr "Ratio de la bande 4" #~ msgid "Band 4 Knee" #~ msgstr "Genou de la bande 4" #~ msgid "Band 4 Makeup" #~ msgstr "Compensation de gain de la bande 4" #~ msgid "Band 4 Max Reduction" #~ msgstr "Réduction max. de la bande 4" #~ msgid "General" #~ msgstr "Général" #~ msgid "Device Management" #~ msgstr "Gestion des périphériques" #~ msgid "" #~ "It's recommended to NOT set EasyEffects Sink/Source as Default Device in " #~ "external applications (e.g. Gnome Settings and Plasma System Settings)." #~ msgstr "" #~ "Il est recommandé de ne PAS définir EasyEffects Sink/Source comme " #~ "périphérique par défaut dans les applications externes (par exemple, les " #~ "Paramètres de Gnome et les Paramètres de Plasma)." #~ msgid "Use Default Input" #~ msgstr "Utiliser l’entrée par défaut" #~ msgid "Custom Input Device" #~ msgstr "Périphérique d’entrée personnalisé" #~ msgid "Use Default Output" #~ msgstr "Utiliser la sortie par défaut" #~ msgid "Custom Output Device" #~ msgstr "Périphérique de sortie personnalisé" #~ msgid "Server Information" #~ msgstr "Information du serveur" #~ msgid "Header Version" #~ msgstr "Version de l’en-tête" #~ msgid "Library Version" #~ msgstr "Version de la bibliothèque" #~ msgid "Sampling Rate" #~ msgstr "Taux d’échantillonnage" #~ msgid "Minimum Quantum" #~ msgstr "Quantum minimum" #~ msgid "Maximum Quantum" #~ msgstr "Quantum maximum" #~ msgid "Default Quantum" #~ msgstr "Quantum par défaut" #~ msgid "Output Devices" #~ msgstr "Périphériques de sortie" #~ msgid "Output Presets" #~ msgstr "Préréglages de sortie" #~ msgid "Create Association" #~ msgstr "Créer une association" #~ msgid "Add Autoloading Output Preset" #~ msgstr "Ajouter un préréglage de sortie auto-chargeant" #~ msgid "Output Autoloading Presets List" #~ msgstr "Liste des préréglages de sortie auto-chargeant" #~ msgid "Input Devices" #~ msgstr "Périphériques d’entrée" #~ msgid "Input Presets" #~ msgstr "Préréglages d’entrée" #~ msgid "Add Autoloading Input Preset" #~ msgstr "Ajouter un préréglage d’entrée auto-chargeant" #~ msgid "Input Autoloading Presets List" #~ msgstr "Liste des préréglages d’entrée auto-chargeant" #~ msgid "Modules" #~ msgstr "Modules" #~ msgid "Modules List" #~ msgstr "Liste des modules" #~ msgid "Clients" #~ msgstr "Clients" #~ msgid "Clients List" #~ msgstr "Liste des clients" #~ msgid "Test Signal" #~ msgstr "Signal d’essai" #~ msgid "State" #~ msgstr "État" #~ msgid "Enabled" #~ msgstr "Activé" #~ msgid "Properties" #~ msgstr "Propriétés" #~ msgid "Channels" #~ msgstr "Canaux" #~ msgid "Both" #~ msgstr "Tous les deux" #~ msgid "Both Channels" #~ msgstr "Les deux canaux" #~ msgid "Waveform" #~ msgstr "Forme d’onde" #~ msgid "Sine Wave" #~ msgstr "Onde sinusoïdale" #~ msgid "White Noise" #~ msgstr "Bruit blanc" #~ msgid "High Speed" #~ msgstr "Haute vélocité" #~ msgid "High Quality" #~ msgstr "Haute qualité" #~ msgid "High Consistency" #~ msgstr "Haute cohérence" #~ msgid "Formant" #~ msgstr "Formant" #~ msgid "Shifted" #~ msgstr "Altéré" #~ msgid "Preserved" #~ msgstr "Préservé" #~ msgid "Transients" #~ msgstr "Transitoires" #~ msgid "Crisp" #~ msgstr "Net" #~ msgid "Mixed" #~ msgstr "Intermédiaire" #~ msgid "Smooth" #~ msgstr "Progressif" #~ msgid "Detector" #~ msgstr "Détecteur" #~ msgid "Compound" #~ msgstr "Composé" #~ msgid "Percussive" #~ msgstr "Percutant" #~ msgid "Soft" #~ msgstr "Doux" #~ msgid "Phase" #~ msgstr "Phase" #~ msgid "Laminar" #~ msgstr "Laminaire" #~ msgid "Independent" #~ msgstr "Indépendante" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Semitones" #~ msgstr "Demi-tons" #~ msgid "Octaves" #~ msgstr "Octaves" #~ msgid "Remove this effect" #~ msgstr "Supprimer cet effet" #~ msgid "Enable/disable this effect" #~ msgstr "Activer/désactiver cet effet" #~ msgid "Change the position of this effect" #~ msgstr "Modifier la position de cet effet" #~ msgid "Add Effect" #~ msgstr "Ajouter un effet" #~ msgid "Used Plugins List" #~ msgstr "Liste des plugins utilisés" #~ msgid "No Effects" #~ msgstr "Aucun effet" #~ msgid "Audio Stream Not Modified" #~ msgstr "Flux audio non modifié" #~ msgid "Search Plugin" #~ msgstr "Plugin de recherche" #~ msgid "Plugins List" #~ msgstr "Liste des plugins" #~ msgid "_General" #~ msgstr "_Général" #~ msgid "Service" #~ msgstr "Service" #~ msgid "Launch Service at System Startup" #~ msgstr "Lancer le service au démarrage du système" #~ msgid "Shutdown on Window Closing" #~ msgstr "Arrêter à la fermeture de la fenêtre" #~ msgid "Audio" #~ msgstr "Audio" #~ msgid "Process All Output Streams" #~ msgstr "Traiter tous les flux de sortie" #~ msgid "Process All Input Streams" #~ msgstr "Traiter tous les flux d’entrée" #~ msgid "Ignore Streams from Monitor of Devices" #~ msgstr "Ignorer les flux du moniteur des périphériques" #~ msgid "Use Cubic Volume" #~ msgstr "Utiliser le volume cubique" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Réinitialiser le volume des périphériques virtuels de EasyEffects au " #~ "démarrage" #~ msgid "Inactivity Timeout" #~ msgstr "Délai d’inactivité" #~ msgid "Style" #~ msgstr "Style" #~ msgid "Use Dark Theme" #~ msgstr "Utiliser le thème sombre" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "Masquer les menus en cliquant en dehors" #~ msgid "_Spectrum" #~ msgstr "_Spectre" #~ msgid "Shape" #~ msgstr "Forme" #~ msgid "Bars" #~ msgstr "Barres" #~ msgid "Lines" #~ msgstr "Lignes" #~ msgid "Dots" #~ msgstr "Points" #~ msgid "Points" #~ msgstr "Points" #~ msgid "Height" #~ msgstr "Hauteur" #~ msgid "Line Width" #~ msgstr "Largeur de ligne" #~ msgid "Fill" #~ msgstr "Remplir" #~ msgid "Show Bars Border" #~ msgstr "Afficher les bordures des barres" #~ msgid "Rounded Corners" #~ msgstr "Coins arrondis" #~ msgid "Color" #~ msgstr "Couleur" #~ msgid "Lines and Bars" #~ msgstr "Lignes et barres" #~ msgid "Axis Labels" #~ msgstr "Annotation des axes" #~ msgid "Frequency Range" #~ msgstr "Intervalle de fréquences" #~ msgid "Minimum" #~ msgstr "Minimum" #~ msgid "Maximum" #~ msgstr "Maximum" #~ msgid "Load" #~ msgstr "Charger" #~ msgid "Save current settings to this preset file" #~ msgstr "Enregistrer les paramètres actuels dans ce préréglage" #~ msgid "Remove this preset file" #~ msgstr "Supprimer ce préréglage" #~ msgid "New Output Preset Name" #~ msgstr "Nom du préréglage de sortie" #~ msgid "Create a new preset" #~ msgstr "Créer un nouveau préréglage" #~ msgid "Import a preset" #~ msgstr "Importer un préréglage" #~ msgid "Search Output Preset" #~ msgstr "Rechercher un préréglage de sortie" #~ msgid "Output Presets List" #~ msgstr "Liste des préréglages de sortie" #~ msgid "New Input Preset Name" #~ msgstr "Nom du nouveau préréglage d’entrée" #~ msgid "Search Input Preset" #~ msgstr "Rechercher un préréglage d’entrée" #~ msgid "Input Presets List" #~ msgstr "Liste des préréglages d’entrée" #~ msgid "High Frequency Damping" #~ msgstr "Atténuation des hautes fréquences" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Room Size" #~ msgstr "Taille de la salle" #~ msgid "Small" #~ msgstr "Petite" #~ msgid "Medium" #~ msgstr "Moyenne" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Tunnel" #~ msgid "Large/smooth" #~ msgstr "Grande/lisse" #~ msgid "Experimental" #~ msgstr "Expérimental" #~ msgid "Diffusion" #~ msgstr "Diffusion" #~ msgid "Pre Delay" #~ msgstr "Pré-retard" #~ msgid "Decay Time" #~ msgstr "Temps de déclin" #~ msgid "Wet Amount" #~ msgstr "Quantité de signaux avec effets" #~ msgid "Wet Level" #~ msgstr "Niveau des signaux avec effet" #~ msgid "Dry Amount" #~ msgstr "Quantité de signaux sans effets" #~ msgid "Dry Level" #~ msgstr "Niveau des signaux sans effets" #~ msgid "Bass Cut" #~ msgstr "Atténuation des basses" #~ msgid "Treble Cut" #~ msgstr "Atténuation des aigües" #~ msgid "Ambience" #~ msgstr "Ambiance" #~ msgid "Empty Walls" #~ msgstr "Murs vides" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Room" #~ msgstr "Salle" #~ msgid "Large Empty Hall" #~ msgstr "Grande salle vide" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Grande salle occupée" #~ msgid "Import Model" #~ msgstr "Importer un modèle" #~ msgid "Models" #~ msgstr "Modèles" #~ msgid "Standard Model" #~ msgstr "Modèle standard" #~ msgid "RNNoise Models List" #~ msgstr "Liste des modèles RNNoise" #~ msgid "Model Not Loaded" #~ msgstr "Modèle non chargé" #~ msgid "Active Model" #~ msgstr "Modèle actif" #~ msgid "Standard RNNoise Model" #~ msgstr "Modèle standard RNNoise" #~ msgid "Overview" #~ msgstr "Vue d’ensemble" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Ouvrir le manuel de EasyEffects" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Plein écran/Restaurer à partir du plein écran" #~ msgid "Close the Window" #~ msgstr "Fermer la fenêtre" #~ msgid "Quit EasyEffects" #~ msgstr "Quitter EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #~ msgid "Input Balance" #~ msgstr "Balance d’entrée" #~ msgid "Softclip" #~ msgstr "Écrêtage doux" #~ msgid "Softclip Level" #~ msgstr "Niveau de l’écrêtage" #~ msgid "Stereo Matrix" #~ msgstr "Matrice stéréo" #~ msgid "Stereo Mode" #~ msgstr "Mode stéréo" #~ msgid "Invert Phase" #~ msgstr "Inverser la phase" #~ msgid "Side Level" #~ msgstr "Niveau latéral" #~ msgid "Side Balance" #~ msgstr "Balance latérale" #~ msgid "Middle Level" #~ msgstr "Niveau central" #~ msgid "Middle Panorama" #~ msgstr "Panorama central" #~ msgid "Output Balance" #~ msgstr "Balance de sortie" #~ msgid "Delay L/R" #~ msgstr "Retard G/D" #~ msgid "Delay Left Right" #~ msgstr "Retard gauche droite" #~ msgid "Stereo Base" #~ msgstr "Base stéréo" #~ msgid "Stereo Phase" #~ msgstr "Phase Stéréo" #~ msgid "Running" #~ msgstr "En cours" #~ msgid "Suspended" #~ msgstr "En pause" #~ msgid "Idle" #~ msgstr "Inactif" #~ msgid "Creating" #~ msgstr "Génération" #~ msgid "Error" #~ msgstr "Erreur" #~ msgid "Unknown" #~ msgstr "Inconnu" #~ msgid "channels" #~ msgstr "Canaux" #~ msgid "Output Presets: " #~ msgstr "Préréglages de sortie : " #~ msgid "Input Presets: " #~ msgstr "Préréglages d’entrée : " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Effets audio pour les applications utilisant PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Quitter EasyEffects. Utile en cas de fonctionnement en mode serveur." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Chargez un préréglage. Exemple : easyeffects -l musique" #~ msgid "Reset EasyEffects." #~ msgstr "Réinitialiser EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Masquer la Fenêtre." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Contournement global. 1 pour activer, 2 pour désactiver et 3 pour obtenir " #~ "le statut" #~ msgid "Show available presets." #~ msgstr "Afficher les préréglages disponibles." #~ msgid "PipeWire" #~ msgstr "PipeWire" #~ msgid "The File Is Not Regular" #~ msgstr "Le fichier est irrégulier" #~ msgid "The Impulse File May Be Corrupted or Unsupported" #~ msgstr "Le fichier d’impulsion peut être corrompu ou non pris en charge" #~ msgid "Only Stereo Impulse Files Are Supported" #~ msgstr "Seuls les fichiers d’impulsion stéréo sont pris en charge" #~ msgid "Impulse File Not Imported" #~ msgstr "Fichier d’impulsion non importé" #~ msgid "Import Impulse File" #~ msgstr "Importer un fichier d’impulsion" #~ msgid "Open" #~ msgstr "Ouvrir" #~ msgid "Cancel" #~ msgstr "Annuler" #~ msgid "Impulse Response" #~ msgstr "Réponse impulsionnelle" #~ msgid "Load Impulse" #~ msgstr "Charger une impulsion" #~ msgid "Remove Impulse" #~ msgstr "Supprimer l’impulsion" #~ msgid "No Impulse File Loaded" #~ msgstr "Aucun fichier d’impulsion chargé" #~ msgid "Failed To Load The Impulse File" #~ msgstr "Impossible de charger le fichier d’impulsion" #~ msgid "Recorders" #~ msgstr "Enregistreurs" #~ msgid "Players" #~ msgstr "Lecteurs" #~ msgid "Effects" #~ msgstr "Effets" #~ msgid "infinity" #~ msgstr "infini" #~ msgid "Import APO Preset File" #~ msgstr "Importer un fichier de préréglage APO" #~ msgid "APO Presets" #~ msgstr "Préréglages APO" #~ msgid "" #~ "APO Preset Not Loaded. File Format May Be Wrong. Please Check Its Content." #~ msgstr "" #~ "Le préréglage APO n’a pas été chargé. Le format du fichier peut être " #~ "erroné. Veuillez vérifier son contenu." #~ msgid "Remove Autoloading Preset" #~ msgstr "Supprimer le préréglage du chargement automatique" #~ msgid "Remove" #~ msgstr "Supprimer" #~ msgid "Output Device" #~ msgstr "Périphérique de sortie" #~ msgid "Add" #~ msgstr "Ajouter" #~ msgid "Import Preset" #~ msgstr "Importer un préréglage" #~ msgid "" #~ "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To " #~ "The Standard Model." #~ msgstr "" #~ "Le modèle sélectionné n’a pas été chargé. Son format n’est peut-être pas " #~ "pris en charge. Retour au modèle standard." #~ msgid "Import Model File" #~ msgstr "Importer un modèle" #~ msgid "RNNoise Models" #~ msgstr "Modèles RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Amélioration des basses" #~ msgid "Bass Loudness" #~ msgstr "Sonie des basses" #~ msgid "Convolver" #~ msgstr "Convolueur" #~ msgid "Crossfeed" #~ msgstr "Flux croisé" #~ msgid "Crystalizer" #~ msgstr "Cristallisateur" #~ msgid "Deesser" #~ msgstr "Déesseur" #~ msgid "Delay" #~ msgstr "Retard" #~ msgid "Echo Canceller" #~ msgstr "Annulateur d’écho" #~ msgid "Equalizer" #~ msgstr "Égaliseur" #~ msgid "Exciter" #~ msgstr "Excitateur" #~ msgid "Filter" #~ msgstr "Filtre" #~ msgid "Limiter" #~ msgstr "Limiteur" #~ msgid "Maximizer" #~ msgstr "Maximiseur" #~ msgid "Multiband Compressor" #~ msgstr "Compresseur multibande" #, fuzzy #~ msgid "Multiband Gate" #~ msgstr "Porte multibande" #, fuzzy #~ msgid "Pitch" #~ msgstr "Hauteur" #~ msgid "Reverberation" #~ msgstr "Réverbération" #~ msgid "Noise Reduction" #~ msgstr "Réduction de bruit" #~ msgid "Stereo Tools" #~ msgstr "Outils stéréo" #~ msgid "Close (Press ESC)" #~ msgstr "Fermer (appuyez sur Échap)" #~ msgid "Average" #~ msgstr "Moyenne" #~ msgid "Failed" #~ msgstr "Échec" #~ msgid "Use Default" #~ msgstr "Utiliser la valeur par défaut" #~ msgid "Remove this plugin" #~ msgstr "Supprimer ce plugin" #~ msgid "Import Presets" #~ msgstr "Ouvrir préréglage" #~ msgid "Start Service at Login" #~ msgstr "Lancer le service au démarrage" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Réinitialiser le volume au démarrage" #, fuzzy #~ msgid "Activate" #~ msgstr "Aucune compression" #~ msgid "Add to Blocklist" #~ msgstr "Ajouter à la liste de blocage" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibration de la correction microphone" #, fuzzy #~ msgid "enabled" #~ msgstr "Table sinusoïdale" #, fuzzy #~ msgid "disabled" #~ msgstr "Table sinusoïdale" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latence" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Gain d'entrée [dB]" #, fuzzy #~ msgid "Output Effects" #~ msgstr "Limiteur d'entrée" #~ msgid "Settings" #~ msgstr "Paramètres" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Paramètres" #, fuzzy #~ msgid "Documentation" #~ msgstr "Calibration" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Signal de test" #, fuzzy #~ msgid "Signal" #~ msgstr "Signal de test" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spectromètre" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spectromètre" #, fuzzy #~ msgid "Spectrum Color" #~ msgstr "Spectromètre" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Réduction de gain" #, fuzzy #~ msgid "S/C Level" #~ msgstr "Niveau" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Passe-bas" #~ msgid "Input Limiter" #~ msgstr "Limiteur d'entrée" #~ msgid "Calibration" #~ msgstr "Calibration" #, fuzzy #~ msgid "Limit" #~ msgstr "Limite [dB]" #~ msgid "Attenuation" #~ msgstr "Atténuation" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Effets audio pour applications PulseAudio" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Effets audio pour applications PulseAudio" #, fuzzy #~ msgid "Calibration Microphone" #~ msgstr "Calibration de la correction microphone" #~ msgid "Sine" #~ msgstr "Sinusoïde" #~ msgid "Square" #~ msgstr "Carrée" #~ msgid "Saw" #~ msgstr "Dent de scie" #~ msgid "Triangle" #~ msgstr "Triangle" #, fuzzy #~ msgid "Silence" #~ msgstr "Silence" #~ msgid "Pink Noise" #~ msgstr "Bruit rose" #~ msgid "Ticks" #~ msgstr "Ticks" #~ msgid "Gaussian Noise" #~ msgstr "Bruit Gaussien" #~ msgid "Red Noise" #~ msgstr "Bruit rouge" #~ msgid "Blue Noise" #~ msgstr "Bruit bleu" #~ msgid "Violet Noise" #~ msgstr "Bruit violet" #~ msgid "Volume" #~ msgstr "Volume" #, fuzzy #~ msgid "Window" #~ msgstr "Fenêtre [s]" #~ msgid "Measure Noise" #~ msgstr "Mesurer le bruit" #~ msgid "Subtract Noise" #~ msgstr "Enlever le bruit" #, fuzzy #~ msgid "High" #~ msgstr "Passe-haut" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Réduction de gain" #, fuzzy #~ msgid "Very High" #~ msgstr "Passe-haut" #, fuzzy #~ msgid "Noise Suppressor" #~ msgstr "Compresseur" #, fuzzy #~ msgid "Detection Likelihood" #~ msgstr "Atténuation" #, fuzzy #~ msgid "Voice Detector" #~ msgstr "Atténuation" #, fuzzy #~ msgid "Select the impulse Response File" #~ msgstr "Réponse plane" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Aucune compression" #, fuzzy #~ msgid "Configuration" #~ msgstr "Calibration" #, fuzzy #~ msgid "Advanced" #~ msgstr "Paramètres" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Préréglage" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Atténuation" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Fréquence [Hz]" #, fuzzy #~ msgid "Buffer" #~ msgstr "Latence" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Égaliseur - Sortie" # Taking lingual shortcuts to squeeze it in the text box #, fuzzy #~ msgid "Block Size" #~ msgstr "Taille pièce" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Ouvrir préréglage" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Réduction de gain" easyeffects-7.1.7/po/news/gl.po000066400000000000000000002725261463533416400164120ustar00rootroot00000000000000# Galician translation for EasyEffects # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # Xosé , 2021. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Efectos de son para aplicacións PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects é unha ferramenta avanzada de manipulación de audio. Inclúe un " "ecualizador, un limitador, un compresor e unha ferramenta de reverberación, " "por citar algúns. Para complementar isto, tamén atopará un analizador do " "espectro incorporado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects é o sucesor de PulseEffects. Easy Effects só admite o servidor " "de audio de PipeWire. Os usuarios de PulseAudio deberían usar PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Como Easy Effects utiliza o servidor de son predeterminado PipeWire, " "funcionará coa maioría, se non con todalas, das aplicacións que utilices. " "Todalas aplicacións compatibles preséntanse na xanela principal, onde cada " "unha se pode activar individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Ademais de manipular a saída do son, Easy Effects pode aplicar efectos a un " "dispositivo de entrada, como un micrófono. Isto é, por exemplo, útil na " "gravación do audio, pero tamén funciona ben durante as conversas de voz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Cando se inicie Easy Effects, lembrará convenientemente a configuración " "utilizada na última sesión. Tamén é posible gardar todolos axustes actuais " "como perfís." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace (wwmm)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "A páxina principal mostra dúas aplicacións da saída do son" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "A páxina do potenciador de graves que mostra os controis do son" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "A páxina de convolver que mostra os controis do son" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Corrección dos erros:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Outras notas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Traducións actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Traducións actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #, fuzzy msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "O parámetro de limiar do complemento deesser agora gárdase no ficheiro " "predefinido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "Compatibilidade mellorada con Linux Studio Plugins `1.2.3`." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "A advertencia da saturación xa non deberían desprazalos seus widgets veciños" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Agora é posible engadir máis dunha instancia do filtro á canalización dos " "efectos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #, fuzzy msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Engadiuse un novo complemento `Procesador de voz` baseado na biblioteca " "Speex. Ademais de proporcionar supresión de ruído, tamén pode detectar a " "actividade da voz. É unha alternativa decente aos casos nos que a biblioteca " "rnnoise non funciona ben." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 #, fuzzy msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Compatibilidade mellorada con Linux Studio Plugins `1.2.3`." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "Os presets de GraphicEQ pódense importar ao efecto Ecualizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 #, fuzzy msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "O nome da aplicación cambiouse a `Easy Effects` para cumprir coas " "convencións da nomenclatura das directrices da interface humana de GNOME." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "Actualizouse a documentación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Carga automática dos presets mellorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" "Agora o usuario pode configurar ou limitar o silencio da ganancia automática." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "Engadíronse controis secos e húmidos ao efecto Ferramentas estéreo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "O cancelador do eco agora ten un control de supresión do ruído residual " "tamén baseado na biblioteca de Speex." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Ao pasar o rato sobre un gráfico mostrouse o valor da coordenada x " "incorrecto. Esta regresión foi corrixida." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "Debido á nova función das instancias múltiples, o formato predefinido " "cambiou, pero o antigo aínda é compatible para cargarse. De todolos xeitos, " "teña en conta que ao gardar o preset actual, sempre o escribirá no novo " "formato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "Migrouse a implementación de Multiband Gate de CALF a Linux Studio Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "Mellorouse a compatibilidade do código de carga automática predefinida cos " "dispositivos bluez5." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "Engadíronse controis húmido/seco para algúns complementos" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "A interface de efectos xa non se carga cando o complemento lv2 relacionado " "non está instalado no sistema. No seu lugar móstrase unha mensaxe do estado " "para o usuario." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "Actualizouse a documentación" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Mellora nas mensaxes da depuración" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Traducións melloradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Corrixiuse un erro no que EasyEffects podía fallar ao pechar a xanela " "mentres se aplicaban os efectos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "O estado de bypass pódese gardar no ficheiro predefinido. As razóns polas " "que se fixo isto pódense ver no número 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "Mellorouse a compatibilidade do código da carga automática predefinida cos " "dispositivos USB." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Amosase un diálogo para o usuario cando non se pode cargar un preset ou non " "se pode importar un ficheiro de preselección/impulso." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #, fuzzy msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Agora úsase o complemento SideChain Gate de `Linux Studio Plugins` en lugar " "do de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffects xa non debera fallar cando a configuración rexional do usuario " "non está configurada correctamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Implementouse unha solución alternativa na nosa icona para facer fronte á " "falta de compatibilidade adecuada con SVG en QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Cando se desactivan os efectos nunha aplicación, agora establecemos os seus " "metadatos de destino como nulos. Isto permitirá ao xestor das sesións " "multimedia (wireplumber) mover correctamente o fluxo a un novo dispositivo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Engadiuse unha nova opción de configuración. Permite que EasyEffects ignore " "os fluxos cuxo propósito é supervisar os dispositivos de sumidoiro. Isto " "axudará a solucionar algúns dos problemas que tiñan os nosos usuarios ao " "usar OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Mellorouse o código que mostra o formato da mostra do fluxo" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "A biblioteca rnnoise agora é opcional. Isto debería axudar aos mantedores " "dos paquetes a construír un paquete Debian. Consulte o número 1000 para " "obter máis información." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Os nosos rexistros agora mostran a liña do código fonte onde se imprimen as " "mensaxes" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "A caixa de verificación \"activar efectos\" da nosa xanela non se estaba " "actualizando cando programas de terceiros como pavucontrol afastaron o fluxo " "dos nosos dispositivos virtuais. Isto debería solucionarse agora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Corrixiuse un erro que podía ocorrer cando se cambiaba o historial da " "ganancia automática máxima." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Evite erros cando pw-mididump estea en execución" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "Mellorouse a interface do complemento pitch" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "A nosa icona da aplicación agora é compatible con escritorios que usan QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 #, fuzzy msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "O noso código da lista de bloqueo usará a etiqueta `application.id` se o " "fluxo o define" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 #, fuzzy msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Para evitar problemas co desprazamento do rato, as entradas da lista de " "aplicacións que aparecen na pestana `Reprodutores/Grabadores` xa non mostran " "unha escala do volume. Pódense atopar máis detalles do erro e a solución no " "número 1211 e no número 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #, fuzzy msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Cando non estea dispoñible ningunha aplicación para a súa ollada nos " "`Reproductores/Grabadores`, mostrarase unha mensaxe ao usuario" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Moitas actualizacións nas traducións" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Corrixiuse un erro no que EasyEffeects erraba cando se cambiaba o número dos " "puntos mostrados no espectro mentres a nosa canalización estaba activa e o " "widget do espectro era visible" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "O valor na latencia da canalización que se amosaba na nosa xanela puido ser " "incorrecto nalgunhas situacións. Isto foi arranxado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Atoparas unha nova configuración que permite ao usuario seleccionar un tempo " "de espera de inactividade para a canalización. Cando ningún cliente estea " "reproducindo ou gravando dende os nosos dispositivos, os filtros " "desvincularanse unha vez que se alcance o tempo da espera. Isto faise para " "asegurarnos de que non desperdiciamos o silencio no procesamento da enerxía " "da CPU." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "O complemento da ganancia automática agora permite ao usuario selecionalas " "canles dos tres sons e usanse para calcular a media xeométrica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 #, fuzzy msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "O complemento da ganancia automática agora permite establecelo historial " "máximo e xa non usa o modo de histograma `libebur128`. Isto debería evitar " "os casos nos que a sonoridade \"integrada\" quede atascada para sempre no " "mesmo valor." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "A icona de EasyEffects actualizouse dun xeito que debería facelo visible nos " "escritorios QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "A opción de liña de comandos que devolve o estado de omisión global está a " "funcionar de novo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "O filtro da alimentación cruzada debería manexar mellor os interruptores da " "latencia dinámica de PipeWire. Os saltos no nivel do volume xa non deberían " "ocorrer nestas situacións." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Corrixiuse un erro que impedía que os micrós mono funcionasen correctamente " "con EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "Soporte para a próxima versión de PipeWire `0.3.44`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "O filtro de ganancia automática debería manexar mellor os interruptores da " "latencia dinámica de PipeWire. Os saltos co nivel do volume xa non deberían " "ocorrer nestas situacións." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Engadimos unha opción que che permite restablecelo volume e o estado de " "silencio nos nosos dispositivos virtuais cando se inicia EasyEffects. Isto " "debería axudar nos casos en que o servidor do audio silencie os nosos " "dispositivos por motivos descoñecidos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Mellorouse o soporte para suspendelo ordenador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Corrixiuse un erro no que o tentar crear un perfil de carga automática sen " "telos axustes preestablecidos provocaba que a aplicación errase." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 #, fuzzy msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Corrixiuse un erro no que establecer unha banda do ecualizador `calidade` a " "`cero` provocaba un erro na aplicación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita úsase para facer algunhas partes da nosa xanela e para xestionalo " "cambio entre temas escuros e claros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "O menú de configuración foi redeseñado usando widgets de LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "Mellorouse a función da importación do presets de Equalizer APO para aplicar " "non só o filtro Bell, senón tamén outros compatibles (polo momento só o " "filtro de paso de banda non está dispoñible no complemento LSP)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 #, fuzzy msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "A función \"Restablecer todalas configuracións\" do noso menú debería " "funcionar agora en Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 #, fuzzy msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Temos unha nova opción que permite ao usuario desactivar os nosos menús " "`autohide`. Isto pode axudar a solucionar algúns erros que os menús " "emergentes teñen actualmente en gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Unha análise máis sólida para importar perfís APO gardados cun separador de " "miles de comas na banda de frecuencia central." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "A biblioteca fmt é unha nova dependencia Polo menos mentres os compiladores " "c++ non implementan as súas características. Espérase que isto suceda nos " "próximos anos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM e GLIBMM xa non son unha dependencia. Agora usamos gtk4 directamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Agora é posible combinar respostas de impulso na interface de Convolver. " "Xérase un novo ficheiro de impulsos e debería estar visible na lista de " "impulsos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 #, fuzzy msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Melloráronse os debuxos do `eixe x` nas nosas parcelas. Agora o número das " "etiquetas axústase de forma dinámica dependendo do ancho da nosa xanela." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "A documentación actualizouse reflectindo as novas funcións de EasyEffects. " "Elimináronse as antigas referencias sobre PulseEffects. Engadiuse o botón da " "documentación na sección do menú." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Cando se enche un botón xiratorio cun valor fóra do intervalo, agora " "actualízase co valor máis baixo/máis alto en lugar de restablecelo anterior." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "A xanela da aplicación agora lembra o estado maximizado e restableceo no " "seguinte evento da apertura." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 #, fuzzy msgid "The tbb library is a new dependency" msgstr "A biblioteca `tbb` é unha nova dependencia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Os complementos Limiter e Multiband Compressor agora poden usar unha cadea " "lateral externa opcional." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "O complemento Autogain agora permite ao usuario seleccionar que Loudness se " "usa como referencia para a corrección do volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "A función de importación de perfil APO do complemento Equalizer analiza " "agora o parámetro \"Pre Amplificación\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "O volume cúbico opcional pódese activar na configuración xeral." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "Suponse que o complemento Spectrum entraba en paso sempre que non era " "visible, pero isto estaba a suceder só cando a nosa xanela estaba pechada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Melloralo apoio á tecnoloxía de asistencia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "As sondas empregadas nalgúns filtros como o compresor e o limitador non " "estan sendo religadas despois de cambiala orde dos complementos na " "canalización. Debería funcionar agora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Os fluxos dos monitores de PipeWire agora están excluídos e eliminados da " "lista de aplicacións." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "Esperemos que se solucionen os fallos como o informado no número 1172." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "Evitou un caso no que Spectrum tiña erros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "Pavucontrol xa non se engade á lista das aplicacións de entrada en sistemas " "con localización diferentes do inglés." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "Compatibilidade mellorada con WirePlumber. Isto é necesario para executalo " "en sistemas que decidiron usalo en lugar do xestor de sesión PipeWire " "integrado. Máis información no número 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "Cando se intente engadir un perfil de carga automática para un dispositivo " "que xa está na lista, o predefinido do destino actualizarase. Deste xeito " "podemos cambialo perfil predefinido sen ter que eliminalo e recrealo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "A implementación da compatibilidade da carga automática predefinida volveuse " "a redeseñar. Agora debería funcionar con máis hardware. Para máis " "información consulte o número 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Se o limitador ou o maximizador se colocan na última posición da pila dos " "complementos, engádense novos complementos na penúltima posición para " "evitala posibilidade de danos no hardware por un nivel de saída " "eventualmente alto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "Ao eliminar unha aplicación da lista de bloqueo, restablecerase o seu estado " "anterior." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Ás veces, ao eliminar modelos importados do complemento da redución do " "ruído, o modelo usado actual non se actualizou correctamente. Isto debería " "solucionarse agora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Ao editar ficheiros de perfís nun editor externo, as entradas duplicadas non " "as atoparas no menú dos perfís." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Agora a lista de bloqueo está configurada correctamente ao cambialos do " "perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Agora o estado do botón de derivación global actualízase correctamente ao " "cambiala pila dos complementos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "As iconas que faltan no sistema non deben mostrarse dentro da IU de " "información da aplicación (se non se pode mostrar unha icona da aplicación " "aínda que estea seguro de que está instalada correctamente, abra un " "problema)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Algunhas iconas que non se mostran en Plasma DE co tema de iconas Breeze " "deberían aparecer agora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Tradución ao chinés actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Tradución ao italiano actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 #, fuzzy msgid "Added support for the compressor parameter Boost Amount" msgstr "Engadiuse compatibilidade para o parámetro do compresor `Boost Amount`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "O complemento do compresor multibanda agora usalo complemento do compresor " "multibanda estéreo de Linux Studio Plugins en lugar do de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "O complemento limitador agora usa o complemento limitador estéreo de Linux " "Studio Plugins en lugar do de Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "Agora os filtros LV2 aparecen no gráfico PipeWire só cando se cargan a " "primeira vez. Unha vez cargados, permanecen conectados ata que se apague " "EasyEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" "A frecuencia do mostraxe do cancelador do eco atopase agora correctamente " "definida." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "O parámetro de limiar do complemento deesser agora gárdase no ficheiro " "predefinido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "División da banda mellorada para o cristalizador cos novos valores de " "intensidade predeterminados." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Dependendo da ganancia de entrada ou dos valores da ganancia da saída, non " "se puideron aliñar as barras dos niveis correspondentes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 #, fuzzy msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "Cando se engaden máis bandas do ecualizador, establécense en `Bell` en lugar " "de `Off`." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "A carga dos axustes preestablecidos do Equalizer APO agora atopanse " "funcionando correctamente en locais diferentes do C." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Mellora a xestión de enlaces entre os nodos de filtro de portos en PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "A amplificación do sinal do complemento do cristalizador era demasiado alta " "antes. Agora debería estar dentro dos niveis máis razoables." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Mellorouse o remuestreador usado nos complementos que requiren un (como o " "complemento rnnoise)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "Agora debería funcionar correctamente a configuración dos varios perfís da " "carga automática" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "Agora as fiestras transitorias atopanse configuradas correctamente para " "algúns diálogos dos complementos" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "Mellorouse o menú de resposta ao impulso de convolver para solucionar un " "problema no que non se cargaban os ficheiros de impulso cando só había un " "dispoñible no menú; consulte o problema 1011" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Corrixiuse un erro que podía facer que o complemento de pitch non se " "inicializase correctamente" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "A advertencia da saturación xa non deberían desprazalos seus widgets veciños" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Corrixiuse a configuración rexional nalgúns widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Corrixiuse o aliñamento incorrecto nalgúns widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "O complemento Loudness utilízase de novo polos motivos descritos no número " "820. Isto significa que é unha dependencia opcional de novo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Corrixiuse un fallo de segmentación que se producía cando non se instalaban " "dependencias opcionais" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Interface do ecualizador mellorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Agora usamos un compresor LSP sidechain que permite ao usuario seleccionar " "unha fonte externa como entrada sidechain." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 #, fuzzy msgid "We now support the LSP compressor Boosting mode." msgstr "Agora admitimolo modo \"Boosting\" do compresor LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 #, fuzzy msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "Cando `split-channels` está activado no ecualizador, o preajuste APO " "importado aplicarase só á canle que se visualiza na xanela. Isto permitirá " "importar diferentes presets para cada canle en lugar de só configurar os " "mesmos valores para ambos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Corrixíronse algúns erros de segmentación que podían ocorrer ao crear un " "perfil de carga automática predefinido ou eliminar a configuración " "predeterminada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "Este é un dos lanzamentos máis importantes que fixen. A cantidade de cambios " "é tan grande que é difícil falar de todo aquí." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "Os seguintes son só os máis importados. As persoas interesadas na viaxe que " "nos levou ata aquí poden botar unha ollada ao número 904 e ao número 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 #, fuzzy msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "A aplicación e o seu repositorio foron renomeados de PulseEffects a " "'EasyEffects'" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 foi substituído por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer foi substituído polos filtros PipeWire nativos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "Moitas características foron reimplementadas desde cero. A carga automática " "predefinida é un exemplo. Outro cambio notable verase no menú de selección " "de complementos. Agora o usuario pode mostrar na xanela só os complementos " "que quere utilizar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Boost xa non é unha dependencia. O prezo pagado por iso foi un pequeno " "cambio nas nosas estruturas predefinidas. Con algo de paciencia, é posible " "editar os presets de PulseEffects nun editor de texto e facelos funcionar en " "EasyEffects. Esperemos que alguén chegue cun guión para isto na función." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Empreganse novas bibliotecas e agora son necesarias algunhas das bibliotecas " "que antes eran opcionais" #~ msgid "This release adds the following features:" #~ msgstr "Esta publicación engade as seguintes características:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Esta publicación arranxa os seguintes erros:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bandas" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Hai unha nova configuración que lle permite ao usuario seleccionar un " #~ "tempo de espera de inactividade para o pipeline. Cando non hai un cliente " #~ "reproducindo" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "ou gravando desde os seus dispositivos os filtros desligaranse despois " #~ "dun tempo. Isto faise para asegurarse que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "non gasta enerxía no procesador sen que se entere." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta publicación arranxa o seguinte erro:" #~ msgid "This release adds the following feature:" #~ msgstr "Esta publicación engade a seguinte característica:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ecualizador, compresor e outros efectos de son" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitador;compresor;reverberación;ecualizador;volume automático;" #~ msgid "\"Presets\"" #~ msgstr "«Preconfiguracións»" #, fuzzy #~ msgid "Enable" #~ msgstr "Activado" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplicacións" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplicacións" #~ msgid "_Preferences" #~ msgstr "_Preferencias" #~ msgid "_Manual" #~ msgstr "_Manual" #~ msgid "_Shortcuts" #~ msgstr "_Atallos de teclado" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Configuración" #~ msgid "_About EasyEffects" #~ msgstr "_Sobre EasyEffects" #~ msgid "Presets" #~ msgstr "Preconfiguracións" #~ msgid "Presets Menu" #~ msgstr "Menú de preconfiguracións" #~ msgid "Global Bypass" #~ msgstr "Desvío global" #~ msgid "Primary Menu" #~ msgstr "Menú primario" #~ msgid "EasyEffects Window" #~ msgstr "Xanela de EasyEffects" #~ msgid "Applications List" #~ msgstr "Lista de aplicacións" #, fuzzy #~ msgid "Empty List" #~ msgstr "Paredes baleiras" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplicacións" #~ msgid "Target" #~ msgstr "Destino" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Máximo" #~ msgid "Reference" #~ msgstr "Referencia" #~ msgid "Momentary" #~ msgstr "Momentáneo" #~ msgid "Short-Term" #~ msgstr "Curto prazo" #~ msgid "Integrated" #~ msgstr "Integrado" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Empregar media xeométrica" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Empregar media xeométrica" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Empregar media xeométrica" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Empregar media xeométrica" #~ msgid "Reset History" #~ msgstr "Restabelecer historial" #~ msgid "Relative" #~ msgstr "Relativo" #~ msgid "Range" #~ msgstr "Intervalo" #~ msgid "Loudness" #~ msgstr "Sonoridade" #~ msgid "Output Gain" #~ msgstr "Ganancia da saída" #~ msgid "Input" #~ msgstr "Entrada" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Saída" #~ msgid "Output" #~ msgstr "Saída" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Saída" #~ msgid "Reset" #~ msgstr "Restabelecer" #~ msgid "Using" #~ msgstr "Usando" #~ msgid "Device" #~ msgstr "Dispositivo" #~ msgid "Name" #~ msgstr "Nome" #~ msgid "Profile" #~ msgstr "Perfíl" #~ msgid "Preset" #~ msgstr "Preconfiguración" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Retirar este ficheiro de preconfiguracións" #~ msgid "Listen" #~ msgstr "Escoitar" #~ msgid "Blend Harmonics" #~ msgstr "Mesturar harmónicos" #~ msgid "3rd" #~ msgstr "3.º" #~ msgid "2nd" #~ msgstr "2.º" #~ msgid "Amount" #~ msgstr "Cantidade" #~ msgid "Harmonics" #~ msgstr "Harmónicos" #~ msgid "Scope" #~ msgstr "Ámbito" #~ msgid "Floor" #~ msgstr "Chan" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Chan" #~ msgid "Link" #~ msgstr "Ligazón" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplicacións" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Mostrar aplicacións bloqueadas na lapela principal" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplicacións" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Mostrar aplicacións bloqueadas na lapela principal" #~ msgid "Compressor" #~ msgstr "Compresor" #~ msgid "Mode" #~ msgstr "Modo" #~ msgid "Downward" #~ msgstr "Descendente" #~ msgid "Upward" #~ msgstr "Ascendente" #~ msgid "Compression Mode" #~ msgstr "Modo de compresión" #~ msgid "Boost Threshold" #~ msgstr "Limiar de realce" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Cantidade" #~ msgid "Attack" #~ msgstr "Ataque" #~ msgid "Time" #~ msgstr "Tempo" #~ msgid "Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Ataque" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Limiar" #~ msgid "Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Release Time" #~ msgstr "Soltar" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Limiar da solta relativa" #~ msgid "Ratio" #~ msgstr "Proporción" #~ msgid "Knee" #~ msgstr "Xeonllo" #~ msgid "Makeup" #~ msgstr "Restauración" #~ msgid "Sidechain" #~ msgstr "Cadea lateral" #~ msgid "Peak" #~ msgstr "Pico" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Frecuencias baixas" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Cadea lateral" #~ msgid "Source" #~ msgstr "Fonte" #~ msgid "Middle" #~ msgstr "Medio" #~ msgid "Side" #~ msgstr "Lado" #~ msgid "Left" #~ msgstr "Esquerda" #~ msgid "Right" #~ msgstr "Dereita" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Cadea lateral" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Remitir" #~ msgid "Feed-back" #~ msgstr "Retroalimentar" #~ msgid "External" #~ msgstr "Externo" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Cadea lateral" #, fuzzy #~ msgid "Input Device" #~ msgstr "Nivel de entrada" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Preamplificación" #~ msgid "Reactivity" #~ msgstr "Reactividade" #~ msgid "Lookahead" #~ msgstr "Delonga máxima" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Cadea lateral" #~ msgid "High-Pass" #~ msgstr "Paso alto" #~ msgid "Frequency" #~ msgstr "Frecuencia" #~ msgid "Off" #~ msgstr "Desactivado" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Modo de filtro de frecuencias altas" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frecuencias altas" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Modo de filtro de frecuencias altas" #~ msgid "Gain" #~ msgstr "Ganancia" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "E" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Canles" #~ msgid "R" #~ msgstr "D" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Dividir canles" #~ msgid "Impulses" #~ msgstr "Impulsos" #~ msgid "Combine" #~ msgstr "Combinar" #~ msgid "Stereo Width" #~ msgstr "Largura do estéreo" #~ msgid "Spectrum" #~ msgstr "Espectro" #, fuzzy #~ msgid "Autogain" #~ msgstr "Ganancia automática" #~ msgid "Rate" #~ msgstr "Taxa" #~ msgid "Samples" #~ msgstr "Mostras" #~ msgid "Duration" #~ msgstr "Duración" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Resposta de impulso" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Saída" #~ msgid "Import Impulse" #~ msgstr "Importar impulso" #~ msgid "Search" #~ msgstr "Buscar" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Importar ficheiro de impulso" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Importar ficheiro de impulso" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "Cutoff" #~ msgstr "Corte" #~ msgid "Feed" #~ msgstr "Fonte" #~ msgid "Bypass" #~ msgstr "Desvío" #~ msgid "Mute" #~ msgstr "Silenciar" #~ msgid "Detection" #~ msgstr "Detección" #~ msgid "Wide" #~ msgstr "Amplo" #~ msgid "Split" #~ msgstr "Dividir" #~ msgid "F1 Split" #~ msgstr "División F1" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frecuencia" #~ msgid "F2 Peak" #~ msgstr "Pico F2" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frecuencia" #~ msgid "F1 Gain" #~ msgstr "Ganancia F1" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frecuencia" #~ msgid "F2 Level" #~ msgstr "Nivel F2" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frecuencia" #~ msgid "F2 Peak Q" #~ msgstr "Pico F2 Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frecuencia" #~ msgid "Laxity" #~ msgstr "Laxitude" #~ msgid "Detected" #~ msgstr "Detectado" #, fuzzy #~ msgid "Reduction" #~ msgstr "Redución" #~ msgid "Frame Size" #~ msgstr "Tamaño de fotograma" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtro" #~ msgid "Bands" #~ msgstr "Bandas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "Transformada rápida de Fourier" #~ msgid "Split Channels" #~ msgstr "Dividir canles" #~ msgid "Flat Response" #~ msgstr "Resposta plana" #~ msgid "Calculate Frequencies" #~ msgstr "Calcular frecuencias" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Preconfiguracións de APO" #~ msgid "Bell" #~ msgstr "Campaíña" #~ msgid "High Pass" #~ msgstr "Frecuencias altas" #~ msgid "High Shelf" #~ msgstr "Andel alto" #~ msgid "Low Pass" #~ msgstr "Frecuencias baixas" #~ msgid "Low Shelf" #~ msgstr "Andel baixo" #~ msgid "Notch" #~ msgstr "Entalla" #~ msgid "Resonance" #~ msgstr "Resonancia" #~ msgid "All Pass" #~ msgstr "Todos os pasos" #, fuzzy #~ msgid "Band Type" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Bandas" #~ msgid "Slope" #~ msgstr "Pendente" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pendente" #~ msgid "Width" #~ msgstr "Largura" #~ msgid "Quality" #~ msgstr "Calidade" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Teito" #~ msgid "Access" #~ msgstr "Acceso" #~ msgid "Description" #~ msgstr "Descrición" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Retirar este ficheiro de preconfiguracións" #~ msgid "12dB/oct Lowpass" #~ msgstr "Paso baixo 12dB/oct" #~ msgid "24dB/oct Lowpass" #~ msgstr "Paso baixo 24dB/oct" #~ msgid "36dB/oct Lowpass" #~ msgstr "Paso baixo 36dB/oct" #~ msgid "12dB/oct Highpass" #~ msgstr "Paso alto 12dB/oct" #~ msgid "24dB/oct Highpass" #~ msgstr "Paso alto 24dB/oct" #~ msgid "36dB/oct Highpass" #~ msgstr "Paso alto 36dB/oct" #~ msgid "6dB/oct Bandpass" #~ msgstr "Paso de banda 6dB/oct" #~ msgid "12dB/oct Bandpass" #~ msgstr "Paso de banda 12dB/oct" #~ msgid "18dB/oct Bandpass" #~ msgstr "Paso de banda 18dB/oct" #~ msgid "6dB/oct Bandreject" #~ msgstr "Rexeita faixa 6dB/oct" #~ msgid "12dB/oct Bandreject" #~ msgstr "Rexeita faixa 12dB/oct" #~ msgid "18dB/oct Bandreject" #~ msgstr "Rexeita faixa 18dB/oct" #~ msgid "Inertia" #~ msgstr "Inercia" #~ msgid "Gate" #~ msgstr "Porta" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Soltar" #, fuzzy #~ msgid "Internal" #~ msgstr "Externo" #~ msgid "Gating" #~ msgstr "Limiar dinámico" #~ msgid "Oversampling" #~ msgstr "Sobremostraxe" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Amplo" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Amplo" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Largura de liña" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Largura de liña" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Largura de liña" #~ msgid "None" #~ msgstr "Ningunha" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Preamplificación" #~ msgid "Stereo Link" #~ msgstr "Ligazón estéreo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Cadea lateral" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Nivelación automática" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Nivelación automática" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Nivelación automática" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Nivelación automática" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Esquerda" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Dereita" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Cadea lateral" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Cadea lateral" #~ msgid "Standard" #~ msgstr "Estándar" #~ msgid "Flat" #~ msgstr "Plano" #~ msgid "FFT Size" #~ msgstr "Tamaño de FFT" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Saída" #~ msgid "Ceiling" #~ msgstr "Teito" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Importar modelo" #~ msgid "Classic" #~ msgstr "Clásico" #~ msgid "Modern" #~ msgstr "Moderno" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Cadea lateral" #, fuzzy #~ msgid "Bands List" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 5" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 6" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 7" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 8" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band End" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Modo de compresión" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Cadea lateral" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Modo de filtro de frecuencias baixas" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Modo de filtro de frecuencias baixas" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro de altas frecuencias" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Filtro de altas frecuencias" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Ganancia F1" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curva" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Dividir" #~ msgid "Split 1/2" #~ msgstr "Dividir 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frecuencia" #~ msgid "Split 2/3" #~ msgstr "Dividir 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecuencia" #~ msgid "Split 3/4" #~ msgstr "Dividir 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecuencia" #~ msgid "Sub Band" #~ msgstr "Sub-banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Restauración" #~ msgid "Max Reduction" #~ msgstr "Redución" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Redución de ganancia" #~ msgid "Low Band" #~ msgstr "Banda baixa" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Restauración" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redución de ganancia" #~ msgid "Mid Band" #~ msgstr "Banda media" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Restauración" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redución de ganancia" #~ msgid "High Band" #~ msgstr "Banda alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Desvío" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redución de ganancia" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Soltar" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Restauración" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redución de ganancia" #~ msgid "General" #~ msgstr "Xeral" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Empregar o predeterminado" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Nivel de entrada" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Empregar o predeterminado" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Saída" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberación" #, fuzzy #~ msgid "Header Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Library Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Taxa da mostraxe predeterminada" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Máximo" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Ganancia máxima" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Saída de son por defecto" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Saída" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Preconfiguracións de saída: " #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Preconfiguracións de saída: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Nivel de entrada" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Preconfiguracións de entrada: " #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Preconfiguracións de entrada: " #~ msgid "Modules" #~ msgstr "Módulos" #, fuzzy #~ msgid "Modules List" #~ msgstr "Módulos" #~ msgid "Clients" #~ msgstr "Clientes" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clientes" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Sinais de proba" #~ msgid "State" #~ msgstr "Estado" #~ msgid "Enabled" #~ msgstr "Activado" #~ msgid "Properties" #~ msgstr "Propiedades" #~ msgid "Channels" #~ msgstr "Canles" #~ msgid "Both" #~ msgstr "Ambos" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Canles" #~ msgid "Waveform" #~ msgstr "Forma de onda" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Táboa de senos" #~ msgid "White Noise" #~ msgstr "Ruído branco" #, fuzzy #~ msgid "High Speed" #~ msgstr "Andel alto" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calidade" #~ msgid "Preserved" #~ msgstr "Preservado" #, fuzzy #~ msgid "Crisp" #~ msgstr "Limpidez" #, fuzzy #~ msgid "Detector" #~ msgstr "Detección" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresión" #, fuzzy #~ msgid "Soft" #~ msgstr "Compresión de ganancia" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Semitones" #~ msgstr "Semitóns" #~ msgid "Octaves" #~ msgstr "Oitavas" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Retirar este ficheiro de preconfiguracións" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Efectos de entrada" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #~ msgid "_General" #~ msgstr "_Xeral" #~ msgid "Service" #~ msgstr "Servizo" #~ msgid "Audio" #~ msgstr "Audio" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Procesar todas as saí­das" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Procesar todas as entradas" #, fuzzy #~ msgid "Inactivity Timeout" #~ msgstr "Tempo límite da actividade" #~ msgid "Style" #~ msgstr "Estilo" #~ msgid "Use Dark Theme" #~ msgstr "Empregar tema escuro" #~ msgid "_Spectrum" #~ msgstr "_Espectro" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Bars" #~ msgstr "Barras" #~ msgid "Lines" #~ msgstr "Liñas" #~ msgid "Dots" #~ msgstr "Puntos" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Height" #~ msgstr "Altura" #~ msgid "Line Width" #~ msgstr "Largura de liña" #~ msgid "Fill" #~ msgstr "Encher" #~ msgid "Color" #~ msgstr "Cor" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frecuencia" #~ msgid "Minimum" #~ msgstr "Mínimo" #~ msgid "Maximum" #~ msgstr "Máximo" #~ msgid "Load" #~ msgstr "Cargar" #~ msgid "Save current settings to this preset file" #~ msgstr "Gardar as opcións actuais neste ficheiro de preconfiguracións" #~ msgid "Remove this preset file" #~ msgstr "Retirar este ficheiro de preconfiguracións" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Preconfiguracións de saída: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Sen preconfiguración" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar preconfiguración" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Preconfiguracións de saída: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Preconfiguracións de saída: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Preconfiguracións de entrada: " #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Preconfiguracións de entrada: " #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Preconfiguracións de entrada: " #~ msgid "High Frequency Damping" #~ msgstr "Amortecemento de frecuencias altas" #~ msgid "Room Size" #~ msgstr "Tamaño da sala" #~ msgid "Small" #~ msgstr "Pequena" #~ msgid "Medium" #~ msgstr "Media" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Túnel" #~ msgid "Large/smooth" #~ msgstr "Grande/suave" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difusión" #~ msgid "Pre Delay" #~ msgstr "Delonga previa" #~ msgid "Decay Time" #~ msgstr "Tempo de decaemento" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantidade" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Nivel do destino" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantidade" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Nivel F2" #~ msgid "Bass Cut" #~ msgstr "Paso alto" #~ msgid "Treble Cut" #~ msgstr "Corte de agudos" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Paredes baleiras" #~ msgid "Room" #~ msgstr "Sala" #~ msgid "Large Empty Hall" #~ msgstr "Sala de concertos grande baleira" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Sala de concertos grande ocupada" #~ msgid "Import Model" #~ msgstr "Importar modelo" #~ msgid "Models" #~ msgstr "Modelos" #, fuzzy #~ msgid "Standard Model" #~ msgstr "Modelo RNNoise estándar" #, fuzzy #~ msgid "RNNoise Models List" #~ msgstr "Modelo RNNoise estándar" #~ msgid "Active Model" #~ msgstr "Modelo activo" #~ msgid "Standard RNNoise Model" #~ msgstr "Modelo RNNoise estándar" #~ msgid "Overview" #~ msgstr "Vista xeral" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Restabelecer EasyEffects." #, fuzzy #~ msgid "Close the Window" #~ msgstr "Agochar a xanela." #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Balance" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balance" #~ msgid "Softclip" #~ msgstr "Compresión de ganancia" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Compresión de ganancia" #~ msgid "Stereo Matrix" #~ msgstr "Matriz estéreo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "DE>DE (Predeterminado de estéreo)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "ED>M (Estéreo a medio)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "M>ED (Medio a estéreo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "ED>EE (Mono canle esquerda)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "ED>DD (Mono canle dereita)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "ED>E+D(Mono suma de E+D)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "ED>DE (Canles estéreo invertidas)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Base de estéreo" #~ msgid "Invert Phase" #~ msgstr "Inverter fase" #~ msgid "Side Level" #~ msgstr "Nivel lateral" #~ msgid "Side Balance" #~ msgstr "Balance lateral" #~ msgid "Middle Level" #~ msgstr "Nivel medio" #~ msgid "Middle Panorama" #~ msgstr "Panorama medio" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Saída" #~ msgid "Delay L/R" #~ msgstr "Delonga E/D" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Delonga E/D" #~ msgid "Stereo Base" #~ msgstr "Base de estéreo" #~ msgid "Stereo Phase" #~ msgstr "Fase estéreo" #, fuzzy #~ msgid "Running" #~ msgstr "en execución" #, fuzzy #~ msgid "Suspended" #~ msgstr "suspendido" #, fuzzy #~ msgid "Creating" #~ msgstr "a crear" #, fuzzy #~ msgid "Error" #~ msgstr "erro" #, fuzzy #~ msgid "channels" #~ msgstr "Canles" #~ msgid "Output Presets: " #~ msgstr "Preconfiguracións de saída: " #~ msgid "Input Presets: " #~ msgstr "Preconfiguracións de entrada: " #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efectos de son para as aplicacións de PulseAudio" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Saír do EasyEffects. É últil cando se executa no modo de servizo." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Cargar unha preconfiguración. Exemplo: pulseefects-l music" #~ msgid "Reset EasyEffects." #~ msgstr "Restabelecer EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Agochar a xanela." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Desvío global. 1 para activar, 2 para desactivar e 3 para coñecer o estado" #~ msgid "Show available presets." #~ msgstr "Mostrar preoconfiguracións dispoñíbeis." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Importar ficheiro de impulso" #~ msgid "Import Impulse File" #~ msgstr "Importar ficheiro de impulso" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid "Impulse Response" #~ msgstr "Resposta de impulso" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Resposta de impulso" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Importar impulso" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Importar ficheiro de impulso" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Non foi posíbel cargar o ficheiro de impulso" #~ msgid "Recorders" #~ msgstr "Gravadoras" #~ msgid "Players" #~ msgstr "Reprodutores" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "Import APO Preset File" #~ msgstr "Importar ficheiro de preconfiguracións de APO" #~ msgid "APO Presets" #~ msgstr "Preconfiguracións de APO" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Retirar este ficheiro de preconfiguracións" #~ msgid "Remove" #~ msgstr "Eliminar" #, fuzzy #~ msgid "Output Device" #~ msgstr "Saída" #~ msgid "Add" #~ msgstr "Engadir" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Importar preconfiguración" #~ msgid "Import Model File" #~ msgstr "Importar ficheiro de modelo" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Modelo RNNoise estándar" #~ msgid "Bass Enhancer" #~ msgstr "Mellora de baixos" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Sonoridade" #~ msgid "Convolver" #~ msgstr "Convolución" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Cristalizador" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Delonga" #~ msgid "Echo Canceller" #~ msgstr "Cancelador de cco" #~ msgid "Equalizer" #~ msgstr "Ecualizador" #~ msgid "Exciter" #~ msgstr "Excitación" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limitador" #~ msgid "Maximizer" #~ msgstr "Maximizador" #~ msgid "Multiband Compressor" #~ msgstr "Compresor multibanda" #~ msgid "Multiband Gate" #~ msgstr "Porta multibanda" #~ msgid "Pitch" #~ msgstr "Ton" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Reverberación" #~ msgid "Noise Reduction" #~ msgstr "Redución de ruído" #~ msgid "Stereo Tools" #~ msgstr "Ferramentas de estéreo" #~ msgid "Average" #~ msgstr "Media" #~ msgid "Failed" #~ msgstr "Fallou" #, fuzzy #~ msgid "Use Default" #~ msgstr "Empregar o predeterminado" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Retirar este ficheiro de preconfiguracións" #~ msgid "Import Presets" #~ msgstr "Importar preconfiguración" #~ msgid "Start Service at Login" #~ msgstr "Iniciar automaticamente coa sesión" #, fuzzy #~ msgid "Activate" #~ msgstr "Modelo activo" #~ msgid "Add to Blocklist" #~ msgstr "Engadir á lista de bloqueo" #~ msgid "Blocklist" #~ msgstr "Lista de bloqueos" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibración do micrófono" #, fuzzy #~ msgid "enabled" #~ msgstr "Activar" #, fuzzy #~ msgid "disabled" #~ msgstr "Activar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latencia" #~ msgid "idle" #~ msgstr "ocioso" #~ msgid "Faster" #~ msgstr "Máis rápido" #~ msgid "Preserve Formant" #~ msgstr "Conservar formante" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Saída" #, fuzzy #~ msgid "Channel" #~ msgstr "Canles" #, fuzzy #~ msgid "Value" #~ msgstr "Chan" #~ msgid "Output Effects" #~ msgstr "Efectos de saída" #~ msgid "Settings" #~ msgstr "Configuración" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Configuración" #, fuzzy #~ msgid "Documentation" #~ msgstr "Duración" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Sinais de proba" #, fuzzy #~ msgid "Signal" #~ msgstr "Sinais de proba" #~ msgid "Show Spectrum" #~ msgstr "Mostrar espectro" #~ msgid "Border" #~ msgstr "Bordo" #~ msgid "Spectrum Type" #~ msgstr "Tipo de espectro" #~ msgid "Spectrum Color" #~ msgstr "Cor do espectro" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Modelo activo" #~ msgid "Maximum Gain Reduction" #~ msgstr "Redución máxima da ganancia" #, fuzzy #~ msgid "Wet" #~ msgstr "Ponderacións" #~ msgid "Dry" #~ msgstr "Seco" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "Short Term" #~ msgstr "Curto prazo" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Frecuencias baixas" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Fixación do volume e des/activación dos efectos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Inclúe un ecualizador con preconfiguracións incorporadas" #~ msgid "Input Limiter" #~ msgstr "Limitador de entrada" #~ msgid "Calibration" #~ msgstr "Calibración" #~ msgid "Automatic Smoothing Control" #~ msgstr "Control de suavizado automático" #~ msgid "Limit" #~ msgstr "Límite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuación" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Efectos de son para as aplicacións de PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Efectos de son para as aplicacións de PulseAudio" #~ msgid "Help" #~ msgstr "Axuda" #~ msgid "Calibration Microphone" #~ msgstr "Calibración do micrófono" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Aplicar esta preconfiguración automaticamente sempre que o dispositivo en " #~ "uso estea conectado ao sistema" #~ msgid "Version" #~ msgstr "Versión" #, fuzzy #~ msgid "Default Devices and Sampling Rate" #~ msgstr "Taxa da mostraxe predeterminada" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Cadrado" #~ msgid "Saw" #~ msgstr "Serra" #~ msgid "Triangle" #~ msgstr "Triángulo" #~ msgid "Silence" #~ msgstr "Silencio" #~ msgid "Pink Noise" #~ msgstr "Ruído rosa" #~ msgid "Ticks" #~ msgstr "Marcas" #~ msgid "Gaussian Noise" #~ msgstr "Ruído gaussiano" #~ msgid "Red Noise" #~ msgstr "Ruído vermello" #~ msgid "Blue Noise" #~ msgstr "Ruído azul" #~ msgid "Violet Noise" #~ msgstr "Ruído violeta" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Window" #~ msgstr "Xanela" #~ msgid "Measure Noise" #~ msgstr "Medir ruído" #~ msgid "Subtract Noise" #~ msgstr "Subtraer ruído" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Provided by" #~ msgstr "Fornecido por" #~ msgid "Extended Filter" #~ msgstr "Filtro estendido" #~ msgid "Low" #~ msgstr "Baixo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alta" #~ msgid "Suppression Level" #~ msgstr "Nivel de supresión" #~ msgid "Delay Agnostic" #~ msgstr "Agnóstico coa delonga" #~ msgid "Very High" #~ msgstr "Moi alta" #~ msgid "Noise Suppressor" #~ msgstr "Supresión de ruído" #~ msgid "Adaptive Digital" #~ msgstr "Dixital adaptativo" #~ msgid "Fixed Digital" #~ msgstr "Dixital fixo" #~ msgid "Gain Controller" #~ msgstr "Controlador de ganancia" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidade de detección" #~ msgid "Very Low" #~ msgstr "Moi baixa" #~ msgid "Voice Detector" #~ msgstr "Detector de voces" #~ msgid "Use Custom Color" #~ msgstr "Empregar cor personalizada" #~ msgid "Use Gradient" #~ msgstr "Empregar gradación" #~ msgid "Gradient Color" #~ msgstr "Cor de gradación" #~ msgid "Import Impulse Response File" #~ msgstr "Importar ficheiro de resposta de impulso" #~ msgid "Select the impulse Response File" #~ msgstr "Seleccione o ficheiro de resposta de impulso" #~ msgid "Aggressive Mode" #~ msgstr "Modo agresivo" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Despois" #~ msgid "Loudness Range" #~ msgstr "Intervalo de sonoridade" #~ msgid "Loudness Compensator" #~ msgstr "Compensador de sonoridade" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "Based on" #~ msgstr "Baseado en" #~ msgid "Detect Silence" #~ msgstr "Detectar silencio" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Conecte de novo o micrófono para aplicar os cambios feitos na lista de " #~ "bloqueos" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "" #~ "Reinicie o reprodutor para aplicar os cambios feitos na lista de boqueos" #~ msgid "Low-pass Frequency" #~ msgstr "Frecuencias baixas" #~ msgid "Advanced" #~ msgstr "Avanzado" #~ msgid "Apply APO Preset" #~ msgstr "Aplicar preconfiguración de APO" #~ msgid "Muted" #~ msgstr "Enmudecido" #~ msgid "Distant Headphones" #~ msgstr "Auriculares distantes" #~ msgid "Niceness" #~ msgstr "Prioridade" #~ msgid "Priority Type" #~ msgstr "Tipo de prioridade" #~ msgid "Priority" #~ msgstr "Prioridade" #~ msgid "About" #~ msgstr "Acerca de" #~ msgid "Default Source" #~ msgstr "Fonte predeterminada" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de mostraxe predeterminado" #~ msgid "Channel Mapping" #~ msgstr "Asignación de canles" #~ msgid "Server" #~ msgstr "Servidor" #~ msgid "File" #~ msgstr "Ficheiro" #~ msgid "Configuration" #~ msgstr "Configuración" #~ msgid "Resamplers" #~ msgstr "Resampleadores" #~ msgid "Pipeline Input" #~ msgstr "Entrada de tubaxe" #~ msgid "Buffer" #~ msgstr "Búfer" #~ msgid "Pipeline Output" #~ msgstr "Saída de tubaxe" #~ msgid "Block Size" #~ msgstr "Tamaño do bloque" #~ msgid "Sampling" #~ msgstr "Mostraxe" #~ msgid "Minimum Frequency" #~ msgstr "Frecuencia mínima" #~ msgid "Maximum Frequency" #~ msgstr "Frecuencia máxima" easyeffects-7.1.7/po/news/hi.po000066400000000000000000001163141463533416400164000ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-02-08 22:21+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:8 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:17 msgid "Wellington Wallace" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:14 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:43 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:47 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:51 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:74 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:296 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:312 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:328 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:390 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:405 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:420 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:440 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:458 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:497 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:75 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:356 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:63 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:64 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:65 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:146 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:160 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:173 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:225 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:286 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:357 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:410 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:422 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:512 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:66 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:67 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:78 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:89 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:101 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:133 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:148 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:162 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:175 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:187 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:212 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:274 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:289 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:381 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:100 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:134 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:135 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:144 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:145 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:147 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:157 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:161 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:174 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:176 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:186 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:188 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:189 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:199 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:211 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:213 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:223 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:224 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:226 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:237 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:238 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:239 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:240 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:271 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:287 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:288 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:297 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:300 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:301 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:314 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:316 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:329 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:331 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:332 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:344 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:358 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:380 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:382 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:392 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:393 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:406 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:408 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:409 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:424 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:425 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:447 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:448 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:449 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:451 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:460 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:473 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:513 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:523 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:524 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:525 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:526 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:527 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/hr.po000066400000000000000000002133131463533416400164060ustar00rootroot00000000000000# Croatian translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the EasyEffects package. # gogo , 2017. # rooty , 2018. # flipwise , 2018. msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-09-29 07:18+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.14.1\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Zvučni efekti za PipeWire aplikacije" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects je napredan alat za manipulaciju zvuka. Uključuje ekvalizator, " "graničnik, kompresor i alat odjeka. Sadrži i ugrađeni analizator spektra." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Zato što EasyEffects koristi zadani PulseAudio zvučni poslužitelj, radit će " "s većinom, ako ne i sa svim aplikacijama koje koristite. Sve podržane " "aplikacije su prikazane u glavnom prozoru, gdje se na svaku pojedinačno može " "omogućiti utjecaj efekata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Osim manipuliranja izlaza zvuka, EasyEffects može primijeniti efekte i na " "ulazni uređaj, poput mikrofona. To je na primjer korisno pri snimanju zvuka, " "ali isto tako funkcionira dobro i tijekom glasovnih razgovora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Kad je EasyEffects pokrenut, upotrijebit će podešavanja od prošlog puta. " "Također je moguće spremiti sve trenutne postavke kao predloške." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Broj raspona" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ekvalizator, kompresor i drugi audio efekti" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "graničnik;kompresor;odjek;ekvalizator;automatska glasnoća zvuka;" #, fuzzy #~ msgid "\"Presets\"" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Enable" #~ msgstr "Omogući" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplikacije" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplikacije" #, fuzzy #~ msgid "_Shortcuts" #~ msgstr "Kratkoročno" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Postavke" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Global Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplikacije" #, fuzzy #~ msgid "Empty List" #~ msgstr "Prazna soba" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplikacije" #~ msgid "Target" #~ msgstr "Meta" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Najveće pojačanje" #~ msgid "Momentary" #~ msgstr "Trenutačno" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Kratkoročno" #~ msgid "Integrated" #~ msgstr "Integrirano" #, fuzzy #~ msgid "Reset History" #~ msgstr "Vrati izvornu kvalitetu" #~ msgid "Relative" #~ msgstr "Relativno" #~ msgid "Range" #~ msgstr "Raspon" #~ msgid "Loudness" #~ msgstr "Glasnoća" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Pojačanje ulaza" #~ msgid "Input" #~ msgstr "Ulaz" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Pojačanje ulaza" #~ msgid "Output" #~ msgstr "Izlaz" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Pojačanje ulaza" #~ msgid "Reset" #~ msgstr "Vrati na tvorničke postavke" #, fuzzy #~ msgid "Device" #~ msgstr "Ulazni uređaj" #~ msgid "Name" #~ msgstr "Naziv" #, fuzzy #~ msgid "Preset" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Kompresija" #~ msgid "Listen" #~ msgstr "Poslušaj" #~ msgid "Blend Harmonics" #~ msgstr "Spajanje harmonijskog reda" #~ msgid "3rd" #~ msgstr "3." #~ msgid "2nd" #~ msgstr "2." #~ msgid "Amount" #~ msgstr "Jačina" #~ msgid "Harmonics" #~ msgstr "Harmonijski red" #~ msgid "Scope" #~ msgstr "Raspon" #~ msgid "Floor" #~ msgstr "Dno" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Dno" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplikacije" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Aplikacije" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplikacije" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Aplikacije" #~ msgid "Compressor" #~ msgstr "Kompresor" #~ msgid "Mode" #~ msgstr "Način" #, fuzzy #~ msgid "Compression Mode" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Jačina" #~ msgid "Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Time" #~ msgstr "Vrijeme opadanja intenziteta signala" #~ msgid "Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Prag" #~ msgid "Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Release Time" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Prag" #~ msgid "Ratio" #~ msgstr "Omjer" #, fuzzy #~ msgid "Knee" #~ msgstr "Koljeno" #, fuzzy #~ msgid "Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Sidechain" #~ msgstr "Postranični ulaz" #~ msgid "Peak" #~ msgstr "Vrhunac" #~ msgid "RMS" #~ msgstr "RMS" #, fuzzy #~ msgid "Low-Pass" #~ msgstr "Nizak prolaz" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Source" #~ msgstr "Izvor" #, fuzzy #~ msgid "Middle" #~ msgstr "Srednji nivo" #, fuzzy #~ msgid "Side" #~ msgstr "Strana" #~ msgid "Left" #~ msgstr "Lijevo" #~ msgid "Right" #~ msgstr "Desno" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Feed-back" #~ msgstr "Dovod zvuka" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Input Device" #~ msgstr "Ulazni uređaj" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Aplikacije" #~ msgid "Lookahead" #~ msgstr "Preduhvatiti" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Filter visokog prolaza" #~ msgid "Frequency" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "12dB/oct niski prolaz" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "24dB/oct niski prolaz" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "36dB/oct niski prolaz" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filter visokog prolaza" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Prigušivanje visokih frekvencija" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filter visokog prolaza" #~ msgid "Gain" #~ msgstr "Pojačanje" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Kanali" #~ msgid "R" #~ msgstr "D" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Kanali" #, fuzzy #~ msgid "Impulses" #~ msgstr "Reakcija impulsa" #, fuzzy #~ msgid "Stereo Width" #~ msgstr "Stereo širina" #~ msgid "Spectrum" #~ msgstr "Spektar" #, fuzzy #~ msgid "Autogain" #~ msgstr "Automatsko pojačavanje" #~ msgid "Rate" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Samples" #~ msgstr "Semplovi" #, fuzzy #~ msgid "Duration" #~ msgstr "Trajanje" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Reakcija impulsa" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Izlaz" #, fuzzy #~ msgid "Import Impulse" #~ msgstr "Učitaj impuls" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Učitaj impuls datoteku" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Učitaj impuls datoteku" #~ msgid "Default" #~ msgstr "Tvorničke postavke" #~ msgid "Cutoff" #~ msgstr "Prekid" #~ msgid "Feed" #~ msgstr "Dovod zvuka" #~ msgid "Bypass" #~ msgstr "Premosnica" #~ msgid "Mute" #~ msgstr "Bezvučno" #~ msgid "Detection" #~ msgstr "Detekcija" #~ msgid "Wide" #~ msgstr "Široko" #, fuzzy #~ msgid "Split" #~ msgstr "Razdvojeno" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Razdvojeno" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Vrhunac" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Pojačanje" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Razina" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Vrhunac Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frekvencija" #~ msgid "Laxity" #~ msgstr "Popustljivost" #, fuzzy #~ msgid "Detected" #~ msgstr "Detektirano" #, fuzzy #~ msgid "Reduction" #~ msgstr "Smanjenje" #~ msgid "Frame Size" #~ msgstr "Veličina okvira" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filter" #~ msgid "Bands" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Split Channels" #~ msgstr "Kanali" #~ msgid "Flat Response" #~ msgstr "Ravan izlaz" #~ msgid "Calculate Frequencies" #~ msgstr "Izračunaj frekvencije" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Predlošci" #, fuzzy #~ msgid "High Pass" #~ msgstr "Filter visokog prolaza" #~ msgid "High Shelf" #~ msgstr "Visoki shelf" #~ msgid "Low Pass" #~ msgstr "Nizak prolaz" #~ msgid "Low Shelf" #~ msgstr "Niski shelf" #~ msgid "Resonance" #~ msgstr "Rezonancija" #, fuzzy #~ msgid "All Pass" #~ msgstr "Nizak prolaz" #, fuzzy #~ msgid "Band Type" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Broj raspona" #~ msgid "Width" #~ msgstr "Širina" #~ msgid "Quality" #~ msgstr "Kvaliteta" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Vrh" #, fuzzy #~ msgid "Description" #~ msgstr "Detekcija" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Kompresija" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct niski prolaz" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct niski prolaz" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct niski prolaz" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct visoki prolaz" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct visoki prolaz" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct visoki prolaz" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct band prolaz" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct band prolaz" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct band prolaz" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct odbijanje banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct odbijanje banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct odbijanje banda" #~ msgid "Inertia" #~ msgstr "Inercija" #~ msgid "Gate" #~ msgstr "Vrata" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Internal" #~ msgstr "Integrirano" #~ msgid "Oversampling" #~ msgstr "Jači sampling" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Široko" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Široko" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Širina" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Širina" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Širina" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Aplikacije" #~ msgid "Stereo Link" #~ msgstr "Stereo veza" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Automatsko pojačavanje" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Automatsko pojačavanje" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Automatsko pojačavanje" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Automatsko pojačavanje" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Lijevo" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Desno" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Veličina okvira" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Izlaz" #~ msgid "Ceiling" #~ msgstr "Vrh" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Učitaj impuls" #, fuzzy #~ msgid "Modern" #~ msgstr "Način" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Bands List" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 5" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 6" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 7" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 8" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band End" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Postranični ulaz" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filter" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Filter" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filter visokog prolaza" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Filter visokog prolaza" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Razdvojeno" #, fuzzy #~ msgid "Split 1/2" #~ msgstr "Razdvojeno 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Split 2/3" #~ msgstr "Razdvojeno 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Split 3/4" #~ msgstr "Razdvojeno 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Sub Band" #~ msgstr "Sub band" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Dorada" #~ msgid "Max Reduction" #~ msgstr "Smanjenje" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Low Band" #~ msgstr "Niski band" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Mid Band" #~ msgstr "Srednji band" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "High Band" #~ msgstr "Visoki band" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Premosnica" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Pokretanje" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Vrijeme prijelaza" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Broj raspona" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Dorada" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Ograničenje pojačanja" #~ msgid "General" #~ msgstr "Općenito" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Koristi tvorničke postavke" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Ulazni uređaj" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Koristi tvorničke postavke" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberacija" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Jači sampling" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Najveće pojačanje" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Tvorničke postavke" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Ulazni uređaj" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Clients" #~ msgstr "Centi" #, fuzzy #~ msgid "Clients List" #~ msgstr "Centi" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Testni signali" #~ msgid "State" #~ msgstr "Stanje" #, fuzzy #~ msgid "Enabled" #~ msgstr "Omogući" #~ msgid "Channels" #~ msgstr "Kanali" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Kanali" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Sinus tablica" #~ msgid "White Noise" #~ msgstr "Bijeli šum" #, fuzzy #~ msgid "High Speed" #~ msgstr "Visoki shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvaliteta" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Crisp" #~ msgstr "Oštrina" #, fuzzy #~ msgid "Detector" #~ msgstr "Detekcija" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresija" #~ msgid "Cents" #~ msgstr "Centi" #~ msgid "Semitones" #~ msgstr "Polustepeni" #~ msgid "Octaves" #~ msgstr "Oktave" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Ulazni efekti" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "Općenito" #, fuzzy #~ msgid "Service" #~ msgstr "Ulazni uređaj" #~ msgid "Use Dark Theme" #~ msgstr "Koristi tamnu temu" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Spektar" #~ msgid "Points" #~ msgstr "Broj traka" #, fuzzy #~ msgid "Height" #~ msgstr "Visina" #, fuzzy #~ msgid "Line Width" #~ msgstr "Širina" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Minimum" #~ msgstr "Maksimum" #, fuzzy #~ msgid "Maximum" #~ msgstr "Maksimum" #, fuzzy #~ msgid "Save current settings to this preset file" #~ msgstr "Spremi trenutne postavke u predložak" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Stvori predložak" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Učitaj predloške" #~ msgid "High Frequency Damping" #~ msgstr "Prigušivanje visokih frekvencija" #~ msgid "Room Size" #~ msgstr "Veličina sobe" #, fuzzy #~ msgid "Small" #~ msgstr "Mala" #~ msgid "Medium" #~ msgstr "Osrednja" #, fuzzy #~ msgid "Large" #~ msgstr "Velika" #~ msgid "Tunnel" #~ msgstr "Tunel" #~ msgid "Large/smooth" #~ msgstr "Velika/glatko" #~ msgid "Experimental" #~ msgstr "Eksperimentalna" #~ msgid "Diffusion" #~ msgstr "Difuzija" #, fuzzy #~ msgid "Pre Delay" #~ msgstr "Prijevremeno kašnjenje" #~ msgid "Decay Time" #~ msgstr "Vrijeme opadanja intenziteta signala" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Jačina" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Ciljana razina" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Jačina" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Razina" #~ msgid "Bass Cut" #~ msgstr "Odrezivanje basa" #~ msgid "Treble Cut" #~ msgstr "Odrezivanje trebla" #, fuzzy #~ msgid "Ambience" #~ msgstr "Ambijent" #~ msgid "Empty Walls" #~ msgstr "Prazna soba" #, fuzzy #~ msgid "Room" #~ msgstr "Soba" #~ msgid "Large Empty Hall" #~ msgstr "Velika prazna dvorana" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Velika popunjena dvorana" #, fuzzy #~ msgid "Import Model" #~ msgstr "Učitaj impuls" #, fuzzy #~ msgid "Models" #~ msgstr "Način" #, fuzzy #~ msgid "Active Model" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Overview" #~ msgstr "Ulazni uređaj" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Ravnoteža" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Ravnoteža" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Stranična razina" #, fuzzy #~ msgid "Stereo Matrix" #~ msgstr "Stereo matrica" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Stereo baza" #~ msgid "Invert Phase" #~ msgstr "Inverzija faze" #, fuzzy #~ msgid "Side Level" #~ msgstr "Stranična razina" #, fuzzy #~ msgid "Side Balance" #~ msgstr "Stranična ravnoteža" #, fuzzy #~ msgid "Middle Level" #~ msgstr "Srednji nivo" #, fuzzy #~ msgid "Middle Panorama" #~ msgstr "Srednja panorama" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Delay L/R" #~ msgstr "Kašnjenje L/D" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Kašnjenje L/D" #, fuzzy #~ msgid "Stereo Base" #~ msgstr "Stereo baza" #, fuzzy #~ msgid "Stereo Phase" #~ msgstr "Stereo faza" #, fuzzy #~ msgid "Creating" #~ msgstr "Postavke" #, fuzzy #~ msgid "channels" #~ msgstr "Kanali" #, fuzzy #~ msgid "Output Presets: " #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Input Presets: " #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Zvučni efekti za Pulseaudio aplikacije" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Zatvori EasyEffects. Korisno pri upotrebi u servisnom načinu pokretanja." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Učitaj predložak. Primjer: easyeffects -l music" #, fuzzy #~ msgid "Reset EasyEffects." #~ msgstr "EasyEffects" #~ msgid "Show available presets." #~ msgstr "Prikaži dostupne predloške." #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Učitaj impuls datoteku" #, fuzzy #~ msgid "Import Impulse File" #~ msgstr "Učitaj impuls datoteku" #~ msgid "Open" #~ msgstr "Otvori" #~ msgid "Cancel" #~ msgstr "Poništi" #, fuzzy #~ msgid "Impulse Response" #~ msgstr "Reakcija impulsa" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Reakcija impulsa" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Učitaj impuls" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Učitaj impuls datoteku" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Nije bilo moguće učitati impuls datoteku" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "APO Presets" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Output Device" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Učitaj impuls datoteku" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Kompresija" #~ msgid "Bass Enhancer" #~ msgstr "Pojačanje basa" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Glasnoća" #~ msgid "Convolver" #~ msgstr "Konvolver" #~ msgid "Crossfeed" #~ msgstr "Križno spajanje" #, fuzzy #~ msgid "Crystalizer" #~ msgstr "Kristalizator" #~ msgid "Deesser" #~ msgstr "De-esiranje" #~ msgid "Delay" #~ msgstr "Kašnjenje" #~ msgid "Echo Canceller" #~ msgstr "Poništenje jeke" #~ msgid "Equalizer" #~ msgstr "Ekvalizator" #~ msgid "Exciter" #~ msgstr "Uzbuđivač" #, fuzzy #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Limiter" #~ msgstr "Graničnik" #~ msgid "Maximizer" #~ msgstr "Maksimizer" #, fuzzy #~ msgid "Multiband Compressor" #~ msgstr "Višerasponski kompresor" #, fuzzy #~ msgid "Multiband Gate" #~ msgstr "Višerasponska vrata" #~ msgid "Pitch" #~ msgstr "Visina" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Reverberacija" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Stereo Tools" #~ msgstr "Stereo alati" #, fuzzy #~ msgid "Average" #~ msgstr "Prosjek" #~ msgid "Failed" #~ msgstr "Nije uspjelo" #, fuzzy #~ msgid "Use Default" #~ msgstr "Koristi tvorničke postavke" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Kompresija" #~ msgid "Import Presets" #~ msgstr "Učitaj predloške" #~ msgid "Start Service at Login" #~ msgstr "Pokreni servis pri pokretanju računala" #, fuzzy #~ msgid "Activate" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Crna lista" #~ msgid "Blocklist" #~ msgstr "Crna lista" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibracija mikrofona" #, fuzzy #~ msgid "enabled" #~ msgstr "Omogući" #, fuzzy #~ msgid "disabled" #~ msgstr "Omogući" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latencija" #~ msgid "Faster" #~ msgstr "Brže" #~ msgid "Preserve Formant" #~ msgstr "Sačuvaj formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Pojačanje ulaza" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanali" #, fuzzy #~ msgid "Value" #~ msgstr "Dno" #~ msgid "Output Effects" #~ msgstr "Izlazni efekti" #~ msgid "Settings" #~ msgstr "Postavke" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Postavke" #, fuzzy #~ msgid "Documentation" #~ msgstr "Trajanje" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Testni signali" #, fuzzy #~ msgid "Signal" #~ msgstr "Testni signali" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spektar" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spektar" #, fuzzy #~ msgid "Spectrum Color" #~ msgstr "Boja spektra" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Ograničenje pojačanja" #, fuzzy #~ msgid "Wet" #~ msgstr "Otežanja" #~ msgid "Dry" #~ msgstr "Suhoća" #, fuzzy #~ msgid "S/C Level" #~ msgstr "S/C Razina" #~ msgid "Short Term" #~ msgstr "Kratkoročno" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Nizak prolaz" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Postavi razinu zvuka te uključi/isključi efekte" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Uključuje i ekvalizator s ugrađenim predlošcima" #~ msgid "Input Limiter" #~ msgstr "Graničnik ulaza" #~ msgid "Calibration" #~ msgstr "Kalibracija" #~ msgid "Limit" #~ msgstr "Granica" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Prigušenje" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Zvučni efekti za Pulseaudio aplikacije" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Zvučni efekti za Pulseaudio aplikacije" #~ msgid "Help" #~ msgstr "Pomoć" #, fuzzy #~ msgid "Calibration Microphone" #~ msgstr "Kalibracija mikrofona" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Kvadrat" #~ msgid "Saw" #~ msgstr "Pila" #~ msgid "Triangle" #~ msgstr "Trokut" #, fuzzy #~ msgid "Silence" #~ msgstr "Tišina" #~ msgid "Pink Noise" #~ msgstr "Rozi šum" #~ msgid "Ticks" #~ msgstr "Otkucaji" #~ msgid "Gaussian Noise" #~ msgstr "Gaussov šum" #~ msgid "Red Noise" #~ msgstr "Crveni šum" #~ msgid "Blue Noise" #~ msgstr "Plavi šum" #~ msgid "Violet Noise" #~ msgstr "Ljubičasti šum" #~ msgid "Volume" #~ msgstr "Glasnoća" #~ msgid "Window" #~ msgstr "Prozor" #~ msgid "Measure Noise" #~ msgstr "Izmjeri šum" #~ msgid "Subtract Noise" #~ msgstr "Izdvoji šum" #~ msgid "Extended Filter" #~ msgstr "Prošireni filter" #~ msgid "Low" #~ msgstr "Nisko" #~ msgid "Moderate" #~ msgstr "Umjereno" #~ msgid "High" #~ msgstr "Visoko" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Razina supresije" #, fuzzy #~ msgid "Very High" #~ msgstr "Jako visoko" #~ msgid "Noise Suppressor" #~ msgstr "Supresija buke" #~ msgid "Gain Controller" #~ msgstr "Kontrola pojačanja" #~ msgid "Detection Likelihood" #~ msgstr "Vjerojatnost detekcije" #~ msgid "Very Low" #~ msgstr "Vrlo nisko" #~ msgid "Voice Detector" #~ msgstr "Detektor glasa" #~ msgid "Use Custom Color" #~ msgstr "Koristi vlastitu boju" #~ msgid "Import Impulse Response File" #~ msgstr "Učitaj datoteku reakcije impulsa" #, fuzzy #~ msgid "Select the impulse Response File" #~ msgstr "Odaberite datoteku reakcije impulsa" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Kompresija" #, fuzzy #~ msgid "Loudness Range" #~ msgstr "Glasnoća" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Tvorničke postavke" #, fuzzy #~ msgid "Default Source" #~ msgstr "Tvorničke postavke" #, fuzzy #~ msgid "Configuration" #~ msgstr "Trajanje" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Izračunaj frekvencije" #, fuzzy #~ msgid "Advanced" #~ msgstr "Napredne postavke" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Predlošci" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Detekcija" #, fuzzy #~ msgid "Muted" #~ msgstr "Bezvučno" #~ msgid "Distant Headphones" #~ msgstr "Udaljene slušalice" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frekvencija" #, fuzzy #~ msgid "Channel Mapping" #~ msgstr "Kanali" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Promjena frekvencije" #~ msgid "Buffer" #~ msgstr "Latencija međuspremnika" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Ekvalizator - Izlaz" #, fuzzy #~ msgid "Block Size" #~ msgstr "Veličina bloka" #~ msgid "Resampler" #~ msgstr "Promjena frekvencije" #~ msgid "paused" #~ msgstr "pauzirano" #~ msgid "playing" #~ msgstr "reprodukcija" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Učitaj predloške" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Ograničenje pojačanja" easyeffects-7.1.7/po/news/hu.po000066400000000000000000001225631463533416400164170ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-04-02 17:53+0000\n" "PO-Revision-Date: 2024-04-03 16:48+0000\n" "Last-Translator: Noel \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Hangeffektek PipeWire alkalmazásokhoz" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Az Easy Effects egy haladó hang manipuláló eszköz. Tartalmaz equalizert, " "limitálót, kompresszort és reverberationt is hogy említszünk párat. Ennek " "kiegészítéséhez van egy beépített spektrum-analizátor is." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Az Easy Effects az a PulseEffects utódja. Az Easy Effects csakis a PipeWire " "audio szervert támogatja. PulseAudio felhasználók PulseEffectet használjanak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Mivel az Easy Effects az alapértelmezett PipeWire hang szervert használja, " "azért szinte az összes alkalmazással működik. Minden támogatott alkalmazás " "fel van tüntetve a fő ablakban és egyessével bekapcsolhatók." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "A kimenet manipuláció mellett, az EasyEffects még a bemenetet is tudja " "manipulálni, pl mikrofont. Ez hasznos pl. hangfelvételt közbe, mivel jól " "működik." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Az Easy Effects indításkor megjegyzi az előző munkamenetből a konfigurációt. " "Lehetséges több konfigurációt is elmenteni profilokban." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "A fő oldal két kimenetet mutat" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "A basszus erősítő oldal mutatja az hang állítót" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Funkciók:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Hibajavítások:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Frissített fordítások" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/id_ID.po000066400000000000000000002260701463533416400167510ustar00rootroot00000000000000# This is Indonesia translate file for PE. We are need your help to completely translate this project. You can translate PuleEffect's help file to Indonesian to develop this project. If you any question about translating process, just send email that I have been desribed below. But if you want to support such as reporting any bugs, go ahead to github page @ https://github.com/wwmm/easyeffects/ # Copyright (C) 2018 # This file is distributed under the same license as the EasyEffects package. # Dika Muhamad A. , 2018. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-11-04 05:01+0000\n" "Last-Translator: Reno Sifana Paksi \n" "Language-Team: Indonesian \n" "Language: id_ID\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.14.2-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Efek Audio untuk Aplikasi PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects merupakan aplikasi pengubah efek suara. Berisi modul-modul " "seperti ekualiser, pembatas, kompresor, dan modul penggema. Dilengkapi juga " "dengan Penganalisis Spektrum untuk memantau efek yang diterapkan." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects adalah penerus dari PulseEffects. Easy Effects hanya mendukung " "server audio PipeWire. Pengguna PulseAudio sebaiknya menggunakan " "PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "EasyEffects bekerja dengan aplikasi berbasis PulseAudio. Aplikasi yang " "mendukung EasyEffects akan ditampilkan pada jendela utama aplikasi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Selain mengolah suara yang keluar, EasyEffects dapat mengolah efek suara " "seperti pada mikrofon dan pengakat masukan lainnya. EasyEffects juga bekerja " "dengan baik ketika dipakai dalam percakapan suara." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Ketika EasyEffects dijalankan, preset terakhir yang dipakai akan termuat " "otomatis. Anda juga dapat menyimpan pengaturan yang telah dibuat ke dalam " "profil tersendiri." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Halaman utama menampilkan dua aplikasi keluaran audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Fitur:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Perbaikan Bug:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Catatan lainnya:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Terjemahan yang diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Terjemahan yang diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 #, fuzzy msgid "The documentation has been updated." msgstr "Dukumentasi telah diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "Terjemahan yang ditingkatkan" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 #, fuzzy msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "Antarmuka efek tidak lagi termuat ketika plugin lv2 terkait tidak terpasang " "di sistem." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "Dukumentasi telah diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Pesan debug yang ditingkatkan" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Terjemahan yang ditingkatkan" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Memperbaiki bug dimana EasyEffects bisa macet saat menutup jendelanya " "sementara efek sedang diterapkan." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 #, fuzzy msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "Ikon aplikasi kami sekarang kompatibel dengan desktop yang menggunakan QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Band 1" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Equalizer, Compressor and Other Audio Effects" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgid "\"Presets\"" #~ msgstr "Preset" #, fuzzy #~ msgid "Enable" #~ msgstr "Hidupkan" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplikasi" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplikasi" #, fuzzy #~ msgid "_Shortcuts" #~ msgstr "Waktu Singkat" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Setelan" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Preset" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Preset" #, fuzzy #~ msgid "Global Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplikasi" #, fuzzy #~ msgid "Empty List" #~ msgstr "Tembok Kosong" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplikasi" #~ msgid "Target" #~ msgstr "Target" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Angkatan Maksimal" #~ msgid "Momentary" #~ msgstr "Efek Sejenak" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Waktu Singkat" #~ msgid "Integrated" #~ msgstr "Terintegrasi" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Terapkan Gradien warna" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Terapkan Gradien warna" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Terapkan Gradien warna" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Terapkan Gradien warna" #~ msgid "Relative" #~ msgstr "Relatif" #~ msgid "Range" #~ msgstr "Rentang" #~ msgid "Loudness" #~ msgstr "Kelantangan" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Gain Input" #~ msgid "Input" #~ msgstr "Masukan" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Gain Input" #~ msgid "Output" #~ msgstr "Output" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Gain Input" #~ msgid "Reset" #~ msgstr "Atur Ulang" #, fuzzy #~ msgid "Device" #~ msgstr "Pembatas Masukan" #~ msgid "Name" #~ msgstr "Nama" #, fuzzy #~ msgid "Preset" #~ msgstr "Preset" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Hapus Preset Pemuatan Otomatis" #~ msgid "Listen" #~ msgstr "Uji Pengaturan" #~ msgid "Blend Harmonics" #~ msgstr "Pencampuran Harmonik" #~ msgid "3rd" #~ msgstr "Ketiga" #~ msgid "2nd" #~ msgstr "Kedua" #~ msgid "Amount" #~ msgstr "Besaran" #~ msgid "Harmonics" #~ msgstr "Harmonik" #~ msgid "Scope" #~ msgstr "Frekuensi Target Bass" #~ msgid "Floor" #~ msgstr "Monitor Lantai" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Monitor Lantai" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplikasi" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Aplikasi" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplikasi" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Aplikasi" #~ msgid "Compressor" #~ msgstr "Kompresor" #~ msgid "Mode" #~ msgstr "Modus" #~ msgid "Downward" #~ msgstr "Kompresi Menekan" #~ msgid "Upward" #~ msgstr "Kompresi Mengangkat" #, fuzzy #~ msgid "Compression Mode" #~ msgstr "Modus Kompresi" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Besaran" #~ msgid "Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Time" #~ msgstr "Waktu Real Time" #~ msgid "Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Attack" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Ambang Batas" #~ msgid "Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Release Time" #~ msgstr "Rilis" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Ambang Batas" #~ msgid "Ratio" #~ msgstr "Rasio" #~ msgid "Knee" #~ msgstr "Knee" #~ msgid "Makeup" #~ msgstr "Penguatan" #~ msgid "Sidechain" #~ msgstr "Sidechain" #~ msgid "Peak" #~ msgstr "Peak" #~ msgid "RMS" #~ msgstr "RMS" #, fuzzy #~ msgid "Low-Pass" #~ msgstr "Band Rendah" #~ msgid "Uniform" #~ msgstr "Uniform" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Sidechain" #~ msgid "Source" #~ msgstr "Sumber" #, fuzzy #~ msgid "Middle" #~ msgstr "Volume Kanal Tengah" #~ msgid "Side" #~ msgstr "Volume Kanal Sisi" #~ msgid "Left" #~ msgstr "Kiri" #~ msgid "Right" #~ msgstr "Kanan" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Sidechain" #~ msgid "Type" #~ msgstr "Tipe" #~ msgid "Feed-forward" #~ msgstr "Feed-forward" #, fuzzy #~ msgid "Feed-back" #~ msgstr "Volume Penyuapan" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Sidechain" #, fuzzy #~ msgid "Input Device" #~ msgstr "Pembatas Masukan" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Pra-Amplifikasi" #~ msgid "Reactivity" #~ msgstr "Pengaktifan Ulang" #~ msgid "Lookahead" #~ msgstr "Lookahead" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Sidechain" #, fuzzy #~ msgid "High-Pass" #~ msgstr "High Pass" #~ msgid "Frequency" #~ msgstr "Frekuensi" #~ msgid "Off" #~ msgstr "Mati" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "Lowpass 12dB/oktaf" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "Lowpass 24dB/oktaf" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "Lowpass 36dB/oktaf" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filter High Pass" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frekuensi Tinggi" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filter High Pass" #~ msgid "Gain" #~ msgstr "Besar Gain" #, fuzzy #~ msgid "Envelope" #~ msgstr "Besar Lembah" #~ msgid "Curve" #~ msgstr "Bentuk Kurva" #~ msgid "L" #~ msgstr "Kiri" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Total Kanal" #~ msgid "R" #~ msgstr "Kanan" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Pisahkan Kanal" #, fuzzy #~ msgid "Impulses" #~ msgstr "Respons Impuls" #~ msgid "Stereo Width" #~ msgstr "Lebar Stereo" #~ msgid "Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Skala" #~ msgid "Autogain" #~ msgstr "Autogain" #~ msgid "Rate" #~ msgstr "Rataan Frekuensi" #~ msgid "Samples" #~ msgstr "Jumlah Sampel" #~ msgid "Duration" #~ msgstr "Durasi" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Respons Impuls" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Output" #~ msgid "Import Impulse" #~ msgstr "Muat Impuls" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Muat Berkas Impuls" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Muat Berkas Impuls" #~ msgid "Default" #~ msgstr "Aturan Bawaan" #~ msgid "Cutoff" #~ msgstr "Frekuensi Potong" #~ msgid "Feed" #~ msgstr "Volume Penyuapan" #~ msgid "Bypass" #~ msgstr "Bypass" #~ msgid "Mute" #~ msgstr "Bungkam" #~ msgid "Detection" #~ msgstr "Deteksi" #~ msgid "Wide" #~ msgstr "Luas" #~ msgid "Split" #~ msgstr "Pisah" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Pisah" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Peak" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Besar Gain" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Level" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Peak Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frekuensi" #~ msgid "Laxity" #~ msgstr "Laksitas" #~ msgid "Detected" #~ msgstr "Terlacak" #, fuzzy #~ msgid "Reduction" #~ msgstr "Pengurangan" #~ msgid "Frame Size" #~ msgstr "Ukuran Bingkai" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filter" #~ msgid "Bands" #~ msgstr "Jumlah Band" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Pisahkan Kanal" #~ msgid "Flat Response" #~ msgstr "Respons Datar" #~ msgid "Calculate Frequencies" #~ msgstr "Hitung Frekuensi" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Preset" #~ msgid "Bell" #~ msgstr "Bell" #, fuzzy #~ msgid "High Pass" #~ msgstr "High Pass" #~ msgid "High Shelf" #~ msgstr "High Shelf" #, fuzzy #~ msgid "Low Pass" #~ msgstr "Pass Rendah" #~ msgid "Low Shelf" #~ msgstr "Low Shelf" #~ msgid "Resonance" #~ msgstr "Resonansi" #, fuzzy #~ msgid "All Pass" #~ msgstr "Pass Rendah" #, fuzzy #~ msgid "Band Type" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Jumlah Band" #~ msgid "Slope" #~ msgstr "Besar Lembah" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Besar Lembah" #~ msgid "Width" #~ msgstr "Lebar" #~ msgid "Quality" #~ msgstr "Kualitas" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Langit-langit" #, fuzzy #~ msgid "Description" #~ msgstr "Deteksi" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Hapus Berkas Preset Ini" #~ msgid "12dB/oct Lowpass" #~ msgstr "Lowpass 12dB/oktaf" #~ msgid "24dB/oct Lowpass" #~ msgstr "Lowpass 24dB/oktaf" #~ msgid "36dB/oct Lowpass" #~ msgstr "Lowpass 36dB/oktaf" #~ msgid "12dB/oct Highpass" #~ msgstr "Highpass 12dB/oktaf" #~ msgid "24dB/oct Highpass" #~ msgstr "Highpass 24dB/oktaf" #~ msgid "36dB/oct Highpass" #~ msgstr "Highpass 36dB/oktaf" #~ msgid "6dB/oct Bandpass" #~ msgstr "Bandpass 6dB/oktaf" #~ msgid "12dB/oct Bandpass" #~ msgstr "Bandpass 12dB/oktaf" #~ msgid "18dB/oct Bandpass" #~ msgstr "Bandpass 18dB/oktaf" #~ msgid "6dB/oct Bandreject" #~ msgstr "Bandreject 6dB/oktaf" #~ msgid "12dB/oct Bandreject" #~ msgstr "Bandpass 12dB/oktaf" #~ msgid "18dB/oct Bandreject" #~ msgstr "Bandpass 18dB/oktaf" #~ msgid "Inertia" #~ msgstr "Kelembaman" #~ msgid "Gate" #~ msgstr "Gate" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Rilis" #, fuzzy #~ msgid "Internal" #~ msgstr "Terintegrasi" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "Oversampling" #~ msgstr "Peningkat Sampling" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Luas" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Luas" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Lebar" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Lebar" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Lebar" #~ msgid "None" #~ msgstr "Biarkan" #~ msgid "Half x2(3L)" #~ msgstr "Setengah x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Setengah x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Setengah x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Setengah x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Setengah x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Setengah x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Setengah x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Setengah x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Setengah x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Penuh x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Penuh x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Penuh x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Penuh x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Penuh x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Penuh x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Penuh x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Penuh x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Penuh x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Penuh x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC PreAmp" #~ msgid "Sidechain PreAmplification" #~ msgstr "Pra-Amplifikasi Sidechain" #~ msgid "Stereo Link" #~ msgstr "Penautan Stereo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Sidechain" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Gain Otomatis" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Gain Otomatis" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Gain Otomatis" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Gain Otomatis" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Kiri" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Kanan" #~ msgid "Sidechain Left" #~ msgstr "Sidechain Kiri" #~ msgid "Sidechain Right" #~ msgstr "Sidechain Kanan" #~ msgid "Standard" #~ msgstr "Standar" #~ msgid "Flat" #~ msgstr "Datar" #~ msgid "FFT Size" #~ msgstr "Ukuran FFT" #~ msgid "Output Volume" #~ msgstr "Volume Keluaran" #~ msgid "Ceiling" #~ msgstr "Langit-langit" #~ msgid "Operating Mode" #~ msgstr "Mode Operasi" #~ msgid "Classic" #~ msgstr "Klasik" #~ msgid "Modern" #~ msgstr "Modern" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Sidechain" #~ msgid "Pink BT" #~ msgstr "BT Pink" #~ msgid "Pink MT" #~ msgstr "MT Pink" #~ msgid "Brown BT" #~ msgstr "BT Coklat" #~ msgid "Brown MT" #~ msgstr "MT Coklat" #~ msgid "Bands List" #~ msgstr "Daftar Band" #~ msgid "Band 1" #~ msgstr "Band 1" #~ msgid "Band 2" #~ msgstr "Band 2" #~ msgid "Band 3" #~ msgstr "Band 3" #~ msgid "Band 4" #~ msgstr "Band 4" #~ msgid "Band 5" #~ msgstr "Band 5" #~ msgid "Band 6" #~ msgstr "Band 6" #~ msgid "Band 7" #~ msgstr "Band 7" #~ msgid "Band 8" #~ msgstr "Band 8" #~ msgid "Band Start" #~ msgstr "Mulai Band" #~ msgid "Band End" #~ msgstr "Akhir Band" #~ msgid "Band Compression Mode" #~ msgstr "Mode Kompresi Band" #~ msgid "Band Bypass" #~ msgstr "Bypass Band" #~ msgid "Band Sidechain Options" #~ msgstr "Opsi Sidechain Band" #~ msgid "Low-Cut Filter" #~ msgstr "Filter Low-Cut" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Frekuensi Filter Low-Cut" #~ msgid "High-Cut Filter" #~ msgstr "Filter High-Cut" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Frekuensi Filter High-Cut" #~ msgid "PreAmp" #~ msgstr "PreAmp" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Gain Input" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Bentuk Kurva" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Pisah" #~ msgid "Split 1/2" #~ msgstr "Split 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frekuensi" #~ msgid "Split 2/3" #~ msgstr "Split 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frekuensi" #~ msgid "Split 3/4" #~ msgstr "Split 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frekuensi" #~ msgid "Sub Band" #~ msgstr "Band Sub" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Penguatan" #~ msgid "Max Reduction" #~ msgstr "Pengurangan" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "Low Band" #~ msgstr "Band Rendah" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Penguatan" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "Mid Band" #~ msgstr "Band Tengah" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Penguatan" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "High Band" #~ msgstr "Band Tinggi" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Bypass" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Attack" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Rilis" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Ambang Batas" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Jumlah Band" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Penguatan" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Pengurangan Kuatan" #~ msgid "General" #~ msgstr "Umum" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Gunakan Aturan Bawaan" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Pembatas Masukan" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Gunakan Aturan Bawaan" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Gain Input" #, fuzzy #~ msgid "Server Information" #~ msgstr "Penggemaan" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Atur Sampling" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Angkatan Maksimal" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Aturan Bawaan" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Gain Input" #~ msgid "Output Presets" #~ msgstr "Preset Output" #~ msgid "Output Autoloading Presets List" #~ msgstr "Daftar Keluaran Preset Otomatis" #, fuzzy #~ msgid "Input Devices" #~ msgstr "Pembatas Masukan" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Preset Input" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Preset Input" #, fuzzy #~ msgid "Clients" #~ msgstr "Sen" #, fuzzy #~ msgid "Clients List" #~ msgstr "Sen" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Uji Sinyal" #~ msgid "State" #~ msgstr "Status" #, fuzzy #~ msgid "Enabled" #~ msgstr "Hidupkan" #~ msgid "Channels" #~ msgstr "Total Kanal" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Total Kanal" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Tabel Sinus" #~ msgid "White Noise" #~ msgstr "Derau Putih" #, fuzzy #~ msgid "High Speed" #~ msgstr "High Shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kualitas" #, fuzzy #~ msgid "Formant" #~ msgstr "Format Resampling" #, fuzzy #~ msgid "Preserved" #~ msgstr "Preset" #, fuzzy #~ msgid "Crisp" #~ msgstr "Kerenyahan" #, fuzzy #~ msgid "Detector" #~ msgstr "Deteksi" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresi" #, fuzzy #~ msgid "Soft" #~ msgstr "Kliping Lunak" #~ msgid "Cents" #~ msgstr "Sen" #~ msgid "Semitones" #~ msgstr "Seminada" #~ msgid "Octaves" #~ msgstr "Oktav" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Hapus Berkas Preset Ini" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Efek Input" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #~ msgid "Plugins List" #~ msgstr "Daftar Plugin" #~ msgid "_General" #~ msgstr "_Umum" #~ msgid "Service" #~ msgstr "Layanan" #, fuzzy #~ msgid "Shutdown on Window Closing" #~ msgstr "Shutdown pada Penutupan Jendela" #~ msgid "Audio" #~ msgstr "Audio" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Proses Semua Output" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Proses Semua Input" #~ msgid "Use Cubic Volume" #~ msgstr "Gunakan Volume Kubik" #~ msgid "Style" #~ msgstr "Gaya" #~ msgid "Use Dark Theme" #~ msgstr "Gunakan Tema Gelap" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "Sembunyikan Menu di Klik Luar" #~ msgid "_Spectrum" #~ msgstr "_Spektrum" #~ msgid "Shape" #~ msgstr "Rupa" #~ msgid "Bars" #~ msgstr "Batang" #~ msgid "Lines" #~ msgstr "Garis" #~ msgid "Dots" #~ msgstr "Titik" #~ msgid "Points" #~ msgstr "Titik" #~ msgid "Height" #~ msgstr "Tinggi" #~ msgid "Line Width" #~ msgstr "Lebar Garis" #~ msgid "Fill" #~ msgstr "Spektrum Batangan" #~ msgid "Show Bars Border" #~ msgstr "Tampilkan batar bar" #~ msgid "Rounded Corners" #~ msgstr "Sudut Bulat" #~ msgid "Color" #~ msgstr "Warna" #~ msgid "Lines and Bars" #~ msgstr "Garis dan Bar" #~ msgid "Axis Labels" #~ msgstr "Label Sumbu" #~ msgid "Frequency Range" #~ msgstr "Rentang Frekuensi" #~ msgid "Minimum" #~ msgstr "Minimum" #~ msgid "Maximum" #~ msgstr "Maksimal" #~ msgid "Load" #~ msgstr "Muat" #~ msgid "Save current settings to this preset file" #~ msgstr "Simpan Setelan Saat Ini Ke Berkas Preset" #~ msgid "Remove this preset file" #~ msgstr "Hapus Berkas Preset Ini" #~ msgid "New Output Preset Name" #~ msgstr "Nama Preset Keluaran Baru" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Buat Preset" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Impor Preset" #~ msgid "Search Output Preset" #~ msgstr "Cari Preset Keluaran" #~ msgid "Output Presets List" #~ msgstr "Daftar Preset Keluaran" #~ msgid "New Input Preset Name" #~ msgstr "Nama Preset Input Baru" #~ msgid "Search Input Preset" #~ msgstr "Cari Preset Input" #~ msgid "Input Presets List" #~ msgstr "Daftar Preset Input" #~ msgid "High Frequency Damping" #~ msgstr "Pembasahan Frekuensi Tinggi" #~ msgid "Room Size" #~ msgstr "Ukuran Ruangan" #~ msgid "Small" #~ msgstr "Kecil" #~ msgid "Medium" #~ msgstr "Sedang" #~ msgid "Large" #~ msgstr "Besar" #~ msgid "Tunnel" #~ msgstr "Terowongan" #~ msgid "Large/smooth" #~ msgstr "Besar/Halus" #~ msgid "Experimental" #~ msgstr "Eksperimental" #~ msgid "Diffusion" #~ msgstr "Difusi" #~ msgid "Pre Delay" #~ msgstr "Pra Tunda" #~ msgid "Decay Time" #~ msgstr "Waktu Decay" #~ msgid "Wet Amount" #~ msgstr "Besaran Wet" #~ msgid "Wet Level" #~ msgstr "Tingkat Wet" #~ msgid "Dry Amount" #~ msgstr "Besaran Dry" #~ msgid "Dry Level" #~ msgstr "Tingkat Dry" #~ msgid "Bass Cut" #~ msgstr "Potong Bass" #~ msgid "Treble Cut" #~ msgstr "Potong Treble" #~ msgid "Ambience" #~ msgstr "Suasana" #~ msgid "Empty Walls" #~ msgstr "Tembok Kosong" #~ msgid "Room" #~ msgstr "Ruangan" #~ msgid "Large Empty Hall" #~ msgstr "Aula Besar Kosong" #~ msgid "Disco" #~ msgstr "Disko" #~ msgid "Large Occupied Hall" #~ msgstr "Aula Besar Terisi Penuh" #~ msgid "Import Model" #~ msgstr "Impor Model" #~ msgid "Models" #~ msgstr "Model" #~ msgid "Standard Model" #~ msgstr "Model Standar" #~ msgid "RNNoise Models List" #~ msgstr "Daftar Model RNNoise" #~ msgid "Active Model" #~ msgstr "Model Aktif" #~ msgid "Standard RNNoise Model" #~ msgstr "Model RNNoise Standar" #~ msgid "Overview" #~ msgstr "Ringkasan" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Buka Manual EasyEffects" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Layar penuh/Pulihkan dari layar penuh" #~ msgid "Close the Window" #~ msgstr "Tutup jendela" #~ msgid "Quit EasyEffects" #~ msgstr "Keluar EasyEffects" #~ msgid "Balance" #~ msgstr "Keseimbangan" #~ msgid "Input Balance" #~ msgstr "Masukan Keseimbangan" #~ msgid "Softclip" #~ msgstr "Kliping Lunak" #~ msgid "Softclip Level" #~ msgstr "Tingkat Softclip" #~ msgid "Stereo Matrix" #~ msgstr "Matriks Stereo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "Kiri-Kanan > Kiri-Kanan (Stereo Standar)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "Kiri-Kanan > Tengah (Stereo ke Sisi Tengah)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "Tengah > Kiri-Kanan (Sisi Tengah ke Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "Kiri-Kanan > Kiri-Kiri (Kanal Kiri Mono)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "Kiri-Kanan > Kanan-kanan (Kanal Kanan Mono)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "Kiri-Kanan > Kiri+Kanan (Kiri Mono + Kanan Mono)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "Kiri-Kanan > Kanan-Kiri (Pembalikan Setereo)" #~ msgid "Stereo Mode" #~ msgstr "Mode Stereo" #~ msgid "Invert Phase" #~ msgstr "Balikkan Phase" #~ msgid "Side Level" #~ msgstr "Volume Kanal Sisi" #~ msgid "Side Balance" #~ msgstr "Keseimbangan Sisi" #~ msgid "Middle Level" #~ msgstr "Volume Kanal Tengah" #~ msgid "Middle Panorama" #~ msgstr "Panorama Kanal Tengah" #~ msgid "Output Balance" #~ msgstr "Keluaran Balance" #~ msgid "Delay L/R" #~ msgstr "Penundaan Kiri/Kanan" #~ msgid "Delay Left Right" #~ msgstr "Penundaan Kiri Kanan" #~ msgid "Stereo Base" #~ msgstr "Basis Stereo" #~ msgid "Stereo Phase" #~ msgstr "Phase Stereo" #, fuzzy #~ msgid "Running" #~ msgstr "berjalan" #, fuzzy #~ msgid "Suspended" #~ msgstr "Ditangguhkan" #, fuzzy #~ msgid "Creating" #~ msgstr "membuat" #, fuzzy #~ msgid "Error" #~ msgstr "error" #, fuzzy #~ msgid "Unknown" #~ msgstr "tidak dikenal" #, fuzzy #~ msgid "channels" #~ msgstr "Total Kanal" #~ msgid "Output Presets: " #~ msgstr "Preset Keluaran: " #~ msgid "Input Presets: " #~ msgstr "Preset Input: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efek Suara untuk Aplikasi PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Tutup EasyEffects. Berguna Ketika Berjalan dalam Modus Layanan." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Muat Preset. Misalkan: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Atur Ulang EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Sembunyikan jendela." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Bypass global. 1 untuk mengaktifkan, 2 untuk menonaktifkan dan 3 untuk " #~ "mendapatkan status" #~ msgid "Show available presets." #~ msgstr "Tampilkan Preset Tersedia." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Muat Berkas Impuls" #~ msgid "Import Impulse File" #~ msgstr "Impor File Impuls" #~ msgid "Open" #~ msgstr "Buka" #~ msgid "Cancel" #~ msgstr "Batal" #~ msgid "Impulse Response" #~ msgstr "Respons Impuls" #~ msgid "Load Impulse" #~ msgstr "Muat Impuls" #~ msgid "Remove Impulse" #~ msgstr "Hapus Impuls" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Muat Berkas Impuls" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Tidak dapat Memuat Berkas Impuls" #~ msgid "Recorders" #~ msgstr "Perekam" #~ msgid "Players" #~ msgstr "Pemain" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "Tak Terbatas" #~ msgid "Import APO Preset File" #~ msgstr "Impor File Preset APO" #~ msgid "APO Presets" #~ msgstr "Preset APO" #~ msgid "Remove Autoloading Preset" #~ msgstr "Hapus Preset Pemuatan Otomatis" #, fuzzy #~ msgid "Output Device" #~ msgstr "Gain Input" #~ msgid "Add" #~ msgstr "Tambah" #~ msgid "Import Preset" #~ msgstr "Impor Preset" #~ msgid "Import Model File" #~ msgstr "Impor file Model" #~ msgid "RNNoise Models" #~ msgstr "Model RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Penguat Bass" #~ msgid "Bass Loudness" #~ msgstr "Kenyaringan Bass" #~ msgid "Convolver" #~ msgstr "Konvolver" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Pengkristal Suara" #~ msgid "Deesser" #~ msgstr "Penghilang Desis" #~ msgid "Delay" #~ msgstr "Penundaan" #~ msgid "Echo Canceller" #~ msgstr "Penghilang Gema" #~ msgid "Equalizer" #~ msgstr "Ekualiser" #~ msgid "Exciter" #~ msgstr "Penguat Frekuensi Tinggi" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Limiter" #~ msgstr "Pembatas" #~ msgid "Maximizer" #~ msgstr "Pemaksimal Gain" #~ msgid "Multiband Compressor" #~ msgstr "Kompresor Multiband" #~ msgid "Multiband Gate" #~ msgstr "Multiband Gate" #~ msgid "Pitch" #~ msgstr "Nada" #~ msgid "Reverberation" #~ msgstr "Penggemaan" #~ msgid "Noise Reduction" #~ msgstr "Pengurangan Noise" #~ msgid "Stereo Tools" #~ msgstr "Pengolah Stereo" #~ msgid "Average" #~ msgstr "Rata-Rata" #~ msgid "Failed" #~ msgstr "Gagal" #, fuzzy #~ msgid "Use Default" #~ msgstr "Gunakan Aturan Bawaan" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Hapus Berkas Preset Ini" #~ msgid "Import Presets" #~ msgstr "Muat Preset" #~ msgid "Start Service at Login" #~ msgstr "Mulai Layanan Saat Startup" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Setel Ulang Volume Perangkat Kami saat Memulai" #, fuzzy #~ msgid "Activate" #~ msgstr "Model Aktif" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "Daftar Blokir" #~ msgid "Blocklist" #~ msgstr "Daftar Blokir" #~ msgid "Speakers" #~ msgstr "Speaker" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Plugin" #, fuzzy #~ msgid "enabled" #~ msgstr "Hidupkan" #, fuzzy #~ msgid "disabled" #~ msgstr "Hidupkan" #~ msgid "Format" #~ msgstr "Format Resampling" #~ msgid "Latency" #~ msgstr "Besar Latensi" #~ msgid "idle" #~ msgstr "siaga" #~ msgid "Faster" #~ msgstr "Lebih Cepat" #~ msgid "Preserve Formant" #~ msgstr "Jaga Bentuk" #~ msgid "Cmoy" #~ msgstr "C. Moy" #~ msgid "Jmeier" #~ msgstr "J. Meier" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Gain Input" #, fuzzy #~ msgid "Channel" #~ msgstr "Total Kanal" #, fuzzy #~ msgid "Value" #~ msgstr "Monitor Lantai" #~ msgid "Output Effects" #~ msgstr "Efek Luaran" #~ msgid "Settings" #~ msgstr "Setelan" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Setelan" #, fuzzy #~ msgid "Documentation" #~ msgstr "Durasi" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Uji Sinyal" #, fuzzy #~ msgid "Signal" #~ msgstr "Uji Sinyal" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spektrum" #~ msgid "Spectrum Color" #~ msgstr "Warna Spektrum" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Modus Agresif" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Pengurangan Kuatan" #, fuzzy #~ msgid "Wet" #~ msgstr "Tinggi" #~ msgid "Dry" #~ msgstr "Dry" #~ msgid "S/C Level" #~ msgstr "Level Sisi/Tengah" #~ msgid "Short Term" #~ msgstr "Waktu Singkat" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Band Rendah" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Atur Volume dan hidupkan/matikan Efek" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Dilengkapi dengan Ekualiser dengan Preset Bawaan" #~ msgid "Input Limiter" #~ msgstr "Pembatas Masukan" #~ msgid "Calibration" #~ msgstr "Kalibrasi" #~ msgid "Limit" #~ msgstr "Batas" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuasi" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Penerap Efek Suara untuk Aplikasi Berbasis Pulseaudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Terapkan Efek Suara via PulseAudio" #~ msgid "Help" #~ msgstr "Bantuan" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrasikan Mikrofon" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Kotak" #~ msgid "Saw" #~ msgstr "Gergaji" #~ msgid "Triangle" #~ msgstr "Segitiga" #~ msgid "Silence" #~ msgstr "Diam" #~ msgid "Pink Noise" #~ msgstr "Derau Merah Muda" #~ msgid "Ticks" #~ msgstr "Ketukan per Detik" #~ msgid "Gaussian Noise" #~ msgstr "Derau Gaussia" #~ msgid "Red Noise" #~ msgstr "Derau Merah" #~ msgid "Blue Noise" #~ msgstr "Derau Biru" #~ msgid "Violet Noise" #~ msgstr "Derau Ungu" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Window" #~ msgstr "Jendela" #~ msgid "Measure Noise" #~ msgstr "Ukur Derau" #~ msgid "Subtract Noise" #~ msgstr "Kurangi Derau" #~ msgid "Extended Filter" #~ msgstr "Filter Diperluas" #~ msgid "Low" #~ msgstr "Rendah" #~ msgid "Moderate" #~ msgstr "Sedang" #~ msgid "High" #~ msgstr "Tinggi" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Tingkat Supresi" #~ msgid "Delay Agnostic" #~ msgstr "Penundaan Agnosti" #~ msgid "Very High" #~ msgstr "Sangat Tinggi" #~ msgid "Noise Suppressor" #~ msgstr "Supresor Derau" #~ msgid "Adaptive Digital" #~ msgstr "Digital Adaptif" #~ msgid "Fixed Digital" #~ msgstr "Digital Tetap" #~ msgid "Gain Controller" #~ msgstr "Pengatur Angkatan" #~ msgid "Detection Likelihood" #~ msgstr "Lacak Keberadaan Vokal" #~ msgid "Very Low" #~ msgstr "Sangat Rendah" #~ msgid "Voice Detector" #~ msgstr "Pelacak Vokal" #~ msgid "Use Custom Color" #~ msgstr "Gunakan Warna Kustom" #~ msgid "Use Gradient" #~ msgstr "Terapkan Gradien warna" #~ msgid "Gradient Color" #~ msgstr "Warna Gradien" #~ msgid "Import Impulse Response File" #~ msgstr "Muat Berkas Respons Impuls" #~ msgid "Select the impulse Response File" #~ msgstr "Pilih Berkas Repons Impuls" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Modus Agresif" #~ msgid "Before" #~ msgstr "Sebelum" #~ msgid "After" #~ msgstr "Sesudah" #, fuzzy #~ msgid "Loudness Range" #~ msgstr "Rentang Kelantangan" #~ msgid "Apply" #~ msgstr "Terapkan" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Aturan Bawaan" #, fuzzy #~ msgid "Default Source" #~ msgstr "Aturan Bawaan" #, fuzzy #~ msgid "Configuration" #~ msgstr "Durasi" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Frekuensi Terendah" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Preset" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Deteksi" #~ msgid "Muted" #~ msgstr "Dibungkam" #~ msgid "Distant Headphones" #~ msgstr "Headphone Berjarak" #~ msgid "Priority Type" #~ msgstr "Atur Prioritas" #~ msgid "Niceness" #~ msgstr "Proritas Sempurna" #~ msgid "Priority" #~ msgstr "Atur Prioritas" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frekuensi" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frekuensi" #~ msgid "About" #~ msgstr "Tentang EasyEffects" #, fuzzy #~ msgid "Channel Mapping" #~ msgstr "Total Kanal" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Modus Penyampling" #~ msgid "Buffer" #~ msgstr "Ukuran Penyangga" #~ msgid "Block Size" #~ msgstr "Ukuran Blok" #~ msgid "Resampler" #~ msgstr "Modus Penyampling" #~ msgid "paused" #~ msgstr "terjeda" #~ msgid "playing" #~ msgstr "memutar" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Muat Preset" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Pengurangan Kuatan" #~ msgid "Exponent" #~ msgstr "Eksponen" easyeffects-7.1.7/po/news/it_IT.po000066400000000000000000003120541463533416400170070ustar00rootroot00000000000000# Italian translation file for EasyEffects # Copyright (C) 2018 # This file is distributed under the same license as the EasyEffects package. # Matteo Iervasi , 2018. # Gianluca Boiano , 2018. # Albano Battistella , 2021. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-17 06:03+0000\n" "Last-Translator: Nathan Hadley \n" "Language-Team: Italian \n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5-dev\n" "Translator: Albano Battistella \n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Effetti Audio per Applicazioni Pipewire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects è un'applicazione specifica per la manipolazione dei flussi " "audio. Tra i diversi moduli contenuti, include un equalizzatore, un limiter, " "un compressore e uno strumento per il riverbero. In aggiunta è anche " "disponibile un analizzatore dello spettro delle frequenze." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects è il successore di PulseEffects. Easy Effects supporta " "esclusivamente il server audio PipeWire. Gli utenti su PulseAudio possono " "continuare a usare PulseEffects in alternativa." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Eseguito in simultanea al server PipeWire, Easy Effects funzionerà con la " "quasi totalità, se non tutte, le applicazioni disponibili sul sistema. Le " "applicazioni supportate sono mostrate nella finestra principale e ognuna può " "essere abilitata individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Oltre alla manipolazione dei flussi in uscita, Easy Effects è in grado di " "applicare effetti anche a dispositivi in ingresso, per esempio un microfono. " "Una funzionalità utile sia durante le registrazioni che nelle conversazioni " "di gruppo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Easy Effects all'avvio presenta la configurazione utilizzata nella sessione " "precedente. Tuttavia è possibile salvare i parametri attuali in uno " "specifico profilo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" "La scheda principale che mostra il flusso in uscita di due applicazioni" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Il modulo di Enfasi Bassi con i propri parametri" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "Il modulo Convolver con i propri parametri" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Funzionalità:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" "Migliorato il sistema di gestione della pipeline. Gli effetti non limitatori " "vengono posizionati prima del limitatore anche se gli ultimi due plugin in " "pipeline sono un limitatore seguito da un misuratore di livello." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Bug corretti:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" "Risolta una regressione che impediva l'aggiornamento dei misuratori di " "livello in determinate condizioni." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Altre note:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" "Ora impostiamo monitor.passthrough = true nei nostri dispositivi virtuali. " "Ciò consentirà l'applicazione corretta dell'offset della latenza da parte " "dei lettori video quando PipeWire > 1.0.3 è stata rilasciata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Traduzioni aggiornate." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" "EasyEffects proverà a non direzionare verso le proprie sorgenti virtuali i " "flussi per i quali l'utente ha impostato un target.object personalizzato " "differente dal microfono da cui EE sta registrando. Il flusso deve essere " "avviato quando EE è già in esecuzione affinché tale logica abbia effetto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Traduzioni aggiornate" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "L'equalizzatore può esportare profili APO basilari" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" "Le schede di riproduzione/registrazione mostreranno il nome binario del " "client audio nel caso in cui non è definito il nome dell'applicazione." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" "La versione di EasyEffects può essere mostrata nella riga di comando tramite " "l'opzione --version" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" "Applicata una soluzione temporanea al bug di GtkLevelBar in gtk4 che verrà " "tenuta finché gli sviluppatori di gtk non risolveranno il problema da parte " "loro" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" "Risolta una regressione introdotta nella versione 7.1.2 che potrebbe causare " "un crash di EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "Il plugin DeepFilterNet può ora essere aggiunto al file preimpostato" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "Lo spettro ha una nuova opzione che consente di disabilitare la scala " "verticale dinamica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "Compatibilità migliorata con le ultime versioni LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" "Risolto un problema con il disegno errato delle caratteristiche del file di " "risposta all'impulso" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Risolto un piccolo bug che impediva la corretta inizializzazione della " "soglia di attività vocale di riduzione del rumore." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "Aggiunto un nuovo controllo al plugin di riduzione del rumore che consente " "di disabilitare il rilevamento vocale." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "L'effetto Filtro è stato migliorato con nuovi parametri da quando è stato " "portato da Calf Studio ai plugin di Linux Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "La riduzione del rumore tramite RNNoise è stata migliorata con l'aggiunta " "dei controlli Release e Soglia VAD." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "La riduzione del rumore tramite RNNoise ora può mescolare i segnali " "originali e quelli denoizzati per evitare che l'uscita suoni troppo " "\"secca\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Questa versione è progettata per funzionare con versioni dei plugin di Linux " "Studio uguali o successive a \"1.2.10\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects è ora compilabile anche con libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" "L'Expander dei plugin di Linux Studio può essere utilizzato in Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" "Le bande dell'equalizzatore ora dispongono di un ulteriore controllo del " "guadagno che consente un inserimento più efficiente di valori difficili da " "impostare nella scala. Maggiori dettagli sui problemi al numero 1383." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" "Aggiunta la possibilità di selezionare e caricare più di un file alla volta " "per i profili, gli impulsi del Convolver e i modelli di RNNoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" "Corretto il funzionamento del bottone Solo all'interno delle configurazioni " "di banda dell'Equalizzatore." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "Le cartelle di Easy Effects in /etc sono d'ora in poi deprecate e i profili " "presenti al loro interno non saranno più caricati. Al momento soltanto i " "profili in ~/.config/easyeffects sono caricati automaticamente nell'apposito " "Menu. In futuro implementeremo un nuovo sistema per installare, gestire e " "importare i Profili della Community." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" "La sezione \"Funzionalità Sperimentali\" è stata aggiunta alla finestra " "della preferenze." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" "Ora si può visualizzare l'interfaccia nativa dei plugin LSP. Questa è una " "funzionalità sperimentale adatta solo per gli utenti avanzati. Ci potrebbero " "essere dei bug." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" "Valori frazionali dei semitoni possono essere selezionati nell'effetto " "Intonazione." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "Il menu a tendina dei dispositivi di input/output nella scheda PipeWire è " "correttamente aggiornato quando cambia il dispositivo predefinito del " "sistema e l'opzione Usa Predefinito è abilitata. Risolto il bug 1989." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" "È stato aggiunto un nuovo plugin Misuratore di Livello basato su libebur128." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" "L'effetto Intonazione adesso usa la libreria SoundTouch piuttosto che " "Rubberband. Si spera che alcuni misteriosi crash che occorrevano con " "Rubberband non si ripresentino più." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" "Migliorata la compatibilità con le più recenti versioni di PipeWire. " "Maggiori informazioni su" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" "I filtri abilitati dell'Equalizzatore non sono più impostati sul tipo Bell " "quando il numero delle bande viene modificato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" "Rabberband non è più una dipendenza dato che è stato sostituito da " "SoundTouch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "Il menu dei profili adesso richiede una conferma prima di salvare/eliminare " "un file." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "Il comando di reset degli effetti rendeva ineffettivi i controlli. Questo " "problema dovrebbe essere stato risolto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "Speex non è più erroneamente elencato come una dipendenza di compilazione " "(speexdsp invece è ancora una dipendenza di compilazione)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "RNNoise non è più un autodipendenza. Adesso è richiesto in via predefinita " "e, se non disponibile, deve essere esplicitamente disabilitato con Denable-" "rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "Si è verificato un piccolo errore nella precedente release. Questa nuova " "release assicura che gli utenti abbiano la versione corretta nel proprio " "pacchetto" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "La funzione \"ordina bande\" dell'Equalizzatore adesso riordina le bande su " "GSettings, dunque la configurazione può essere salvata nei profili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "Performance migliorate sul reset delle impostazioni degli effetti." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Corretta la selezione del profilo \"Grande Sala Vuota\" dell'effetto di " "Riverbero." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Corretti alcuni errori nell'utilizzo delle API di Pipewire che potrebbero " "evitare alcuni problemi che gli utenti stanno avendo nell'ultimo periodo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Stiamo rimuovendo delle porzioni di codice deprecato da GTK 4.10, dunque la " "versione minima di GTK è stata incrementata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "La frequenza di aggiornamento dello spettro è stata migliorata. L'uso di " "diverse frequenze di campionamento non dovrebbe influire sulla modalità di " "aggiornamento dello spettro." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "Il tempo di aggiornamento dello spettro e dei misuratori di livello può " "essere personalizzato dall'utente nelle impostazioni." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "Il valore di guadagno delle bande dell'equalizzatore può essere modificato " "con step più ampi. Una regolazione più precisa con step ristretti è comunque " "possibile tramite i tasti su/giù della tastiera." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Piccoli miglioramenti all'effetto di riduzione dell'eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "I sensori di monitoraggio dell'effetto di riduzione dell'eco non erano stati " "correttamente collegati alla scheda audio in seguito la transizione alle " "istanze multiple. Questo problema è stato risolto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "È adesso possibile aggiungere più istanze dello stesso effetto alla pipeline." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Un nuovo effetto di Miglioramento Voce basato sulla libreria Speex è stato " "aggiunto. Oltre a offrire funzionalità di soppressione del rumore, tale " "filtro può anche rilevare e processare la voce umana. Rappresenta una buona " "alternativa ai casi in cui la libreria rnnoise non sia soddisfacente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Migliorata la compatibilità con Linux Studio Plugins 1.2.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "I profili GraphicEQ possono essere importati nell'Equalizer." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "Il nome dell'applicazione è stato modificato in Easy Effects per aderire " "alle specifiche della GNOME Human Interface Guidelines." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "La documentazione è stata aggiornata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Migliorato il caricamento automatico dei profili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" "La soglia del silenzio nell'Autogain può essere ora configurata dall'utente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "I controlli Dry e Wet sono stati aggiunti all'effetto Strumenti Stereo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "L'effetto di cancellazione dell'eco possiede ora un controllo di " "soppressione del rumore basato sulla libreria Speex." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Quando il mouse era sopra un diagramma, il valore dell'asse x visualizzato " "era errato. Questo problema è stato risolto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "A causa delle istanze multiple di un singolo effetto, il formato dei profili " "ha dovuto subire una modifica, ma quello precedente è rimasto comunque " "compatibile per l'importazione. Si tenga presente in ogni caso che il " "salvataggio delle impostazioni correnti sarà comunque effettuato nel nuovo " "formato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "L'implementazione del Gate Multibanda è stata migrata da CALF a Linux Studio " "Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "La compatibilità del codice di autocaricamento dei profili con i dispositivi " "bluez5 è stato migliorato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "I controlli wet/dry sono stati aggiunti per alcuni effetti" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "L'interfaccia degli effetti non è più caricata quando il relativo plugin lv2 " "non è istallato sul sistema. Al suo postò verrà mostrato un messaggio di " "stato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "La documentazione è stata aggiornata" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Migliorati i messaggi di debug" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Traduzioni migliorate" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Corretto un bug per il quale EasyEffects andava in crash quando la finestra " "veniva chiusa mentre gli effetti stavano per essere applicati." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "Lo stato di bypass per gli effetti può essere salvato nei file di profilo. " "Le ragioni di questa scelta sono riportate nel ticket 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "Il codice per l'autocaricamento dei profili con i dispositivi usb è stato " "migliorato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Un messaggio di dialogo viene mostrato quando fallisce il caricamento di un " "profilo o di un file Impulso." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Il Sidechain Gate di Linux Studio Plugins è stato aggiunto per rimpiazzare " "quello di Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffects non dovrebbe più andare in crash quando la localizzazione non è " "correttamente configurata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "È stata implementata una soluzione nella nostra icona per aggirare lo scarso " "supporto del formato SVG nei sistemi QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Quando gli effetti sono disabilitati per un'applicazione, adesso impostiamo " "il suo target metadata a null. Questo permetterà al gestore delle sessioni " "(wireplumber) di reindirizzare correttamente il flusso verso un nuovo " "dispositivo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Aggiunta una nuova configurazione. EasyEffects adesso può essere impostato " "per ignorare i flussi dei monitor dei dispositivi. Questo aiuterà a " "risolvere alcuni problemi che gli utenti avevano con l'utilizzo di OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Il codice che mostra il formato di campionamento è stato migliorato" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "La libreria rnnoise è adesso opzionale. Questo può aiutare a realizzare un " "pacchetto Debian. Consultare il ticket 1000 per maggiori informazioni." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "I nostri log ora mostrano il numero di linea del codice sorgente dove il " "messaggio viene stampato" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "Il checkbox di abilitazione degli effetti nella finestra non era aggiornato " "quando programmi esterni come pavucontrol reindirizzavano i flussi lontano " "dai nostri dispositivi virtuali. Questo problema dovrebbe essere risolto ora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Corretto un bug che poteva capitare quando la cronologia dell'Auto Guadagno " "veniva modificata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Evitato il crash quando pw-mididump è in esecuzione" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "L'interfaccia del plugin pitch è stata migliorata" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "La nostra icona dell'applicazione è ora compatibile con i desktop che " "utilizzano QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Il nostro codice blocklist utilizzerà il tag application.id se lo stream lo " "imposta" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Per evitare problemi con lo scroll del mouse, le voci della lista delle " "applicazioni nelle schede Riproduttori/Registratori non mostrano più uno " "slider orizzontale per regolare il volume. Maggiori dettagli su questa " "soluzione possono essere consultati nei ticket 1211 e 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Quando non sono presenti applicazioni nelle schede Riproduttori/" "Registratori, sarà visualizzato un messaggio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Molti aggiornamenti di traduzione" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Corretto un bug per il quale EasyEffects andava in crash quando il numero di " "punti mostrati nello spettro veniva cambiato mentre la nostra pipeline era " "attiva e la sezione dello spettro era visibile" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "Il valore di latenza della pipeline visualizzato nella nostra finestra " "poteva essere errato in alcune situazioni. Questo è stato risolto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Presente una nuova impostazione per configurare un timeout di inattività per " "la pipeline. Quando nessun client sta riproducendo o registrando, i filtri " "vengono sconnessi dopo aver superato il timeout di inattività. Questo è " "stato realizzato per non sprecare risorse CPU nel processare un segnale muto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Il plugin di Auto Guadagno adesso permette di selezionare quale dei tre tipi " "di Loudness usare per calcolare la media geometrica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Il plugin di Auto Guadagno adesso permette l'impostazione della massima " "cronologia e non utilizza più l'istogramma libebur128. Questo dovrebbe " "evitare i casi in cui la Loudness Integrata rimaneva blocca allo stesso " "valore." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "L'icona di EasyEffects è stata aggiornata in modo da essere visibile anche " "nei desktop QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "L'opzione della riga di comando che restituisce lo stato di bypass globale " "funziona di nuovo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Migliorata la gestione della latenza dinamica di PipeWire da parte del " "modulo di Crossfeed. Non si dovrebbero più verificare anomali cambi di " "volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Risolto un bug che non permetteva la corretta gestione dei microfoni mono da " "parte di EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "Supporto per la prossima versione di PipeWire 0.3.44" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Migliorata la gestione della latenza dinamica di PipeWire da parte del " "modulo di Auto Guadagno. Non si dovrebbero più verificare anomali cambi di " "volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Aggiunta un'opzione per reimpostare il volume del nostro dispositivo " "virtuale all'avvio di EasyEffects. Ciò dovrebbe essere d'aiuto nei casi in " "cui il nostro dispositivo venga mutato dal server per ragioni ignote." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Migliore supporto per la sospensione del computer." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Risolto un bug per cui il tentativo di creare un profilo di caricamento " "automatico senza preimpostazioni causava l'arresto anomalo dell'applicazione." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Risolto un bug in cui impostando a zero la qualità di una banda " "dell'Equalizzatore, l'intera applicazione andava in crash." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita è usata per creare alcune parti della nostra interfaccia e la " "modifica dei temi chiaro/scuro." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "Il menu delle impostazioni è stato ridisegnato con gli oggetti di LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "L'importazione dei profili Equalizer APO è stata migliorata per applicare " "non solo i filtri a Campana, ma anche gli altri supportati (al momento " "soltanto il filtro Passabanda non è disponibile nel plugin LSP)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "L'opzione Reset Preferenze nel menu adesso funziona anche in Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Abbiamo una nuova opzione che permette di disabilitare l'autohide dei nostri " "menu. Questo permette di aggirare alcuni bug dei menu Popover attualmente " "presenti in gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Migliorata l'analisi dell'importazione APO con profili che hanno la virgola " "come separatore delle migliaia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "La libreria fmt è una nuova dipendenza, almeno fin quando i compilatori c++ " "non la implementeranno in predefinito. Ciò è previsto nei prossimi anni." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM e GLIBMM non sono più una dipendenza. Adesso usiamo gtk4 direttamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Adesso è possibile combinare più Impulsi nell'interfaccia del Convolver. Un " "nuovo file di Impulso viene generato e il suo nome è aggiunto nella lista." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Migliorato il disegno della asse x nei nostri grafici. Adesso il numero " "delle etichette si adatta in base alla larghezza della finestra." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "La documentazione è stata aggiornata con le nuove funzionalità di " "EasyEffects. I vecchi riferimenti a PulseEffects sono stati rimossi. Il " "bottone per consultare la documentazione è stato aggiunto nel menu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Inserendo un valore fuori scala nello spinbutton, adesso il parametro viene " "aggiornato al valore minimo/massimo, invece che resettarlo a quello " "precedente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "La finestra principale adesso ricorda lo stato di massimizzazione e lo " "ripristina alla nuova apertura." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "La libreria tbb è una nuova dipendenza" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Il Limiter e il Compressore Multibanda adesso possono usare una sidechain " "esterna." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "Il modulo di Auto Guadagno adesso permette all'utente di selezionare quale " "tipologia di Loudness usare come riferimento per la correzione del volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "La funzionalità di importazione dei profili APO nell'Equalizzatore adesso " "analizza anche il parametro di \"Pre Amplificazione\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "Il Volume Cubico può essere abilitato dalle impostazioni generali." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "Il plugin dello Spettro doveva essere nella fase di passthrough quando non " "era visibile, ma ciò accadeva soltanto quando la finestra era chiusa." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Migliorato il supporto alle Tecnologie Assistive." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "Le sonde usate in alcuni filtri come il Compressore e il Limiter non erano " "ricollegati quando l'ordine degli effetti veniva modificato. Questo problema " "dovrebbe essere risolto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "I flussi monitor di PipeWire adesso dovrebbero essere esclusi e rimossi " "dalla lista delle applicazioni." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" "Crash come quelli riportati nel ticket 1172 dovrebbero essere stati corretti." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "Risolto un caso in cui lo Spettro andava in crash." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "Pavucontrol non è più aggiunto alla lista delle applicazioni in ingresso su " "sistemi con localizzazione diversa da quella inglese." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "Migliorata la compatibilità con WirePlumber. Questo è necessario per i " "sistemi che hanno deciso di utilizzarlo al posto del gestore delle sessioni " "integrato in PipeWire. Maggiori informazioni nel ticket 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "All'aggiunta di un profilo di autocaricamento per uno specifico dispositivo " "già presente in lista, ora il profilo viene aggiornato. In questo modo non " "c'è bisogno di rimuovere lo stesso dispositivo e riaggiungerlo per vederlo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "La funzionalità dell'autocaricamento dei profili è stata nuovamente " "riprogettata. Adesso dovrebbe funzionare su più tipologie di dispositivi. " "Per maggiori informazioni, consultare il ticket 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Se il Limiter e il Maximizer sono posizionati alla fine della lista, i nuovi " "moduli sono aggiunti nella penultima posizione in modo da evitare eventuali " "danneggiamenti agli altoparlanti in caso di volume troppo alto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "Alla rimozione di un flusso dalle App Escluse, il precedente stato dovrebbe " "essere ripristinato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Talvolta alla rimozione dei modelli nel modulo di riduzione del rumore, il " "modello utilizzato non veniva aggiornato. Questo problema è stato risolto." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Alla modifica dei profili in un editor esterno, adesso non saranno più " "mostrate voci multiple nella lista dei profili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Adesso i flussi nelle App Escluse vengono correttamente disabilitati allo " "switch dei profili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Adesso lo stato del Bypass globale dovrebbe essere correttamente aggiornato " "quando i moduli cambiano." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "Le icone mancanti sul sistema non dovrebbero essere più mostrate nella " "sezione delle informazioni delle applicazioni (se un'icona non è visibile " "nonostante siate sicuri che sia correttamente installata, vi preghiamo di " "segnalarcelo aprendo un nuovo ticket)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Alcune icone non visualizzate in Plasma con il tema Breeze adesso dovrebbero " "essere visibili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Traduzione Cinese aggiornata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Traduzione Italiana aggiornata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "Aggiunto il supporto al parametro Quantità Incremento del Compressore" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "Il Compressore Multibanda adesso implemento lo stereo multiband compressor " "sviluppato da Linux Studio Plugins invece di quello di Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "Il Limiter adesso implementa lo stereo limiter sviluppato da Linux Studio " "Plugins invece di quello di Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "I filtri LV2 adesso sono generati nel diagramma PipeWire soltanto quando " "sono caricati per la prima volta. Tuttavia, una volta caricati, rimangono " "connessi fin quando EasyEffects non viene terminato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" "Il modulo di Riduzione Eco adesso imposta correttamente il campionamento." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "Il parametro soglia del Deesser adesso è salvato correttamente nel profilo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "Migliorata la suddivisione delle bande nel Crystalizer con nuovi valori di " "default delle Intensità." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "In base al guadagno di input/output, le corrispondenti barre non erano " "allineate correttamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "All'aggiunta di nuove bande nell'Equalizzatore, la modalità è impostata su " "Campana invece che Off." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "L'importazione degli Equalizer APO adesso funziona correttamente su " "localizzazioni differenti da C." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Migliorata la gestione delle connessioni tra le porte dei nodi in PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "L'amplificazione del Crystalizer era troppo alta. Adesso dovrebbe essere " "impostata a livelli ragionevoli." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Migliorato il resampler usato nei moduli che lo richiedono (come RNNoise)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "L'impostazione di profili di autocaricamento multipli adesso dovrebbe " "funzionare" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "La translazione dell'interfaccia per alcuni moduli è stata correttamente " "impostata" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "Il menu dei file di Impulso del Convolver è stato migliorato aggirando un " "problema per cui i file non erano caricati quando soltanto uno era " "disponibile nel menu, consultare il ticket 1011" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Corretto un bug che non inizializzava correttamente il modulo di Intonazione" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "L'icona di allarma saturazione adesso non sposta più gli oggetti adiacenti" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Aggiustati i locale in alcuni oggetti" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Corretti gli allineamenti in alcuni oggetti" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "Il plugin di Loudness è stato nuovamente reimplementato per le ragioni " "descritte nel ticket 820. Questo significa che è di nuovo una dipendenza " "opzionale." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Risolto un errore di segmentazione che accadeva quando delle dipendenze " "opzionali non erano installate" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Migliorata l'interfaccia dell'equalizzatore." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Adesso usiamo un Compressore Sidechain LSP che permette di selezionare una " "sorgente esterna come sidechain di ingresso." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "Adesso supportiamo la modalità Incremento del Compressore LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "Quando separa canali è abilitato nell'Equalizzatore, i profili APO importati " "saranno applicati soltanto al canale visualizzato. Questo permette di " "importare profili differenti per i diversi canali invece che gli stessi per " "entrambi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Risolti alcuni errori di segmentazione quando si creavano o rimuovevano i " "profili di autocaricamento" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "Questa è una delle più grandi release che io abbia mai fatto. Il numero dei " "cambiamenti è cosi elevato che è difficile descriverle tutte qui." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "Le seguenti sono soltanto le più importanti. Gli utenti interessati a questa " "fase possono consultare i ticket 904 e 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "L'applicazione è stata rinominata da PulseEffects a EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 è stato rimpiazzato da gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer è stato rimpiazzato dai filtri nativi PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "Molte funzionalità sono state riscritte da zero. L'autocaricamento dei " "preset ne è un esempio. Un'altra modifica importante è presente nel menu di " "selezione dei moduli. Adesso sono mostrati nella finestra soltanto i plugin " "aggiunti alla lista." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Boost non è più una dipendenza. Il prezzo da pagare per questa scelta è il " "cambiamento della struttura dei profili. Con un po' di pazienza è possibile " "modificare i profili di PulseEffects in un editor di testo per renderli " "compatibili con EasyEffects. Magari qualcuno realizzerà uno script per " "questa operazione." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Nuove librerie sono state aggiunte e altre che erano opzionali adesso sono " "necessarie" #~ msgid "This release adds the following features:" #~ msgstr "Questa release aggiunge le seguenti funzionalità:" #~ msgid "manager" #~ msgstr "manager" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr "" #~ "sink. Questo potrà risolvere alcune anomalie che gli utenti avevano con " #~ "OBS." #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "su Debian. Consultare il ticket #1000 per maggiori informazioni." #~ msgid "This release fixes the following bugs:" #~ msgstr "Questa release risolve i seguenti bug:" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "rimuovevano gli stream dai nostri dispositivi virtuali. Questo problema " #~ "dovrebbe essere risolto." #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "la scheda non mostra più una scala del volume. Maggiori dettagli sul " #~ "problema e la soluzione per esso possono essere trovati su #1211" #~ msgid "and #1427" #~ msgstr "e #1427" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "" #~ "la nostra pipeline era attiva e il widget dello spettro era visibile" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Aggiunta una nuova opzione che permette di selezionare un periodo di " #~ "inattività per la pipeline. Quando nessun client" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "o registrando dai nostri dispositivi i filtri verranno scollegati al " #~ "raggiungimento del timeout. Questo è fatto per essere sicuro" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "non sprechiamo il silenzio di elaborazione della potenza della CPU." #~ msgid "mean." #~ msgstr "la media geometrica." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Ciò eviterà i casi in cui la Loudness `Integrata` rimanga fissa " #~ "costantemente sullo stesso valore." #~ msgid "This release fixes the following bug:" #~ msgstr "Questa release corregge i seguenti bug:" #~ msgid "This release adds the following feature:" #~ msgstr "Questa release aggiunge le seguenti funzionalità:" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "al posto del session manager integrato in PipeWire. Maggiori informazioni " #~ "in [1144](" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Le icone non presenti sul sistema adesso non dovrebbero essere " #~ "visualizzate nell'interfaccia delle applicazioni" #~ msgid "a look at and" #~ msgstr "possono dare un'occhiata e" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Equalizzatore, Compressore e Altri Effetti Audio" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limiter;compressore;riverbero;equalizzatore;autovolume;" #~ msgid "\"Presets\"" #~ msgstr "\"Profili\"" #~ msgid "Enable/disable this application" #~ msgstr "Abilita/disabilita questa applicazione" #~ msgid "Enable" #~ msgstr "Abilita" #~ msgid "Excluded App List: Add/remove this application" #~ msgstr "Lista App Escluse: Aggiungi/rimuovi questa applicazione" #~ msgid "Exclude" #~ msgstr "Escludi" #~ msgid "Mute Application" #~ msgstr "Silenzia Applicazione" #~ msgid "Change the volume of this application" #~ msgstr "Modifica il volume di questa applicazione" #~ msgid "Application Volume" #~ msgstr "Volume Applicazione" #~ msgid "_Preferences" #~ msgstr "_Preferenze" #~ msgid "_Manual" #~ msgstr "_Manuale" #~ msgid "_Shortcuts" #~ msgstr "_Scorciatoie" #~ msgid "_Reset Settings" #~ msgstr "_Reset Preferenze" #~ msgid "_About EasyEffects" #~ msgstr "_Info su EasyEffects" #~ msgid "Presets" #~ msgstr "Profili" #~ msgid "Presets Menu" #~ msgstr "Menu Profili" #~ msgid "Enable/disable the global bypass" #~ msgstr "Abilita/disabilita il bypass globale" #~ msgid "Global Bypass" #~ msgstr "Bypass Globale" #~ msgid "Primary Menu" #~ msgstr "Menu Principale" #~ msgid "EasyEffects Window" #~ msgstr "Finestra di EasyEffects" #~ msgid "Applications List" #~ msgstr "Lista Applicazioni" #~ msgid "Empty List" #~ msgstr "Elenco Vuoto" #~ msgid "No Audio Application Available" #~ msgstr "Nessuna Applicazione Audio Disponibile" #~ msgid "Target" #~ msgstr "Livello" #~ msgid "Maximum History" #~ msgstr "Cronologia Massima" #~ msgid "Reference" #~ msgstr "Riferimento" #~ msgid "Momentary" #~ msgstr "Momentaneo" #~ msgid "Short-Term" #~ msgstr "Breve-Termine" #~ msgid "Integrated" #~ msgstr "Integrato" #~ msgid "Geometric Mean (MSI)" #~ msgstr "Media Geometrica (MBI)" #~ msgid "Geometric Mean (MS)" #~ msgstr "Media Geometrica (MB)" #~ msgid "Geometric Mean (MI)" #~ msgstr "Media Geometrica (MI)" #~ msgid "Geometric Mean (SI)" #~ msgstr "Media Geometrica (BI)" #~ msgid "Reset History" #~ msgstr "Reset Cronologia" #~ msgid "Relative" #~ msgstr "Relativo" #~ msgid "Range" #~ msgstr "Gamma" #~ msgid "Loudness" #~ msgstr "Loudness" #~ msgid "Output Gain" #~ msgstr "Guadagno Uscita" #~ msgid "Input" #~ msgstr "Ingresso" #~ msgid "Plugin Input Gain" #~ msgstr "Guadagno in Ingresso del Plugin" #~ msgid "Output" #~ msgstr "Uscita" #~ msgid "Plugin Output Gain" #~ msgstr "Guadagno in Uscita del Plugin" #~ msgid "Reset" #~ msgstr "Reset" #~ msgid "Using" #~ msgstr "Utilizzo" #~ msgid "Device" #~ msgstr "Dispositivo Audio" #~ msgid "Name" #~ msgstr "Nome" #~ msgid "Profile" #~ msgstr "Profilo Dispositivo" #~ msgid "Preset" #~ msgstr "Profilo EasyEffects" #~ msgid "Remove this autoload preset" #~ msgstr "Rimuovi questo profilo di auto-caricamento" #~ msgid "Listen" #~ msgstr "Ascolta" #~ msgid "Blend Harmonics" #~ msgstr "Mix Armoniche" #~ msgid "3rd" #~ msgstr "3a" #~ msgid "2nd" #~ msgstr "2a" #~ msgid "Amount" #~ msgstr "Quantità" #~ msgid "Harmonics" #~ msgstr "Armoniche" #~ msgid "Scope" #~ msgstr "Soglia" #~ msgid "Floor" #~ msgstr "Limite Inferiore" #~ msgid "Floor Value" #~ msgstr "Valore Limite Inferiore" #~ msgid "Link" #~ msgstr "Link" #~ msgid "Application Name" #~ msgstr "Nome Applicazione" #~ msgid "Add to Excluded Applications" #~ msgstr "Aggiungi alle Applicazioni Escluse" #~ msgid "Excluded Applications List" #~ msgstr "Lista delle Applicazioni Escluse" #~ msgid "Show Excluded Applications" #~ msgstr "Mostra Applicazioni Escluse" #~ msgid "Compressor" #~ msgstr "Compressore" #~ msgid "Mode" #~ msgstr "Modalità" #~ msgid "Downward" #~ msgstr "Riduttiva" #~ msgid "Upward" #~ msgstr "Espansiva" #~ msgid "Boosting" #~ msgstr "Incrementale" #~ msgid "Compression Mode" #~ msgstr "Modalità Compressione" #~ msgid "Boost Threshold" #~ msgstr "Soglia Incremento" #~ msgid "Boost Amount" #~ msgstr "Quantità Incremento" #~ msgid "Attack" #~ msgstr "Attacco" #~ msgid "Time" #~ msgstr "Tempo" #~ msgid "Threshold" #~ msgstr "Soglia" #~ msgid "Attack Time" #~ msgstr "Tempo di Attacco" #~ msgid "Attack Threshold" #~ msgstr "Soglia di Attacco" #~ msgid "Release" #~ msgstr "Rilascio" #~ msgid "Release Time" #~ msgstr "Tempo di Rilascio" #~ msgid "Release Threshold" #~ msgstr "Soglia di Rilascio" #~ msgid "Ratio" #~ msgstr "Rapporto" #~ msgid "Knee" #~ msgstr "Curvatura" #~ msgid "Makeup" #~ msgstr "Guadagno" #~ msgid "Sidechain" #~ msgstr "Sidechain" #~ msgid "Peak" #~ msgstr "Picco" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Passa-Basso" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "Sidechain Mode" #~ msgstr "Modalità Sidechain" #~ msgid "Source" #~ msgstr "Sorgente" #~ msgid "Middle" #~ msgstr "Medio" #~ msgid "Side" #~ msgstr "Lato" #~ msgid "Left" #~ msgstr "Sinistro" #~ msgid "Right" #~ msgstr "Destro" #~ msgid "Sidechain Source" #~ msgstr "Sorgente Sidechain" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Feed-forward" #~ msgid "Feed-back" #~ msgstr "Feed-back" #~ msgid "External" #~ msgstr "Esterna" #~ msgid "Sidechain Type" #~ msgstr "Tipo Sidechain" #~ msgid "Input Device" #~ msgstr "Dispositivo Ingresso" #~ msgid "PreAmplification" #~ msgstr "PreAmplificazione" #~ msgid "Reactivity" #~ msgstr "Reattività" #~ msgid "Lookahead" #~ msgstr "Lookahead" #~ msgid "Sidechain Filters" #~ msgstr "Filtri Sidechain" #~ msgid "High-Pass" #~ msgstr "Passa-Alto" #~ msgid "Frequency" #~ msgstr "Frequenza" #~ msgid "Off" #~ msgstr "Off" #~ msgid "12 dB/oct" #~ msgstr "12 dB/ott" #~ msgid "24 dB/oct" #~ msgstr "24 dB/ott" #~ msgid "36 dB/oct" #~ msgstr "36 dB/ott" #~ msgid "High-Pass Filter Mode" #~ msgstr "Modalità Filtro Passa-Alto" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frequenza Filtro Passa-Alto" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Modalità Filtro Passa-Basso" #~ msgid "Gain" #~ msgstr "Guadagno" #~ msgid "Envelope" #~ msgstr "Envelope" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "S" #~ msgid "Left Channel" #~ msgstr "Canale Sinistro" #~ msgid "R" #~ msgstr "D" #~ msgid "Right Channel" #~ msgstr "Canale Destro" #~ msgid "Impulses" #~ msgstr "Impulsi" #~ msgid "Combine" #~ msgstr "Combina" #~ msgid "Stereo Width" #~ msgstr "Ampiezza Stereo" #~ msgid "Spectrum" #~ msgstr "Spettro" #~ msgid "Log Scale" #~ msgstr "Scala Logaritmica" #~ msgid "Autogain" #~ msgstr "Auto Guadagno" #~ msgid "Rate" #~ msgstr "Frequenza" #~ msgid "Samples" #~ msgstr "Campioni" #~ msgid "Duration" #~ msgstr "Durata" #~ msgid "Combine Impulse Responses" #~ msgstr "Combina Risposte Impulso" #~ msgid "First Kernel" #~ msgstr "Primo Kernel" #~ msgid "Second Kernel" #~ msgstr "Secondo Kernel" #~ msgid "Output File Name" #~ msgstr "Nome File Combinato" #~ msgid "Combined Kernel Name" #~ msgstr "Nome File Combinato" #~ msgid "Import Impulse" #~ msgstr "Importa Impulso" #~ msgid "Search" #~ msgstr "Cerca" #~ msgid "Search Impulse File" #~ msgstr "Cerca File di Impulso" #~ msgid "Impulse Files List" #~ msgstr "Lista File di Impulso" #~ msgid "Default" #~ msgstr "Predefinito" #~ msgid "Cutoff" #~ msgstr "Taglio" #~ msgid "Feed" #~ msgstr "Feed" #~ msgid "Bypass" #~ msgstr "Bypass" #~ msgid "Mute" #~ msgstr "Silenzia" #~ msgid "Detection" #~ msgstr "Rilevamento" #~ msgid "Wide" #~ msgstr "Banda Larga" #~ msgid "Split" #~ msgstr "Split" #~ msgid "F1 Split" #~ msgstr "F1 Split" #~ msgid "Frequency 1 Split" #~ msgstr "Frequenza 1 Split" #~ msgid "F2 Peak" #~ msgstr "F2 Picco" #~ msgid "Frequency 2 Peak" #~ msgstr "Frequenza 2 Picco" #~ msgid "F1 Gain" #~ msgstr "F1 Guadagno" #~ msgid "Frequency 1 Gain" #~ msgstr "Frequenza 1 Guadagno" #~ msgid "F2 Level" #~ msgstr "F2 Livello" #~ msgid "Frequency 2 Level" #~ msgstr "Frequenza 2 Livello" #~ msgid "F2 Peak Q" #~ msgstr "F2 Picco Q" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frequenza 2 Picco Q" #~ msgid "Laxity" #~ msgstr "Lassità" #~ msgid "Detected" #~ msgstr "Rilevato" #~ msgid "Reduction" #~ msgstr "Riduzione" #~ msgid "Frame Size" #~ msgstr "Dimensione Frame" #~ msgid "Filter Length" #~ msgstr "Lunghezza Filtro" #~ msgid "Excluded Apps" #~ msgstr "App Escluse" #~ msgid "Bands" #~ msgstr "Bande" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Separa Canali" #~ msgid "Flat Response" #~ msgstr "Risposta Piatta" #~ msgid "Calculate Frequencies" #~ msgstr "Calcola Frequenze" #~ msgid "Load APO Preset" #~ msgstr "Carica Profilo APO" #~ msgid "Bell" #~ msgstr "Campana" #~ msgid "High Pass" #~ msgstr "Passa Alto" #~ msgid "High Shelf" #~ msgstr "Sopra Soglia" #~ msgid "Low Pass" #~ msgstr "Passa Basso" #~ msgid "Low Shelf" #~ msgstr "Sotto Soglia" #~ msgid "Notch" #~ msgstr "Notch" #~ msgid "Resonance" #~ msgstr "Risonanza" #~ msgid "All Pass" #~ msgstr "Passa Tutto" #~ msgid "Band Type" #~ msgstr "Tipo Banda" #~ msgid "Band Mode" #~ msgstr "Modalità Banda" #~ msgid "Slope" #~ msgstr "Pendenza" #~ msgid "Band Slope" #~ msgstr "Pendenza della Banda" #~ msgid "Width" #~ msgstr "Ampiezza" #~ msgid "Quality" #~ msgstr "Qualità" #~ msgid "Solo" #~ msgstr "Isola" #~ msgid "Ceil" #~ msgstr "Limite Superiore" #~ msgid "Ceil Value" #~ msgstr "Valore Limite Superiore" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Accesso" #~ msgid "Description" #~ msgstr "Descrizione" #~ msgid "Remove this model file" #~ msgstr "Rimuovi questo profilo" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Passa Basso" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Passa Basso" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Passa Basso" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Passa Alto" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Passa Alto" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Passa Alto" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Passa Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Passa Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Passa Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Elimina Banda" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Elimina Banda" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Elimina Banda" #~ msgid "Inertia" #~ msgstr "Inerzia" #~ msgid "Gate" #~ msgstr "Gate" #~ msgid "Zone" #~ msgstr "Zona" #~ msgid "Hysteresis" #~ msgstr "Isteresi" #~ msgid "Attack Zone Start" #~ msgstr "Inizio Zona Attacco" #~ msgid "Release Zone Start" #~ msgstr "Inizio Zona Rilascio" #~ msgid "Internal" #~ msgstr "Interna" #~ msgid "Gating" #~ msgstr "Gate" #~ msgid "Oversampling" #~ msgstr "Sovracampionamento" #~ msgid "Dither" #~ msgstr "Dither" #~ msgid "Herm Thin" #~ msgstr "Herm Thin" #~ msgid "Herm Wide" #~ msgstr "Herm Wide" #~ msgid "Herm Tail" #~ msgstr "Herm Tail" #~ msgid "Herm Duck" #~ msgstr "Herm Duck" #~ msgid "Exp Thin" #~ msgstr "Exp Thin" #~ msgid "Exp Wide" #~ msgstr "Exp Wide" #~ msgid "Exp Tail" #~ msgstr "Exp Tail" #~ msgid "Exp Duck" #~ msgstr "Exp Duck" #~ msgid "Line Thin" #~ msgstr "Line Thin" #~ msgid "Line Wide" #~ msgstr "Line Wide" #~ msgid "Line Tail" #~ msgstr "Line Tail" #~ msgid "Line Duck" #~ msgstr "Line Duck" #~ msgid "None" #~ msgstr "Off" #~ msgid "Half x2(2L)" #~ msgstr "Parziale x2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "Parziale x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Parziale x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Parziale x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Parziale x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Parziale x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Parziale x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Parziale x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Parziale x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Parziale x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Intero x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Intero x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Intero x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Intero x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Intero x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Intero x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Intero x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Intero x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Intero x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Intero x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC PreAmp" #~ msgid "Sidechain PreAmplification" #~ msgstr "PreAmplificazione Sidechain" #~ msgid "Boost" #~ msgstr "Incremento" #~ msgid "Stereo Link" #~ msgstr "Relazione Canali" #~ msgid "External Sidechain" #~ msgstr "Sidechain Esterna" #~ msgid "External Sidechain Source" #~ msgstr "Sorgente Sidechain Esterna" #~ msgid "Auto Leveling" #~ msgstr "Auto Regolazione" #~ msgid "Auto Leveling Attack" #~ msgstr "Auto Regolazione Attacco" #~ msgid "Auto Leveling Release" #~ msgstr "Auto Regolazione Rilascio" #~ msgid "Auto Leveling Knee" #~ msgstr "Auto Regolazione Curvatura" #~ msgid "Gain Left" #~ msgstr "Guadagno Sinistro" #~ msgid "Gain Right" #~ msgstr "Guadagno Destro" #~ msgid "Sidechain Left" #~ msgstr "Sidechain Sinistro" #~ msgid "Sidechain Right" #~ msgstr "Sidechain Destro" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Flat" #~ msgstr "Flat" #~ msgid "FFT Size" #~ msgstr "Dimensione FFT" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Dimensione della Trasformata di Fourier Veloce" #~ msgid "Output Volume" #~ msgstr "Volume Uscita" #~ msgid "Ceiling" #~ msgstr "Limite Superiore" #~ msgid "Operating Mode" #~ msgstr "Modalità Operativa" #~ msgid "Classic" #~ msgstr "Classica" #~ msgid "Modern" #~ msgstr "Moderna" #~ msgid "Sidechain Boost" #~ msgstr "Incremento Sidechain" #~ msgid "Pink BT" #~ msgstr "Rumore Rosa BT" #~ msgid "Pink MT" #~ msgstr "Rumore Rosa MT" #~ msgid "Brown BT" #~ msgstr "Rumore Marrone BT" #~ msgid "Brown MT" #~ msgstr "Rumore Marrone MT" #~ msgid "Bands List" #~ msgstr "Lista Bande" #~ msgid "Band 1" #~ msgstr "Banda 1" #~ msgid "Band 2" #~ msgstr "Banda 2" #~ msgid "Band 3" #~ msgstr "Banda 3" #~ msgid "Band 4" #~ msgstr "Banda 4" #~ msgid "Band 5" #~ msgstr "Banda 5" #~ msgid "Band 6" #~ msgstr "Banda 6" #~ msgid "Band 7" #~ msgstr "Banda 7" #~ msgid "Band 8" #~ msgstr "Banda 8" #~ msgid "Band Start" #~ msgstr "Inizio Banda" #~ msgid "Band End" #~ msgstr "Fine Banda" #~ msgid "Band Compression Mode" #~ msgstr "Banda Modalità Compressione" #~ msgid "Band Bypass" #~ msgstr "Bypass Banda" #~ msgid "Band Sidechain Options" #~ msgstr "Opzioni Sidechain Banda" #~ msgid "Low-Cut Filter" #~ msgstr "Filtro Passa-Basso" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Frequenza Filtro Passa-Basso" #~ msgid "High-Cut Filter" #~ msgstr "Filtro Passa-Alto" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Frequenza Filtro Passa-Alto" #~ msgid "PreAmp" #~ msgstr "PreAmp" #~ msgid "Band Gain" #~ msgstr "Guadagno Banda" #~ msgid "Band Envelope" #~ msgstr "Envelope Banda" #~ msgid "Band Curve" #~ msgstr "Curva Banda" #~ msgid "Split Mode" #~ msgstr "Modalità Split" #~ msgid "Split 1/2" #~ msgstr "Split 1/2" #~ msgid "Split Frequency 1" #~ msgstr "Frequenza Split 1" #~ msgid "Split 2/3" #~ msgstr "Split 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Frequenza Split 2" #~ msgid "Split 3/4" #~ msgstr "Split 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Frequenza Split 3" #~ msgid "Sub Band" #~ msgstr "Sottobanda" #~ msgid "Band 1 Bypass" #~ msgstr "Banda 1 Bypass" #~ msgid "Band 1 Solo" #~ msgstr "Banda 1 Isola" #~ msgid "Band 1 Detection" #~ msgstr "Banda 1 Rilevamento" #~ msgid "Band 1 Attack" #~ msgstr "Banda 1 Attacco" #~ msgid "Band 1 Release" #~ msgstr "Banda 1 Rilascio" #~ msgid "Band 1 Threshold" #~ msgstr "Banda 1 Soglia" #~ msgid "Band 1 Ratio" #~ msgstr "Banda 1 Rapporto" #~ msgid "Band 1 Knee" #~ msgstr "Banda 1 Curvatura" #~ msgid "Band 1 Makeup" #~ msgstr "Banda 1 Guadagno" #~ msgid "Max Reduction" #~ msgstr "Max Riduzione" #~ msgid "Band 1 Max Reduction" #~ msgstr "Banda 1 Massima Riduzione" #~ msgid "Low Band" #~ msgstr "Banda Bassa" #~ msgid "Band 2 Bypass" #~ msgstr "Banda 2 Bypass" #~ msgid "Band 2 Solo" #~ msgstr "Banda 2 Isola" #~ msgid "Band 2 Detection" #~ msgstr "Banda 2 Rilevamento" #~ msgid "Band 2 Attack" #~ msgstr "Banda 2 Attacco" #~ msgid "Band 2 Release" #~ msgstr "Banda 2 Rilascio" #~ msgid "Band 2 Threshold" #~ msgstr "Banda 2 Soglia" #~ msgid "Band 2 Ratio" #~ msgstr "Banda 2 Rapporto" #~ msgid "Band 2 Knee" #~ msgstr "Banda 2 Curvatura" #~ msgid "Band 2 Makeup" #~ msgstr "Banda 2 Guadagno" #~ msgid "Band 2 Max Reduction" #~ msgstr "Banda 2 Massima Riduzione" #~ msgid "Mid Band" #~ msgstr "Banda Media" #~ msgid "Band 3 Bypass" #~ msgstr "Banda 3 Bypass" #~ msgid "Band 3 Solo" #~ msgstr "Banda 3 Isola" #~ msgid "Band 3 Detection" #~ msgstr "Banda 3 Rilevamento" #~ msgid "Band 3 Attack" #~ msgstr "Banda 3 Attacco" #~ msgid "Band 3 Release" #~ msgstr "Banda 3 Rilascio" #~ msgid "Band 3 Threshold" #~ msgstr "Banda 3 Soglia" #~ msgid "Band 3 Ratio" #~ msgstr "Banda 3 Rapporto" #~ msgid "Band 3 Knee" #~ msgstr "Banda 3 Curvatura" #~ msgid "Band 3 Makeup" #~ msgstr "Banda 3 Guadagno" #~ msgid "Band 3 Max Reduction" #~ msgstr "Banda 3 Massima Riduzione" #~ msgid "High Band" #~ msgstr "Banda Alta" #~ msgid "Band 4 Bypass" #~ msgstr "Banda 4 Bypass" #~ msgid "Band 4 Solo" #~ msgstr "Banda 4 Isola" #~ msgid "Band 4 Detection" #~ msgstr "Banda 4 Rilevamento" #~ msgid "Band 4 Attack" #~ msgstr "Banda 4 Attacco" #~ msgid "Band 4 Release" #~ msgstr "Banda 4 Rilascio" #~ msgid "Band 4 Threshold" #~ msgstr "Banda 4 Soglia" #~ msgid "Band 4 Ratio" #~ msgstr "Banda 4 Rapporto" #~ msgid "Band 4 Knee" #~ msgstr "Banda 4 Curvatura" #~ msgid "Band 4 Makeup" #~ msgstr "Banda 4 Guadagno" #~ msgid "Band 4 Max Reduction" #~ msgstr "Banda 4 Massima Riduzione" #~ msgid "General" #~ msgstr "Generale" #~ msgid "Device Management" #~ msgstr "Gestione Dispositivi" #~ msgid "" #~ "It's recommended to NOT set EasyEffects Sink/Source as Default Device in " #~ "external applications (e.g. Gnome Settings and Plasma System Settings)." #~ msgstr "" #~ "Si raccomanda di NON impostare EasyEffects Sink/Source come Dispositivo " #~ "Predefinito in applicazioni esterne (per esempio Gnome Settings e Plasma " #~ "System Settings)." #~ msgid "Use Default Input" #~ msgstr "Usa Ingresso Predefinito" #~ msgid "Custom Input Device" #~ msgstr "Dispositivo Ingresso Personalizzato" #~ msgid "Use Default Output" #~ msgstr "Usa Uscita Predefinita" #~ msgid "Custom Output Device" #~ msgstr "Dispositivo Uscita Personalizzato" #~ msgid "Server Information" #~ msgstr "Informazioni Server" #~ msgid "Header Version" #~ msgstr "Versione Header" #~ msgid "Library Version" #~ msgstr "Versione Libreria" #~ msgid "Sampling Rate" #~ msgstr "Frequenza di Campionamento" #~ msgid "Minimum Quantum" #~ msgstr "Quantum Minimo" #~ msgid "Maximum Quantum" #~ msgstr "Quantum Massimo" #~ msgid "Default Quantum" #~ msgstr "Quantum Predefinito" #~ msgid "Output Devices" #~ msgstr "Dispositivi di Uscita" #~ msgid "Output Presets" #~ msgstr "Profili di Uscita" #~ msgid "Create Association" #~ msgstr "Crea Associazione" #~ msgid "Add Autoloading Output Preset" #~ msgstr "Aggiungi Profilo di Auto Caricamento in Uscita" #~ msgid "Output Autoloading Presets List" #~ msgstr "Profili di Auto Caricamento in Uscita" #~ msgid "Input Devices" #~ msgstr "Dispositivi di Ingresso" #~ msgid "Input Presets" #~ msgstr "Profili di Ingresso" #~ msgid "Add Autoloading Input Preset" #~ msgstr "Aggiungi Profilo di Auto Caricamento in Ingresso" #~ msgid "Input Autoloading Presets List" #~ msgstr "Profili di Auto Caricamento in Ingresso" #~ msgid "Modules" #~ msgstr "Moduli" #~ msgid "Modules List" #~ msgstr "Lista Moduli" #~ msgid "Clients" #~ msgstr "Client" #~ msgid "Clients List" #~ msgstr "Lista Client" #~ msgid "Test Signal" #~ msgstr "Segnale di Test" #~ msgid "State" #~ msgstr "Stato" #~ msgid "Enabled" #~ msgstr "Abilitato" #~ msgid "Properties" #~ msgstr "Proprietà" #~ msgid "Channels" #~ msgstr "Canali" #~ msgid "Both" #~ msgstr "Entrambi" #~ msgid "Both Channels" #~ msgstr "Entrambi i Canali" #~ msgid "Waveform" #~ msgstr "Tipo Onda" #~ msgid "Sine Wave" #~ msgstr "Sinusoidale" #~ msgid "White Noise" #~ msgstr "Rumore Bianco" #~ msgid "High Speed" #~ msgstr "Alta Velocità" #~ msgid "High Quality" #~ msgstr "Alta Qualità" #~ msgid "High Consistency" #~ msgstr "Alta Consistenza" #~ msgid "Formant" #~ msgstr "Formante" #~ msgid "Shifted" #~ msgstr "Alterata" #~ msgid "Preserved" #~ msgstr "Preservata" #~ msgid "Transients" #~ msgstr "Transienti" #~ msgid "Crisp" #~ msgstr "Netti" #~ msgid "Mixed" #~ msgstr "Intermedi" #~ msgid "Smooth" #~ msgstr "Tenui" #~ msgid "Detector" #~ msgstr "Rilevazione" #~ msgid "Compound" #~ msgstr "Composto" #~ msgid "Percussive" #~ msgstr "Percussivo" #~ msgid "Soft" #~ msgstr "Soft" #~ msgid "Phase" #~ msgstr "Fase" #~ msgid "Laminar" #~ msgstr "Laminare" #~ msgid "Independent" #~ msgstr "Indipendente" #~ msgid "Cents" #~ msgstr "Centesimi" #~ msgid "Semitones" #~ msgstr "Semitoni" #~ msgid "Octaves" #~ msgstr "Ottave" #~ msgid "Remove this effect" #~ msgstr "Rimuovi questo effetto" #~ msgid "Enable/disable this effect" #~ msgstr "Abilita/disabilita questo effetto" #~ msgid "Change the position of this effect" #~ msgstr "Cambia la posizione di questo effetto" #~ msgid "Add Effect" #~ msgstr "Aggiungi Effetto" #~ msgid "Used Plugins List" #~ msgstr "Lista Moduli Utilizzati" #~ msgid "No Effects" #~ msgstr "Nessun Effetto" #~ msgid "Audio Stream Not Modified" #~ msgstr "Flusso Audio Non Alterato" #~ msgid "Search Plugin" #~ msgstr "Cerca Modulo" #~ msgid "Plugins List" #~ msgstr "Lista dei Moduli" #~ msgid "_General" #~ msgstr "_Generale" #~ msgid "Service" #~ msgstr "Servizio" #~ msgid "Launch Service at System Startup" #~ msgstr "Inizia come Servizio all'Avvio del Sistema" #~ msgid "Shutdown on Window Closing" #~ msgstr "Termina alla Chiusura della Finestra" #~ msgid "Audio" #~ msgstr "Audio" #~ msgid "Process All Output Streams" #~ msgstr "Processa Tutto i Flussi in Uscita" #~ msgid "Process All Input Streams" #~ msgstr "Processa Tutti i Flussi in Ingresso" #~ msgid "Ignore Streams from Monitor of Devices" #~ msgstr "Ignora i Flussi dai Monitor dei Dispositivi" #~ msgid "Use Cubic Volume" #~ msgstr "Usa Volume Cubico" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "" #~ "Reimposta il Volume dei Dispositivi Virtuali di EasyEffects all'Avvio" #~ msgid "Inactivity Timeout" #~ msgstr "Tempo Inattività" #~ msgid "Style" #~ msgstr "Stile" #~ msgid "Use Dark Theme" #~ msgstr "Usa Tema Scuro" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "Chiudi Menu con Click Esterno" #~ msgid "_Spectrum" #~ msgstr "_Spettro" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Bars" #~ msgstr "Barre" #~ msgid "Lines" #~ msgstr "Linee" #~ msgid "Dots" #~ msgstr "Punti" #~ msgid "Points" #~ msgstr "Punti" #~ msgid "Height" #~ msgstr "Altezza" #~ msgid "Line Width" #~ msgstr "Spessore Linea" #~ msgid "Fill" #~ msgstr "Riempi" #~ msgid "Show Bars Border" #~ msgstr "Mostra Bordo" #~ msgid "Rounded Corners" #~ msgstr "Angoli Arrotondati" #~ msgid "Color" #~ msgstr "Colore" #~ msgid "Lines and Bars" #~ msgstr "Linee e Barre" #~ msgid "Axis Labels" #~ msgstr "Etichette sull'Asse" #~ msgid "Frequency Range" #~ msgstr "Gamma Frequenze" #~ msgid "Minimum" #~ msgstr "Minima" #~ msgid "Maximum" #~ msgstr "Massima" #~ msgid "Load" #~ msgstr "Carica" #~ msgid "Save current settings to this preset file" #~ msgstr "Salva impostazioni attuali in questo profilo" #~ msgid "Remove this preset file" #~ msgstr "Rimuovi questo profilo" #~ msgid "New Output Preset Name" #~ msgstr "Nome Nuovo Profilo di Uscita" #~ msgid "Create a new preset" #~ msgstr "Crea un nuovo profilo" #~ msgid "Import a preset" #~ msgstr "Importa un profilo" #~ msgid "Search Output Preset" #~ msgstr "Cerca Profilo di Uscita" #~ msgid "Output Presets List" #~ msgstr "Lista Profili di Uscita" #~ msgid "New Input Preset Name" #~ msgstr "Nome Nuovo Profilo di Ingresso" #~ msgid "Search Input Preset" #~ msgstr "Cerca Profilo di Ingresso" #~ msgid "Input Presets List" #~ msgstr "Lista Profili di Ingresso" #~ msgid "High Frequency Damping" #~ msgstr "Smorza Alte Frequenze" #~ msgid "Room Size" #~ msgstr "Dimensione Stanza" #~ msgid "Small" #~ msgstr "Piccola" #~ msgid "Medium" #~ msgstr "Media" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Tunnel" #~ msgid "Large/smooth" #~ msgstr "Grande/liscia" #~ msgid "Experimental" #~ msgstr "Sperimentale" #~ msgid "Diffusion" #~ msgstr "Diffusione" #~ msgid "Pre Delay" #~ msgstr "Pre Ritardo" #~ msgid "Decay Time" #~ msgstr "Tempo Decay" #~ msgid "Wet Amount" #~ msgstr "Quantità Dry" #~ msgid "Wet Level" #~ msgstr "Livello Wet" #~ msgid "Dry Amount" #~ msgstr "Quantità Wet" #~ msgid "Dry Level" #~ msgstr "Livello Dry" #~ msgid "Bass Cut" #~ msgstr "Taglio Bassi" #~ msgid "Treble Cut" #~ msgstr "Taglio Alti" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Mura Vuote" #~ msgid "Room" #~ msgstr "Stanza" #~ msgid "Large Empty Hall" #~ msgstr "Sala Grande Vuota" #~ msgid "Disco" #~ msgstr "Discoteca" #~ msgid "Large Occupied Hall" #~ msgstr "Sala Grande Occupata" #~ msgid "Import Model" #~ msgstr "Importa Modello" #~ msgid "Models" #~ msgstr "Modelli" #~ msgid "Standard Model" #~ msgstr "Modello Standard" #~ msgid "RNNoise Models List" #~ msgstr "Lista Modelli RNNoise" #~ msgid "Model Not Loaded" #~ msgstr "Modello Non Caricato" #~ msgid "Active Model" #~ msgstr "Modello Attivo" #~ msgid "Standard RNNoise Model" #~ msgstr "Modello RNNoise Standard" #~ msgid "Overview" #~ msgstr "Sommario" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Apri il Manuale di EasyEffects" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Attiva/Disattiva Schermo Intero" #~ msgid "Close the Window" #~ msgstr "Chiudi la Finestra" #~ msgid "Quit EasyEffects" #~ msgstr "Termina EasyEffects" #~ msgid "Balance" #~ msgstr "Bilanciamento" #~ msgid "Input Balance" #~ msgstr "Bilanciamento Ingresso" #~ msgid "Softclip" #~ msgstr "Softclip" #~ msgid "Softclip Level" #~ msgstr "Livello Softclip" #~ msgid "Stereo Matrix" #~ msgstr "Matrice Stereo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "SD > SD (Predefinito Stereo)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "SD > MS (Stereo a Medio-Lato)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > SD (Medio-Lato a Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "SD > SS (Canale Sinistro Mono)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "SD > DD (Canale Destro Mono)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "SD > S+D (Mono Somma S+D)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "SD > DS (Inverti Canali Stereo)" #~ msgid "Stereo Mode" #~ msgstr "Modalità Stereo" #~ msgid "Invert Phase" #~ msgstr "Inverti Fase" #~ msgid "Side Level" #~ msgstr "Livello Lato" #~ msgid "Side Balance" #~ msgstr "Bilanciamento Lato" #~ msgid "Middle Level" #~ msgstr "Livello Medio" #~ msgid "Middle Panorama" #~ msgstr "Panorama Medio" #~ msgid "Output Balance" #~ msgstr "Bilanciamento in Uscita" #~ msgid "Delay L/R" #~ msgstr "Delay S/D" #~ msgid "Delay Left Right" #~ msgstr "Ritardo Sinistro Destro" #~ msgid "Stereo Base" #~ msgstr "Base Stereo" #~ msgid "Stereo Phase" #~ msgstr "Fase Stereo" #~ msgid "Running" #~ msgstr "In esecuzione" #~ msgid "Suspended" #~ msgstr "Sospeso" #~ msgid "Idle" #~ msgstr "Inattivo" #~ msgid "Creating" #~ msgstr "In creazione" #~ msgid "Error" #~ msgstr "Errore" #~ msgid "Unknown" #~ msgstr "Sconosciuto" #~ msgid "channels" #~ msgstr "Canali" #~ msgid "Output Presets: " #~ msgstr "Profili Uscita: " #~ msgid "Input Presets: " #~ msgstr "Profili Ingresso: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Effetti Audio per Applicazioni PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Esci da EasyEffects. Utile in esecuzione come servizio." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Carica un profilo. Esempio: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Reset EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Nascondi la Finestra." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Bypass globale. 1 per abilitare, 2 per disabilitare e 3 per ottenere lo " #~ "stato" #~ msgid "Show available presets." #~ msgstr "Mostra profili disponibili." #~ msgid "PipeWire" #~ msgstr "PipeWire" #~ msgid "The File Is Not Regular" #~ msgstr "Il File È Irregolare" #~ msgid "The Impulse File May Be Corrupted or Unsupported" #~ msgstr "Il File di Risposta Impulsiva Può Essere Corrotto o Non Supportato" #~ msgid "Only Stereo Impulse Files Are Supported" #~ msgstr "" #~ "Sono Supportati Soltanto File di Risposta Impulsiva in Formato Stereo" #~ msgid "Impulse File Not Imported" #~ msgstr "File di Risposta Impulsiva Non Importato" #~ msgid "Import Impulse File" #~ msgstr "Importa File di Impulso" #~ msgid "Open" #~ msgstr "Apri" #~ msgid "Cancel" #~ msgstr "Annulla" #~ msgid "Impulse Response" #~ msgstr "Risposta Impulso" #~ msgid "Load Impulse" #~ msgstr "Carica Impulso" #~ msgid "Remove Impulse" #~ msgstr "Rimuovi Impulso" #~ msgid "No Impulse File Loaded" #~ msgstr "Nessun File di Risposta Impulsiva Caricato" #~ msgid "Failed To Load The Impulse File" #~ msgstr "Impossibile Caricare il File di Risposta Impulsiva" #~ msgid "Recorders" #~ msgstr "Registratori" #~ msgid "Players" #~ msgstr "Riproduttori" #~ msgid "Effects" #~ msgstr "Effetti" #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "Import APO Preset File" #~ msgstr "Importa File Profilo APO" #~ msgid "APO Presets" #~ msgstr "Profili APO" #~ msgid "" #~ "APO Preset Not Loaded. File Format May Be Wrong. Please Check Its Content." #~ msgstr "" #~ "Profilo APO Non Caricato. Il Formato Può Essere Errato. Si Prega di " #~ "Controllare il Contenuto." #~ msgid "Remove Autoloading Preset" #~ msgstr "Rimuovi Profilo di Auto Caricamento" #~ msgid "Remove" #~ msgstr "Rimuovi" #~ msgid "Output Device" #~ msgstr "Dispositivo Uscita" #~ msgid "Add" #~ msgstr "Aggiungi" #~ msgid "Import Preset" #~ msgstr "Importa Profilo" #~ msgid "" #~ "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To " #~ "The Standard Model." #~ msgstr "" #~ "Il Modello Selezionato Non È Stato Caricato. Il Formato Potrebbe Essere " #~ "Non Supportato. Il Modello Standard È Stato Ripristinato." #~ msgid "Import Model File" #~ msgstr "Importa File Modello" #~ msgid "RNNoise Models" #~ msgstr "Modelli RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Enfasi Bassi" #~ msgid "Bass Loudness" #~ msgstr "Loudness Bassi" #~ msgid "Convolver" #~ msgstr "Convolver" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Crystalizer" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Delay" #~ msgid "Echo Canceller" #~ msgstr "Rimozione Eco" #~ msgid "Equalizer" #~ msgstr "Equalizzatore" #~ msgid "Exciter" #~ msgstr "Exciter" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limiter" #~ msgid "Maximizer" #~ msgstr "Maximizer" #~ msgid "Multiband Compressor" #~ msgstr "Compressore Multibanda" #~ msgid "Multiband Gate" #~ msgstr "Gate Multibanda" #~ msgid "Pitch" #~ msgstr "Intonazione" #~ msgid "Reverberation" #~ msgstr "Riverbero" #~ msgid "Noise Reduction" #~ msgstr "Riduzione Rumore" #~ msgid "Stereo Tools" #~ msgstr "Strumenti Stereo" #~ msgid "Close (Press ESC)" #~ msgstr "Chiudi (Premi ESC)" #~ msgid "Average" #~ msgstr "Media" #~ msgid "Failed" #~ msgstr "Errore" #~ msgid "Use Default" #~ msgstr "Usa Predefinito" #~ msgid "Remove this plugin" #~ msgstr "Rimuovi questo profilo" #~ msgid "Import Presets" #~ msgstr "Importa Profili" #~ msgid "Start Service at Login" #~ msgstr "Esegui Servizio all'Avvio" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Reimposta il Volume di EasyEffects all'Avvio" #~ msgid "Shutdown on Window Close" #~ msgstr "Termina alla Chiusura della Finestra" #~ msgid "Process All Outputs" #~ msgstr "Processa Tutto in Uscita" #~ msgid "Process All Inputs" #~ msgstr "Processa Tutto in Ingresso" #~ msgid "Exclude Device Monitor Streams" #~ msgstr "Escludi i flussi di monitoraggio del dispositivo" #~ msgid "Activate" #~ msgstr "Abilita" #~ msgid "Add to Blocklist" #~ msgstr "Aggiungi ad App Escluse" #~ msgid "Blocklist" #~ msgstr "App Escluse" #~ msgid "Add Plugin" #~ msgstr "Aggiungi Modulo" #~ msgid "Speakers" #~ msgstr "Altoparlanti" #~ msgid "Microphone" #~ msgstr "Microfono" #~ msgid "Plugins" #~ msgstr "Moduli" #, fuzzy #~ msgid "enabled" #~ msgstr "Attivato" #, fuzzy #~ msgid "disabled" #~ msgstr "Attivato" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latenza" #~ msgid "idle" #~ msgstr "inattivo" #~ msgid "Faster" #~ msgstr "Più Veloce" #~ msgid "Preserve Formant" #~ msgstr "Preserva Formante" #~ msgid "Crispness" #~ msgstr "Chiarezza" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not" #~ msgstr "" #~ "Il filtro di guadagno automatico dovrebbe gestire meglio gli interruttori " #~ "di latenza dinamica di PipeWire. I salti nel livello del volume non " #~ "dovrebbe" #~ msgid "happen anymore in these situations." #~ msgstr "succedere più in queste situazioni." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts." #~ msgstr "" #~ "Abbiamo aggiunto un'opzione che consente di ripristinare il volume e lo " #~ "stato muto dei nostri dispositivi virtuali all'avvio di EasyEffects." #~ msgid "" #~ "It should help with the cases were our devices are muted by the audio " #~ "server for unknown reasons." #~ msgstr "" #~ "Dovrebbe aiutare con i casi in cui i nostri dispositivi sono silenziati " #~ "dal server audio per ragioni sconosciute." #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" easyeffects-7.1.7/po/news/ja.po000066400000000000000000003143471463533416400164000ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-03-23 03:22+0000\n" "Last-Translator: \"R.Suga\" <21r.suga@gmail.com>\n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.16.2-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire アプリケーション用オーディオエフェクト" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects は、高度なオーディオ操作ツールです。イコライザー、リミッター、コ" "ンプレッサー、リバーブツールなどが含まれています。さらに、スペクトラムアナラ" "イザーもあります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects は、PulseEffects の後継版です。Easy Effects は PipeWire のオー" "ディオサーバーのみ対応しています。PulseAudio をお使いの場合、代わりに " "PulseEffects をお使いください。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Easy Effects はデフォルトの PipeWire サウンドサーバーを使用しているので、ほと" "んどのアプリケーションで動作します。サポートされているすべてのアプリケーショ" "ンは、メインウィンドウに表示され、それぞれ個別に有効にすることができます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Easy Effects は、音の出力を操作するだけでなく、マイクなどの入力デバイスにもエ" "フェクトをかけることができます。例えば、音声録音の時に便利ですが、音声会話の" "時にも効果を発揮します。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Easy Effects を起動すると、前回のセッションで使用した設定を適用します。また、" "現在のすべての設定をプロファイルとして保存することもできます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "2 つのオーディオ出力アプリを表示するメインページ" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "オーディオコントロールを表示するベースエンハンサーページ" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "オーディオコントロールを表示するコンボルバーのページ" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "機能:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "不具合修正:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "その他の注意事項:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "翻訳の更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "翻訳の更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #, fuzzy msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "ディエッサープラグインのしきい値パラメーターがプリセットファイルに保存される" "ようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "Linux Studio プラグイン 1.2.3 との互換性が向上しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "サチュレーション警告は、もう隣のウィジェットの位置を変えることはありません" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "スペクトラムプラグインの更新頻度を改善しました。サンプリングレートの違いによ" "り、視覚的に同様の周波数に更新されるはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "レベルメーターとスペクトラムが使用する更新間隔は、カスタマイズすることができ" "ます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "イコライザーバンドゲインのスライダー値を、より大きなステップで更新することが" "できます。キーボードのアップ/ダウンキーによる細かいコントロールも可能です。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "エコーキャンセラーの小さな改善。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "マルチフィルターインタンスに移行した後、エコーキャンセラープローブがサウンド" "カードにリンクされていませんでした。これは現在修正されているはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "エフェクトパイプラインに複数のフィルターインスタンスを追加することができるよ" "うになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Speex ライブラリをベースにしたスピーチプロセッサープラグインを新たに追加しま" "した。ノイズの抑制に加え、音声のアクティビティを検出することができます。" "rnnoise ライブラリがうまく動作しない場合の代替品となります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Linux Studio プラグイン 1.2.3 との互換性が向上しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "GraphicEQ プリセットは、イコライザーエフェクトにインポートできます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "GNOME Human Interface Guidelines の命名規則に準拠するため、アプリケーション名" "は Easy Effects に変更されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "ドキュメントが更新されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "プリセットの自動読み込みが改善されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "オートゲイン無音しきい値をユーザーが設定できるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "ドライコントロールとウェットコントロールがステレオツールエフェクトに追加され" "ました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "エコーキャンセラーに、Speex ライブラリを用いたノイズ抑制制御機能が追加されま" "した。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "カーソルをグラフの上に合わせると、X軸座標の間違った値が表示されていました。こ" "の問題は修正されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "新しい複数インスタンス機能のため、プリセットの形式が変更されましたが、古いプ" "リセットを読み込むことは可能です。ただし、現在のプリセットを保存すると、常に" "新しいフォーマットで書き込まれます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "マルチバンドゲートの実装が CALF から Linux Studio Plugins に移行されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "bluez5 デバイスとのプリセットオートロードコードの互換性が改善されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "一部のプラグインにウェット/ドライコントロールが追加されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "関連する lv2 プラグインがシステムにインストールされていない場合、エフェクトイ" "ンターフェースがロードされないようになりました。その代わりに、ユーザーへのス" "テータスメッセージが表示されます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "ドキュメントが更新されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "デバッグメッセージの改善" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "翻訳の改善" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "エフェクトの適用中にウィンドウを閉じると EasyEffects がクラッシュする不具合を" "修正しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "バイパス状態はプリセットファイルに保存できます。これが行われた理由は、issue " "1039 で見ることができます" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "USB デバイスとのプリセットオートロードコードの互換性が向上しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "プリセットの読み込みに失敗したときや、プリセット/インパルスファイルのインポー" "トに失敗したときに、ダイアログを表示するようにしました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Linux Studio Plugins の サイドチェーンゲートプラグインが Calf Studio プラグイ" "ンの代わりに使われるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "ユーザーロケールが適切に設定されていない時に EasyEffects がクラッシュしないよ" "うになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "QT での適切な SVG サポートの欠如に対処するために、回避策がアイコンに実装され" "ました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "アプリケーションへのエフェクトが無効の場合、そのターゲットメタデータを NULL " "に設定するようになりました。これにより、メディアセッションマネージャー " "(wireplumber) がストリームを新しいデバイスに適切に移動できます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "新しい設定オプションが追加されました。これは、EasyEffects がシンクデバイスを" "モニタすることを目的としたストリームを無視することを可能にします。OBS を使用" "する際にユーザが抱えていた問題のいくつかを解決するのに役立ちます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "ストリームのサンプル形式を表示するコードが改善されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "rnnoise ライブラリがオプションになりました。これはパッケージメンテナが " "Debian パッケージをビルドするのに役立ちます。詳細は issue 1000を参照してくだ" "さい。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "ログにメッセージが出力されるソースコードの行が表示されるようになりました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "pavucontrol のようなサードパーティプログラムがストリームを仮想デバイスから遠" "ざけると、ウィンドウの「エフェクトを有効にする」チェックボックスが更新されな" "い問題がありました。これは現在修正されているはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "オートゲインの最大履歴を変更すると、クラッシュすることがある問題を修正しまし" "た。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "pw-mididump 実行時のクラッシュを回避" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "ピッチプラグインのインターフェースが改善されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "アプリケーションアイコンが QT を使用するデスクトップに対応しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "ブロックリストのコードは、ストリームが application.id タグを設定した場合、そ" "れを使用します" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "マウススクロールの問題を避けるために、プレーヤー/レコーダータブに表示されるア" "プリケーションリストのエントリーは音量スケールを表示しないようになりました。" "この問題の詳細と解決策は、issue 1211 と issue 1427 を参照してください" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "プレーヤー/レコーダーに表示できるアプリケーションがない場合、メッセージが表示" "されます" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "多くの翻訳の更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "パイプラインがアクティブで、スペクトルウィジェットが表示されているときに、ス" "ペクトルの表示ポイント数を変更すると EasyEffeects がクラッシュする不具合を修" "正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "ウィンドウに表示されるパイプラインの待機時間の値は、状況によっては間違ってい" "る可能性があります。この問題は修正されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "パイプラインの非アクティブ時のタイムアウトを選択できる新しい設定が追加されま" "した。クライアントがデバイスで再生または録音していない場合、タイムアウトに達" "するとフィルターのリンクが解除されます。これは、CPU パワーを無駄なく利用する" "ために行われます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "オートゲインプラグインでは、幾何平均を計算するために3つのラウドネスのうちどれ" "を使用するか選択できるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "オートゲインプラグインで最大履歴を設定できるようになり、libebur128 ヒストグラ" "ムモードは使われなくなりました。これにより、統合されたラウドネスが常に同じ値" "で止まってしまうことを避けることができます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "EasyEffects のアイコンは、QT デスクトップで見えるように更新されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "グローバルバイパスの状態を返すコマンドラインオプションが再び動作するようにな" "りました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "クロスフィードフィルターは、PipeWire の動的遅延スイッチにうまく対応するように" "なりました。これで、音量レベルのジャンプが起こらなくなるはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "モノラルマイクが EasyEffects で正しく動作しない不具合を修正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "PipeWire の次期リリース 0.3.44 のサポート" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "オートゲインフィルターは、PipeWire の動的遅延スイッチにうまく対応するようにな" "りました。これで、音量レベルのジャンプが起こらなくなるはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "EasyEffects の起動時に、バーチャルデバイスのボリュームとミュートの状態をリ" "セットできるオプションを追加しました。これは、謎の理由でオーディオサーバーに" "よってデバイスがミュートされている場合に役立ちます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "コンピュータのサスペンドのサポートが強化されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "プリセットを持たない自動読み込みプロファイルを作成しようとすると、アプリケー" "ションがクラッシュする不具合を修正しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "イコライザーのバンド品質を 0 に設定するとアプリケーションがクラッシュする不具" "合を修正しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita は、ウィンドウの一部を作成したり、ダークテーマとライトテーマを切り" "替えるために使用されます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "設定メニューは、LibAdwaita ウィジェットを使用して再設計されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "イコライザー APO のプリセットインポート機能を改良し、ベルフィルターだけでな" "く、他の対応するフィルターも適用できるようになりました(現時点ではLSPプラグイ" "ンではバンドパスフィルターのみ利用できません)。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "メニューの「すべての設定をリセット」が Flatpak でも動作するようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "メニューを自動的に非表示にすることができる新しいオプションが追加されました。" "これにより、現在 gtk4 で抱えているポップオーバーメニュー関連の不具合を回避で" "きる可能性があります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "中央の周波数帯でカンマを千の区切りとして保存された APO プリセットを読み込むた" "めの解析がより強力になりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "fmt ライブラリは、少なくとも c++ コンパイラがその機能を実装していない間は新し" "い依存関係にあります。これは今後数年のうちに実現すると思われます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM と GLIBMM はもう依存関係にありません。現在は gtk4 を直接使用していま" "す。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "コンボルバーインターフェースでインパルスレスポンスを組み合わせることができる" "ようになりました。新しいインパルスファイルが生成され、インパルスリストに表示" "されます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "プロットのX軸描画が改善されました。これにより、ウィンドウの幅に応じてラベルの" "数が動的に調整されるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "ドキュメントが EasyEffects の新機能を反映して更新されました。PulseEffects に" "関する古い文献は削除されました。メニューセクションにドキュメントボタンが追加" "されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "スピンボタンに範囲外の値が入力されたときに、前の値にリセットされるのではな" "く、最低/最高の値に更新されるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "アプリケーションウィンドウは最大化された状態を記憶し、次回の起動時に反映しま" "す。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "tbb ライブラリは新しい依存関係です" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "リミッターとマルチバンドコンプレッサーのプラグインで、オプションの外部サイド" "チェーンを使用できるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "オートゲインプラグインで、音量補正の基準となるラウドネスを選択できるようにな" "りました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "イコライザープラグインの APO プロファイルインポート機能で、\"Pre " "Amplification\" パラメータを解析するようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "オプションのキュービックボリュームは一般設定で有効にすることができます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "スペクトラムプラグインは、表示されていないときはいつでもパススルーになるはず" "ですが、ウィンドウが閉じられたときだけ発生していました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "支援技術のサポートが改善されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "パイプラインのプラグインの順番を変更した後、コンプレッサーやリミッターなどの" "いくつかのフィルターで使用されているプローブが再リンクされないという問題があ" "りました。現在は動作しているはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "PipeWire のモニターストリームがアプリケーションリストから除外され、削除される" "ようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "issue 1172 で報告されたクラッシュが修正されることを期待します。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "スペクトラムがクラッシュするのを防ぎました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "英語以外の言語を使用しているシステムでは、Pavucontrol は入力アプリケーション" "リストに追加されません。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "WirePlumber との互換性を改善しました。これは、内蔵の PipeWire セッションマ" "ネージャの代わりにこれを使うシステムで動作させるために必要です。詳細は issue " "1144 を参照してください。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "すでにリストにあるデバイスに自動読み込みプロファイルを追加しようとすると、そ" "のターゲットプリセットが更新されます。これにより、プロファイルを削除して再度" "作成せずにプロファイルのプリセットを変更することができます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "プリセットの自動読み込みサポートの実装を再設計しました。これにより、多くの" "ハードウェアで動作するようになりました。詳しくは issue 1051 を参照してくださ" "い。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "プラグインスタックの最後にリミッターやマキシマイザーが設定されている場合、高" "い出力レベルでハードウェアが損傷するのを防ぐために、新しいプラグインは最後か" "ら2番目の位置に追加されます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "ブロックリストからアプリケーションを削除すると、有効な状態に戻ります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "ノイズ除去プラグインからインポートしたモデルを削除すると、現在使用しているモ" "デルが正しく更新されないことがありました。これは現在修正されているはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "外部エディタでプリセットファイルを編集すると、重複したエントリーがプリセット" "メニューに表示されなくなります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "プリセットを切り替えたときに、ブロックリストが正しく設定されるようになりまし" "た。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "プラグインのスタックを変更したときに、グローバルバイパスボタンの状態が正しく" "更新されるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "システム上に存在しないアイコンは、アプリケーション情報 UI に表示されないよう" "にする(正しくインストールされているにもかかわらず、アプリケーションのアイコン" "が表示されない場合は、問題をご報告ください)。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Breeze アイコンテーマを使用した Plasma DE で表示されなかった一部のアイコンが" "表示されるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "中国語の翻訳を更新しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "イタリア語の翻訳を更新しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "コンプレッサーのパラメーター Boost Amount に対応しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "マルチバンドコンプレッサープラグインは、Calf Studio のものから Linux Studio " "Plugins のステレオマルチバンドコンプレッサープラグインを使用するようになりま" "した。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "リミッタープラグインは、Calf Studio のものから Linux Studio Plugins のステレ" "オリミッタープラグインを使用するようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "LV2 フィルターは、最初に読み込まれたときのみ PipeWire グラフに生成されるよう" "になりました。一度読み込まれると、EasyEffects がシャットダウンするまで接続さ" "れたままになります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" "エコーキャンセラーのサンプリングレートが正しく設定されるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "ディエッサープラグインのしきい値パラメーターがプリセットファイルに保存される" "ようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "クリスタライザーのバンドスプリットを改善し、新しいデフォルトの強度値を追加し" "ました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "入力ゲインや出力ゲインの値によっては、対応するレベルバーが揃わないことがあり" "ました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "イコライザーバンドを追加すると、オフではなくベルに設定されます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "イコライザー APO のプリセットの読み込みが、C 以外のロケールで正しく動作するよ" "うになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "PipeWire のポートフィルターノード間のリンク管理を改善しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "以前は、クリスタライザープラグインの信号増幅が高すぎました。今は、より合理的" "なレベルになっているはずです。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "リサンプラーを必要とするプラグイン (rnnoise プラグインなど) で使用されるリザ" "ンプラーの改善" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "複数の自動読み込みプリセットを設定しても正常に動作するようになりました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "一部のプラグインのダイアログで、一時的なウィンドウが適切に設定されるようにな" "りました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "コンボルバーのインパルス応答メニューで、インパルスファイルが1つしかない場合に" "読み込まれないという問題を改善しました。issue 1011を参照してください" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "ピッチプラグインが正しく初期化されない不具合を修正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "サチュレーション警告は、もう隣のウィジェットの位置を変えることはありません" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "いくつかのウィジェットのロケールを修正" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "いくつかのウィジェットで誤った配置になっていたのを修正" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "ラウドネスプラグインは、issue 820 で説明されている理由により、再び使用されて" "います。つまり、再びオプションの依存関係になりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "オプションの依存パッケージがインストールされていない場合に発生するセグメン" "テーションフォールトを修正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "イコライザーのインターフェースを改善しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "現在は、サイドチェーン入力として外部ソースを選択できるサイドチェーン LSP コン" "プレッサーを使用しています。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "LSP コンプレッサーのブーストモードに対応しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "イコライザーでスプリットチャンネルが有効になっている場合、インポートされた " "APO プリセットは、ウィンドウに表示されているチャンネルのみに適用されます。こ" "れにより、両方に同じ値を設定するのではなく、チャンネルごとに異なるプリセット" "をインポートすることができます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "プリセットの自動読み込みプロファイル作成時やプリセットの削除時に発生するセグ" "メンテーションフォールトを修正" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "今回のリリースは、これまでのリリースの中でも最も大きなもののひとつです。変更" "点が多すぎて、ここですべてを話すことはできません。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "以下は、最も重要なものだけです。ここに至るまでの道のりに興味がある方は、" "issue 904 と issue 874 をご覧ください。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "アプリケーションとそのリポジトリの名称が PulseEffects から EasyEffects に変更" "されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 は gtkmm4 に置き換えられました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer は、ネイティブの PipeWire フィルターに置き換えられました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "多くの機能がゼロから再実装されました。プリセットの自動読み込みはその一例で" "す。また、プラグイン選択メニューも大きく変化しました。ユーザーは、使用したい" "プラグインだけをウィンドウに表示できるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Boost は依存関係でなくなりました。そのため、プリセットの構造に少し変更があり" "ました。根気があれば、PulseEffects のプリセットをテキストエディタで編集して、" "EasyEffects で動作させることができます。誰かがこの機能のためのスクリプトを開" "発してくれることを期待しています。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "新しいライブラリーが使われるようになり、以前はオプションであったライブラリー" "の一部が必須になりました" #~ msgid "This release adds the following features:" #~ msgstr "このリリースでは、以下の機能が追加されています:" #~ msgid "manager" #~ msgstr "マネージャー" #~ msgid "" #~ "devices. This will help to fix some of problems our users were having " #~ "when using OBS." #~ msgstr "" #~ "これにより、OBS を使用する際にユーザーが抱えていた問題のいくつかを解決する" #~ "ことができます。" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "詳しくは issue #1000 を参照してください。" #~ msgid "This release fixes the following bugs:" #~ msgstr "このリリースでは、以下のバグが修正されています:" #~ msgid "" #~ "moved the stream away from our virtual devices. This should be fixed now." #~ msgstr "" #~ "そのストリームを仮想デバイスから遠ざけました。これは今すぐ修正する必要があ" #~ "ります。" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "タブにボリュームスケールが表示されなくなりました。この問題の詳細と解決策に" #~ "ついては、#1211 を参照してください" #~ msgid "and #1427" #~ msgstr "and #1427" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "" #~ "パイプラインがアクティブで、かつスペクトラムウィジェットが表示されている間" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "パイプラインの非アクティブ時のタイムアウトを選択できる設定が追加されまし" #~ "た。クライアントが再生していないとき" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "の接続や録画は、タイムアウトに達するとフィルタリングが解除されます。これは" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "CPUのパワーを無駄にせず、無音で処理することができます。" #~ msgid "mean." #~ msgstr "。" #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "これにより、Integrated ラウドネスが永遠に同じ値で止まってしまうようなケー" #~ "スを避けることができます。" #~ msgid "This release fixes the following bug:" #~ msgstr "このリリースでは、以下のバグが修正されています:" #~ msgid "This release adds the following feature:" #~ msgstr "このリリースでは、以下の機能が追加されています:" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "内蔵の PipeWire セッションマネージャーです。詳細は issue [1144]( で確認で" #~ "きます" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "システム上のアイコンが見つからない場合は、アプリケーション情報インター" #~ "フェース内に表示されません" #~ msgid "a look at and" #~ msgstr "を見て、" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "イコライザー、コンプレッサーなどのオーディオエフェクト" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "リミッター;コンプレッサー;リバーブ;イコライザー;オートボリューム;" #~ msgid "\"Presets\"" #~ msgstr "「プリセット」" #~ msgid "Enable/disable this application" #~ msgstr "このアプリケーションの有効化/無効化" #~ msgid "Enable" #~ msgstr "有効" #~ msgid "Excluded App List: Add/remove this application" #~ msgstr "除外されたアプリリスト: このアプリケーションを追加/削除" #~ msgid "Exclude" #~ msgstr "除外" #~ msgid "Mute Application" #~ msgstr "アプリケーションをミュート" #~ msgid "Change the volume of this application" #~ msgstr "このアプリケーションの音量を変更" #~ msgid "Application Volume" #~ msgstr "アプリケーションの音量" #~ msgid "_Preferences" #~ msgstr "_環境設定" #~ msgid "_Manual" #~ msgstr "_マニュアル" #~ msgid "_Shortcuts" #~ msgstr "_ショートカット" #~ msgid "_Reset Settings" #~ msgstr "_設定をリセット" #~ msgid "_About EasyEffects" #~ msgstr "_EasyEffects について" #~ msgid "Presets" #~ msgstr "プリセット" #~ msgid "Presets Menu" #~ msgstr "プリセットメニュー" #~ msgid "Enable/disable the global bypass" #~ msgstr "グローバルバイパスの有効化/無効化" #~ msgid "Global Bypass" #~ msgstr "グローバルバイパス" #~ msgid "Primary Menu" #~ msgstr "メインメニュー" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects ウィンドウ" #~ msgid "Applications List" #~ msgstr "アプリケーションリスト" #~ msgid "Empty List" #~ msgstr "空のリスト" #~ msgid "No Audio Application Available" #~ msgstr "オーディオアプリケーションがありません" #~ msgid "Target" #~ msgstr "ターゲット" #~ msgid "Maximum History" #~ msgstr "最大履歴" #~ msgid "Reference" #~ msgstr "リファレンス" #~ msgid "Momentary" #~ msgstr "瞬間的" #~ msgid "Short-Term" #~ msgstr "短期" #~ msgid "Integrated" #~ msgstr "統合" #~ msgid "Geometric Mean (MSI)" #~ msgstr "幾何平均 (MSI)" #~ msgid "Geometric Mean (MS)" #~ msgstr "幾何平均 (MS)" #~ msgid "Geometric Mean (MI)" #~ msgstr "幾何平均 (MI)" #~ msgid "Geometric Mean (SI)" #~ msgstr "幾何平均 (SI)" #~ msgid "Reset History" #~ msgstr "履歴をリセット" #~ msgid "Relative" #~ msgstr "相対的" #~ msgid "Range" #~ msgstr "範囲" #~ msgid "Loudness" #~ msgstr "ラウドネス" #~ msgid "Output Gain" #~ msgstr "出力ゲイン" #~ msgid "Input" #~ msgstr "入力" #~ msgid "Plugin Input Gain" #~ msgstr "プラグイン入力ゲイン" #~ msgid "Output" #~ msgstr "出力" #~ msgid "Plugin Output Gain" #~ msgstr "プラグイン出力ゲイン" #~ msgid "Reset" #~ msgstr "リセット" #~ msgid "Using" #~ msgstr "使用中" #~ msgid "Device" #~ msgstr "デバイス" #~ msgid "Name" #~ msgstr "名前" #~ msgid "Profile" #~ msgstr "プロファイル" #~ msgid "Preset" #~ msgstr "プリセット" #~ msgid "Remove this autoload preset" #~ msgstr "この自動読み込みプリセットを削除" #~ msgid "Listen" #~ msgstr "聞く" #~ msgid "Blend Harmonics" #~ msgstr "ブレンドハーモニクス" #~ msgid "3rd" #~ msgstr "3rd" #~ msgid "2nd" #~ msgstr "2nd" #~ msgid "Amount" #~ msgstr "量" #~ msgid "Harmonics" #~ msgstr "ハーモニクス" #~ msgid "Scope" #~ msgstr "範囲" #~ msgid "Floor" #~ msgstr "フロア" #~ msgid "Floor Value" #~ msgstr "フロア値" #~ msgid "Link" #~ msgstr "リンク" #~ msgid "Application Name" #~ msgstr "アプリケーション名" #~ msgid "Add to Excluded Applications" #~ msgstr "除外アプリケーションに追加" #~ msgid "Excluded Applications List" #~ msgstr "除外されたアプリケーションリスト" #~ msgid "Show Excluded Applications" #~ msgstr "除外されたアプリケーションを表示" #~ msgid "Compressor" #~ msgstr "コンプレッサー" #~ msgid "Mode" #~ msgstr "モード" #~ msgid "Downward" #~ msgstr "下方向" #~ msgid "Upward" #~ msgstr "上方向" #~ msgid "Boosting" #~ msgstr "ブースト" #~ msgid "Compression Mode" #~ msgstr "圧縮モード" #~ msgid "Boost Threshold" #~ msgstr "ブーストしきい値" #~ msgid "Boost Amount" #~ msgstr "ブースト量" #~ msgid "Attack" #~ msgstr "アタック" #~ msgid "Time" #~ msgstr "時間" #~ msgid "Threshold" #~ msgstr "しきい値" #~ msgid "Attack Time" #~ msgstr "アタックタイム" #~ msgid "Attack Threshold" #~ msgstr "アタックしきい値" #~ msgid "Release" #~ msgstr "リリース" #~ msgid "Release Time" #~ msgstr "リリース時間" #~ msgid "Release Threshold" #~ msgstr "リリースしきい値" #~ msgid "Ratio" #~ msgstr "比率" #~ msgid "Knee" #~ msgstr "ニー" #~ msgid "Makeup" #~ msgstr "メイクアップ" #~ msgid "Sidechain" #~ msgstr "サイドチェーン" #~ msgid "Peak" #~ msgstr "ピーク" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "ローパス" #~ msgid "Uniform" #~ msgstr "ユニフォーム" #~ msgid "Sidechain Mode" #~ msgstr "サイドチェーンモード" #~ msgid "Source" #~ msgstr "ソース" #~ msgid "Middle" #~ msgstr "中央" #~ msgid "Side" #~ msgstr "サイド" #~ msgid "Left" #~ msgstr "左" #~ msgid "Right" #~ msgstr "右" #~ msgid "Sidechain Source" #~ msgstr "サイドチェーンソース" #~ msgid "Type" #~ msgstr "タイプ" #~ msgid "Feed-forward" #~ msgstr "フィードフォワード" #~ msgid "Feed-back" #~ msgstr "フィードバック" #~ msgid "External" #~ msgstr "外部" #~ msgid "Sidechain Type" #~ msgstr "サイドチェーンタイプ" #~ msgid "Input Device" #~ msgstr "入力デバイス" #~ msgid "PreAmplification" #~ msgstr "プリアンプリーション" #~ msgid "Reactivity" #~ msgstr "反応性" #~ msgid "Lookahead" #~ msgstr "ルックアヘッド" #~ msgid "Sidechain Filters" #~ msgstr "サイドチェーンフィルター" #~ msgid "High-Pass" #~ msgstr "ハイパス" #~ msgid "Frequency" #~ msgstr "周波数" #~ msgid "Off" #~ msgstr "オフ" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #~ msgid "High-Pass Filter Mode" #~ msgstr "ハイパスフィルターモード" #~ msgid "High-Pass Filter Frequency" #~ msgstr "ハイパスフィルター周波数" #~ msgid "Low-Pass Filter Mode" #~ msgstr "ローパスフィルターモード" #~ msgid "Gain" #~ msgstr "ゲイン" #~ msgid "Envelope" #~ msgstr "包装" #~ msgid "Curve" #~ msgstr "カーブ" #~ msgid "L" #~ msgstr "L" #~ msgid "Left Channel" #~ msgstr "左チャンネル" #~ msgid "R" #~ msgstr "R" #~ msgid "Right Channel" #~ msgstr "右チャンネル" #~ msgid "Impulses" #~ msgstr "インパルス" #~ msgid "Combine" #~ msgstr "コンバイン" #~ msgid "Stereo Width" #~ msgstr "ステレオ幅" #~ msgid "Spectrum" #~ msgstr "スペクトラム" #~ msgid "Log Scale" #~ msgstr "ログスケール" #~ msgid "Autogain" #~ msgstr "オートゲイン" #~ msgid "Rate" #~ msgstr "レート" #~ msgid "Samples" #~ msgstr "サンプル" #~ msgid "Duration" #~ msgstr "長さ" #~ msgid "Combine Impulse Responses" #~ msgstr "インパルス応答をコンバイン" #~ msgid "First Kernel" #~ msgstr "ファーストカーネル" #~ msgid "Second Kernel" #~ msgstr "セカンドカーネル" #~ msgid "Output File Name" #~ msgstr "出力ファイル名" #~ msgid "Combined Kernel Name" #~ msgstr "複合カーネル名" #~ msgid "Import Impulse" #~ msgstr "インパルスをインポート" #~ msgid "Search" #~ msgstr "検索" #~ msgid "Search Impulse File" #~ msgstr "インパルスファイルを検索" #~ msgid "Impulse Files List" #~ msgstr "インパルスファイル一覧" #~ msgid "Default" #~ msgstr "デフォルト" #~ msgid "Cutoff" #~ msgstr "カットオフ" #~ msgid "Feed" #~ msgstr "フィード" #~ msgid "Bypass" #~ msgstr "バイパス" #~ msgid "Mute" #~ msgstr "ミュート" #~ msgid "Detection" #~ msgstr "検出" #~ msgid "Wide" #~ msgstr "ワイド" #~ msgid "Split" #~ msgstr "スプリット" #~ msgid "F1 Split" #~ msgstr "F1 スプリット" #~ msgid "Frequency 1 Split" #~ msgstr "周波数 1 スプリット" #~ msgid "F2 Peak" #~ msgstr "F2 ピーク" #~ msgid "Frequency 2 Peak" #~ msgstr "周波数 2 ピーク" #~ msgid "F1 Gain" #~ msgstr "F1 ゲイン" #~ msgid "Frequency 1 Gain" #~ msgstr "周波数 1 ゲイン" #~ msgid "F2 Level" #~ msgstr "F2 レベル" #~ msgid "Frequency 2 Level" #~ msgstr "周波数 2 レベル" #~ msgid "F2 Peak Q" #~ msgstr "F2 ピーク Q" #~ msgid "Frequency 2 Peak Q" #~ msgstr "周波数 2 ピーク Q" #~ msgid "Laxity" #~ msgstr "ゆるみ" #~ msgid "Detected" #~ msgstr "検出" #~ msgid "Reduction" #~ msgstr "減少" #~ msgid "Frame Size" #~ msgstr "フレームサイズ" #~ msgid "Filter Length" #~ msgstr "フィルター長" #~ msgid "Excluded Apps" #~ msgstr "除外されたアプリ" #~ msgid "Bands" #~ msgstr "バンド" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "チャンネルの分割" #~ msgid "Flat Response" #~ msgstr "フラットレスポンス" #~ msgid "Calculate Frequencies" #~ msgstr "周波数の計算" #~ msgid "Load APO Preset" #~ msgstr "APO プリセットを読み込む" #~ msgid "Bell" #~ msgstr "ベル" #~ msgid "High Pass" #~ msgstr "ハイパス" #~ msgid "High Shelf" #~ msgstr "ハイシェルフ" #~ msgid "Low Pass" #~ msgstr "ローパス" #~ msgid "Low Shelf" #~ msgstr "ローシェルフ" #~ msgid "Notch" #~ msgstr "ノッチ" #~ msgid "Resonance" #~ msgstr "反響" #~ msgid "All Pass" #~ msgstr "オールパス" #~ msgid "Band Type" #~ msgstr "バンドタイプ" #~ msgid "Band Mode" #~ msgstr "バンドモード" #~ msgid "Slope" #~ msgstr "スロープ" #~ msgid "Band Slope" #~ msgstr "バンドスロープ" #~ msgid "Width" #~ msgstr "幅" #~ msgid "Quality" #~ msgstr "品質" #~ msgid "Solo" #~ msgstr "ソロ" #~ msgid "Ceil" #~ msgstr "切り上げ" #~ msgid "Ceil Value" #~ msgstr "切り上げ値" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "アクセス" #~ msgid "Description" #~ msgstr "説明" #~ msgid "Remove this model file" #~ msgstr "このモデルファイルを削除" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct ローパス" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct ローパス" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct ローパス" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct ハイパス" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct ハイパス" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct ハイパス" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct バンドパス" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct バンドパス" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct バンドパス" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct バンドリジェクト" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct バンドリジェクト" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct バンドリジェクト" #~ msgid "Inertia" #~ msgstr "慣性" #~ msgid "Gate" #~ msgstr "ゲート" #~ msgid "Zone" #~ msgstr "ゾーン" #~ msgid "Hysteresis" #~ msgstr "ヒステリシス" #~ msgid "Attack Zone Start" #~ msgstr "アタックゾーンスタート" #~ msgid "Release Zone Start" #~ msgstr "リリースゾーン開始" #~ msgid "Internal" #~ msgstr "内部" #~ msgid "Gating" #~ msgstr "ゲーティング" #~ msgid "Oversampling" #~ msgstr "オーバーサンプリング" #~ msgid "Dither" #~ msgstr "ディザ" #~ msgid "Herm Thin" #~ msgstr "Herm Thin" #~ msgid "Herm Wide" #~ msgstr "Herm Wide" #~ msgid "Herm Tail" #~ msgstr "Herm Tail" #~ msgid "Herm Duck" #~ msgstr "Herm Duck" #~ msgid "Exp Thin" #~ msgstr "Exp Thin" #~ msgid "Exp Wide" #~ msgstr "Exp Wide" #~ msgid "Exp Tail" #~ msgstr "Exp Tail" #~ msgid "Exp Duck" #~ msgstr "Exp Duck" #~ msgid "Line Thin" #~ msgstr "Line Thin" #~ msgid "Line Wide" #~ msgstr "Line Wide" #~ msgid "Line Tail" #~ msgstr "Line Tail" #~ msgid "Line Duck" #~ msgstr "Line Duck" #~ msgid "None" #~ msgstr "なし" #~ msgid "Half x2(2L)" #~ msgstr "ハーフ ×2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "ハーフ ×2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "ハーフ ×3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "ハーフ ×3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "ハーフ ×4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "ハーフ ×4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "ハーフ ×6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "ハーフ ×6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "ハーフ ×8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "ハーフ ×8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "フル x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "フル x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "フル ×3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "フル ×3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "フル ×4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "フル ×4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "フル ×6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "フル ×6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "フル ×8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "フル ×8(3L)" #~ msgid "SC PreAmp" #~ msgstr "SC プリアンプ" #~ msgid "Sidechain PreAmplification" #~ msgstr "サイドチェーン PreAmplification" #~ msgid "Boost" #~ msgstr "ブースト" #~ msgid "Stereo Link" #~ msgstr "ステレオリンク" #~ msgid "External Sidechain" #~ msgstr "外部サイドチェーン" #~ msgid "External Sidechain Source" #~ msgstr "外部サイドチェーンソース" #~ msgid "Auto Leveling" #~ msgstr "オートレベリング" #~ msgid "Auto Leveling Attack" #~ msgstr "オートレベリングアタック" #~ msgid "Auto Leveling Release" #~ msgstr "オートレベリングリリース" #~ msgid "Auto Leveling Knee" #~ msgstr "オートレベリングニー" #~ msgid "Gain Left" #~ msgstr "左ゲイン" #~ msgid "Gain Right" #~ msgstr "右ゲイン" #~ msgid "Sidechain Left" #~ msgstr "左サイドチェーン" #~ msgid "Sidechain Right" #~ msgstr "右サイドチェーン" #~ msgid "Standard" #~ msgstr "標準" #~ msgid "Flat" #~ msgstr "フラット" #~ msgid "FFT Size" #~ msgstr "FFT サイズ" #~ msgid "Fast Fourier Transform Size" #~ msgstr "高速フーリエ変換サイズ" #~ msgid "Output Volume" #~ msgstr "出力ボリューム" #~ msgid "Ceiling" #~ msgstr "シーリング" #~ msgid "Operating Mode" #~ msgstr "動作モード" #~ msgid "Classic" #~ msgstr "クラシック" #~ msgid "Modern" #~ msgstr "モダン" #~ msgid "Sidechain Boost" #~ msgstr "サイドチェーンブースト" #~ msgid "Pink BT" #~ msgstr "ピンク BT" #~ msgid "Pink MT" #~ msgstr "ピンク MT" #~ msgid "Brown BT" #~ msgstr "ブラウン BT" #~ msgid "Brown MT" #~ msgstr "ブラウン MT" #~ msgid "Bands List" #~ msgstr "バンドリスト" #~ msgid "Band 1" #~ msgstr "バンド 1" #~ msgid "Band 2" #~ msgstr "バンド 2" #~ msgid "Band 3" #~ msgstr "バンド 3" #~ msgid "Band 4" #~ msgstr "バンド 4" #~ msgid "Band 5" #~ msgstr "バンド 5" #~ msgid "Band 6" #~ msgstr "バンド 6" #~ msgid "Band 7" #~ msgstr "バンド 7" #~ msgid "Band 8" #~ msgstr "バンド 8" #~ msgid "Band Start" #~ msgstr "バンドスタート" #~ msgid "Band End" #~ msgstr "バンドエンド" #~ msgid "Band Compression Mode" #~ msgstr "バンド圧縮モード" #~ msgid "Band Bypass" #~ msgstr "バンドバイパス" #~ msgid "Band Sidechain Options" #~ msgstr "バンドサイドチェーンオプション" #~ msgid "Low-Cut Filter" #~ msgstr "ローカットフィルター" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "ローカットフィルター周波数" #~ msgid "High-Cut Filter" #~ msgstr "ハイカットフィルター" #~ msgid "High-Cut Filter Frequency" #~ msgstr "ハイカットフィルター周波数" #~ msgid "PreAmp" #~ msgstr "プリアンプ" #~ msgid "Band Gain" #~ msgstr "バンドゲイン" #~ msgid "Band Envelope" #~ msgstr "バンドエンベロープ" #~ msgid "Band Curve" #~ msgstr "バンドカーブ" #~ msgid "Split Mode" #~ msgstr "スプリットモード" #~ msgid "Split 1/2" #~ msgstr "スプリット 1/2" #~ msgid "Split Frequency 1" #~ msgstr "スプリット周波数 1" #~ msgid "Split 2/3" #~ msgstr "スプリット 2/3" #~ msgid "Split Frequency 2" #~ msgstr "スプリット周波数 2" #~ msgid "Split 3/4" #~ msgstr "スプリット 3/4" #~ msgid "Split Frequency 3" #~ msgstr "スプリット周波数 3" #~ msgid "Sub Band" #~ msgstr "サブバンド" #~ msgid "Band 1 Bypass" #~ msgstr "バンド 1 バイパス" #~ msgid "Band 1 Solo" #~ msgstr "バンド 1 ソロ" #~ msgid "Band 1 Detection" #~ msgstr "バンド 1 検出" #~ msgid "Band 1 Attack" #~ msgstr "バンド 1 アタック" #~ msgid "Band 1 Release" #~ msgstr "バンド 1 リリース" #~ msgid "Band 1 Threshold" #~ msgstr "バンド 1 しきい値" #~ msgid "Band 1 Ratio" #~ msgstr "バンド 1 比率" #~ msgid "Band 1 Knee" #~ msgstr "バンド 1 ニー" #~ msgid "Band 1 Makeup" #~ msgstr "バンド 1 メイクアップ" #~ msgid "Max Reduction" #~ msgstr "最大リダクション" #~ msgid "Band 1 Max Reduction" #~ msgstr "バンド 1 最大リダクション" #~ msgid "Low Band" #~ msgstr "ローバンド" #~ msgid "Band 2 Bypass" #~ msgstr "バンド 2 バイパス" #~ msgid "Band 2 Solo" #~ msgstr "バンド 2 ソロ" #~ msgid "Band 2 Detection" #~ msgstr "バンド 2 検出" #~ msgid "Band 2 Attack" #~ msgstr "バンド 2 アタック" #~ msgid "Band 2 Release" #~ msgstr "バンド 2 リリース" #~ msgid "Band 2 Threshold" #~ msgstr "バンド 2 しきい値" #~ msgid "Band 2 Ratio" #~ msgstr "バンド 2 比率" #~ msgid "Band 2 Knee" #~ msgstr "バンド 2 ニー" #~ msgid "Band 2 Makeup" #~ msgstr "バンド 2 メイクアップ" #~ msgid "Band 2 Max Reduction" #~ msgstr "バンド 2 最大リダクション" #~ msgid "Mid Band" #~ msgstr "ミッドバンド" #~ msgid "Band 3 Bypass" #~ msgstr "バンド 3 バイパス" #~ msgid "Band 3 Solo" #~ msgstr "バンド 3 ソロ" #~ msgid "Band 3 Detection" #~ msgstr "バンド 3 検出" #~ msgid "Band 3 Attack" #~ msgstr "バンド 3 アタック" #~ msgid "Band 3 Release" #~ msgstr "バンド 3 リリース" #~ msgid "Band 3 Threshold" #~ msgstr "バンド 3 しきい値" #~ msgid "Band 3 Ratio" #~ msgstr "バンド 3 比率" #~ msgid "Band 3 Knee" #~ msgstr "バンド 3 ニー" #~ msgid "Band 3 Makeup" #~ msgstr "バンド 3 メイクアップ" #~ msgid "Band 3 Max Reduction" #~ msgstr "バンド 3 最大リダクション" #~ msgid "High Band" #~ msgstr "ハイバンド" #~ msgid "Band 4 Bypass" #~ msgstr "バンド 4 バイパス" #~ msgid "Band 4 Solo" #~ msgstr "バンド 4 ソロ" #~ msgid "Band 4 Detection" #~ msgstr "バンド 4 検出" #~ msgid "Band 4 Attack" #~ msgstr "バンド 4 アタック" #~ msgid "Band 4 Release" #~ msgstr "バンド 4 リリース" #~ msgid "Band 4 Threshold" #~ msgstr "バンド 4 しきい値" #~ msgid "Band 4 Ratio" #~ msgstr "バンド 4 比率" #~ msgid "Band 4 Knee" #~ msgstr "バンド 4 ニー" #~ msgid "Band 4 Makeup" #~ msgstr "バンド 4 メイクアップ" #~ msgid "Band 4 Max Reduction" #~ msgstr "バンド 4 最大リダクション" #~ msgid "General" #~ msgstr "一般" #~ msgid "Device Management" #~ msgstr "デバイス管理" #~ msgid "" #~ "It's recommended to NOT set EasyEffects Sink/Source as Default Device in " #~ "external applications (e.g. Gnome Settings and Plasma System Settings)." #~ msgstr "" #~ "外部アプリケーション (Gnome 設定や Plasma システム設定など) で " #~ "EasyEffects の Sink/Source をデフォルトデバイスとして設定しないことをお勧" #~ "めします。" #~ msgid "Use Default Input" #~ msgstr "デフォルトの入力を使用" #~ msgid "Custom Input Device" #~ msgstr "カスタム入力デバイス" #~ msgid "Use Default Output" #~ msgstr "デフォルトの出力を使用" #~ msgid "Custom Output Device" #~ msgstr "カスタム出力デバイス" #~ msgid "Server Information" #~ msgstr "サーバー情報" #~ msgid "Header Version" #~ msgstr "ヘッダーバージョン" #~ msgid "Library Version" #~ msgstr "ライブラリバージョン" #~ msgid "Sampling Rate" #~ msgstr "サンプリングレート" #~ msgid "Minimum Quantum" #~ msgstr "最小クォンタム" #~ msgid "Maximum Quantum" #~ msgstr "最大クォンタム" #~ msgid "Default Quantum" #~ msgstr "デフォルトクォンタム" #~ msgid "Output Devices" #~ msgstr "出力デバイス" #~ msgid "Output Presets" #~ msgstr "出力プリセット" #~ msgid "Create Association" #~ msgstr "アソシエーションを作成" #~ msgid "Add Autoloading Output Preset" #~ msgstr "自動読み込み出力プリセットを追加" #~ msgid "Output Autoloading Presets List" #~ msgstr "自動読み込み出力プリセットリスト" #~ msgid "Input Devices" #~ msgstr "入力デバイス" #~ msgid "Input Presets" #~ msgstr "入力プリセット" #~ msgid "Add Autoloading Input Preset" #~ msgstr "自動読み込み入力プリセットを追加" #~ msgid "Input Autoloading Presets List" #~ msgstr "自動読み込み入力プリセットリスト" #~ msgid "Modules" #~ msgstr "モジュール" #~ msgid "Modules List" #~ msgstr "モジュールリスト" #~ msgid "Clients" #~ msgstr "クライアント" #~ msgid "Clients List" #~ msgstr "クライアントリスト" #~ msgid "Test Signal" #~ msgstr "テスト信号" #~ msgid "State" #~ msgstr "状態" #~ msgid "Enabled" #~ msgstr "有効" #~ msgid "Properties" #~ msgstr "プロパティ" #~ msgid "Channels" #~ msgstr "チャンネル" #~ msgid "Both" #~ msgstr "両方" #~ msgid "Both Channels" #~ msgstr "両方チャンネル" #~ msgid "Waveform" #~ msgstr "波形" #~ msgid "Sine Wave" #~ msgstr "正弦波" #~ msgid "White Noise" #~ msgstr "ホワイトノイズ" #~ msgid "High Speed" #~ msgstr "高速" #~ msgid "High Quality" #~ msgstr "高品質" #~ msgid "High Consistency" #~ msgstr "高い一貫性" #~ msgid "Formant" #~ msgstr "フォルマント" #~ msgid "Shifted" #~ msgstr "シフト" #~ msgid "Preserved" #~ msgstr "保存済み" #~ msgid "Transients" #~ msgstr "トランジェント" #~ msgid "Crisp" #~ msgstr "鮮明" #~ msgid "Mixed" #~ msgstr "ミックス" #~ msgid "Smooth" #~ msgstr "スムース" #~ msgid "Detector" #~ msgstr "ディテクター" #~ msgid "Compound" #~ msgstr "化合物" #~ msgid "Percussive" #~ msgstr "パーカッシブ" #~ msgid "Soft" #~ msgstr "ソフト" #~ msgid "Phase" #~ msgstr "フェーズ" #~ msgid "Laminar" #~ msgstr "ラミナー" #~ msgid "Independent" #~ msgstr "独立" #~ msgid "Cents" #~ msgstr "セント" #~ msgid "Semitones" #~ msgstr "半音" #~ msgid "Octaves" #~ msgstr "オクターブ" #~ msgid "Remove this effect" #~ msgstr "このエフェクトを削除" #~ msgid "Enable/disable this effect" #~ msgstr "このエフェクトの有効化/無効化" #~ msgid "Change the position of this effect" #~ msgstr "このエフェクトの位置を変更する" #~ msgid "Add Effect" #~ msgstr "エフェクトの追加" #~ msgid "Used Plugins List" #~ msgstr "使用プラグインリスト" #~ msgid "No Effects" #~ msgstr "エフェクトなし" #~ msgid "Audio Stream Not Modified" #~ msgstr "オーディオストリームは変更されていません" #~ msgid "Search Plugin" #~ msgstr "プラグインを検索" #~ msgid "Plugins List" #~ msgstr "プラグインリスト" #~ msgid "_General" #~ msgstr "_一般" #~ msgid "Service" #~ msgstr "サービス" #~ msgid "Launch Service at System Startup" #~ msgstr "システム起動時にサービスを起動" #~ msgid "Shutdown on Window Closing" #~ msgstr "ウィンドウを閉じるときにシャットダウン" #~ msgid "Audio" #~ msgstr "オーディオ" #~ msgid "Process All Output Streams" #~ msgstr "すべての出力を処理" #~ msgid "Process All Input Streams" #~ msgstr "すべての入力を処理" #~ msgid "Ignore Streams from Monitor of Devices" #~ msgstr "デバイスのモニターからのストリームを無視" #~ msgid "Use Cubic Volume" #~ msgstr "キュービックボリュームを使用" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "起動時に EasyEffects 仮想デバイスの音量をリセット" #~ msgid "Inactivity Timeout" #~ msgstr "非アクティブタイムアウト" #~ msgid "Style" #~ msgstr "スタイル" #~ msgid "Use Dark Theme" #~ msgstr "ダークテーマを使用" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "外側クリックでメニュー非表示" #~ msgid "_Spectrum" #~ msgstr "_スペクトラム" #~ msgid "Shape" #~ msgstr "形状" #~ msgid "Bars" #~ msgstr "バー" #~ msgid "Lines" #~ msgstr "線" #~ msgid "Dots" #~ msgstr "ドット" #~ msgid "Points" #~ msgstr "ポイント" #~ msgid "Height" #~ msgstr "高さ" #~ msgid "Line Width" #~ msgstr "線幅" #~ msgid "Fill" #~ msgstr "塗りつぶし" #~ msgid "Show Bars Border" #~ msgstr "バーの境界線を表示" #~ msgid "Rounded Corners" #~ msgstr "角丸" #~ msgid "Color" #~ msgstr "色" #~ msgid "Lines and Bars" #~ msgstr "線とバー" #~ msgid "Axis Labels" #~ msgstr "軸ラベル" #~ msgid "Frequency Range" #~ msgstr "周波数範囲" #~ msgid "Minimum" #~ msgstr "最小" #~ msgid "Maximum" #~ msgstr "最大" #~ msgid "Load" #~ msgstr "ロード" #~ msgid "Save current settings to this preset file" #~ msgstr "現在の設定をこのプリセットファイルに保存" #~ msgid "Remove this preset file" #~ msgstr "このプリセットファイルを削除" #~ msgid "New Output Preset Name" #~ msgstr "新規出力プリセット名" #~ msgid "Create a new preset" #~ msgstr "プリセットを作成" #~ msgid "Import a preset" #~ msgstr "プリセットをインポート" #~ msgid "Search Output Preset" #~ msgstr "出力プリセットを検索" #~ msgid "Output Presets List" #~ msgstr "出力プリセットリスト" #~ msgid "New Input Preset Name" #~ msgstr "新規入力プリセット名" #~ msgid "Search Input Preset" #~ msgstr "入力プリセットを検索" #~ msgid "Input Presets List" #~ msgstr "入力プリセットリスト" #~ msgid "High Frequency Damping" #~ msgstr "高周波ダンピング" #~ msgid "Room Size" #~ msgstr "部屋のサイズ" #~ msgid "Small" #~ msgstr "小" #~ msgid "Medium" #~ msgstr "中" #~ msgid "Large" #~ msgstr "大" #~ msgid "Tunnel" #~ msgstr "トンネル" #~ msgid "Large/smooth" #~ msgstr "大/なめらか" #~ msgid "Experimental" #~ msgstr "実験的" #~ msgid "Diffusion" #~ msgstr "拡散" #~ msgid "Pre Delay" #~ msgstr "プリディレイ" #~ msgid "Decay Time" #~ msgstr "減衰時間" #~ msgid "Wet Amount" #~ msgstr "Wet 量" #~ msgid "Wet Level" #~ msgstr "Wet レベル" #~ msgid "Dry Amount" #~ msgstr "Dry 量" #~ msgid "Dry Level" #~ msgstr "Dry レベル" #~ msgid "Bass Cut" #~ msgstr "ベースカット" #~ msgid "Treble Cut" #~ msgstr "高音カット" #~ msgid "Ambience" #~ msgstr "環境" #~ msgid "Empty Walls" #~ msgstr "何もない壁" #~ msgid "Room" #~ msgstr "部屋" #~ msgid "Large Empty Hall" #~ msgstr "何もない大きなホール" #~ msgid "Disco" #~ msgstr "ディスコ" #~ msgid "Large Occupied Hall" #~ msgstr "占有面積の大きいホール" #~ msgid "Import Model" #~ msgstr "モデルのインポート" #~ msgid "Models" #~ msgstr "モデル" #~ msgid "Standard Model" #~ msgstr "標準モデル" #~ msgid "RNNoise Models List" #~ msgstr "RNNoise モデルリスト" #~ msgid "Model Not Loaded" #~ msgstr "モデルがロードされていません" #~ msgid "Active Model" #~ msgstr "アクティブモデル" #~ msgid "Standard RNNoise Model" #~ msgstr "標準 RNNoise モデル" #~ msgid "Overview" #~ msgstr "概要" #~ msgid "Open the EasyEffects Manual" #~ msgstr "EasyEffects のマニュアルを開く" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "フルスクリーン/フルスクリーンから復元" #~ msgid "Close the Window" #~ msgstr "ウィンドウを閉じる" #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects を終了" #~ msgid "Balance" #~ msgstr "バランス" #~ msgid "Input Balance" #~ msgstr "入力バランス" #~ msgid "Softclip" #~ msgstr "ソフトクリップ" #~ msgid "Softclip Level" #~ msgstr "ソフトクリップレベル" #~ msgid "Stereo Matrix" #~ msgstr "ステレオマトリックス" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (ステレオデフォルト)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (ステレオからミッドサイド)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (ミッドサイドからステレオ)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (モノラル左チャンネル)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (モノラル右チャンネル)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (モノラル合計 L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (ステレオチャンネル反転)" #~ msgid "Stereo Mode" #~ msgstr "ステレオモード" #~ msgid "Invert Phase" #~ msgstr "位相反転" #~ msgid "Side Level" #~ msgstr "サイドレベル" #~ msgid "Side Balance" #~ msgstr "サイドバランス" #~ msgid "Middle Level" #~ msgstr "中間レベル" #~ msgid "Middle Panorama" #~ msgstr "中間パノラマ" #~ msgid "Output Balance" #~ msgstr "出力バランス" #~ msgid "Delay L/R" #~ msgstr "ディレイ L/R" #~ msgid "Delay Left Right" #~ msgstr "ディレイ 左 右" #~ msgid "Stereo Base" #~ msgstr "ステレオベース" #~ msgid "Stereo Phase" #~ msgstr "ステレオ位相" #~ msgid "Running" #~ msgstr "実行中" #~ msgid "Suspended" #~ msgstr "サスペンド" #~ msgid "Idle" #~ msgstr "アイドル" #~ msgid "Creating" #~ msgstr "作成中" #~ msgid "Error" #~ msgstr "エラー" #~ msgid "Unknown" #~ msgstr "不明" #~ msgid "channels" #~ msgstr "チャンネル" #~ msgid "Output Presets: " #~ msgstr "出力プリセット: " #~ msgid "Input Presets: " #~ msgstr "入力プリセット: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "PipeWire アプリケーション用オーディオエフェクト" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "EasyEffects を終了します。サービスモードで動作しているときに便利です。" #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "プリセットを読み込む。例: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "EasyEffects をリセット。" #~ msgid "Hide the Window." #~ msgstr "ウィンドウを隠す。" #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "グローバルバイパス。1 で有効、2 で無効、3 でステータス取得" #~ msgid "Show available presets." #~ msgstr "利用可能なプリセットを表示します。" #~ msgid "PipeWire" #~ msgstr "PipeWire" #~ msgid "The File Is Not Regular" #~ msgstr "このファイルは正しくありません" #~ msgid "The Impulse File May Be Corrupted or Unsupported" #~ msgstr "" #~ "インパルスファイルが破損しているか、サポートされていない可能性があります" #~ msgid "Only Stereo Impulse Files Are Supported" #~ msgstr "ステレオインパルスファイルのみサポートされています" #~ msgid "Impulse File Not Imported" #~ msgstr "インパルスファイルがインポートされていません" #~ msgid "Import Impulse File" #~ msgstr "インパルスファイルをインポート" #~ msgid "Open" #~ msgstr "開く" #~ msgid "Cancel" #~ msgstr "キャンセル" #~ msgid "Impulse Response" #~ msgstr "インパルスレスポンス" #~ msgid "Load Impulse" #~ msgstr "インパルスを読み込み" #~ msgid "Remove Impulse" #~ msgstr "インパルスを削除" #~ msgid "No Impulse File Loaded" #~ msgstr "読み込まれたインパルスファイルはありません" #~ msgid "Failed To Load The Impulse File" #~ msgstr "インパルスファイルを読み込めません" #~ msgid "Recorders" #~ msgstr "レコーダー" #~ msgid "Players" #~ msgstr "プレイヤー" #~ msgid "Effects" #~ msgstr "エフェクト" #~ msgid "infinity" #~ msgstr "無限大" #~ msgid "Import APO Preset File" #~ msgstr "APO プリセットファイルをインポート" #~ msgid "APO Presets" #~ msgstr "APO プリセット" #~ msgid "" #~ "APO Preset Not Loaded. File Format May Be Wrong. Please Check Its Content." #~ msgstr "" #~ "APO プリセットが読み込まれていません。ファイルフォーマットが間違っている可" #~ "能性があります。内容を確認してください。" #~ msgid "Remove Autoloading Preset" #~ msgstr "自動読み込みプリセットを削除" #~ msgid "Remove" #~ msgstr "削除" #~ msgid "Output Device" #~ msgstr "出力デバイス" #~ msgid "Add" #~ msgstr "追加" #~ msgid "Import Preset" #~ msgstr "プリセットをインポート" #~ msgid "" #~ "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To " #~ "The Standard Model." #~ msgstr "" #~ "選択されたモデルが読み込まれていません。そのフォーマットはサポートされてい" #~ "ない可能性があります。標準モデルに戻しました。" #~ msgid "Import Model File" #~ msgstr "モデルファイルをインポート" #~ msgid "RNNoise Models" #~ msgstr "RNNoise モデル" #~ msgid "Bass Enhancer" #~ msgstr "ベースエンハンサー" #~ msgid "Bass Loudness" #~ msgstr "低音ラウドネス" #~ msgid "Convolver" #~ msgstr "コンボルバー" #~ msgid "Crossfeed" #~ msgstr "クロスフィード" #~ msgid "Crystalizer" #~ msgstr "クリスタライザー" #~ msgid "Deesser" #~ msgstr "ディエッサー" #~ msgid "Delay" #~ msgstr "ディレイ" #~ msgid "Echo Canceller" #~ msgstr "エコーキャンセラー" #~ msgid "Equalizer" #~ msgstr "イコライザー" #~ msgid "Exciter" #~ msgstr "エキサイター" #~ msgid "Filter" #~ msgstr "フィルター" #~ msgid "Limiter" #~ msgstr "リミッター" #~ msgid "Maximizer" #~ msgstr "マキシマイザー" #~ msgid "Multiband Compressor" #~ msgstr "マルチバンドコンプレッサー" #~ msgid "Multiband Gate" #~ msgstr "マルチバンドゲート" #~ msgid "Pitch" #~ msgstr "ピッチ" #~ msgid "Reverberation" #~ msgstr "リバーブ" #~ msgid "Noise Reduction" #~ msgstr "ノイズリダクション" #~ msgid "Stereo Tools" #~ msgstr "ステレオツール" #~ msgid "Close (Press ESC)" #~ msgstr "閉じる (Esc キーを押す)" #~ msgid "Average" #~ msgstr "平均" #~ msgid "Failed" #~ msgstr "失敗" #~ msgid "Use Default" #~ msgstr "デフォルトを使用" #~ msgid "Remove this plugin" #~ msgstr "このプラグインを削除" #~ msgid "Import Presets" #~ msgstr "プリセットをインポート" #~ msgid "Start Service at Login" #~ msgstr "ログイン時にサービスを開始" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "起動時にデバイスの音量をリセット" #, fuzzy #~ msgid "Activate" #~ msgstr "アクティブモデル" #~ msgid "Add to Blocklist" #~ msgstr "ブロックリストに追加" #~ msgid "Blocklist" #~ msgstr "ブロックリスト" #~ msgid "Add Plugin" #~ msgstr "プラグインを追加" #~ msgid "Speakers" #~ msgstr "スピーカー" #~ msgid "Microphone" #~ msgstr "マイク" #~ msgid "Plugins" #~ msgstr "プラグイン" #, fuzzy #~ msgid "enabled" #~ msgstr "有効" #, fuzzy #~ msgid "disabled" #~ msgstr "有効" #~ msgid "Format" #~ msgstr "フォーマット" #~ msgid "Latency" #~ msgstr "レイテンシー" #~ msgid "idle" #~ msgstr "アイドル" #~ msgid "Faster" #~ msgstr "より速く" #~ msgid "Preserve Formant" #~ msgstr "フォルマントを保持" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" easyeffects-7.1.7/po/news/km.po000066400000000000000000001205711463533416400164070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Khmer (Central) \n" "Language: km\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/ko.po000066400000000000000000001647511463533416400164210ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire 응용프로그램을 위한 오디오 효과" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects는 고급 오디오 처리 도구 입니다. 이퀄라이저, 리미터, 컴프레서, 리" "버브 툴 등이 포함되며, 이외에도 여러가지 플러그인이 있습니다. 예를 들자면 스" "펙트럼 분석기도 내장되어 있습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects는 PulseEffects의 후속 프로젝트 입니다. EasyEffects는 PipeWire 만" "을 지원 합니다. PulseAudio를 사용하는 경우 PulseEffects를 사용하십시오." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "EasyEffects는 기본 PipeWire 사운드 서버를 사용하므로 대부분의 응용 프로그램에" "서 작동합니다. 지원되는 모든 응용 프로그램은 메인 화면에 표시되며 각각 개별적" "으로 활성화할 수 있습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "EasyEffects는 음향 출력을 처리할 뿐만 아니라 마이크 등의 입력 장치에도 음향효" "과를 걸 수 있습니다. 예를 들어 오디오 녹음 할 때 유용하며 음성 대화 시에도 효" "과를 발휘합니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "EasyEffects를 시작하면 마지막 세션에서 사용된 설정이 적용됩니다. 현재 설정을 " "모두 프로파일로 저장할 수도 있습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "두 개의 오디오 출력 앱을 보여주는 기본 페이지" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "오디오 컨트롤을 보여주는 베이스 인핸서 페이지" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "오디오 컨트롤을 보여주는 convolver 페이지" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "기능:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "버그 수정:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "기타 참고사항:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "업데이트된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "업데이트된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "향상된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "멀티밴드 게이트 구현이 CALF에서 Linux Studio 플러그인으로 마이그레이션되었습" "니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "향상된 디버그 메시지" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "향상된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "피치 플러그인의 인터페이스가 개선되었습니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "이제 응용프로그램 아이콘이 QT를 사용하는 데스크톱과 호환됩니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 #, fuzzy msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "스트림이 설정하는 경우 차단 목록 코드는 `application.id` 태그를 사용합니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 #, fuzzy msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "마우스 스크롤 문제를 피하기 위해 '재생기/녹음기' 탭에 표시된 응용프로그램 목" "록의 항목에 더 이상 음량 크기조정이 표시되지 않습니다. 문제 및 해결 방법에 대" "한 자세한 내용은 문제 1211 및 문제 1427에서 찾을 수 있습니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "많은 번역 업데이트" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "크로스 피드 필터는 PipeWire의 동적 레이턴시 스위치에 잘 대응합니다. 이제 볼" "륨 레벨 점프가 발생하지 않습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "모노 마이크가 EasyEffects에서 제대로 작동하지 않던 버그를 수정했습니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "PipeWire 다음 릴리스 `0.3.44`를 지원" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "중국어 번역이 업데이트되었습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "이탈리아어 번역이 업데이트되었습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects는 고급 오디오 처리 도구 입니다. 이퀄라이저, 리미터, 컴프레서, " #~ "리버브 툴 등이 포함되며, 이외에도 여러가지 플러그인이 있습니다. 예를 들자" #~ "면 스펙트럼 분석기도 내장되어 있습니다." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects는 PulseEffects의 후속 프로젝트 입니다. EasyEffects는 PipeWire " #~ "만을 지원 합니다. PulseAudio를 사용하는 경우 PulseEffects를 사용하십시오." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "EasyEffects는 기본 PipeWire 사운드 서버를 사용하므로 대부분의 응용 프로그" #~ "램에서 작동합니다. 지원되는 모든 응용 프로그램은 메인 화면에 표시되며 각" #~ "각 개별적으로 활성화할 수 있습니다." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "EasyEffects는 음향 출력을 처리할 뿐만 아니라 마이크 등의 입력 장치에도 음" #~ "향효과를 걸 수 있습니다. 예를 들어 오디오 녹음 할 때 유용하며 음성 대화 시" #~ "에도 효과를 발휘합니다." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "EasyEffects를 시작하면 마지막 세션에서 사용된 설정이 적용됩니다. 현재 설정" #~ "을 모두 프로파일로 저장할 수도 있습니다." #~ msgid "This release adds the following features:" #~ msgstr "이 릴리스에는 다음 기능이 추가되었습니다:" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "탭에 더 이상 볼륨 스케일이 표시되지 않습니다. 문제 및 해결 방법에 대한 자" #~ "세한 내용은 #1211에서 확인할 수 있습니다." #~ msgid "and #1427" #~ msgstr "그리고 #1427" #~ msgid "This release fixes the following bug:" #~ msgstr "이 릴리스는 다음 버그를 수정합니다:" #~ msgid "This release adds the following feature:" #~ msgstr "이 릴리스에는 다음 기능이 추가되었습니다:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "이퀄라이저, 컴프레서 그리고 기타 오디오 효과" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "리미터;컴프레서;리버브;이퀄라이저;자동음량조절;" #~ msgid "\"Presets\"" #~ msgstr "\"프리셋\"" #~ msgid "Mute Application" #~ msgstr "응용 프로그램 음소거" #~ msgid "Application Volume" #~ msgstr "응용 프로그램 음량" #~ msgid "Presets" #~ msgstr "프리셋" #~ msgid "Presets Menu" #~ msgstr "프리셋 메뉴" #~ msgid "Global Bypass" #~ msgstr "전역 Bypass" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects 윈도우" #~ msgid "Applications List" #~ msgstr "응용 프로그램 목록" #~ msgid "Target" #~ msgstr "대상" #~ msgid "Reference" #~ msgstr "참조" #~ msgid "Momentary" #~ msgstr "Momentary" #~ msgid "Short-Term" #~ msgstr "Short-Term" #~ msgid "Integrated" #~ msgstr "Integrated" #~ msgid "Geometric Mean (MSI)" #~ msgstr "Geometric Mean" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Geometric Mean" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Geometric Mean" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Geometric Mean" #~ msgid "Reset History" #~ msgstr "히스토리 초기화" #, fuzzy #~ msgid "Relative" #~ msgstr "Relative" #~ msgid "Range" #~ msgstr "Range" #~ msgid "Loudness" #~ msgstr "Loudness" #~ msgid "Output Gain" #~ msgstr "아웃풋 게인" #~ msgid "Input" #~ msgstr "인풋" #~ msgid "Plugin Input Gain" #~ msgstr "플러그인 인풋 게인" #~ msgid "Output" #~ msgstr "아웃풋" #~ msgid "Plugin Output Gain" #~ msgstr "플러그인 아웃풋 게인" #~ msgid "Reset" #~ msgstr "리셋" #, fuzzy #~ msgid "Using" #~ msgstr "다음 사용 중" #~ msgid "Device" #~ msgstr "장치" #~ msgid "Name" #~ msgstr "이름" #~ msgid "Profile" #~ msgstr "프로필" #~ msgid "Preset" #~ msgstr "프리셋" #, fuzzy #~ msgid "Listen" #~ msgstr "듣는 중" #~ msgid "Blend Harmonics" #~ msgstr "Blend Harmonics" #~ msgid "3rd" #~ msgstr "3rd" #~ msgid "2nd" #~ msgstr "2nd" #, fuzzy #~ msgid "Amount" #~ msgstr "Amount" #, fuzzy #~ msgid "Harmonics" #~ msgstr "Harmonics" #~ msgid "Scope" #~ msgstr "Scope" #~ msgid "Floor" #~ msgstr "Floor" #~ msgid "Floor Value" #~ msgstr "Floor Value" #~ msgid "Add to Excluded Applications" #~ msgstr "응용 프로그램 제외" #~ msgid "Excluded Applications List" #~ msgstr "제외된 프로그램 목록" #~ msgid "Show Excluded Applications" #~ msgstr "제외된 프로그램 보기" #~ msgid "Compressor" #~ msgstr "컴프레서" #~ msgid "Mode" #~ msgstr "모드" #~ msgid "Downward" #~ msgstr "Downward" #~ msgid "Upward" #~ msgstr "Upward" #~ msgid "Boosting" #~ msgstr "증폭" #, fuzzy #~ msgid "Compression Mode" #~ msgstr "Compression Mode" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Boost Threshold" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Boost Amount" #~ msgid "Attack" #~ msgstr "어택" #~ msgid "Time" #~ msgstr "타임" #~ msgid "Threshold" #~ msgstr "Threshold" #~ msgid "Attack Time" #~ msgstr "어택 타임" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Attack Threshold" #~ msgid "Release" #~ msgstr "릴리스" #~ msgid "Release Time" #~ msgstr "릴리스 타임" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Release Threshold" #, fuzzy #~ msgid "Ratio" #~ msgstr "Ratio" #, fuzzy #~ msgid "Knee" #~ msgstr "Knee" #, fuzzy #~ msgid "Makeup" #~ msgstr "Makeup" #, fuzzy #~ msgid "Sidechain" #~ msgstr "Sidechain" #, fuzzy #~ msgid "Peak" #~ msgstr "Peak" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Low-Pass" #, fuzzy #~ msgid "Uniform" #~ msgstr "Uniform" #~ msgid "Sidechain Mode" #~ msgstr "Sidechain Mode" #~ msgid "Source" #~ msgstr "소스" #~ msgid "Middle" #~ msgstr "중간" #~ msgid "Side" #~ msgstr "Side" #~ msgid "Left" #~ msgstr "왼쪽" #~ msgid "Right" #~ msgstr "오른쪽" #~ msgid "Sidechain Source" #~ msgstr "Sidechain Source" #~ msgid "Type" #~ msgstr "타입" #~ msgid "Feed-forward" #~ msgstr "Feed-forward" #~ msgid "Feed-back" #~ msgstr "피드백" #, fuzzy #~ msgid "External" #~ msgstr "External" #~ msgid "Sidechain Type" #~ msgstr "Sidechain 타입" #~ msgid "Input Device" #~ msgstr "입력 장치" #~ msgid "PreAmplification" #~ msgstr "PreAmplification" #, fuzzy #~ msgid "Reactivity" #~ msgstr "Reactivity" #, fuzzy #~ msgid "Lookahead" #~ msgstr "Lookahead" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Sidechain Filters" #, fuzzy #~ msgid "High-Pass" #~ msgstr "High-Pass" #, fuzzy #~ msgid "Frequency" #~ msgstr "Frequency" #, fuzzy #~ msgid "Off" #~ msgstr "끄기" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "High-Pass Filter Mode" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "High-Pass Filter Frequency" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Low-Pass Filter Mode" #, fuzzy #~ msgid "Gain" #~ msgstr "Gain" #, fuzzy #~ msgid "Envelope" #~ msgstr "Envelope" #, fuzzy #~ msgid "Curve" #~ msgstr "Curve" #, fuzzy #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "좌측 채널" #, fuzzy #~ msgid "R" #~ msgstr "R" #, fuzzy #~ msgid "Right Channel" #~ msgstr "우측 채널" #, fuzzy #~ msgid "Impulses" #~ msgstr "Impulses" #, fuzzy #~ msgid "Combine" #~ msgstr "Combine" #, fuzzy #~ msgid "Stereo Width" #~ msgstr "Stereo Width" #, fuzzy #~ msgid "Spectrum" #~ msgstr "스펙트럼" #, fuzzy #~ msgid "Rate" #~ msgstr "레이트" #, fuzzy #~ msgid "Samples" #~ msgstr "Samples" #, fuzzy #~ msgid "Duration" #~ msgstr "Duration" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Combine Impulse Responses" #, fuzzy #~ msgid "First Kernel" #~ msgstr "First Kernel" #, fuzzy #~ msgid "Second Kernel" #~ msgstr "Second Kernel" #, fuzzy #~ msgid "Output File Name" #~ msgstr "출력 파일 이름" #, fuzzy #~ msgid "Combined Kernel Name" #~ msgstr "Combined Kernel Name" #, fuzzy #~ msgid "Import Impulse" #~ msgstr "Import Impulse" #, fuzzy #~ msgid "Search" #~ msgstr "검색" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Impulse 파일 검색" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Impulse 파일 목록" #, fuzzy #~ msgid "Default" #~ msgstr "기본값" #, fuzzy #~ msgid "Cutoff" #~ msgstr "Cutoff" #, fuzzy #~ msgid "Feed" #~ msgstr "Feed" #~ msgid "Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Mute" #~ msgstr "음소거" #, fuzzy #~ msgid "Detection" #~ msgstr "Detection" #, fuzzy #~ msgid "Wide" #~ msgstr "Wide" #, fuzzy #~ msgid "Split" #~ msgstr "Split" #, fuzzy #~ msgid "F1 Split" #~ msgstr "F1 Split" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frequency 1 Split" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "F2 Peak" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frequency 2 Peak" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "F1 Gain" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frequency 1 Gain" #, fuzzy #~ msgid "F2 Level" #~ msgstr "F2 Level" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frequency 2 Level" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "F2 Peak Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frequency 2 Peak Q" #, fuzzy #~ msgid "Laxity" #~ msgstr "Laxity" #, fuzzy #~ msgid "Detected" #~ msgstr "Detected" #, fuzzy #~ msgid "Reduction" #~ msgstr "Reduction" #, fuzzy #~ msgid "Frame Size" #~ msgstr "Frame Size" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filter Length" #, fuzzy #~ msgid "Band Type" #~ msgstr "바이패스" #, fuzzy #~ msgid "API" #~ msgstr "API" #, fuzzy #~ msgid "Access" #~ msgstr "액세스" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "릴리스 타임" #, fuzzy #~ msgid "Internal" #~ msgstr "External" #, fuzzy #~ msgid "Band 1" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "컴프레서" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band Gain" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "바이패스" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "바이패스" #, fuzzy #~ msgid "Output Devices" #~ msgstr "출력 게인" #, fuzzy #~ msgid "Output Presets" #~ msgstr "APO 프리셋" #, fuzzy #~ msgid "Add Autoloading Output Preset" #~ msgstr "APO 프리셋" #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "APO 프리셋" #, fuzzy #~ msgid "Input Devices" #~ msgstr "장치" #, fuzzy #~ msgid "Input Presets" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "State" #~ msgstr "상태" #, fuzzy #~ msgid "Channels" #~ msgstr "채널" #, fuzzy #~ msgid "Both Channels" #~ msgstr "채널" #, fuzzy #~ msgid "Formant" #~ msgstr "포멧" #, fuzzy #~ msgid "Preserved" #~ msgstr "프리셋" #, fuzzy #~ msgid "Detector" #~ msgstr "Detection" #, fuzzy #~ msgid "Used Plugins List" #~ msgstr "사용된 플러그인 목록" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "APO 프리셋" #, fuzzy #~ msgid "Import a preset" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Output Presets List" #~ msgstr "APO 프리셋" #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Input Presets List" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Wet Level" #~ msgstr "타겟" #, fuzzy #~ msgid "Dry Level" #~ msgstr "타겟" #, fuzzy #~ msgid "Input Balance" #~ msgstr "출력 게인" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "제거" #, fuzzy #~ msgid "Output Balance" #~ msgstr "출력 게인" #, fuzzy #~ msgid "Running" #~ msgstr "실행 중" #, fuzzy #~ msgid "Suspended" #~ msgstr "일시 중단됨" #, fuzzy #~ msgid "Creating" #~ msgstr "만드는 중" #, fuzzy #~ msgid "Error" #~ msgstr "에러" #, fuzzy #~ msgid "channels" #~ msgstr "채널" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "PipeWire 음향 효과 애플리케이션" #, fuzzy #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Impulse 파일 목록" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "제거" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "제거" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Impulse 파일 목록" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Impulse 파일 검색" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "infinity" #~ msgstr "무한대" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "APO 프리셋 파일 임포트" #, fuzzy #~ msgid "APO Presets" #~ msgstr "APO 프리셋" #~ msgid "Remove" #~ msgstr "제거" #, fuzzy #~ msgid "Output Device" #~ msgstr "출력 게인" #, fuzzy #~ msgid "Import Preset" #~ msgstr "프리셋 임포트" #, fuzzy #~ msgid "Import Model File" #~ msgstr "APO 프리셋 파일 임포트" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "제거" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "음량" #, fuzzy #~ msgid "Add to Blocklist" #~ msgstr "차단 목록에 추가" #, fuzzy #~ msgid "Add Plugin" #~ msgstr "플러그인 추가" #, fuzzy #~ msgid "Format" #~ msgstr "포멧" #, fuzzy #~ msgid "Latency" #~ msgstr "레이턴시" #, fuzzy #~ msgid "idle" #~ msgstr "유휴 상태" easyeffects-7.1.7/po/news/meson.build000066400000000000000000000001031463533416400175660ustar00rootroot00000000000000i18n_mod.gettext(meson.project_name() + '-news', preset: 'glib' )easyeffects-7.1.7/po/news/nb_NO.po000066400000000000000000001547561463533416400170070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-07-24 14:24+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål \n" "Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.14-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Lydeffekter for PipeWire-programmer" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects er et avansert lydmanipuleringsverktøy. Det har tonekontroll, " "lydbegrenser, kompressor og etterklangsverktøy, for å nevne noe. En innebygd " "spektrumsanalysator komplementerer disse." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects er etterfølgeren til PulseEffects. EasyEffects støtter også " "Pipewire sin lydtjener. PulseAudio-brukere bør bruke PulseEffects istedenfor." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Fordi EasyEffects bruker forvalgt PipeWire-lydtjener vil det fungere med " "nesten alle programmer. Alle som støttes er å finne i hovedvinduet, der hver " "av dem kan skrus på individuelt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Annet enn å endre lyden som sendes ut kan EasyEffects endre effekter for " "inngangsenheter, som f.eks. en mikrofon. Dette er nyttig til for eksempel " "lydopptak, men fungerer også bra for samtaler." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Når EasyEffects startes, vil den huske alle innstillingene du gjorde i " "forrige økt. Det er også mulig å lagre innstillingene i ulike profiler." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Hovedsiden som viser to programmer der det spilles av lyd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Bassforbedringssiden som viser lydkontroller" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 #, fuzzy msgid "The convolver page showing audio controls" msgstr "Convolver-siden viser lydkontroller" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Funksjoner:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Feilfikser:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #, fuzzy msgid "Improved translations" msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "Støtte for neste PipeWire-utgave `0.3.44`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 #, fuzzy msgid "The tbb library is a new dependency" msgstr "`tbb`-biblioteket er en ny avhengighet" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Oppdatert kinesisk oversettelse." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Oppdatert italiensk oversettelse." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 erstattes av gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 #, fuzzy msgid "Gstreamer was replaced by native PipeWire filters." msgstr "GStreamer erstattet av systemspesifikke PipeWire-filtre." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "This release adds the following features:" #~ msgstr "Denne utgaven bringer følgende funksjoner:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bånd 1" #, fuzzy #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Dette er en ny innstilling som lar brukeren velge tidsavbrudd for " #~ "inaktivitet. Når ingen klient spiller" #, fuzzy #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "til eller tar opp fra enhetene vil filterne avlenkes etter at " #~ "tidsavbruddsperioden er nådd. Dette gjøres for å ikke" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "kaste bort prosessorkraft på å behandle stillhet." #~ msgid "This release fixes the following bug:" #~ msgstr "Denne utgaven fikser følgende feil:" #~ msgid "This release adds the following feature:" #~ msgstr "Denne utgaven fikser følgende funksjon:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Tonekontroll, kompressor og andre lydeffekter" #~ msgid "\"Presets\"" #~ msgstr "«Forhåndsinnstillinger»" #, fuzzy #~ msgid "Enable" #~ msgstr "Påskrudd" #~ msgid "Mute Application" #~ msgstr "Forstum program" #~ msgid "Application Volume" #~ msgstr "Programlydstyrke" #~ msgid "_Preferences" #~ msgstr "_Innstillinger" #, fuzzy #~ msgid "_Manual" #~ msgstr "_Manuell" #~ msgid "_Shortcuts" #~ msgstr "_Snarveier" #~ msgid "_Reset Settings" #~ msgstr "_Tilbakestill innstillinger" #~ msgid "_About EasyEffects" #~ msgstr "_Om EasyEffects" #, fuzzy #~ msgid "Presets" #~ msgstr "Profiler" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Profilmeny" #~ msgid "Primary Menu" #~ msgstr "Hovedmeny" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects-vindu" #, fuzzy #~ msgid "Applications List" #~ msgstr "Programliste" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Programnavn" #~ msgid "Target" #~ msgstr "Mål" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Maksimum" #~ msgid "Reference" #~ msgstr "Referanse" #~ msgid "Integrated" #~ msgstr "Integrert" #~ msgid "Reset History" #~ msgstr "Tilbakestill historikk" #~ msgid "Relative" #~ msgstr "Relativ" #~ msgid "Input" #~ msgstr "Inngang" #~ msgid "Output" #~ msgstr "Utgang" #~ msgid "Reset" #~ msgstr "Tilbakestill" #~ msgid "Using" #~ msgstr "Bruker" #~ msgid "Device" #~ msgstr "Enhet" #~ msgid "Name" #~ msgstr "Navn" #, fuzzy #~ msgid "Profile" #~ msgstr "Profil" #~ msgid "Preset" #~ msgstr "Forhåndsinnstilling" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Fjern denne modellfilen" #~ msgid "Listen" #~ msgstr "Lytt" #~ msgid "3rd" #~ msgstr "Tredje" #~ msgid "2nd" #~ msgstr "Andre" #~ msgid "Amount" #~ msgstr "Mengde" #~ msgid "Harmonics" #~ msgstr "Overtoner" #~ msgid "Scope" #~ msgstr "Omfang" #~ msgid "Floor" #~ msgstr "Gulv" #~ msgid "Floor Value" #~ msgstr "Gulvverdi" #~ msgid "Link" #~ msgstr "Lenke" #~ msgid "Application Name" #~ msgstr "Programnavn" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Vis svartelistede programmer" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Svartelistede programmer" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Vis svartelistede programmer" #~ msgid "Compressor" #~ msgstr "Kompressor" #~ msgid "Mode" #~ msgstr "Modus" #~ msgid "Downward" #~ msgstr "Nedover" #~ msgid "Upward" #~ msgstr "Oppover" #~ msgid "Compression Mode" #~ msgstr "Kompresjonsmodus" #~ msgid "Time" #~ msgstr "Tid" #~ msgid "Threshold" #~ msgstr "Terskel" #~ msgid "Ratio" #~ msgstr "Forhold" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Lavpass" #~ msgid "Uniform" #~ msgstr "Ensartet" #~ msgid "Source" #~ msgstr "Kilde" #~ msgid "Left" #~ msgstr "Venstre" #~ msgid "Right" #~ msgstr "Høyre" #~ msgid "Type" #~ msgstr "Type" #, fuzzy #~ msgid "Feed-back" #~ msgstr "Respons" #~ msgid "External" #~ msgstr "Ekstern" #~ msgid "Input Device" #~ msgstr "Inndataenhet" #~ msgid "High-Pass" #~ msgstr "Høypass" #~ msgid "Frequency" #~ msgstr "Frekvens" #~ msgid "Off" #~ msgstr "Av" #~ msgid "12 dB/oct" #~ msgstr "12 dB/okt" #~ msgid "24 dB/oct" #~ msgstr "24 dB/okt" #~ msgid "36 dB/oct" #~ msgstr "36 dB/okt" #~ msgid "High-Pass Filter Mode" #~ msgstr "Høypassfilter-modus" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Høypassfilter-frekvens" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Lavpassfilter-modus" #~ msgid "Gain" #~ msgstr "Forsterkning" #~ msgid "L" #~ msgstr "V" #~ msgid "Left Channel" #~ msgstr "Venstre kanal" #~ msgid "R" #~ msgstr "H" #~ msgid "Right Channel" #~ msgstr "Høyre kanal" #~ msgid "Impulses" #~ msgstr "Impulser" #~ msgid "Combine" #~ msgstr "Kombiner" #~ msgid "Stereo Width" #~ msgstr "Stereobredde" #~ msgid "Spectrum" #~ msgstr "Spektrum" #~ msgid "Log Scale" #~ msgstr "Log-skala" #~ msgid "Rate" #~ msgstr "Takt" #~ msgid "Duration" #~ msgstr "Varighet" #~ msgid "First Kernel" #~ msgstr "Første kjerne" #~ msgid "Second Kernel" #~ msgstr "Andre kjerne" #~ msgid "Output File Name" #~ msgstr "Utdata-filnavn" #~ msgid "Combined Kernel Name" #~ msgstr "Kombinert kjernenavn" #~ msgid "Search" #~ msgstr "Søk" #~ msgid "Default" #~ msgstr "Forvalg" #~ msgid "Detection" #~ msgstr "Oppdagelse" #~ msgid "Wide" #~ msgstr "Bred" #~ msgid "Reduction" #~ msgstr "Reduksjon" #~ msgid "Frame Size" #~ msgstr "Rammestørrelse" #~ msgid "Filter Length" #~ msgstr "Filterlengde" #~ msgid "Bands" #~ msgstr "Bånd" #~ msgid "Calculate Frequencies" #~ msgstr "Beregn frekvenser" #~ msgid "Resonance" #~ msgstr "Resonans" #~ msgid "Width" #~ msgstr "Bredde" #~ msgid "Quality" #~ msgstr "Kvalitet" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Tilgang" #~ msgid "Description" #~ msgstr "Beskrivelse" #~ msgid "Remove this model file" #~ msgstr "Fjern denne modellfilen" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt lavpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt lavpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt lavpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt høypass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt høypass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt høypass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt båndpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt båndpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt båndpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct båndsperre" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct båndsperre" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct båndsperre" #, fuzzy #~ msgid "Internal" #~ msgstr "Ekstern" #~ msgid "Oversampling" #~ msgstr "Oversampling" #~ msgid "None" #~ msgstr "Ingen" #~ msgid "Output Volume" #~ msgstr "Utgangslydstyrke" #~ msgid "Classic" #~ msgstr "Klassisk" #~ msgid "Modern" #~ msgstr "Moderne" #~ msgid "Band 1" #~ msgstr "Bånd 1" #~ msgid "Band 2" #~ msgstr "Bånd 2" #~ msgid "Band 3" #~ msgstr "Bånd 3" #~ msgid "Band 4" #~ msgstr "Bånd 4" #~ msgid "Band 5" #~ msgstr "Bånd 5" #~ msgid "Band 6" #~ msgstr "Bånd 6" #~ msgid "Band 7" #~ msgstr "Bånd 7" #~ msgid "Band 8" #~ msgstr "Bånd 8" #~ msgid "Band Start" #~ msgstr "Bånd-start" #~ msgid "Band End" #~ msgstr "Bånd-slutt" #~ msgid "Max Reduction" #~ msgstr "Maks. reduksjon" #~ msgid "General" #~ msgstr "Generelt" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Bruk forvalgt inngang" #~ msgid "Custom Input Device" #~ msgstr "Egendefinert inngangsenhet" #~ msgid "Use Default Output" #~ msgstr "Bruk forvalgt utgang" #~ msgid "Custom Output Device" #~ msgstr "Egendefinert utgangsenhet" #~ msgid "Server Information" #~ msgstr "Tjenerinfo" #~ msgid "Library Version" #~ msgstr "Biblioteksversjon" #~ msgid "Output Devices" #~ msgstr "Utgangsenheter" #~ msgid "Output Presets" #~ msgstr "Utgangsforhåndsinnstillinger" #~ msgid "Create Association" #~ msgstr "Opprett tilknytning" #~ msgid "Input Devices" #~ msgstr "Inngangsenheter" #~ msgid "Input Presets" #~ msgstr "Inngangsforhåndsinnstillinger" #~ msgid "Modules" #~ msgstr "Moduler" #, fuzzy #~ msgid "Modules List" #~ msgstr "Modulliste" #~ msgid "Clients" #~ msgstr "Klienter" #, fuzzy #~ msgid "Clients List" #~ msgstr "Klientliste" #~ msgid "Test Signal" #~ msgstr "Testsignal" #~ msgid "State" #~ msgstr "Tilstand" #~ msgid "Enabled" #~ msgstr "Påskrudd" #~ msgid "Properties" #~ msgstr "Egenskaper" #~ msgid "Channels" #~ msgstr "Kanaler" #~ msgid "Both" #~ msgstr "Begge" #~ msgid "Both Channels" #~ msgstr "Begge kanaler" #~ msgid "Waveform" #~ msgstr "Bølgeform" #~ msgid "Sine Wave" #~ msgstr "Sinusbølge" #~ msgid "White Noise" #~ msgstr "Hvit støy" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvalitet" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Profiler" #, fuzzy #~ msgid "Detector" #~ msgstr "Oppdagelse" #~ msgid "Octaves" #~ msgstr "Oktaver" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Fjern denne modellfilen" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #~ msgid "_General" #~ msgstr "_Generelt" #~ msgid "Service" #~ msgstr "Tjeneste" #~ msgid "Audio" #~ msgstr "Lyd" #~ msgid "Style" #~ msgstr "Stil" #~ msgid "Use Dark Theme" #~ msgstr "Ifør mørk drakt" #~ msgid "_Spectrum" #~ msgstr "_Spektrum" #~ msgid "Shape" #~ msgstr "Form" #~ msgid "Bars" #~ msgstr "Bjelker" #~ msgid "Lines" #~ msgstr "Linjer" #~ msgid "Height" #~ msgstr "Høyde" #~ msgid "Line Width" #~ msgstr "Linjebredde" #~ msgid "Color" #~ msgstr "Farge" #~ msgid "Maximum" #~ msgstr "Maksimum" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Opprett forhåndsinnstilling" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importer forhåndsinnstillinger" #~ msgid "New Input Preset Name" #~ msgstr "Nytt inngangforhåndsinnstillingsnavn" #~ msgid "Input Presets List" #~ msgstr "Inngangforhåndsinnstillingsliste" #~ msgid "High Frequency Damping" #~ msgstr "Høyfrekvensdemping" #~ msgid "Room Size" #~ msgstr "Romstørrelse" #~ msgid "Small" #~ msgstr "Lite" #~ msgid "Medium" #~ msgstr "Middels" #~ msgid "Large" #~ msgstr "Stort" #~ msgid "Tunnel" #~ msgstr "Tunnel" #~ msgid "Experimental" #~ msgstr "Eksperimentelt" #~ msgid "Large Empty Hall" #~ msgstr "Tor tom hall" #~ msgid "Disco" #~ msgstr "Diskotek" #~ msgid "Import Model" #~ msgstr "Importer modell" #~ msgid "Models" #~ msgstr "Modeller" #~ msgid "Active Model" #~ msgstr "Aktiv modell" #~ msgid "Overview" #~ msgstr "Oversikt" #~ msgid "Close the Window" #~ msgstr "Lukk vinduet" #~ msgid "Quit EasyEffects" #~ msgstr "Avslutt EasyEffects" #~ msgid "Balance" #~ msgstr "Balanse" #~ msgid "Stereo Mode" #~ msgstr "Stereomodus" #~ msgid "Invert Phase" #~ msgstr "Inverter fase" #, fuzzy #~ msgid "Error" #~ msgstr "feil" #, fuzzy #~ msgid "Unknown" #~ msgstr "ukjent" #, fuzzy #~ msgid "channels" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Hide the Window." #~ msgstr "Skjul vinduet." #~ msgid "Show available presets." #~ msgstr "Vis tilgjengelige forhåndsinnstillinger." #~ msgid "PipeWire" #~ msgstr "PipeWire" #~ msgid "Open" #~ msgstr "Åpne" #~ msgid "Cancel" #~ msgstr "Avbryt" #~ msgid "Recorders" #~ msgstr "Opptakere" #~ msgid "Players" #~ msgstr "Avspillere" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "uendelig" #~ msgid "Remove" #~ msgstr "Fjern" #~ msgid "Output Device" #~ msgstr "Utgangsenhet" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Importer modellfil" #, fuzzy #~ msgid "Bass Enhancer" #~ msgstr "Balanse" #, fuzzy #~ msgid "Convolver" #~ msgstr "Convolver" #, fuzzy #~ msgid "Echo Canceller" #~ msgstr "Avbryt" #, fuzzy #~ msgid "Maximizer" #~ msgstr "Maksimum" #, fuzzy #~ msgid "Multiband Compressor" #~ msgstr "Kompressor" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Tjenerinfo" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Reduksjon" #, fuzzy #~ msgid "Stereo Tools" #~ msgstr "Stereomodus" #~ msgid "Average" #~ msgstr "Gjennomsnitt" #~ msgid "Use Default" #~ msgstr "Bruk forvalg" #~ msgid "Remove this plugin" #~ msgstr "Fjern dette programtillegget" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktiv modell" #~ msgid "Add to Blocklist" #~ msgstr "Legg til på svarteliste" #~ msgid "Blocklist" #~ msgstr "Svarteliste" #~ msgid "Add Plugin" #~ msgstr "Legg til programtillegg" #~ msgid "Speakers" #~ msgstr "Høyttalere" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "Plugins" #~ msgstr "Programtillegg" #, fuzzy #~ msgid "enabled" #~ msgstr "Påskrudd" #, fuzzy #~ msgid "disabled" #~ msgstr "Påskrudd" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Forsinkelse" #~ msgid "Faster" #~ msgstr "Raskere" easyeffects-7.1.7/po/news/nl.po000066400000000000000000002442421463533416400164130ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-06-04 06:09+0000\n" "Last-Translator: Philip Goto \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Audio-effecten voor PipeWire-apps" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects is een geavanceerd hulp­middel voor audio­manipulatie. Het bevat " "een equalizer, limiter, compressor en nagalm­hulp­middel, om er maar een paar " "te noemen. Als aanvulling hierop is er ook een ingebouwde spectrum­analysator." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects is de opvolger van PulseEffects. Easy Effects ondersteunt " "alleen de audio­server van PipeWire. Gebruikers van PulseAudio moeten in " "plaats daarvan PulseEffects gebruiken." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Omdat Easy Effects de standaard PipeWire-geluids­server gebruikt werkt het " "met de meeste, zo niet alle apps die u gebruikt. Alle onder­steunde apps " "worden getoond in het hoofd­venster, waar elke app afzonderlijk kan worden " "ingeschakeld." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Naast het manipuleren van geluids­uitvoer kan Easy Effects effecten toepassen " "op een invoer­apparaat, zoals een micro­foon. Dit is bijvoorbeeld handig bij " "geluids­opnamen, maar werkt ook goed tijdens spraak­gesprekken." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Na het opstarten toont EasyEffects de in de vorige sessie gebruikte " "instellingen. Ook kunnen instellingen worden opgeslagen als profielen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "De hoofd­pagina welke twee apps met audio­uitvoer toont" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "De bas­versterker­pagina welke audio­bedienings­elementen toont" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "De convolver-pagina welke audio­bedienings­elementen toont" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Functies:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Fout­oplossingen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Overige opmerkingen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Bijgewerkte vertalingen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Bijgewerkte vertalingen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "Compatibiliteit met Linux Studio Plugins 1.2.3 verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "Het voorinstellingenmenu vraagt nu om bevestiging voor het opslaan/" "verwijderen van een voorinstellingenbestand." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "Het resetten van de plug-in zou zijn bediening niet meer onbruikbaar moeten " "maken." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "Speex wordt niet langer ten onrechte vermeld als bouwafhankelijkheid " "(speexdsp is nog steeds een bouwafhankelijkheid)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "RNNoise is niet langer een auto-afhankelijkheid. Het is nu standaard " "vereist, indien niet beschikbaar moet het expliciet worden uitgeschakeld met " "-Denable-rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "Er is een klein foutje gemaakt in de laatste uitgave. Er is een nieuwe " "gemaakt om er zeker van te zijn dat mensen de juiste branch van het pakket " "hebben." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "De equalizer-‘sort bands’-functie ordent nu banden op GSettings, zodat het " "resultaat kan worden opgeslagen in voorinstellingen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "Verbeterde prestaties bij het resetten van toetsen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Probleem met de selectie van de ‘Grote lege zaal’-voorinstelling in het " "nagalmeffect is opgelost." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Enkele misbruiken van de API van PipeWire opgelost die mogelijk enkele " "willekeurige problemen van sommige gebruikers kunnen verhelpen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Omdat we code verwijderen die door GTK 4.10 is afgeschreven, is de minimale " "GTK-versie verhoogd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "De update-interval van de spectrum-plug-in is verbeterd. Verschillende " "sample-frequenties zouden visueel tot vergelijkbare update-frequenties " "moeten leiden." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "Het door de niveaumeters en het spectrum gebruikte update-interval kan door " "de gebruiker worden aangepast." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "De waarde van de equalizer-bandversterking kan in grotere stappen worden " "aangepast. Fijnkorrelige regeling is nog steeds mogelijk via de toetsen " "omhoog/omlaag van het toetsenbord." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Kleine verbeteringen aan de echo-onderdrukking." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "De echo-onderdrukking-probes werden niet gekoppeld aan de geluidskaart na de " "overgang naar meerdere filters. Dit zou nu verholpen moeten zijn." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Het is nu mogelijk om meer dan één filterinstantie aan de effecten-pipeline " "toe te voegen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Een nieuwe spraakverwerkings-plug-in gebaseerd op de Speex-bibliotheek is " "toegevoegd. Naast ruisonderdrukking biedt het ook detectie voor " "stemactiviteit. Het is een goed alternatief voor de gevallen waar de RNNoise-" "bibliotheek niet goed werkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Compatibiliteit met Linux Studio Plugins 1.2.3 verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" "GraphicEQ-voorinstellingen kunnen worden geïmporteerd in het equalizer-" "effect." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "De app-naam is veranderd naar Easy Effects om aan de naamgevingsconventies " "van de GNOME Human Interface Guidelines te voldoen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "De documentatie is bijgewerkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Automatisch inladen van voorinstellingen verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" "De autoversterking-stiltegrens kan nu door de gebruiker worden ingesteld." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "Dry- en wet-regelaars toegevoegd aan het stereogereeschapseffect." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "De echo-onderdrukker heeft nu een regeling voor restruisonderdrukking, " "eveneens gebaseerd op de Speex-bibliotheek." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Wanneer de muis over een grafiek beweegt werd de verkeerde waarde voor de x-" "as-coördinaat getoond. Deze regressie is verholpen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "Door de nieuwe functie voor meerdere instanties is het " "voorinstellingsformaat veranderd, maar de oude is nog steeds compatibel om " "te laden. Houd er in elk geval rekening mee dat de huidige voorinstelling " "altijd in het nieuwe formaat wordt opgeslagen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "Implementatie van Multiband Gate is gemigreerd van CALF naar Linux Studio " "Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "De compatibiliteit van het automatisch laden van voorinstellingen met bluez5-" "apparaten is verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "Wet-/dry-bedieningselementen toegevoegd voor enkele plug-ins" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "De effectinterface wordt niet langer geladen wanneer de bijbehorende lv2-" "plug-in niet is geïnstalleerd op het systeem. In plaats daarvan wordt een " "statusbericht aan de gebruiker getoond." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "De documentatie is bijgewerkt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Foutopsporingsberichten verbeterd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Verbeterde vertalingen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Fout verholpen waarbij EasyEffects kon crashen bij het sluiten van het " "venster terwijl effecten werden toegepast." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "De bypass-staat kan worden opgeslagen in het voorinstellingsbestand. De " "redenen hiervoor zijn te vinden in issue 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "De compatibiliteit van het automatisch laden van voorinstelling met USB-" "apparaten is verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "De gebruiker krijgt een dialoogvenster te zien wanneer een voorinstelling " "niet wordt geladen of een voorinstellings-/impuls-bestand niet wordt " "geïmporteerd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "De SideChain Gate plug-in van Linux Studio Plugins wordt nu gebruikt in " "plaats van die van Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "Easy Effects zou niet meer moeten crashen wanneer de gebruikerstaal niet " "goed geconfigureerd is." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Er is een workaround geïmplementeerd in ons pictogram om het gebrek aan SVG-" "ondersteuning in QT op te vangen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Wanneer effecten worden uitgeschakeld voor een app stellen we nu de " "doelmetadata ervan in op nul. Hierdoor kan de media session manager " "(wireplumber) de stream correct verplaatsen naar een nieuw apparaat." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Er is een nieuwe configuratie-optie toegevoegd. Hiermee kan Easy Effects " "streams negeren waarvan het doel is om sink-apparaten te monitoren. Dit " "helpt om enkele problemen op te lossen die onze gebruikers hadden bij het " "gebruik van OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "De code die de stream sample format toont is verbeterd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "De RNNoise-bibliotheek is nu optioneel. Dit zou pakketbeheerders moeten " "helpen om een Debian-pakket te bouwen. Zie issue 1000 voor meer informatie." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Onze logboeken tonen nu de broncoderegel waar de berichten worden afgedrukt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "Het selectievakje ‘Effecten inschakelen’ in ons venster werd niet bijgewerkt " "wanneer programma's van derden, zoals pavucontrol, de stream van onze " "virtuele apparaten verwijderden. Dit zou nu verholpen moeten zijn." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Crash verholpen die kon optreden wanneer de maximale autogain-geschiedenis " "werd gewijzigd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Crashes verholpen wanneer pw-mididump actief is" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "De interface van de pitch-plug-in is verbeterd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "Ons app-pictogram is nu compatibel met desktops die QT gebruiken" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Onze blocklist-code zal de tag application.id gebruiken als de stream die " "instelt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Om problemen met het scrollen met de muis te voorkomen, tonen de items in de " "lijst met apps in het tabblad Spelers/Opnemers geen volumeschaal meer. Meer " "details over het probleem en de oplossing zijn te vinden in de issues 1211 " "en 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Wanneer er geen app beschikbaar is voor weergave in de Spelers/Opnemers " "wordt een bericht getoond aan de gebruiker" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Veel vertalingsupdates" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "Ondersteuning voor de volgende PipeWire-uitgave, `0.3.44`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Betere ondersteuning voor slaapstand." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 #, fuzzy msgid "The tbb library is a new dependency" msgstr "De bibliotheek `tbb` is een nieuwe afhankelijkheid" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Verbeterde ondersteuning voor Assistive Technology." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Chinese vertaling bijgewerkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Italiaanse vertaling bijgewerkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Regio verbeterd in enkele widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Verkeerde uitlijning in enkele widgets verbeterd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Equalizer-interface verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 is vervangen door gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "GStreamer is vervangen door inheemse PipeWire-filters." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Banden" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Equalizer, compressor en overige audio-effecten" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limiter;compressor;galm;equalizer;autovolume;" #~ msgid "\"Presets\"" #~ msgstr "‘Voorinstellingen’" #, fuzzy #~ msgid "Enable" #~ msgstr "Inschakelen" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Toepassingen" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Toepassingen" #, fuzzy #~ msgid "_Shortcuts" #~ msgstr "Korte termijn" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Standaardwaarden herstellen" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "Over EasyEffects" #~ msgid "Presets" #~ msgstr "Voorinstellingen" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Voorinstellingen" #~ msgid "Global Bypass" #~ msgstr "Globale omzeiling" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "PulseEffecten" #, fuzzy #~ msgid "Applications List" #~ msgstr "Toepassingen" #, fuzzy #~ msgid "Empty List" #~ msgstr "Kale muren" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Toepassingen" #~ msgid "Target" #~ msgstr "Doel" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Maximale versterking" #~ msgid "Momentary" #~ msgstr "Kortstondig" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Korte termijn" #~ msgid "Integrated" #~ msgstr "Geïntegreerd" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Geometrisch gemiddelde gebruiken" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Geometrisch gemiddelde gebruiken" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Geometrisch gemiddelde gebruiken" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Geometrisch gemiddelde gebruiken" #~ msgid "Reset History" #~ msgstr "Geschiedenis wissen" #~ msgid "Relative" #~ msgstr "Relatief" #~ msgid "Range" #~ msgstr "Bereik" #~ msgid "Loudness" #~ msgstr "Hardheid" #~ msgid "Output Gain" #~ msgstr "Uitvoerversterking" #~ msgid "Input" #~ msgstr "Invoer" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Uitvoerversterking" #~ msgid "Output" #~ msgstr "Uitvoer" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Uitvoerversterking" #~ msgid "Reset" #~ msgstr "Standaardwaarden" #~ msgid "Using" #~ msgstr "Gebruikmakend van" #~ msgid "Device" #~ msgstr "Apparaat" #~ msgid "Name" #~ msgstr "Naam" #~ msgid "Profile" #~ msgstr "Profiel" #~ msgid "Preset" #~ msgstr "Voorinstelling" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Voorinstellingen automatisch inladen" #~ msgid "Listen" #~ msgstr "Beluisteren" #~ msgid "Blend Harmonics" #~ msgstr "Harmonieën mengen" #~ msgid "3rd" #~ msgstr "3e" #~ msgid "2nd" #~ msgstr "2e" #~ msgid "Amount" #~ msgstr "Hoeveelheid" #~ msgid "Harmonics" #~ msgstr "Harmonieën" #~ msgid "Scope" #~ msgstr "Bereik" #~ msgid "Floor" #~ msgstr "Verdieping" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Verdieping" #, fuzzy #~ msgid "Application Name" #~ msgstr "Toepassingen" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Toepassingen op zwarte lijst tonen op hoofdtabblad" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Toepassingen" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Toepassingen op zwarte lijst tonen op hoofdtabblad" #~ msgid "Compressor" #~ msgstr "Compressor" #~ msgid "Mode" #~ msgstr "Modus" #~ msgid "Downward" #~ msgstr "Omlaag" #~ msgid "Upward" #~ msgstr "Omhoog" #~ msgid "Boosting" #~ msgstr "Versterking" #~ msgid "Compression Mode" #~ msgstr "Compressiemodus" #~ msgid "Boost Threshold" #~ msgstr "Versterkingsdrempelwaarde" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Hoeveelheid" #~ msgid "Attack" #~ msgstr "Aanval" #~ msgid "Time" #~ msgstr "Duur" #~ msgid "Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Aanval" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Drempelwaarde" #~ msgid "Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Release Time" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Relatieve vrijgavedrempelwaarde" #~ msgid "Ratio" #~ msgstr "Verhouding" #~ msgid "Knee" #~ msgstr "Knie" #~ msgid "Makeup" #~ msgstr "Make-up" #~ msgid "Sidechain" #~ msgstr "Zijketen" #~ msgid "Peak" #~ msgstr "Piek" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Low-pass" #~ msgid "Uniform" #~ msgstr "Uniform" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Zijketen" #~ msgid "Source" #~ msgstr "Brok" #~ msgid "Middle" #~ msgstr "Midden" #~ msgid "Side" #~ msgstr "Zijkant" #~ msgid "Left" #~ msgstr "Links" #~ msgid "Right" #~ msgstr "Rechts" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Zijketen" #~ msgid "Type" #~ msgstr "Soort" #~ msgid "Feed-forward" #~ msgstr "Vooruitgeven" #~ msgid "Feed-back" #~ msgstr "Teruggeven" #~ msgid "External" #~ msgstr "Extern" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Zijketen" #~ msgid "Input Device" #~ msgstr "Invoerapparaat" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Voorversterking" #~ msgid "Reactivity" #~ msgstr "Reactiviteit" #~ msgid "Lookahead" #~ msgstr "Vooruitblik" #~ msgid "Sidechain Filters" #~ msgstr "Zijketenfilters" #, fuzzy #~ msgid "High-Pass" #~ msgstr "High-pass" #~ msgid "Frequency" #~ msgstr "Frequentie" #~ msgid "Off" #~ msgstr "Uit" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "High-pass-filtermodus" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "High-pass-frequentie" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "High-pass-filtermodus" #~ msgid "Gain" #~ msgstr "Versterking" #, fuzzy #~ msgid "Envelope" #~ msgstr "Stijging" #~ msgid "Curve" #~ msgstr "Curve" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Kanaal" #~ msgid "R" #~ msgstr "R" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Kanalen splitsen" #~ msgid "Impulses" #~ msgstr "Impulsen" #~ msgid "Stereo Width" #~ msgstr "Stereobreedte" #~ msgid "Spectrum" #~ msgstr "Spectrum" #~ msgid "Autogain" #~ msgstr "Automatisch versterken" #~ msgid "Rate" #~ msgstr "Snelheid" #~ msgid "Samples" #~ msgstr "Samples" #~ msgid "Duration" #~ msgstr "Duur" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Impulse Response" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Uitvoervolume" #~ msgid "Import Impulse" #~ msgstr "Impulse importeren" #~ msgid "Search" #~ msgstr "Zoeken" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Impulse-bestand importeren" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Impulse-bestand importeren" #~ msgid "Default" #~ msgstr "Standaard" #~ msgid "Cutoff" #~ msgstr "Onderbreking" #~ msgid "Feed" #~ msgstr "Aanvoer" #~ msgid "Bypass" #~ msgstr "Omzeiling" #~ msgid "Mute" #~ msgstr "Dempen" #~ msgid "Detection" #~ msgstr "Detectie" #~ msgid "Wide" #~ msgstr "Breed" #~ msgid "Split" #~ msgstr "Splitsen" #~ msgid "F1 Split" #~ msgstr "F1-splitsing" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frequentie" #~ msgid "F2 Peak" #~ msgstr "F2-piek" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frequentie" #~ msgid "F1 Gain" #~ msgstr "F1-versterking" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frequentie" #~ msgid "F2 Level" #~ msgstr "F2-niveau" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frequentie" #~ msgid "F2 Peak Q" #~ msgstr "F2-piek Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frequentie" #~ msgid "Laxity" #~ msgstr "Laxiteit" #~ msgid "Detected" #~ msgstr "Gedetecteerd" #, fuzzy #~ msgid "Reduction" #~ msgstr "Verlaging" #~ msgid "Frame Size" #~ msgstr "Framegrootte" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filter" #~ msgid "Bands" #~ msgstr "Banden" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Kanalen splitsen" #~ msgid "Flat Response" #~ msgstr "Platte respons" #~ msgid "Calculate Frequencies" #~ msgstr "Frequenties berekenen" #~ msgid "Load APO Preset" #~ msgstr "APO-voorinstelling laden" #~ msgid "Bell" #~ msgstr "Bel" #~ msgid "High Pass" #~ msgstr "High-pass" #~ msgid "High Shelf" #~ msgstr "High-shelf" #~ msgid "Low Pass" #~ msgstr "Low-pass" #~ msgid "Low Shelf" #~ msgstr "Low-shelf" #~ msgid "Notch" #~ msgstr "Inkeping" #~ msgid "Resonance" #~ msgstr "Resonantie" #~ msgid "All Pass" #~ msgstr "All-pass" #, fuzzy #~ msgid "Band Type" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Banden" #~ msgid "Slope" #~ msgstr "Stijging" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Stijging" #~ msgid "Width" #~ msgstr "Breedte" #~ msgid "Quality" #~ msgstr "Kwaliteit" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Plafond" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Toegang" #~ msgid "Description" #~ msgstr "Omschrijving" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Verwijder dit voorinstellingsbestand" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct low-pass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct low-pass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct low-pass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct high-pass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct high-pass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct high-pass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct band-pass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct band-pass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct band-pass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct band-reject" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct band-reject" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct band-reject" #~ msgid "Inertia" #~ msgstr "Traagheid" #~ msgid "Gate" #~ msgstr "Dosering" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Internal" #~ msgstr "Extern" #~ msgid "Gating" #~ msgstr "Dosering" #~ msgid "Oversampling" #~ msgstr "Oversamplen" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Breed" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Breed" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Lijnbreedte" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Lijnbreedte" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Lijnbreedte" #~ msgid "None" #~ msgstr "Geen" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Voorversterking" #, fuzzy #~ msgid "Boost" #~ msgstr "Versterking" #~ msgid "Stereo Link" #~ msgstr "Stereo koppelen" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Zijketen" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Automatische niveau's" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Automatische niveau's" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Automatische niveau's" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Automatische niveau's" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Links" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Rechts" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Zijketen" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Zijketenfilters" #~ msgid "Standard" #~ msgstr "Standaard" #~ msgid "Flat" #~ msgstr "Plat" #~ msgid "FFT Size" #~ msgstr "FFT-grootte" #~ msgid "Output Volume" #~ msgstr "Uitvoervolume" #~ msgid "Ceiling" #~ msgstr "Plafond" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Model importeren" #, fuzzy #~ msgid "Modern" #~ msgstr "Modus" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Zijketen" #, fuzzy #~ msgid "Bands List" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 5" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 6" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 7" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 8" #~ msgstr "Banden" #, fuzzy #~ msgid "Band End" #~ msgstr "Banden" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Compressiemodus" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Zijketenfilters" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Low-pass-filtermodus" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Low-pass-filtermodus" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "High-pass-filter" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "High-pass-filter" #, fuzzy #~ msgid "Band Gain" #~ msgstr "F1-versterking" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curve" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Splitsen" #~ msgid "Split 1/2" #~ msgstr "1/2 splitsen" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frequentie" #~ msgid "Split 2/3" #~ msgstr "2/3 splitsen" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frequentie" #~ msgid "Split 3/4" #~ msgstr "3/4 splitsen" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frequentie" #~ msgid "Sub Band" #~ msgstr "Subband" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Make-up" #~ msgid "Max Reduction" #~ msgstr "Verlaging" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Versterkingsverlaging" #~ msgid "Low Band" #~ msgstr "Lage band" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Make-up" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Versterkingsverlaging" #~ msgid "Mid Band" #~ msgstr "Middelste band" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Make-up" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Versterkingsverlaging" #~ msgid "High Band" #~ msgstr "Hoge band" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Make-up" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Versterkingsverlaging" #~ msgid "General" #~ msgstr "Algemeen" #~ msgid "Use Default Input" #~ msgstr "Standaardinvoer gebruiken" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Invoerapparaat" #~ msgid "Use Default Output" #~ msgstr "Standaarduitvoer gebruiken" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Uitvoerapparaat" #, fuzzy #~ msgid "Server Information" #~ msgstr "Galm" #~ msgid "Header Version" #~ msgstr "Kopversie" #~ msgid "Library Version" #~ msgstr "Bibliotheekversie" #~ msgid "Sampling Rate" #~ msgstr "Samplesnelheid" #~ msgid "Minimum Quantum" #~ msgstr "Minimale quantum" #~ msgid "Maximum Quantum" #~ msgstr "Maximale quantum" #~ msgid "Default Quantum" #~ msgstr "Standaard quantum" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Uitvoerapparaat" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Uitvoer-voorinstellingen: " #~ msgid "Create Association" #~ msgstr "Toewijzing maken" #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Uitvoer-voorinstellingen: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Invoerapparaat" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Invoer-voorinstellingen: " #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Invoer-voorinstellingen: " #~ msgid "Modules" #~ msgstr "Modules" #, fuzzy #~ msgid "Modules List" #~ msgstr "Modules" #~ msgid "Clients" #~ msgstr "Clients" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clients" #~ msgid "Test Signal" #~ msgstr "Signaal testen" #~ msgid "State" #~ msgstr "Status" #, fuzzy #~ msgid "Enabled" #~ msgstr "Inschakelen" #~ msgid "Channels" #~ msgstr "Aantal kanalen" #~ msgid "Both" #~ msgstr "Beide" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Aantal kanalen" #~ msgid "Sine Wave" #~ msgstr "Sinusgolf" #~ msgid "White Noise" #~ msgstr "Witte ruis" #, fuzzy #~ msgid "High Speed" #~ msgstr "High-shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kwaliteit" #, fuzzy #~ msgid "Formant" #~ msgstr "Formaat" #, fuzzy #~ msgid "Preserved" #~ msgstr "Voorinstelling" #, fuzzy #~ msgid "Crisp" #~ msgstr "Scherpte" #, fuzzy #~ msgid "Detector" #~ msgstr "Detectie" #, fuzzy #~ msgid "Compound" #~ msgstr "Compressie" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Semitones" #~ msgstr "Halve tonen" #~ msgid "Octaves" #~ msgstr "Octaven" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Verwijder dit voorinstellingsbestand" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Invoereffecten" #, fuzzy #~ msgid "No Effects" #~ msgstr "PulseEffecten" #, fuzzy #~ msgid "Search Plugin" #~ msgstr "Zoeken" #, fuzzy #~ msgid "Plugins List" #~ msgstr "Plug-ins" #, fuzzy #~ msgid "_General" #~ msgstr "Algemeen" #, fuzzy #~ msgid "Service" #~ msgstr "Apparaat" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Alle uitvoerbronnen gebruiken" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Alle invoerbronnen gebruiken" #, fuzzy #~ msgid "Inactivity Timeout" #~ msgstr "Activiteitstime-out" #~ msgid "Use Dark Theme" #~ msgstr "Donker thema" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Spectrum" #~ msgid "Bars" #~ msgstr "Balken" #~ msgid "Lines" #~ msgstr "Lijnen" #~ msgid "Points" #~ msgstr "Points" #~ msgid "Height" #~ msgstr "Lengte" #~ msgid "Line Width" #~ msgstr "Lijnbreedte" #~ msgid "Fill" #~ msgstr "Opvullen" #, fuzzy #~ msgid "Color" #~ msgstr "Askleur" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frequentie" #~ msgid "Minimum" #~ msgstr "Minimaal" #~ msgid "Maximum" #~ msgstr "Maximaal" #~ msgid "Load" #~ msgstr "Laden" #~ msgid "Save current settings to this preset file" #~ msgstr "Sla de huidige instellingen op in dit voorinstellingsbestand" #~ msgid "Remove this preset file" #~ msgstr "Verwijder dit voorinstellingsbestand" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Uitvoer-voorinstellingen: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Voorinstelling maken" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Voorinstelling importeren" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Uitvoer-voorinstellingen: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Uitvoer-voorinstellingen: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Invoer-voorinstellingen: " #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Invoer-voorinstellingen: " #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Invoer-voorinstellingen: " #~ msgid "High Frequency Damping" #~ msgstr "Hoge frequentiedemping" #~ msgid "Room Size" #~ msgstr "Kamergrootte" #~ msgid "Small" #~ msgstr "Klein" #~ msgid "Medium" #~ msgstr "Gemiddeld" #~ msgid "Large" #~ msgstr "Groot" #~ msgid "Tunnel" #~ msgstr "Tunnel" #~ msgid "Large/smooth" #~ msgstr "Groot/Vloeiend" #~ msgid "Experimental" #~ msgstr "Experimenteel" #~ msgid "Diffusion" #~ msgstr "Verspreiding" #~ msgid "Pre Delay" #~ msgstr "Vertraging vooraf" #~ msgid "Decay Time" #~ msgstr "Vervaltijd" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Hoeveelheid" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Doelniveau" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Hoeveelheid" #, fuzzy #~ msgid "Dry Level" #~ msgstr "F2-niveau" #~ msgid "Bass Cut" #~ msgstr "Bas onderdrukken" #~ msgid "Treble Cut" #~ msgstr "Hoge tonen afsnijden" #~ msgid "Ambience" #~ msgstr "Sfeer" #~ msgid "Empty Walls" #~ msgstr "Kale muren" #~ msgid "Room" #~ msgstr "Kamer" #~ msgid "Large Empty Hall" #~ msgstr "Grote, lege zaal" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Grote, bezette zaal" #~ msgid "Import Model" #~ msgstr "Model importeren" #~ msgid "Models" #~ msgstr "Modellen" #, fuzzy #~ msgid "Standard Model" #~ msgstr "Standaard RNNoise-model" #, fuzzy #~ msgid "RNNoise Models List" #~ msgstr "Standaard RNNoise-model" #~ msgid "Active Model" #~ msgstr "Huidig model" #~ msgid "Standard RNNoise Model" #~ msgstr "Standaard RNNoise-model" #, fuzzy #~ msgid "Overview" #~ msgstr "Apparaat" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Zet PulseEffecten terug op de standaardwaarden." #, fuzzy #~ msgid "Close the Window" #~ msgstr "Verberg het venster." #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "Over EasyEffects" #~ msgid "Balance" #~ msgstr "Balans" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balans" #~ msgid "Softclip" #~ msgstr "Softclip" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Softclip" #~ msgid "Stereo Matrix" #~ msgstr "Stereomatrix" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (standaard stereo)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (stereo naar midden-zijkant)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (midden-zijkant naar stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (mono, linkerkanaal)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (mono, rechterkanaal)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (mono, sum L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (stereo, kanalen omwisselen)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Stereobasis" #~ msgid "Invert Phase" #~ msgstr "Fase omkeren" #~ msgid "Side Level" #~ msgstr "Zijniveau" #~ msgid "Side Balance" #~ msgstr "Zijbalans" #~ msgid "Middle Level" #~ msgstr "Middelste niveau" #~ msgid "Middle Panorama" #~ msgstr "Middelste panorama" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Uitvoerversterking" #~ msgid "Delay L/R" #~ msgstr "L/R-vertraging" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "L/R-vertraging" #~ msgid "Stereo Base" #~ msgstr "Stereobasis" #~ msgid "Stereo Phase" #~ msgstr "Stereofase" #, fuzzy #~ msgid "Running" #~ msgstr "actief" #, fuzzy #~ msgid "Suspended" #~ msgstr "onderbroken" #, fuzzy #~ msgid "Creating" #~ msgstr "bezig met aanmaken" #, fuzzy #~ msgid "Error" #~ msgstr "foutmelding" #, fuzzy #~ msgid "channels" #~ msgstr "Aantal kanalen" #~ msgid "Output Presets: " #~ msgstr "Uitvoer-voorinstellingen: " #~ msgid "Input Presets: " #~ msgstr "Invoer-voorinstellingen: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Audio-effecten voor PipeWire-toepassingen" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Sluit PulseEffecten af - nuttig in dienstmodus." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Laad een voorinstelling. Voorbeeld: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Zet PulseEffecten terug op de standaardwaarden." #~ msgid "Hide the Window." #~ msgstr "Verberg het venster." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Globale omzeiling: 1 = inschakelen, 2 = uitschakelen, 3 = status opvragen" #~ msgid "Show available presets." #~ msgstr "Toon de beschikbare voorinstellingen." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Impulse-bestand importeren" #~ msgid "Import Impulse File" #~ msgstr "Impulse-bestand importeren" #~ msgid "Open" #~ msgstr "Openen" #~ msgid "Cancel" #~ msgstr "Annuleren" #~ msgid "Impulse Response" #~ msgstr "Impulse Response" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Impulsen" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Impulse importeren" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Impulse-bestand importeren" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Het Impulse-bestand kan niet worden geladen" #~ msgid "Recorders" #~ msgstr "Opname-apparaten" #~ msgid "Players" #~ msgstr "Spelers" #, fuzzy #~ msgid "Effects" #~ msgstr "PulseEffecten" #~ msgid "infinity" #~ msgstr "oneindig" #~ msgid "Import APO Preset File" #~ msgstr "APO-voorinstellingsbestand importeren" #~ msgid "APO Presets" #~ msgstr "APO-voorinstellingen" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Voorinstellingen automatisch inladen" #~ msgid "Remove" #~ msgstr "Verwijderen" #~ msgid "Output Device" #~ msgstr "Uitvoerapparaat" #~ msgid "Import Preset" #~ msgstr "Voorinstelling importeren" #~ msgid "Import Model File" #~ msgstr "Modelbestand importeren" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Standaard RNNoise-model" #~ msgid "Bass Enhancer" #~ msgstr "Basversterker" #~ msgid "Bass Loudness" #~ msgstr "Hardheid van bas" #~ msgid "Convolver" #~ msgstr "Convolutie" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Kristalliseerder" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Vertraging" #~ msgid "Echo Canceller" #~ msgstr "Echo-onderdrukking" #~ msgid "Equalizer" #~ msgstr "Equalizer" #~ msgid "Exciter" #~ msgstr "Exciter" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Limiter" #~ msgstr "Limiter" #~ msgid "Maximizer" #~ msgstr "Maximizer" #~ msgid "Multiband Compressor" #~ msgstr "Multiband-compressie" #~ msgid "Multiband Gate" #~ msgstr "Multiband-dosering" #~ msgid "Pitch" #~ msgstr "Toonhoogte" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Galm" #~ msgid "Noise Reduction" #~ msgstr "Ruisverlaging" #~ msgid "Stereo Tools" #~ msgstr "Stereobediening" #~ msgid "Average" #~ msgstr "Gemiddeld" #~ msgid "Failed" #~ msgstr "Mislukt" #, fuzzy #~ msgid "Use Default" #~ msgstr "Standaardinvoer gebruiken" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Verwijder dit voorinstellingsbestand" #~ msgid "Import Presets" #~ msgstr "Importeer voorinstellingen" #~ msgid "Start Service at Login" #~ msgstr "Automatisch opstarten" #, fuzzy #~ msgid "Activate" #~ msgstr "Huidig model" #~ msgid "Add to Blocklist" #~ msgstr "Toevoegen aan zwarte lijst" #~ msgid "Blocklist" #~ msgstr "Zwarte lijst" #~ msgid "Add Plugin" #~ msgstr "Plug-in toevoegen" #~ msgid "Speakers" #~ msgstr "Luidsprekers" #~ msgid "Microphone" #~ msgstr "Microfoon" #~ msgid "Plugins" #~ msgstr "Plug-ins" #, fuzzy #~ msgid "enabled" #~ msgstr "Inschakelen" #, fuzzy #~ msgid "disabled" #~ msgstr "Inschakelen" #~ msgid "Format" #~ msgstr "Formaat" #~ msgid "Latency" #~ msgstr "Vertraging" #~ msgid "idle" #~ msgstr "inactief" #~ msgid "Faster" #~ msgstr "Sneller" #~ msgid "Preserve Formant" #~ msgstr "Formaat behouden" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Player Name" #~ msgstr "Spelernaam" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Uitvoerversterking" #~ msgid "Channel" #~ msgstr "Kanaal" #, fuzzy #~ msgid "Value" #~ msgstr "Verdieping" #~ msgid "Output Effects" #~ msgstr "Uitvoereffecten" #~ msgid "Settings" #~ msgstr "Instellingen" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Instellingen" #, fuzzy #~ msgid "Documentation" #~ msgstr "Duur" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Signaal testen" #~ msgid "Signal" #~ msgstr "Signaal" #~ msgid "Show Spectrum" #~ msgstr "Spectrum tonen" #~ msgid "Border" #~ msgstr "Rand" #~ msgid "Spectrum Type" #~ msgstr "Soort spectrum" #~ msgid "Spectrum Color" #~ msgstr "Spectrumkleur" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Huidig model" #~ msgid "Maximum Gain Reduction" #~ msgstr "Maximale versterkingsverlaging" #~ msgid "Wet" #~ msgstr "Nat" #~ msgid "Dry" #~ msgstr "Droog" #~ msgid "S/C Level" #~ msgstr "S/C-niveau" #~ msgid "Phase Correlation" #~ msgstr "Fasecorrelatie" #~ msgid "Short Term" #~ msgstr "Korte termijn" #~ msgid "Id" #~ msgstr "ID" #~ msgid "Low-pass" #~ msgstr "Low-pass" #~ msgid "Run in Background" #~ msgstr "Uitvoeren op achtergrond" #~ msgid "ceil" #~ msgstr "ceil" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Regel het volume en schakel effecten in/uit" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Bevat een equalizer met meegeleverde voorinstellingen" #~ msgid "Input Limiter" #~ msgstr "Invoerbeperking" #~ msgid "Calibration" #~ msgstr "Kalibratie" #~ msgid "Automatic Smoothing Control" #~ msgstr "Automatische afvlakking bedienen" #~ msgid "Limit" #~ msgstr "Beperken" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Verzwakking" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Audio-effecten voor PulseAudio-toepassingen" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Audio-effecten voor PulseAudio-toepassingen" #~ msgid "Help" #~ msgstr "Hulp" #~ msgid "Calibration Microphone" #~ msgstr "Microfoon kalibreren" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Pas deze voorinstellingen automatisch toe zodra het huidige apparaat " #~ "wordt aangekoppeld" #, fuzzy #~ msgid "Version" #~ msgstr "Versie" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Vierkant" #~ msgid "Saw" #~ msgstr "Zaag" #~ msgid "Triangle" #~ msgstr "Driehoek" #~ msgid "Silence" #~ msgstr "Stilte" #~ msgid "Pink Noise" #~ msgstr "Roze ruis" #~ msgid "Ticks" #~ msgstr "Aantal tikken" #~ msgid "Gaussian Noise" #~ msgstr "Gaussiaanse ruis" #~ msgid "Red Noise" #~ msgstr "Rode ruis" #~ msgid "Blue Noise" #~ msgstr "Blauwe ruis" #~ msgid "Violet Noise" #~ msgstr "Violet-ruis" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Window" #~ msgstr "Venster" #~ msgid "Measure Noise" #~ msgstr "Ruisniveau meten" #~ msgid "Subtract Noise" #~ msgstr "Ruis verwijderen" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Provided by" #~ msgstr "Geleverd door" #~ msgid "Extended Filter" #~ msgstr "Uitgebreid filter" #~ msgid "Low" #~ msgstr "Laag" #~ msgid "Moderate" #~ msgstr "Gemiddeld" #~ msgid "High" #~ msgstr "Hoog" #~ msgid "Suppression Level" #~ msgstr "Onderdrukkingsniveau" #~ msgid "Delay Agnostic" #~ msgstr "Agnostische vertraging" #~ msgid "Very High" #~ msgstr "Erg hoog" #~ msgid "Noise Suppressor" #~ msgstr "Ruisonderdrukking" #~ msgid "Adaptive Digital" #~ msgstr "Adaptief digitaal" #~ msgid "Fixed Digital" #~ msgstr "Vastgesteld digitaal" #~ msgid "Gain Controller" #~ msgstr "Versterkingsbediening" #~ msgid "Detection Likelihood" #~ msgstr "Detectieniveau" #~ msgid "Very Low" #~ msgstr "Erg laag" #~ msgid "Voice Detector" #~ msgstr "Stemherkenning" #~ msgid "Use Custom Color" #~ msgstr "Aangepaste kleur gebruiken" #~ msgid "Use Gradient" #~ msgstr "Kleurverloop gebruiken" #~ msgid "Gradient Color" #~ msgstr "Kleurverloop" #~ msgid "Import Impulse Response File" #~ msgstr "Importeer een Impulse Response-bestand" #~ msgid "Select the impulse Response File" #~ msgstr "Kies een Impulse Response-bestand" #~ msgid "Aggressive Mode" #~ msgstr "Agressieve modus" #~ msgid "Before" #~ msgstr "Vóór" #~ msgid "After" #~ msgstr "Na" #~ msgid "Loudness Range" #~ msgstr "Bereik van geluidssterkte" #~ msgid "Loudness Compensator" #~ msgstr "Geluidssterkte-compensatie" #~ msgid "Apply" #~ msgstr "Toepassen" #~ msgid "Based on" #~ msgstr "Gebaseerd op" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Standaard samplesnelheid" #~ msgid "Default Source" #~ msgstr "Standaardbron" #~ msgid "Server" #~ msgstr "Server" #~ msgid "File" #~ msgstr "Bestand" #~ msgid "Configuration" #~ msgstr "Instellingen" #, fuzzy #~ msgid "server" #~ msgstr "Server" #, fuzzy #~ msgid "Based on a" #~ msgstr "Gebaseerd op" #~ msgid "Low-pass Frequency" #~ msgstr "Low-pass-frequentie" #~ msgid "Advanced" #~ msgstr "Geavanceerd" #~ msgid "Apply APO Preset" #~ msgstr "APO-voorinstelling toepassen" #~ msgid "Detect Silence" #~ msgstr "Stilte herkennen" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Plug de microfoon opnieuw in om de wijzigingen aan de zwarte lijst toe te " #~ "passen" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "" #~ "Herstart de speler om de wijzigingen aan de zwarte lijst toe te passen" #~ msgid "Muted" #~ msgstr "Gedempt" #~ msgid "Distant Headphones" #~ msgstr "Koptelefoons veraf" #~ msgid "Niceness" #~ msgstr "Niceness" #~ msgid "Priority Type" #~ msgstr "Soort prioriteit" #~ msgid "Priority" #~ msgstr "Prioriteit" #~ msgid "About" #~ msgstr "Over" #~ msgid "Protocol" #~ msgstr "Protocol" #~ msgid "Default Sample Format" #~ msgstr "Standaard sampleformaat" #~ msgid "Channel Mapping" #~ msgstr "Kanaaltoewijzing" #~ msgid "Resamplers" #~ msgstr "Hersamplers" #~ msgid "Pipeline Input" #~ msgstr "Invoerpijplijn" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Pipeline Output" #~ msgstr "Uitvoerpijplijn" #~ msgid "Block Size" #~ msgstr "Blokgrootte" #~ msgid "Maximum Frequency" #~ msgstr "Maximale frequentie" easyeffects-7.1.7/po/news/nn.po000066400000000000000000001022161463533416400164070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-05-22 14:20+0000\n" "PO-Revision-Date: 2023-06-02 09:48+0000\n" "Last-Translator: Daniel Svindseth \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.18-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Lydeffektar for PipeWire-applikasjonar" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:8 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects er eit verktøy for avansert ljodmanipulering. Det inkluderer " "mellom anna ein equalizer, ljodavgrensar, kompressor og etterklangsverktøy. " "I tillegg har det innebygd spektrumsanalysator." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects er etterfølgjaren til PulseEffects. Easy Effects støttar berre " "PipeWire sin ljodtjenar. PulseAudio-brukarar bør heller nytte PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Sidan Easy Effects nyttar den vanlege PipeWire ljodtjenaren vil det fungere " "med nesten alle applikasjonar. Alle som er støtta vil visast i " "hovudvindauget, der ein kan slå på kvar einskild individuelt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Utanom manipulering av utgongsljod kan Easy Effects leggje til effektar til " "inngongseiningar, som t.d. ein mikrofon. Dette er nyttig til mellom anna " "ljodopptak, men det fungerer òg bra for samtalar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:14 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Når Easy Effects vert starta vil den hugse alle innstillingane frå førre " "økt. Det er òg mogleg å lagre innstillingane som ulike profiler." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:40 msgid "The main page showing two audio output apps" msgstr "Hovudsida som viser to appar som spelar av ljod" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:44 msgid "The bass enhancer page showing audio controls" msgstr "Bassforbetrar-sida som viser ljodkontrollar" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:48 msgid "The convolver page showing audio controls" msgstr "Convolver-sida viser ljodkontrollar" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:56 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:79 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:93 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:127 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:201 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:214 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:224 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:331 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:370 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:380 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:393 msgid "Features:" msgstr "Funksjonar:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:57 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "Førehandsinnstillings-menyen vil no spørje om stadfesting før ei " "førehandsinnstillings-fil vert lagra/sletta." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:135 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:145 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:175 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:216 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:238 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:356 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:385 msgid "Bug fixes:" msgstr "Retta feil:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "The plugin reset should not make its controls innefective anymore." msgstr "Plugin-resett skal ikkje gjere kontrollane ubruklege lengre." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:136 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:147 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:162 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:94 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:111 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:112 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:113 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:114 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:115 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:116 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:133 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:134 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:144 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:146 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:157 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:160 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:161 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:173 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:174 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:176 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:186 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:187 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:188 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:189 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:202 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:203 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:215 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:225 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:226 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:239 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:249 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:269 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:271 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:286 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:296 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:297 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:314 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:316 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:332 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:344 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:345 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:346 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:357 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:358 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:359 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:360 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:371 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:381 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:382 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:384 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/pl.po000066400000000000000000002211201463533416400164030ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the EasyEffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-11-04 20:34+0000\n" "Last-Translator: marcin mikołajczak \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 5.2-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Efekty dźwiękowe dla aplikacji PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects to zaawansowane narzędzie do manipulacji dźwiękiem. Zawiera " "między innymi korektor, limiter, kompresor i narzędzie do generowania " "pogłosu. Uzupełnieniem tego jest wbudowany analizator widma." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects jest następcą PulseEffects. EasyEffects wspiera jedynie serwer " "audio PipeWire. Użytkownicy PulseAudio powinni zamiast tego użyć " "PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Ponieważ EasyEffects używa domyślnego serwera dźwięku PipeWire, będzie on " "działał z większością, jeśli nie wszystkimi używanymi programami. Wszystkie " "obsługiwane programy są prezentowane w oknie głównym, gdzie każdy z nich " "może być aktywowany indywidualnie." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Oprócz sterowania wyjściem dźwiękowym, EasyEffects jest w stanie zastosować " "efekty do urządzenia wejściowego, takiego jak mikrofon. Jest to przydatne na " "przykład przy nagrywaniu dźwięku, ale sprawdza się również podczas rozmów " "głosowych." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Po uruchomieniu programu EasyEffects zapamiętuje on konfigurację użytą " "podczas ostatniej sesji. Możliwe jest także zapisanie wszystkich bieżących " "ustawień w postaci profili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Główna strona z widocznymi dwoma programami odtwarzającymi dźwięk" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Strona wzmacniacza basów z widocznymi elementami sterowania dźwiękiem" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "Strona konwolwera przedstawiająca elementy sterujące dźwiękiem" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Funkcje:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Poprawki błędów:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Inne uwagi:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "Dodano sekcję „Funkcje eksperymentalne” do okna preferencji." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #, fuzzy msgid "Improved translations" msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 #, fuzzy msgid "Many translation updates" msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #, fuzzy msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Wtyczka automatycznej regulacji wzmocnienia umożliwia teraz użytkownikowi " "wybór, która z trzech głośności jest używana do obliczania średniej" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 #, fuzzy msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Wtyczka automatycznej regulacji wzmocnienia umożliwia teraz ustawienie " "maksymalnej historii i nie używa już trybu histogramu `libebur128`." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "Ikona EasyEffects została uaktualniona w taki sposób, że powinna być " "widoczna w pulpitach QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "Opcja wiersza poleceń, która zwraca stan globalnego obejścia, działa " "ponownie." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Filtr krzyżowy powinien lepiej radzić sobie z dynamicznymi przełącznikami " "opóźnień w systemie PipeWire. W takich sytuacjach nie powinny już występować " "skoki poziomu głośności." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Naprawiono błąd, który uniemożliwiał prawidłowe działanie mikrofonów " "monofonicznych z EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "Wsparcie dla następnej wersji PipeWire `0.3.44`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Filtr automatycznej regulacji wzmocnienia powinien lepiej radzić sobie z " "dynamicznymi przełącznikami opóźnień w systemie PipeWire. W takich " "sytuacjach nie powinny już występować skoki poziomu głośności." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Dodaliśmy opcję, która umożliwia zresetowanie głośności i stanu wyciszenia " "naszych urządzeń wirtualnych podczas uruchamiania EasyEffects. Powinno to " "pomóc w przypadkach, gdy z nieznanych przyczyn nasze urządzenia są wyciszane " "przez serwer audio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Lepsza obsługa uśpienia komputera." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "Menu ustawień zostało przeprojektowane z wykorzystaniem widżetów LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "Biblioteka tbb jest nową zależnością" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "This release adds the following features:" #~ msgstr "W tym wydaniu dodano następujące funkcje:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Pasma" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Wprowadzono nowe ustawienie umożliwiające użytkownikowi wybranie limitu " #~ "czasu bezczynności dla odtwarzaczy. Jeśli żaden klient nie odtwarza " #~ "dźwięku" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "do lub nagrywanych z naszych urządzeń, których filtry zostaną usunięte po " #~ "upływie limitu czasu. Ma to na celu zapewnienie" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "" #~ "tego, że nie będziemy marnować mocy procesora na przetwarzanie ciszy." #~ msgid "mean." #~ msgstr "geometrycznej." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Powinno to zapobiec przypadkom, gdy `Zintegrowana` głośność utknie na " #~ "zawsze w tej samej wartości." #~ msgid "This release fixes the following bug:" #~ msgstr "To wydanie poprawia następujący błąd:" #~ msgid "This release adds the following feature:" #~ msgstr "W tym wydaniu dodano następującą funkcję:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Korektor, kompresor i inne efekty audio" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limiter;kompresor;pogłos;korektor;autogłośność;" #, fuzzy #~ msgid "\"Presets\"" #~ msgstr "Profile" #, fuzzy #~ msgid "Enable" #~ msgstr "Włącz" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Programy" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Programy" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Ustawienia" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Profile" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Profile" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Programy" #, fuzzy #~ msgid "Empty List" #~ msgstr "Gołe ściany" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Programy" #~ msgid "Target" #~ msgstr "Cel" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Maksymalne wzmocnienie" #, fuzzy #~ msgid "Reset History" #~ msgstr "Resetuj jakość" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Wzmocnienie wej." #~ msgid "Input" #~ msgstr "Wejście" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Wzmocnienie wej." #~ msgid "Output" #~ msgstr "Wyjście" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Wzmocnienie wej." #~ msgid "Reset" #~ msgstr "Zresetuj" #, fuzzy #~ msgid "Device" #~ msgstr "Urządzenie wejściowe" #~ msgid "Name" #~ msgstr "Nazwa" #, fuzzy #~ msgid "Preset" #~ msgstr "Profile" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Kompresor" #~ msgid "Listen" #~ msgstr "Słuchaj" # Wpleć/wmieszaj/dodaj #~ msgid "Blend Harmonics" #~ msgstr "Wprowadź harmoniczne" #~ msgid "3rd" #~ msgstr "Trzecie" #~ msgid "2nd" #~ msgstr "Drugie" #~ msgid "Amount" #~ msgstr "Ilość" #~ msgid "Harmonics" #~ msgstr "Harmoniczne" #~ msgid "Scope" #~ msgstr "Zakres" #~ msgid "Floor" #~ msgstr "Podłoga" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Podłoga" #, fuzzy #~ msgid "Application Name" #~ msgstr "Programy" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Programy" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Programy" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Programy" #~ msgid "Compressor" #~ msgstr "Kompresor" #~ msgid "Mode" #~ msgstr "Tryb" #, fuzzy #~ msgid "Downward" #~ msgstr "Dół" #, fuzzy #~ msgid "Compression Mode" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Ilość" #~ msgid "Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Time" #~ msgstr "Czas zaniku" #~ msgid "Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Atak" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Próg" #~ msgid "Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Release Time" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Próg" #~ msgid "Ratio" #~ msgstr "Stosunek" #~ msgid "Knee" #~ msgstr "Kolano" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #~ msgid "Makeup" #~ msgstr "Wzmocnienie" #~ msgid "Sidechain" #~ msgstr "Łańcuch boczny" #~ msgid "Peak" #~ msgstr "Szczyt" #~ msgid "RMS" #~ msgstr "RMS" #, fuzzy #~ msgid "Low-Pass" #~ msgstr "Dolnoprzepustowy" #~ msgid "Uniform" #~ msgstr "Równomierny" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Łańcuch boczny" #~ msgid "Source" #~ msgstr "Źródło" #, fuzzy #~ msgid "Middle" #~ msgstr "Środek" #~ msgid "Side" #~ msgstr "Strona" #~ msgid "Left" #~ msgstr "Lewy" #~ msgid "Right" #~ msgstr "Prawy" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Łańcuch boczny" # Wejście? #, fuzzy #~ msgid "Feed-back" #~ msgstr "Feed" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "Input Device" #~ msgstr "Urządzenie wejściowe" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Programy" #~ msgid "Reactivity" #~ msgstr "Reaktywność" # Podgląd, albo "patrz w przód", zapas #~ msgid "Lookahead" #~ msgstr "Lookahead" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Filtr górnoprzepustowy" #~ msgid "Frequency" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "12 dB/oct" #~ msgstr "12dB/okt dolnoprzepustowy" #, fuzzy #~ msgid "24 dB/oct" #~ msgstr "24dB/okt dolnoprzepustowy" #, fuzzy #~ msgid "36 dB/oct" #~ msgstr "36dB/okt dolnoprzepustowy" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filtr górnoprzepustowy" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Tłumienie wysokich tonów" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filtr górnoprzepustowy" #~ msgid "Gain" #~ msgstr "Wzmocnienie" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Kanały" #~ msgid "R" #~ msgstr "P" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Kanały" #, fuzzy #~ msgid "Impulses" #~ msgstr "Płaska odpowiedź" #, fuzzy #~ msgid "Stereo Width" #~ msgstr "Powiązanie stereo" #~ msgid "Spectrum" #~ msgstr "Widmo" #~ msgid "Autogain" #~ msgstr "Autowzmocnienie" # Próbkowanie? #~ msgid "Rate" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Samples" #~ msgstr "Resampler" #, fuzzy #~ msgid "Duration" #~ msgstr "Kalibracja" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Płaska odpowiedź" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Wyjście" #, fuzzy #~ msgid "Import Impulse" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Płaska odpowiedź" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Płaska odpowiedź" #~ msgid "Default" #~ msgstr "Domyślne" #~ msgid "Cutoff" #~ msgstr "Odcięcie" # Wejście? #~ msgid "Feed" #~ msgstr "Feed" #~ msgid "Mute" #~ msgstr "Wycisz" #~ msgid "Detection" #~ msgstr "Wykrycie" #~ msgid "Wide" #~ msgstr "Szeroki" #~ msgid "Split" #~ msgstr "Podzielony" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Szczyt" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Poziom" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Szczyt Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Częstotliwość" #~ msgid "Laxity" #~ msgstr "Swoboda" #~ msgid "Detected" #~ msgstr "Wykryto" #, fuzzy #~ msgid "Reduction" #~ msgstr "Redukcja" #~ msgid "Frame Size" #~ msgstr "Rozmiar ramki" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtr" #~ msgid "Bands" #~ msgstr "Pasma" #, fuzzy #~ msgid "Split Channels" #~ msgstr "Kanały" #~ msgid "Flat Response" #~ msgstr "Płaska odpowiedź" #~ msgid "Calculate Frequencies" #~ msgstr "Przelicz częstotliwości" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Profile" #, fuzzy #~ msgid "High Pass" #~ msgstr "Filtr górnoprzepustowy" #~ msgid "High Shelf" #~ msgstr "Górna wartość" #, fuzzy #~ msgid "Low Pass" #~ msgstr "Dolnoprzepustowy" #~ msgid "Low Shelf" #~ msgstr "Dolna Wartość" #~ msgid "Resonance" #~ msgstr "Rezonans" #, fuzzy #~ msgid "All Pass" #~ msgstr "Dolnoprzepustowy" #, fuzzy #~ msgid "Band Type" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pasma" #~ msgid "Width" #~ msgstr "Szerokość" #~ msgid "Quality" #~ msgstr "Jakość" #, fuzzy #~ msgid "Ceil" #~ msgstr "Sufit" #, fuzzy #~ msgid "Description" #~ msgstr "Wykrycie" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Kompresor" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt dolnoprzepustowy" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt dolnoprzepustowy" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt dolnoprzepustowy" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt górnoprzepustowy" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt górnoprzepustowy" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt górnoprzepustowy" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt środkowoprzepustowy" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt środkowoprzepustowy" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt środkowoprzepustowy" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/okt Środkowozaporowy" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/okt środkowozaporowy" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/okt środkowozaporowy" #~ msgid "Inertia" #~ msgstr "Inercja" #~ msgid "Gate" #~ msgstr "Bramka" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Wyzwolenie" #~ msgid "Oversampling" #~ msgstr "Nadpróbkowanie" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Szeroki" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Szeroki" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Szerokość" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Szerokość" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Szerokość" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Programy" #~ msgid "Stereo Link" #~ msgstr "Powiązanie stereo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Gain Left" #~ msgstr "Lewy" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Prawy" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Rozmiar ramki" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Wyjście" #~ msgid "Ceiling" #~ msgstr "Sufit" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Modern" #~ msgstr "Tryb" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "Bands List" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 5" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 6" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 7" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 8" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band End" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Łańcuch boczny" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtr" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Filtr" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtr górnoprzepustowy" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Filtr górnoprzepustowy" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Split Mode" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split 1/2" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Split 2/3" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Split 3/4" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Sub Band" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Wzmocnienie" #~ msgid "Max Reduction" #~ msgstr "Redukcja" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Low Band" #~ msgstr "Dolnoprzepustowy" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Mid Band" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "High Band" #~ msgstr "Górnoprzepustowy" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #~ msgid "General" #~ msgstr "Ogólne" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Użyj domyślnych" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Urządzenie wejściowe" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Użyj domyślnych" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Server Information" #~ msgstr "Pogłos" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Nadpróbkowanie" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Maksymalne wzmocnienie" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Domyślne" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Output Presets" #~ msgstr "Profile: " #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Profile: " #, fuzzy #~ msgid "Input Devices" #~ msgstr "Urządzenie wejściowe" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Clients" #~ msgstr "Centy" #, fuzzy #~ msgid "Clients List" #~ msgstr "Centy" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Sygnały testowe" #~ msgid "State" #~ msgstr "Stan" #, fuzzy #~ msgid "Enabled" #~ msgstr "Włącz" #~ msgid "Channels" #~ msgstr "Kanały" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Kanały" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Sinus tabl." #~ msgid "White Noise" #~ msgstr "Biały szum" #, fuzzy #~ msgid "High Speed" #~ msgstr "Górna wartość" #, fuzzy #~ msgid "High Quality" #~ msgstr "Jakość" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Profile" #, fuzzy #~ msgid "Crisp" #~ msgstr "Czystość" #, fuzzy #~ msgid "Detector" #~ msgstr "Wykrycie" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresor" #~ msgid "Cents" #~ msgstr "Centy" #~ msgid "Semitones" #~ msgstr "Półtony" #~ msgid "Octaves" #~ msgstr "Oktawy" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Efekty wejściowe" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "Ogólne" #, fuzzy #~ msgid "Service" #~ msgstr "Urządzenie wejściowe" #~ msgid "Use Dark Theme" #~ msgstr "Używaj ciemnego motywu" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Widmo" #~ msgid "Points" #~ msgstr "Punkty" #~ msgid "Height" #~ msgstr "Wysokość" #, fuzzy #~ msgid "Line Width" #~ msgstr "Szerokość" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Minimum" #~ msgstr "Maksimum" #~ msgid "Maximum" #~ msgstr "Maksimum" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Profile: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Utwórz profil" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Profile: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Profile: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Importuj profile" #~ msgid "High Frequency Damping" #~ msgstr "Tłumienie wysokich tonów" #~ msgid "Room Size" #~ msgstr "Rozmiar pomieszczenia" #~ msgid "Small" #~ msgstr "Mały" #~ msgid "Medium" #~ msgstr "Średni" #~ msgid "Large" #~ msgstr "Duży" #~ msgid "Tunnel" #~ msgstr "Tunel" #~ msgid "Large/smooth" #~ msgstr "Duży/gładki" #~ msgid "Experimental" #~ msgstr "Experymentalne" #~ msgid "Diffusion" #~ msgstr "Rozproszenie" #~ msgid "Pre Delay" #~ msgstr "Przedopóźnienie" #~ msgid "Decay Time" #~ msgstr "Czas zaniku" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Ilość" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Poziom docelowy" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Ilość" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Poziom" #~ msgid "Bass Cut" #~ msgstr "Odcięcie basu" #~ msgid "Treble Cut" #~ msgstr "Odcięcie sopranu" #~ msgid "Ambience" #~ msgstr "Otoczenie" #~ msgid "Empty Walls" #~ msgstr "Gołe ściany" #~ msgid "Room" #~ msgstr "Pokój" #~ msgid "Large Empty Hall" #~ msgstr "Duża pusta sala" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Duża pełna sala" #, fuzzy #~ msgid "Import Model" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Models" #~ msgstr "Tryb" #, fuzzy #~ msgid "Active Model" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Overview" #~ msgstr "Urządzenie wejściowe" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Balans" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balans" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Poziom" #, fuzzy #~ msgid "Stereo Matrix" #~ msgstr "Powiązanie stereo" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Wzmacniacz stereo" #~ msgid "Invert Phase" #~ msgstr "Odwróć fazę" #, fuzzy #~ msgid "Side Level" #~ msgstr "Poziom" #, fuzzy #~ msgid "Side Balance" #~ msgstr "Balans" #, fuzzy #~ msgid "Middle Level" #~ msgstr "Środek" #, fuzzy #~ msgid "Middle Panorama" #~ msgstr "Panorama" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Delay L/R" #~ msgstr "Opóźnienie" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Opóźnienie" #, fuzzy #~ msgid "Stereo Base" #~ msgstr "Wzmacniacz stereo" #, fuzzy #~ msgid "Stereo Phase" #~ msgstr "Wzmacniacz stereo" #, fuzzy #~ msgid "Creating" #~ msgstr "Ustawienia" #, fuzzy #~ msgid "Unknown" #~ msgstr "nieznany" #, fuzzy #~ msgid "channels" #~ msgstr "Kanały" #, fuzzy #~ msgid "Output Presets: " #~ msgstr "Presety wyjściowe: " #, fuzzy #~ msgid "Input Presets: " #~ msgstr "Presety wejściowe: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efekty dźwiękowe dla aplikacji PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Wyłącz EasyEffects. Przydatne przy pracy w trybie usługi." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Załaduj profil. Przykład: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Resetuj EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Schowaj okno." #~ msgid "Show available presets." #~ msgstr "Pokaż dostępne profile." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Płaska odpowiedź" #~ msgid "Import Impulse File" #~ msgstr "Importuj plik Impulse" #~ msgid "Open" #~ msgstr "Otwórz" #~ msgid "Cancel" #~ msgstr "Anuluj" #, fuzzy #~ msgid "Impulse Response" #~ msgstr "Płaska odpowiedź" #~ msgid "Load Impulse" #~ msgstr "Wczytaj Impuls" #~ msgid "Remove Impulse" #~ msgstr "Usuń Impuls" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Płaska odpowiedź" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Nie można załadować pliku Impulse" #~ msgid "Recorders" #~ msgstr "Rejestratory" #~ msgid "Players" #~ msgstr "Odtwarzacze" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "nieskończoność" #~ msgid "Import APO Preset File" #~ msgstr "Importuj plik profilu APO" #~ msgid "APO Presets" #~ msgstr "Profile APO" #, fuzzy #~ msgid "Output Device" #~ msgstr "Wzmocnienie wej." #~ msgid "Add" #~ msgstr "Dodaj" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Modele RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Wzmacniacz basów" #~ msgid "Bass Loudness" #~ msgstr "Głośność basu" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Krystalizator" #~ msgid "Deesser" #~ msgstr "De-Esser" #~ msgid "Delay" #~ msgstr "Opóźnienie" #~ msgid "Echo Canceller" #~ msgstr "Usuwanie echa" #~ msgid "Equalizer" #~ msgstr "Korektor" #~ msgid "Exciter" #~ msgstr "Exciter" #~ msgid "Filter" #~ msgstr "Filtr" #~ msgid "Limiter" #~ msgstr "Limiter" #~ msgid "Maximizer" #~ msgstr "Maximizer" #, fuzzy #~ msgid "Multiband Compressor" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Multiband Gate" #~ msgstr "Kompresor" #~ msgid "Pitch" #~ msgstr "Wysokość" #~ msgid "Reverberation" #~ msgstr "Pogłos" #~ msgid "Noise Reduction" #~ msgstr "Redukcja szumu" #~ msgid "Stereo Tools" #~ msgstr "Narzędzia stereo" #~ msgid "Average" #~ msgstr "Średnia" #~ msgid "Failed" #~ msgstr "Niepowodzenie" #, fuzzy #~ msgid "Use Default" #~ msgstr "Użyj domyślnych" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Kompresor" #~ msgid "Import Presets" #~ msgstr "Importuj profile" #~ msgid "Start Service at Login" #~ msgstr "Uruchom usługę przy logowaniu" #, fuzzy #~ msgid "Activate" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibracja mikrofonu" #~ msgid "Plugins" #~ msgstr "Wtyczki" #, fuzzy #~ msgid "enabled" #~ msgstr "Włącz" #, fuzzy #~ msgid "disabled" #~ msgstr "Włącz" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Oczekiwanie" #~ msgid "Faster" #~ msgstr "Szybszy" #~ msgid "Preserve Formant" #~ msgstr "Zachowaj formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Channel" #~ msgstr "Kanały" #, fuzzy #~ msgid "Value" #~ msgstr "Podłoga" #~ msgid "Output Effects" #~ msgstr "Efekty wyjściowe" #~ msgid "Settings" #~ msgstr "Ustawienia" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Ustawienia" #, fuzzy #~ msgid "Documentation" #~ msgstr "Kalibracja" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Sygnały testowe" #, fuzzy #~ msgid "Signal" #~ msgstr "Sygnały testowe" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Widmo" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Widmo" #~ msgid "Spectrum Color" #~ msgstr "Kolor widma" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Wet" #~ msgstr "Wysokość" #~ msgid "Dry" #~ msgstr "Suchy" #, fuzzy #~ msgid "S/C Level" #~ msgstr "Poziom" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Dolnoprzepustowy" #~ msgid "Input Limiter" #~ msgstr "Limiter wejścia" #~ msgid "Calibration" #~ msgstr "Kalibracja" #~ msgid "Limit" #~ msgstr "Limit" #~ msgid "ASC" #~ msgstr "ASC" # Tłumienie? #~ msgid "Attenuation" #~ msgstr "Tłumienie" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Efekty dźwiękowe dla programu Pulseaudio" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Efekty dźwiękowe dla programu Pulseaudio" #~ msgid "Calibration Microphone" #~ msgstr "Kalibracja mikrofonu" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Prostokąt" #~ msgid "Saw" #~ msgstr "Piła" #~ msgid "Triangle" #~ msgstr "Trójkąt" #~ msgid "Silence" #~ msgstr "Cisza" #~ msgid "Pink Noise" #~ msgstr "Różowy szum" # tyknięcia, kliknięcia #~ msgid "Ticks" #~ msgstr "Działki" #~ msgid "Gaussian Noise" #~ msgstr "Szum Gaussa" #~ msgid "Red Noise" #~ msgstr "Szum czerwony" #~ msgid "Blue Noise" #~ msgstr "Szum niebieski" #~ msgid "Violet Noise" #~ msgstr " Szum fioletowy" #~ msgid "Volume" #~ msgstr "Głośność" #~ msgid "Window" #~ msgstr "Okno" #~ msgid "Measure Noise" #~ msgstr "Mierz szum" #~ msgid "Subtract Noise" #~ msgstr "Odejmij szum" #~ msgid "Extended Filter" #~ msgstr "Rozszerzony Filtr" #~ msgid "Low" #~ msgstr "Nisko" #~ msgid "Moderate" #~ msgstr "Średni" #~ msgid "High" #~ msgstr "Wysoki" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Poziom tłumienia" #~ msgid "Delay Agnostic" #~ msgstr "Niezależny od opóźnienia" #~ msgid "Very High" #~ msgstr "Bardzo wysokie" #~ msgid "Noise Suppressor" #~ msgstr "Tłumienie szumu" #~ msgid "Adaptive Digital" #~ msgstr "Cyfrowy adaptacyjny" #~ msgid "Fixed Digital" #~ msgstr "Cyfrowy ustalony" #~ msgid "Gain Controller" #~ msgstr "Kontroler wzmocnienia" #~ msgid "Detection Likelihood" #~ msgstr "Szansa wykrycia" #~ msgid "Very Low" #~ msgstr "Bardzo niskie" #~ msgid "Voice Detector" #~ msgstr "Wykrywanie głosu" #~ msgid "Use Custom Color" #~ msgstr "Użyj własnego koloru" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Domyślne" #, fuzzy #~ msgid "Default Source" #~ msgstr "Domyślne" #, fuzzy #~ msgid "Configuration" #~ msgstr "Kalibracja" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Przelicz częstotliwości" #, fuzzy #~ msgid "Advanced" #~ msgstr "Ustawienia zaawansowane" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Profile" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Wykrycie" #~ msgid "Muted" #~ msgstr "Wyciszony" #~ msgid "Distant Headphones" #~ msgstr "Odległe słuchawki" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Channel Mapping" #~ msgstr "Kanały" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Resampler" #~ msgid "Buffer" #~ msgstr "Bufor" #, fuzzy #~ msgid "Block Size" #~ msgstr "Rozmiar pomieszczenia" #~ msgid "Resampler" #~ msgstr "Resampler" #~ msgid "paused" #~ msgstr "zatrzymany" #~ msgid "playing" #~ msgstr "gra" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Redukcja wzmocnienia" easyeffects-7.1.7/po/news/pt.po000066400000000000000000001237531463533416400164300ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 00:15+0000\n" "PO-Revision-Date: 2024-04-12 23:01+0000\n" "Last-Translator: ssantos \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.5-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Audio Effects para aplicações PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:8 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects é uma ferramenta avançada de manipulação de áudio. Algumas de " "suas funcionalidades são: equalizador, limitador, compressor e uma " "ferramenta de reverberação. Para complementar também existe um analisador de " "expectro integrado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "O Easy Effects é o sucessor do PulseEffects. O Easy Effects suporta apenas o " "servidor de áudio PipeWire. Os usuários do PulseAudio devem usar o " "PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Devido ao fato que o Easy Effects usa por padrão o servidor de som Pipewire, " "a maioria das aplicações - senão todas - irão funcionar. Todas as aplicações " "compatíveis são exibidas na tela principal, onde podem ser habilitadas " "individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Além de manipular a saída de som, Easy Effects também é capaz de aplicar " "efeitos em um dispositivo de entrada, como um microfone, sendo útil - por " "exemplo - na gravação de áudio e também funciona bem durante chamadas de voz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:14 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Easy Effects irá convenientemente carregar a configuração da última sessão " "quando iniciado. Também é possível salvar toda a configuração atual como um " "perfil." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:23 msgid "The main page showing two audio output apps" msgstr "A página inicial mostrando duas aplicações reproduzindo audio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:27 msgid "The bass enhancer page showing audio controls" msgstr "A página do aprimoramento de graves a mostrar controles de áudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:31 msgid "The convolver page showing audio controls" msgstr "A página de convolução a mostrar os controles de áudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:39 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:55 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:66 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:113 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:126 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:136 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:175 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:225 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:40 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "A implementação do Multiband Gate foi migrada do CALF para os módulo de " "extensão do Linux Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:41 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "A compatibilidade do código do carregamento automático da predefinição dos " "dispositivos bluez5 foi melhorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "Wet/dry controls were added for some plugins" msgstr "" "Os controles molhado e seco foram adicionados para alguns módulo de extensão" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:43 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "A interface de efeitos não é mais carregada quando o módulo de extensão lv2 " "relacionado não está instalado no sistema operativo. Em seu lugar é exibida " "uma mensagem do estado atual para o utilizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:44 msgid "The documentation has been updated" msgstr "A documentação foi atualizada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:45 msgid "Improved debug messages" msgstr "As mensagens de depuração foram aprimoradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Updated translations" msgstr "Traduções atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:47 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:57 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:104 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:297 msgid "Bug fixes:" msgstr "Correções de falhas ou problemas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:48 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:74 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "Other notes:" msgstr "Outras observações:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:56 msgid "Improved translations" msgstr "As traduções foram atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Foi corrigido um erro onde o Easy Effects poderia travar ao fechar a sua " "janela enquanto os efeitos estavam sendo aplicados." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:67 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "O estado de ignorar pode ser gravado no ficheiro das predefinições. As " "razões pelas quais isto foi feito podem ser verificado na edição 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:68 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "A compatibilidade do código do carregamento automático da predefinição para " "os dispositivos USB foi melhorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Uma caixa de diálogo é exibida ao utilizador quando uma predefinição falha " "ao carregar ou um ficheiro de predefinição ou de impulso quando não é " "importado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "The SideChain Gate plugin from `Linux Studio Plugins` is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "O Easy Effects não deve mais travar quando o idioma do utilizador não " "estiver configurado corretamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Uma solução alternativa foi implementada no nosso ícone para lidar com a " "falta de suporte ao formato SVG adequado no QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Quando os efeitos são desativados para uma aplicação, agora definimos os " "seus metadados de destino como nulos. Este recurso permitirá que o gestor da " "sessão de mídia (wireplumber) mova adequadamente o fluxo para um novo " "dispositivo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Uma nova opção de configuração foi adicionada. Agora permite que o Easy " "Effects ignore os fluxos cujo objetivo é monitorar dispositivos coletores. " "Este recurso ajudará a corrigir alguns problemas que os nossos utilizadores " "estavam enfrentando ao utilizar o OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "The code that shows the stream sample format has been improved" msgstr "O código que exibe o formato de amostra do fluxo foi melhorado" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "A biblioteca RNNoise agora é opcional. Este recurso deve ajudar os " "mantenedores dos pacotes a construir um pacote para o Debian. Consulte a " "edição 1000 para obter mais informações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Os nossos registos de eventos agora exibem a linha do código fonte onde as " "mensagens estão sendo impressas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "A caixa de seleção \"Ativar os Efeitos\" na janela não estava sendo " "atualizada quando programas de terceiros como o Pavucontrol moveram o fluxo " "para longe dos nossos dispositivos virtuais. Este recurso deve ter sido " "corrigido nesta versão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:89 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Foi corrigido um travamento que poderia ocorrer quando o histórico máximo do " "ganho automático fosse alterado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:90 msgid "Avoid crashes when pw-mididump is running" msgstr "Evite travamentos quando o pw-mididump estiver em execução" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The interface of the pitch plugin was improved" msgstr "A interface do plugin de tom foi melhorada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "O ícone da nossa aplicação é agora compatível com ambientes que usam QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:100 msgid "" "Our blocklist code will use the `application.id` tag if the stream sets it" msgstr "" "Nosso código de lista de bloqueio usará a tag `application.id` se o fluxo a " "definir" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:101 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our `Players/Recorders` tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:102 msgid "" "When no application is available for display in the `Players/Recorders` a " "message will be shown to the user" msgstr "" "Quando nenhuma aplicação estiver disponível para exibição em `Reprodutores/" "Gravadores` uma mensagem será mostrada ao utilizador" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:103 msgid "Many translation updates" msgstr "Muitas atualizações de tradução" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:105 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Foi corrigido um erro onde o Easy Effeects travava quando o número de pontos " "exibidos no espectro era alterado enquanto o Pipeline estava ativo e o " "Widget do espectro estava visível" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "O valor de latência do pipeline exibido em nossa janela pode estar errado em " "algumas situações. Isso foi corrigido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:114 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Há uma nova configuração que permite ao utilizador selecionar um tempo " "limite de inatividade para o Pipeline. Quando nenhum cliente reproduzir ou " "gravar nos nossos dispositivos, os filtros serão desvinculados após o tempo " "limite ser atingido. Esta configuração é feita para garantir que não " "desperdicemos o silêncio do processamento da energia do processador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:115 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "O módulo de extensão do ganho automático agora permite que o utilizador " "selecione quais dos três tipos de sonoridade são utilizados para calcular a " "média geométrica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:116 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use `libebur128` histogram mode anymore. This should avoid the cases where " "the `Integrated` loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "O ícone do EasyEffects foi atualizado de uma forma que deve torná-lo visível " "nos desktops QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "A opção de linha de comando que retorna o estado de desvio global está " "funcionando novamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:127 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "O filtro de alimentação cruzada deve lidar melhor com os interruptores de " "latência dinâmica PipeWire's. Os saltos no nível de volume não devem mais " "acontecer nestas situações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Corrigido um bug que impedia que os microfones mono funcionassem " "corretamente com o EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:137 msgid "Support for the next PipeWire release `0.3.44`" msgstr "Suporte à próxima versão do PipeWire `0.3.44`" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "O filtro de ganho automático deve lidar melhor com as opções de latência " "dinâmica do PipeWire. Saltos no nível de volume não devem mais acontecer " "nessas situações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Adicionamos uma opção que permite os estados de volume e mudo de nossos " "aparelhos virtuais serem reiniciados quando EasyEffects inicia. Isto deve " "ajudar nos casos em que nossos aparelhos são silenciados pelo servidor de " "áudio por razões desconhecidas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "Better support for computer suspending." msgstr "Melhor suporte para suspensão do computador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Corrigido um bug em que tentar criar um perfil de carregamento automático " "sem ter predefinições causava o travamento da aplicação." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Fixed a bug where setting a equalizer band `quality` to `zero` would lead to " "an application crash." msgstr "" "Corrigido um bug em que definir uma banda de equalizador `qualidade` para " "`zero` levaria a uma falha da aplicação." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita é usado para criar algumas partes de nossa janela e para lidar " "com a alternância entre temas claros e escuros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:160 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "O menu de configurações foi redesenhado usando widgets LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:161 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "O recurso de importação da predefinição do equalizador APO foi aprimorado " "para aplicar não apenas o filtro Bell, mas também outros compatíveis. No " "momento, apenas o filtro Bandpass não está disponível no módulo de extensão " "LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:162 msgid "" "The `Reset All Settings` function in our menu should work in Flatpak now." msgstr "" "A função `Redefinir todas as configurações` em nosso menu deve funcionar no " "Flatpak agora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 msgid "" "We have a new option that allows the user to disable our menus `autohide`. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Temos uma nova opção que permite ao utilizador desativar nossos menus `auto-" "ocultar`. Isso pode ajudar a solucionar alguns bugs que os menus popover têm " "atualmente no gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Análise mais robusta para importar predefinições de APO salvas com vírgula " "como separador de milhares na banda de frequência central." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "A biblioteca fmt é uma nova dependência, pelo menos enquanto os compiladores " "c++ não implementarem os seus recursos. A expectativa é que isso aconteça " "nos próximos anos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM e GLIBMM não são mais uma dependência. Agora usamos gtk4 diretamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:176 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Agora é possível combinar respostas de impulso na interface Convolução. Um " "novo ficheiro de impulso é gerado e deve estar visível na lista de impulsos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 msgid "" "Improved `x axis` drawings in our plots. Now the number of labels is " "adjusted dynamically depending on our window width." msgstr "" "Aprimorados os desenhos de `eixo x` aprimorados em nossas plotagens. Agora a " "quantidade de rótulos é ajustada dinamicamente dependendo da largura da " "nossa janela." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "A documentação foi atualizada refletindo os novos recursos do EasyEffects. " "Referências antigas sobre PulseEffects foram removidas. O botão de " "documentação foi adicionado na secção de menu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Quando um botão giratório é preenchido com um valor fora do intervalo, agora " "ele é atualizado com o valor mais baixo/mais alto em vez de redefinir para o " "anterior." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "A janela da aplicação agora lembra-se do estado maximizado e restaura-o no " "próximo evento de abertura." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 msgid "The `tbb` library is a new dependency" msgstr "A biblioteca `tbb` é uma nova dependência" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Os plugins limitador e compressor multibanda agora podem usar uma cadeia " "lateral externa opcional." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "O plugin Ganho Automático agora permite que o utilizador selecione qual " "volume que é utilizado como referência para a correção do volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "O recurso de importação do módulo de extensão do APO do equalizador agora " "analisa o parâmetro da \"Pré Amplificação\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "O Volume Cúbico opcional pode ser ativado em Configurações Gerais." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "O módulo de extensão Spectrum deveria entrar no passthrough sempre que não " "estivesse visível, mas isto acontecia apenas quando a janela era fechada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "Improved support for Assistive Technology." msgstr "Suporte aprimorado para Tecnologia Assistiva." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "As sondas utilizadas em alguns filtros como o Compressor e o Limitador não " "estavam sendo religadas após a alteração da ordem dos módulo de extensão do " "Pipeline. Agora deve estar funcionando." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Os fluxos do monitor do PipeWire agora são excluídos e removidos da lista de " "aplicações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" "Esperamos que os travamentos relatados no problema 1172 estejam corrigidos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "Prevented a case in which Spectrum was crashing." msgstr "Impediu um caso em que o Spectrum estava travando." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "O Pavucontrol não é mais adicionado à lista de aplicações de entrada em " "sistemas com localização diferente do inglês." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "A compatibilidade foi aprimorada com WirePlumber. Este recurso é necessário " "para executar em sistemas operativos que decidiram utilizá-lo em vez do " "gestor da sessão PipeWire integrado. Obtenha mais informações, consulte a " "edição 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:226 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "Ao tentar adicionar um perfil de carregamento automático para um dispositivo " "que já está na lista, a sua predefinição de destino será atualizada. Desta " "forma podemos alterar a predefinição do perfil sem ter que removê-la e " "recriá-la novamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "A implementação da predefinição do suporte ao realizar o carregamento " "automático foi projetada novamente. Agora deve funcionar em mais " "computadores. Para obter mais informações consulte a edição 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Se o Limitador ou o Maximizador estiverem definidos na última posição da " "pilha do módulo de extensão, novos módulos de extensão serão adicionados na " "penúltima posição para evitar danos ao computador em níveis de saída " "eventualmente altos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "Ao remover uma aplicação da lista de bloqueio o seu estado anterior de " "ativado é restaurado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Às vezes, ao remover os modelos importados do módulo de extensão da redução " "dos ruídos, o modelo utilizado atualmente não era atualizado corretamente. " "Agora este recurso deve ter sido corrigido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Ao editar ficheiros de predefinições num editor externo, as entradas " "duplicadas não serão exibidas no menu das predefinições." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Agora a lista de bloqueio está definida corretamente ao alternar entre as " "predefinições." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Agora o estado do botão de Ignorar Globalmente é atualizado corretamente ao " "alterar a pilha do módulo de extensão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "Os ícones ausentes no sistema operativo não devem ser exibidos na interface " "de informações do aplicação, se um ícone de aplicação não puder ser exibido " "mesmo se tiver certeza de que está instalado corretamente, registe um novo " "tópico de problema no Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Alguns ícones que não eram exibidos no tema dos ícones do ambiente de " "trabalho Plasma com Breeze agora devem ser exibidos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "Updated Chinese translation." msgstr "A tradução chinesa foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Updated Italian translation." msgstr "A tradução italiana foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 msgid "Added support for the compressor parameter `Boost Amount`" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "O módulo de extensão do compressor da multibanda agora utiliza o módulo de " "extensão do compressor multibanda estéreo do Linux Studio Plugins ao invés " "do Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "O módulo de extensão do limitador agora utiliza o módulo de extensão do " "limitador estéreo do Linux Studio Plugins ao invés do Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:249 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "Os filtros LV2 agora são gerados no gráfico do PipeWire somente quando são " "carregados pela primeira vez. Depois de carregados, eles permanecem " "conectados até o desligamento do Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The echo canceller sampling rate is now properly set." msgstr "" "A taxa de amostragem do cancelador do eco agora está definida corretamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "O parâmetro limite do módulo de extensão do Sons Sibilantes Desessor " "(DeEsser) agora é gravado no ficheiro da predefinição." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "A divisão de banda foi aprimorada para o cristalizador com novos valores de " "intensidade padrão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Dependendo dos valores do ganho da entrada ou do ganho da saída, as barras " "de nível correspondentes não puderam ser alinhadas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "When adding more equalizer bands they are set to `Bell` instead of `Off`." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "O carregamento das predefinições do equalizador do APO agora funcionam " "corretamente em idiomas diferentes do C." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "A gestão da ligação foi aprimorada entre os nós de filtro da porta do " "PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "A amplificação do sinal do módulo de extensão do cristalizador era muito " "alto antes. Agora deve estar dentro dos níveis razoáveis." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Foi melhorado o resampler utilizado nos módulo de extensão que exigem um, " "como por exemplo, o módulo de extensão do RNNoise" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:269 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "Agora a opção de definir várias predefinições do carregamento automático " "deve funcionar" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "As janelas transitórias agora estão configuradas corretamente para algumas " "caixas de diálogo dos módulos de extensão" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:271 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Foi corrigido um erro que poderia fazer com que o módulo de extensão Pitch " "não fosse inicializado corretamente" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "O aviso da saturação não deve mais substituir os widgets vizinhos" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:274 msgid "Fixed the locale in a few widgets" msgstr "Foi corrigida o idioma em alguns Widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 msgid "Fixed wrong alignment in a few widgets" msgstr "Foi corrigido o alinhamento incorreto em alguns Widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "O módulo de extensão Loudness é utilizado novamente pelos motivos descritos " "na edição 820. Isto significa que é uma dependência opcional novamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Foi corrigida uma falha de segmentação que ocorria quando as dependências " "opcionais não eram instaladas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 msgid "Improved equalizer interface." msgstr "A interface do equalizador foi aprimorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Agora é utilizado um compressor LSP da cadeia lateral que permite ao " "utilizador selecionar uma fonte externa como entrada da cadeia lateral." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 msgid "We now support the LSP compressor `Boosting` mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:296 msgid "" "When `split-channels` is enabled in the equalizer the imported APO preset " "will be applied only to the channel being visualized in the window. This " "will allow to import different presets for each channel instead of just " "settings the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Foi corrigidas algumas falhas de segmentação que poderiam ocorrer ao criar " "um perfil do carregamento automático da predefinição ou de remover as " "predefinições" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "Este é um dos maiores lançamentos que já fizemos, a quantidade de alterações " "é tão grande que fica difícil registar de tudo aqui." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "A seguir estão apenas os registos mais importantes. Os interessados na " "jornada que nos trouxe até aqui podem dar uma olhada na edição 904 e na " "edição 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "The application and its repository have been renamed from PulseEffects to " "`EasyEffects`" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "gtkmm3 was replaced by gtkmm4" msgstr "O gtkmm3 foi substituído por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "O Gstreamer foi substituído por filtros nativos do PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:311 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "Muitos recursos foram reimplementados do zero. O carregamento automático da " "predefinição é um exemplo. Outra alteração notável será vista no menu da " "seleção do módulo de extensão. Agora o utilizador pode escolher exibir na " "janela apenas os módulos de extensão que quiser utilizar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:312 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "O Boost não é mais uma dependência. O preço pago por isto foi uma pequena " "alteração nas nossas estruturas das predefinições. Com um pouco de paciência " "é possível editar as predefinições do PulseEffects num editor de texto e " "fazê-los funcionar no EasyEffects. Esperamos que alguém crie um programa " "(script) para este recurso." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Novas bibliotecas estão sendo utilizadas e algumas das bibliotecas que antes " "eram opcionais agora são obrigatórias" easyeffects-7.1.7/po/news/pt_BR.po000066400000000000000000003126621463533416400170120ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # Wellington Wallace Miguel Melo , 2017. # msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-01-30 16:12+0000\n" "Last-Translator: marcelocripe \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.4-dev\n" "X-Poedit-SourceCharset: UTF-8\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Equalizador de Áudio Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "" "O ‘Easy Effects’ é um aplicativo GTK gratuito e de código aberto que fornece " "uma grande variedade de efeitos sonoros e filtros para serem aplicados nos " "fluxos de áudio de entrada e saída que utiliza o servidor de áudio PipeWire, " "possui as funções de equalizador, compressor e efeitos de áudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "O Easy Effects é uma ferramenta avançada de manipulação de áudio que inclui " "as funções de equalizador, limitador, compressor, reverberação e um " "analisador de espectro do som." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "O Easy Effects é o sucessor do PulseEffects. O Easy Effects é compatível " "apenas com o PipeWire como servidor de áudio. Os usuários do PulseAudio " "devem utilizar o PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Como o Easy Effects utiliza o servidor de áudio PipeWire, certamente " "funcionará com a maioria ou com quase todos os aplicativos que você utiliza " "no seu computador. Todos os aplicativos compatíveis são apresentados na " "janela principal permitindo que cada um seja ativado individualmente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Além de manipular a saída de som, o Easy Effects é capaz de aplicar efeitos " "a um dispositivo de entrada, como por exemplo, um microfone. Esta " "funcionalidade é útil para a gravação de áudio, mas também funciona bem " "durante conversas de voz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Quando o Easy Effects for iniciado memorizará convenientemente as " "configurações utilizadas na última sessão. Também é possível salvar todas as " "configurações atuais como perfis do usuário." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "A página principal exibindo dois aplicativos de saída de áudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "A página do aprimoramento de graves exibindo os controles de áudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "A página da convolução exibindo os controles de áudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Correções de falhas ou problemas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Outras observações:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Traduções atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Traduções atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #, fuzzy msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "Foi corrigida uma regressão introduzida na versão 7.1.2" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "O módulo de extensão DeepFilterNet agora pode ser adicionado ao arquivo das " "predefinições" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "O espectro conta com uma nova opção que permite desativar a escala vertical " "dinâmica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "A compatibilidade foi aprimorada com as versões LSP mais recentes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" "Foi corrigido um desenho incorreto das características do arquivo de " "resposta ao aplicar o impulso" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Foi corrigido um pequeno erro que impedia que o limite de atividade da voz " "de redução dos ruídos fossem inicializados corretamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "Foi adicionado um novo controle ao módulo de extensão da redução dos ruídos " "que permite desativar a detecção da voz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "O filtro de efeito foi aprimorado com novos parâmetros desde que foi portado " "do programa Calf Studio para os módulos de extensão do Linux Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "A redução dos ruídos foi melhorada por meio do RNNoise com a adição do " "lançamento dos controles de detecção da atividade de voz do VAD Threshold." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "A redução dos ruídos por meio do RNNoise agora pode misturar os sinais " "originais e sem os ruídos para evitar que a saída soe muito \"seca\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Esta versão destina-se a funcionar com as versões iguais ou superiores a " "\"1.2.10\" dos módulos de extensão do Linux Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" "O EasyEffects agora também pode ser construído com a biblioteca libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" "O expansor dos módulos de extensão do Linux Studio pode ser utilizado no " "Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" "As bandas do equalizador agora possuem um controle de ganho adicional que " "permite uma entrada mais eficiente dos valores difíceis de serem definidos " "na escala. Para obter mais informações consulte a edição 1383." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" "Foi adicionada a capacidade de selecionar e carregar vários arquivos das " "predefinições nas caixas de diálogo da abertura, bem como as respostas do " "impulso da convolução e dos modelos do RNNoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "Foi corrigido o botão Solo nas configurações da banda do equalizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "As pastas com as predefinições do Easy Effects que estavam na pasta /etc " "foram descontinuadas e as predefinições que estão armazenadas nesta pasta " "não serão mais carregadas. No momento, apenas as predefinições que estão " "armazenadas na pasta ~/.config/easyeffects são carregados automaticamente no " "menu Predefinições. No futuro implementaremos um novo sistema para instalar, " "gerenciar e permitir importar as predefinições da comunidade." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" "Uma seção de \"Recursos Experimentais\" foi adicionada à nossa janela de " "preferências." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" "A janela nativa dos módulos de extensão do LSP pode ser utilizada. Esta " "opção é um recurso experimental destinado apenas a usuários avançados. " "Portanto, saiba que podem ocorrer alguns erros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" "O valores fracionários dos semitons agora podem ser utilizados no efeito " "Modificador de Tom." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "A lista suspensa dos dispositivos de entrada e/ou saída na aba ou guia " "PipeWire é atualizada quando o dispositivo padrão do sistema é alterado e " "utiliza por padrão a condição de ativado. Esta opção corrige o problema da " "versão 1989." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" "Um novo módulo de extensão Level Meter baseado no libebur128 foi adicionado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" "O módulo de extensão Pitch agora utiliza a biblioteca SoundTouch em vez do " "Rubberband. Esperançosamente, algumas das falhas misteriosas que estavam " "acontecendo com a biblioteca do Rubber Band não acontecerão mais." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" "A compatibilidade foi aprimorada com as versões recentes do PipeWire. " "Obtenha mais informações na página" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" "Os filtros do equalizador ativo não são mais configurados para o tipo do " "Bell quando o número de bandas for alterado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" "A biblioteca Rabber Band não é mais uma dependência desde que foi " "substituído pela biblioteca do SoundTouch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "O menu das predefinições agora pede a confirmação antes de salvar ou excluir " "um arquivo contendo uma predefinição." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "A redefinição do módulo de extensão não deve mais tornar os seus controles " "ineficazes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "O Speex não está mais listado incorretamente como sendo uma dependência da " "compilação e foi atualizado para o SpeexDSP que ainda é uma dependência da " "compilação." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "O RNNoise não é mais uma dependência automática. Agora é obrigatório por " "padrão, se não estiver disponível, deve ser explicitamente desativado com o " "parâmetro -Denable-rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "Um pequeno erro foi cometido na última versão. Nós estamos criando uma nova " "versão para garantir que as pessoas tenham a versão da ramificação correta " "no pacote" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "O recurso \"classificar bandas\" do equalizador agora permite ordenar as " "bandas no GSettings para que o resultado possa ser salvo nas predefinições." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "O desempenho foi aprimorado ao redefinir as chaves." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Foi corrigida a seleção da predefinição \"Grande Salão Vazio\" no efeito da " "reverberação." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Foi corrigido alguns usos indevidos da API do PipeWire que podem corrigir " "alguns erros aleatórios que alguns usuários estão enfrentando." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Como nós estamos removendo o código obsoleto do GTK 4.10, a versão mínima do " "GTK foi aumentada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "A taxa de atualização do módulo de extensão do espectro foi melhorada. As " "taxas de amostragem diferentes devem levar as frequências de atualização " "visualmente semelhantes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "O intervalo de atualização utilizado pelos medidores do nível e o espectro " "podem ser personalizados pelo usuário." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "O valor do controle deslizante do ganho da banda do equalizador pode ser " "atualizado em ajustes maiores. O controle refinado ainda é possível por " "meio das teclas para cima ou para baixo do teclado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Pequenas melhorias no cancelador de eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "As sondas do cancelador do eco não estavam sendo vinculadas à placa de som " "após a mudança para várias instâncias dos filtros. Esta situação deve ser " "corrigida nesta versão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Agora é possível adicionar mais de uma instância do filtro ao Pipeline dos " "efeitos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Um novo módulo de extensão Speech Processor baseado na biblioteca do Speex " "foi adicionado. Além de fornecer a supressão dos ruídos, também pode " "detectar a atividade da voz. É uma boa alternativa para os casos em que a " "biblioteca do RNNoise não funciona bem." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" "A compatibilidade foi aprimorada com módulo de extensão do Linux Studio " "1.2.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" "As predefinições do GraphicEQ podem ser importadas para aplicar efeitos no " "equalizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "O nome do aplicativo foi alterado para Easy Effects para aderir às " "convenções de nomenclatura das diretrizes de interface humana do GNOME." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "A documentação foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "O carregamento automático das predefinições foi aprimorado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" "O limite de silêncio do ganho automático agora pode ser configurado pelo " "usuário." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "O controles secos e molhados foram adicionados ao efeito das Ferramentas " "Estéreo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "O cancelador do eco agora possui um controle de supressão de ruído residual " "também baseado na biblioteca Speex." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "Quando o cursor ou a seta passava em cima de um gráfico, o valor errado para " "a coordenada do eixo X estava sendo exibido. Esta regressão foi corrigida." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "Devido ao novo recurso de várias instâncias, o formato predefinido foi " "modificado, mas o antigo ainda é compatível para ser carregado. De qualquer " "forma, leve em consideração que salvar as predefinições atuais sempre o " "gravará no novo formato." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "A implementação do Multiband Gate foi migrada do CALF para os módulo de " "extensão do Linux Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "A compatibilidade do código do carregamento automático da predefinição dos " "dispositivos bluez5 foi melhorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" "Os controles molhado e seco foram adicionados para alguns módulo de extensão" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "A interface de efeitos não é mais carregada quando o módulo de extensão lv2 " "relacionado não está instalado no sistema operacional. Em seu lugar é " "exibida uma mensagem do estado atual para o usuário." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "A documentação foi atualizada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "As mensagens de depuração foram aprimoradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "As traduções foram atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Foi corrigido um erro onde o Easy Effects poderia travar ao fechar a sua " "janela enquanto os efeitos estavam sendo aplicados." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "O estado de ignorar pode ser salvo no arquivo das predefinições. As razões " "pelas quais isto foi feito podem ser verificado na edição 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "A compatibilidade do código do carregamento automático da predefinição para " "os dispositivos USB foi melhorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Uma caixa de diálogo é exibida ao usuário quando uma predefinição falha ao " "carregar ou um arquivo de predefinição ou de impulso quando não é importado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "O módulo de extensão do SideChain Gate do Linux Studio Plugins agora é " "utilizado em vez do Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "O Easy Effects não deve mais travar quando o idioma do usuário não estiver " "configurado corretamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Uma solução alternativa foi implementada em nosso ícone para lidar com a " "falta de suporte ao formato SVG adequado no QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Quando os efeitos são desativados para um aplicativo, agora definimos seus " "metadados de destino como nulos. Este recurso permitirá que o gerenciador da " "sessão de mídia (wireplumber) mova adequadamente o fluxo para um novo " "dispositivo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Uma nova opção de configuração foi adicionada. Agora permite que o Easy " "Effects ignore os fluxos cujo objetivo é monitorar dispositivos coletores. " "Este recurso ajudará a corrigir alguns problemas que nossos usuários estavam " "enfrentando ao utilizar o OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "O código que exibe o formato de amostra do fluxo foi melhorado" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "A biblioteca RNNoise agora é opcional. Este recurso deve ajudar os " "mantenedores dos pacotes a construir um pacote para o Debian. Consulte a " "edição 1000 para obter mais informações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Nossos registros de eventos agora exibem a linha do código fonte onde as " "mensagens estão sendo impressas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "A caixa de seleção \"Ativar os Efeitos\" na janela não estava sendo " "atualizada quando programas de terceiros como o Pavucontrol moveram o fluxo " "para longe dos nossos dispositivos virtuais. Este recurso deve ter sido " "corrigido nesta versão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Foi corrigido um travamento que poderia ocorrer quando o histórico máximo do " "ganho automático fosse alterado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Evite travamentos quando o pw-mididump estiver em execução" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "A interface do módulo de extensão do tom foi melhorado" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "O ícone do aplicativo agora é compatível com os ambientes de área de " "trabalho que utilizam o QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Nosso código da lista de bloqueio utilizará a o identificador \"application." "id\" se o fluxo definir isto" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Para evitar problemas com a rolagem do cursor ou a seta na tela, as entradas " "da lista dos aplicativos exibidos na aba ou guia Reprodutores/Gravadores não " "exibem mais uma escala do volume. Obtenha mais informações sobre o problema " "e a solução na edição 1211 e na edição 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Quando nenhum aplicativo estiver disponível para a exibição na opção " "`Reprodutores/Gravadores` uma mensagem será exibida para o usuário" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Muitas atualizações na tradução" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Foi corrigido um erro onde o Easy Effeects travava quando o número de pontos " "exibidos no espectro era alterado enquanto o Pipeline estava ativo e o " "Widget do espectro estava visível" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "O valor da latência do pipeline exibido em na janela pode estar errado em " "algumas situações. Este recurso foi corrigido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Há uma nova configuração que permite ao usuário selecionar um tempo limite " "de inatividade para o Pipeline. Quando nenhum cliente estiver reproduzindo " "ou gravando em nossos dispositivos, os filtros serão desvinculados após o " "tempo limite ser atingido. Esta configuração é feita para garantir que não " "desperdicemos o silêncio do processamento da energia do processador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "O módulo de extensão do ganho automático agora permite que o usuário " "selecione quais dos três tipos de sonoridade são utilizados para calcular a " "média geométrica." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "O módulo de extensão do ganho automático agora permite que o histórico " "máximo seja definido e não utiliza mais o modo de histograma do libebur128. " "Este recurso deve evitar os casos em que a intensidade integrada fique presa " "para sempre no mesmo valor." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "O ícone do Easy Effects foi atualizado de uma forma que deve torná-lo " "visível nos ambientes de trabalho que possuem o QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "A opção de linha de comando que retorna o estado de desvio global está " "funcionando novamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "O filtro da alimentação cruzada deve lidar melhor com os interruptores de " "latência dinâmica do PipeWire. Os saltos no nível do volume não devem mais " "acontecer nestas situações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Foi corrigido um erro que impedia que os microfones mono funcionassem " "corretamente com o Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "Suporte para a próxima versão 0.3.44 do PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "O filtro do ganho automático deve lidar melhor com as opções de latência " "dinâmica do PipeWire. Os saltos no nível do volume não devem mais acontecer " "nestas situações." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Adicionamos uma opção que permite redefinir os estados do volume e do mudo " "dos dispositivos virtuais serem reiniciados quando o Easy Effects inicia. " "Este recurso deve ajudar nos casos em que os dispositivos são silenciados " "pelo servidor de áudio por razões desconhecidas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Melhor suporte para suspensão do computador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Foi corrigido um erro em que tentar criar um perfil de carregamento " "automático sem ter as predefinições causava o travamento do aplicativo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Foi corrigido um erro em que definir uma banda do equalizador com a " "`qualidade` para `zero` levaria a uma falha do aplicativo." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "O LibAdwaita é utilizado para criar algumas partes da janela e para lidar " "com a alternância entre os temas claros e os escuros." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "O menu de configurações foi redesenhado utilizando os recursos do LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "O recurso de importação da predefinição do equalizador APO foi aprimorado " "para aplicar não apenas o filtro Bell, mas também outros compatíveis. No " "momento, apenas o filtro Bandpass não está disponível no módulo de extensão " "LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "A função `Redefinir todas as configurações` do menu deve funcionar agora no " "pacote Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Temos uma nova opção que permite ao usuário desativar nos menus o `Ocultar " "Automaticamente`. Esta opção pode ajudar a solucionar alguns erros que os " "menus Popover têm atualmente no gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "A análise mais robusta para importar as predefinições do APO salvas com a " "vírgula como separador de milhares na banda da frequência central." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "A biblioteca fmt é uma nova dependência, pelo menos enquanto os compiladores " "c++ não implementarem os seus recursos. A expectativa é que isto aconteça " "nos próximos anos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "O GTKMM e o GLIBMM não são mais uma dependência. Agora utilizamos " "diretamente o GTK4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Agora é possível combinar as respostas do impulso na interface da " "Convolução. Um novo arquivo do impulso é gerado e deve estar visível na " "lista de impulsos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Foram aprimorados os desenhos de eixo X em nossos gráficos. Agora o número " "de rótulos é ajustado dinamicamente dependendo da largura da janela." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "A documentação foi atualizada refletindo os novos recursos do Easy Effects. " "Referências antigas sobre PulseEffects foram removidas. O botão da " "documentação foi adicionado na seção do menu." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Quando um botão giratório é preenchido com um valor fora do intervalo, agora " "o botão é atualizado com o valor mais baixo ou mais alto em vez de redefinir " "para o valor anterior." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "A janela do aplicativo agora memoriza o estado maximizado e o restaura no " "próximo evento de abertura." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "A biblioteca `tbb` é uma nova dependência" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "O módulo de extensão do limitador e do compressor da multibanda agora podem " "utilizar uma cadeia lateral externa opcional." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "O módulo de extensão do Ganho Automático agora permite que o usuário " "selecione qual volume que será utilizado como referência para a correção do " "volume." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "O recurso de importação do módulo de extensão do APO do equalizador agora " "analisa o parâmetro da \"Pré Amplificação\"." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "O Volume Cúbico opcional pode ser ativado nas Configurações Gerais." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "O módulo de extensão Spectrum deveria entrar no passthrough sempre que não " "estivesse visível, mas isto acontecia apenas quando a janela era fechada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Suporte aprimorado para Tecnologia Assistiva." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "As sondas utilizadas em alguns filtros como o Compressor e o Limitador não " "estavam sendo religadas após a alteração da ordem dos módulo de extensão do " "Pipeline. Agora deve estar funcionando." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Os fluxos do monitor do PipeWire agora são excluídos e removidos da lista de " "aplicativos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" "Nós esperamos que os travamentos relatados no problema 1172 estejam " "corrigidos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "Impediu um caso em que o Spectrum estava travando." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "O Pavucontrol não é mais adicionado à lista de aplicativos da entrada em " "sistemas operacionais com idioma diferente do inglês." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "A compatibilidade foi aprimorada com WirePlumber. Este recurso é necessário " "para executar em sistemas operacionais que decidiram utilizá-lo em vez do " "gerenciador da sessão PipeWire integrado. Obtenha mais informações, consulte " "a edição 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "Ao tentar adicionar um perfil de carregamento automático para um dispositivo " "que já está na lista, a sua predefinição de destino será atualizada. Desta " "forma podemos alterar a predefinição do perfil sem ter que removê-la e " "recriá-la novamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "A implementação da predefinição do suporte ao realizar o carregamento " "automático foi projetada novamente. Agora deve funcionar em mais " "computadores. Para obter mais informações consulte a edição 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Se o Limitador ou o Maximizador estiverem definidos na última posição da " "pilha do módulo de extensão, novos módulos de extensão serão adicionados na " "penúltima posição para evitar danos ao computador em níveis de saída " "eventualmente altos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "Ao remover um aplicativo da lista de bloqueio o seu estado anterior de " "ativado é restaurado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Às vezes, ao remover os modelos importados do módulo de extensão da redução " "dos ruídos, o modelo utilizado atualmente não era atualizado corretamente. " "Agora este recurso deve ter sido corrigido." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Ao editar arquivos de predefinições em um editor externo, as entradas " "duplicadas não serão exibidas no menu das predefinições." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Agora a lista de bloqueio está definida corretamente ao alternar entre as " "predefinições." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Agora o estado do botão de Ignorar Globalmente é atualizado corretamente ao " "alterar a pilha do módulo de extensão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "Os ícones ausentes no sistema operacional não devem ser exibidos na " "interface de informações do aplicativo, se um ícone de aplicativo não puder " "ser exibido mesmo se você tiver certeza de que está instalado corretamente, " "registre um novo tópico de problema no Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Alguns ícones que não eram exibidos no tema dos ícones do ambiente de " "trabalho Plasma com Breeze agora devem ser exibidos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "A tradução chinesa foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "A tradução italiana foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" "Foi adicionado suporte para o parâmetro do compressor da Quantidade de " "Impulsos" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "O módulo de extensão do compressor da multibanda agora utiliza o módulo de " "extensão do compressor multibanda estéreo do Linux Studio Plugins ao invés " "do Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "O módulo de extensão do limitador agora utiliza o módulo de extensão do " "limitador estéreo do Linux Studio Plugins ao invés do Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "Os filtros LV2 agora são gerados no gráfico do PipeWire somente quando são " "carregados pela primeira vez. Depois de carregados, eles permanecem " "conectados até o desligamento do Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" "A taxa de amostragem do cancelador do eco agora está definida corretamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "O parâmetro limite do módulo de extensão do Sons Sibilantes Desessor " "(DeEsser) agora é salvo no arquivo da predefinição." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "A divisão de banda foi aprimorada para o cristalizador com novos valores de " "intensidade padrão." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Dependendo dos valores do ganho da entrada ou do ganho da saída, as barras " "de nível correspondentes não puderam ser alinhadas." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "Ao adicionar mais bandas do equalizador, elas são definidas como Bell em vez " "de Off (desligado ou desativado)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "O carregamento das predefinições do equalizador do APO agora funcionam " "corretamente em idiomas diferentes do C." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Gerenciamento da ligação foi aprimorada entre os nós de filtro da porta do " "PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "A amplificação do sinal do módulo de extensão do cristalizador era muito " "alto antes. Agora deve estar dentro dos níveis razoáveis." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" "Foi melhorado o resampler utilizado nos módulo de extensão que exigem um, " "como por exemplo, o módulo de extensão do RNNoise" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "Agora a opção de definir várias predefinições do carregamento automático " "deve funcionar" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "As janelas transitórias agora estão configuradas corretamente para algumas " "caixas de diálogo dos módulos de extensão" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "O menu da resposta do impulso da convolução foi aprimorado para solucionar " "um problema em que os arquivos do impulso não eram carregados quando apenas " "um arquivo estava disponível no menu. Obtenha mais informações com o " "problema 1011." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Foi corrigido um erro que poderia fazer com que o módulo de extensão Pitch " "não fosse inicializado corretamente" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "O aviso da saturação não deve mais substituir os widgets vizinhos" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Foi corrigida o idioma em alguns Widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Foi corrigido o alinhamento incorreto em alguns Widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "O módulo de extensão Loudness está sendo utilizado novamente pelos motivos " "descritos na edição 820. Isto significa que é uma dependência opcional " "novamente." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Foi corrigida uma falha de segmentação que ocorria quando as dependências " "opcionais não eram instaladas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "A interface do equalizador foi aprimorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Agora é utilizado um compressor LSP da cadeia lateral que permite ao usuário " "selecionar uma fonte externa como entrada da cadeia lateral." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" "Agora oferecemos suporte ao modo Boosting (Impulsionando) do compressor LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "Quando os canais divididos estão ativados no equalizador, a predefinição " "importada do APO será aplicada apenas no canal que está sendo visualizado na " "janela. Este recurso permitirá importar predefinições diferentes para cada " "canal, em vez de apenas definir os mesmos valores para ambos." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Foi corrigidas algumas falhas de segmentação que poderiam ocorrer ao criar " "um perfil do carregamento automático da predefinição ou de remover as " "predefinições" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "Este é um dos maiores lançamentos que já fizemos, a quantidade de alterações " "é tão grande que fica difícil registrar de tudo aqui." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "A seguir estão apenas os registros mais importantes. Os interessados na " "jornada que nos trouxe até aqui podem dar uma olhada na edição 904 e na " "edição 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "O aplicativo e seu repositório foram renomeados de PulseEffects para " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "O gtkmm3 foi substituído por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "O Gstreamer foi substituído por filtros nativos do PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "Muitos recursos foram reimplementados do zero. O carregamento automático da " "predefinição é um exemplo. Outra alteração notável será vista no menu da " "seleção do módulo de extensão. Agora o usuário pode escolher exibir na " "janela apenas os módulos de extensão que quiser utilizar." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "O Boost não é mais uma dependência. O preço pago por isto foi uma pequena " "alteração em nossas estruturas das predefinições. Com um pouco de paciência " "é possível editar as predefinições do PulseEffects em um editor de texto e " "fazê-los funcionar no EasyEffects. Esperamos que alguém crie um programa " "(script) para este recurso." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Novas bibliotecas estão sendo utilizadas e algumas das bibliotecas que antes " "eram opcionais agora são obrigatórias" #~ msgid "This release adds the following features:" #~ msgstr "Esta versão adiciona os seguintes recursos:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Este lançamento corrige os seguintes bugs:" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "Tab não mostram mais uma escala de volume. Mais detalhes sobre o problema " #~ "e a solução para ele podem ser encontrados em #1211" #~ msgid "and #1427" #~ msgstr "e #1427" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "nosso pipeline estava ativo e o widget de espectro estava visível" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Há uma nova configuração que permite ao usuário selecionar um tempo " #~ "limite de inatividade para o pipeline. Quando nenhum cliente está " #~ "reproduzindo" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "ou gravando de nossos dispositivos, os filtros serão desconectados após o " #~ "tempo limite ser alcançado. Isso é feito para garantir que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "não desperdiçamos energia da CPU processando silêncio." #~ msgid "mean." #~ msgstr "média geométrica." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Isto deve evitar os casos em que o ruído \"Integrado\" fica preso para " #~ "sempre no mesmo valor." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta versão corrige o seguinte bug:" #~ msgid "This release adds the following feature:" #~ msgstr "Esse lançamento adiciona o seguinte recurso:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Equalizador, Compressor e Outros Efeitos de Áudio" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitador;compressor;reverberação;equalizador;autovolume;" #~ msgid "\"Presets\"" #~ msgstr "\"Predefinições\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Habilitar" #~ msgid "Exclude" #~ msgstr "Excluir" #~ msgid "Mute Application" #~ msgstr "Silenciar o Aplicativo" #~ msgid "Application Volume" #~ msgstr "Volume do Aplicativo" #~ msgid "_Preferences" #~ msgstr "_Preferências" #~ msgid "_Manual" #~ msgstr "_Manual" #~ msgid "_Shortcuts" #~ msgstr "_Atalhos" #~ msgid "_Reset Settings" #~ msgstr "_Redefinir as Configurações" #~ msgid "_About EasyEffects" #~ msgstr "_Sobre EasyEffects" #~ msgid "Presets" #~ msgstr "Predefinições" #~ msgid "Presets Menu" #~ msgstr "Menu de Predefinições" #~ msgid "Global Bypass" #~ msgstr "Bypass Global" #~ msgid "Primary Menu" #~ msgstr "Menu Principal" #~ msgid "EasyEffects Window" #~ msgstr "Janela do EasyEffects" #~ msgid "Applications List" #~ msgstr "Lista de Aplicativos" #~ msgid "Empty List" #~ msgstr "Lista vazia" #~ msgid "No Audio Application Available" #~ msgstr "Nenhum aplicativo de áudio disponível" #~ msgid "Target" #~ msgstr "Alvo" #~ msgid "Maximum History" #~ msgstr "Histórico máximo" #~ msgid "Reference" #~ msgstr "Referência" #~ msgid "Momentary" #~ msgstr "Momentâneo" #~ msgid "Short-Term" #~ msgstr "Curto Prazo" #~ msgid "Integrated" #~ msgstr "Integrada" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Média Geométrica" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Média Geométrica" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Média Geométrica" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Média Geométrica" #~ msgid "Reset History" #~ msgstr "Redefinir Histórico" #~ msgid "Relative" #~ msgstr "Relativo" #~ msgid "Range" #~ msgstr "Alcance" #~ msgid "Loudness" #~ msgstr "Sonoridade" #~ msgid "Output Gain" #~ msgstr "Ganho de Saída" #~ msgid "Input" #~ msgstr "Entrada" #~ msgid "Plugin Input Gain" #~ msgstr "Ganho de Entrada do Plugin" #~ msgid "Output" #~ msgstr "Saída" #~ msgid "Plugin Output Gain" #~ msgstr "Ganho de Saída do Plugin" #~ msgid "Reset" #~ msgstr "Resetar" #~ msgid "Using" #~ msgstr "Usando" #~ msgid "Device" #~ msgstr "Dispositivo" #~ msgid "Name" #~ msgstr "Nome" #~ msgid "Profile" #~ msgstr "Perfil" #~ msgid "Preset" #~ msgstr "Predefinição" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "Listen" #~ msgstr "Escutar" #~ msgid "Blend Harmonics" #~ msgstr "Mistura de Harmônicos" #~ msgid "3rd" #~ msgstr "3°" #~ msgid "2nd" #~ msgstr "2°" #~ msgid "Amount" #~ msgstr "Quantidade" #~ msgid "Harmonics" #~ msgstr "Harmônico" #~ msgid "Scope" #~ msgstr "Escopo" #~ msgid "Floor" #~ msgstr "Piso" #~ msgid "Floor Value" #~ msgstr "Valor do piso" #~ msgid "Link" #~ msgstr "Ligação" #~ msgid "Application Name" #~ msgstr "Nome do Aplicativo" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Mostrar aplicativos bloqueados" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Lista de aplicativos bloqueados" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Mostrar aplicativos bloqueados" #~ msgid "Compressor" #~ msgstr "Compressor" #~ msgid "Mode" #~ msgstr "Modo" #~ msgid "Downward" #~ msgstr "Para Baixo" #~ msgid "Upward" #~ msgstr "Para Cima" #~ msgid "Boosting" #~ msgstr "Impulsionando" #~ msgid "Compression Mode" #~ msgstr "Modo de Compressão" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Limiar de Impulso" #~ msgid "Boost Amount" #~ msgstr "Valor do reforço" #~ msgid "Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Time" #~ msgstr "Tempo" #~ msgid "Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Tempo de Ataque" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Limiar de Ataque" #~ msgid "Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Release Time" #~ msgstr "Tempo de liberação" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Limiar de liberação" #~ msgid "Ratio" #~ msgstr "Razão" #~ msgid "Knee" #~ msgstr "Joelho" #~ msgid "Makeup" #~ msgstr "Ganho de Saída" #~ msgid "Sidechain" #~ msgstr "Cadeia Lateral" #~ msgid "Peak" #~ msgstr "Pico" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Passa-Baixa" #~ msgid "Uniform" #~ msgstr "Uniforme" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Modo de cadeia lateral" #~ msgid "Source" #~ msgstr "Fonte" #~ msgid "Middle" #~ msgstr "Meio" #~ msgid "Side" #~ msgstr "Lado" #~ msgid "Left" #~ msgstr "Esquerda" #~ msgid "Right" #~ msgstr "Direita" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Fonte da cadeia lateral" #~ msgid "Type" #~ msgstr "Tipo" #~ msgid "Feed-forward" #~ msgstr "Avanço de alimentação" #~ msgid "Feed-back" #~ msgstr "Retorno" #, fuzzy #~ msgid "External" #~ msgstr "Externo" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Tipo de cadeia lateral" #, fuzzy #~ msgid "Input Device" #~ msgstr "Dispositivo de Entrada" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Pré-Amplificação" #~ msgid "Reactivity" #~ msgstr "Reatividade" #~ msgid "Lookahead" #~ msgstr "Antevisão" #~ msgid "Sidechain Filters" #~ msgstr "Filtros da cadeia lateral" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Passa-alta" #~ msgid "Frequency" #~ msgstr "Frequência" #~ msgid "Off" #~ msgstr "Desligado" #~ msgid "12 dB/oct" #~ msgstr "12dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36dB/oct" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Filtro Passa-Alta" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frequências Mais Altas" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Filtro Passa-Alta" #~ msgid "Gain" #~ msgstr "Ganho" #, fuzzy #~ msgid "Envelope" #~ msgstr "Inclinação" #~ msgid "Curve" #~ msgstr "Curva" #~ msgid "L" #~ msgstr "L" #~ msgid "Left Channel" #~ msgstr "Canal esquerdo" #~ msgid "R" #~ msgstr "R" #~ msgid "Right Channel" #~ msgstr "Canal direito" #, fuzzy #~ msgid "Impulses" #~ msgstr "Resposta de Impulso" #~ msgid "Combine" #~ msgstr "Combinar" #~ msgid "Stereo Width" #~ msgstr "Largura do Stereo" #~ msgid "Spectrum" #~ msgstr "Espectro" #~ msgid "Log Scale" #~ msgstr "Escala logarítmica" #~ msgid "Autogain" #~ msgstr "Ganho Automático" #~ msgid "Rate" #~ msgstr "Taxa" #~ msgid "Samples" #~ msgstr "Amostras" #~ msgid "Duration" #~ msgstr "Duração" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Resposta de Impulso" #~ msgid "First Kernel" #~ msgstr "Primeiro Núcleo" #~ msgid "Second Kernel" #~ msgstr "Segundo Núcleo" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Saída" #~ msgid "Combined Kernel Name" #~ msgstr "Nome do Núcleo Combinado" #~ msgid "Import Impulse" #~ msgstr "Importar Impulso" #~ msgid "Search" #~ msgstr "Buscar" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Importar Arquivo com a Resposta de Impulso" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Importar Arquivo com a Resposta de Impulso" #~ msgid "Default" #~ msgstr "Padrão" #~ msgid "Cutoff" #~ msgstr "Corte" #~ msgid "Feed" #~ msgstr "Alimentação" #~ msgid "Bypass" #~ msgstr "Ignorar" #~ msgid "Mute" #~ msgstr "Mudo" #~ msgid "Detection" #~ msgstr "Detecção" #~ msgid "Wide" #~ msgstr "Amplo" #~ msgid "Split" #~ msgstr "Separado" #~ msgid "F1 Split" #~ msgstr "Divisão F1" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frequência" #~ msgid "F2 Peak" #~ msgstr "Pico F2" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frequência" #~ msgid "F1 Gain" #~ msgstr "Ganho F1" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frequência" #~ msgid "F2 Level" #~ msgstr "Nível F2" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frequência" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Pico Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frequência" #~ msgid "Laxity" #~ msgstr "Frouxidão" #~ msgid "Detected" #~ msgstr "Detectado" #, fuzzy #~ msgid "Reduction" #~ msgstr "Redução" #~ msgid "Frame Size" #~ msgstr "Tamanho do Quadro" #~ msgid "Filter Length" #~ msgstr "Comprimento do filtro" #~ msgid "Excluded Apps" #~ msgstr "Aplicativos excluídos" #~ msgid "Bands" #~ msgstr "Bandas" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Canais Separados" #~ msgid "Flat Response" #~ msgstr "Resposta Plana" #~ msgid "Calculate Frequencies" #~ msgstr "Calcular Frequências" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Predefinições" #~ msgid "Bell" #~ msgstr "Sino" #~ msgid "High Pass" #~ msgstr "Passa Altas" #~ msgid "High Shelf" #~ msgstr "High Shelf" #~ msgid "Low Pass" #~ msgstr "Passa-Baixa" #~ msgid "Low Shelf" #~ msgstr "Low Shelf" #~ msgid "Notch" #~ msgstr "Rejeita-faixa" #~ msgid "Resonance" #~ msgstr "Ressonância" #, fuzzy #~ msgid "All Pass" #~ msgstr "Passa-Baixa" #~ msgid "Band Type" #~ msgstr "Tipo de banda" #~ msgid "Band Mode" #~ msgstr "Modo Banda" #~ msgid "Slope" #~ msgstr "Inclinação" #~ msgid "Band Slope" #~ msgstr "Inclinação da banda" #~ msgid "Width" #~ msgstr "Largura" #~ msgid "Quality" #~ msgstr "Qualidade" #~ msgid "Solo" #~ msgstr "Sozinho" #, fuzzy #~ msgid "Ceil" #~ msgstr "Teto" #, fuzzy #~ msgid "Ceil Value" #~ msgstr "Valor do Teto" #~ msgid "API" #~ msgstr "API" #, fuzzy #~ msgid "Access" #~ msgstr "Acesso" #~ msgid "Description" #~ msgstr "Descrição" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Passa-Baixa" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Passa-Baixa" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Passa-Baixa" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Passa-Alta" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Passa-Alta" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Passa-Alta" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Passa-Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Passa-Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Passa-Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rejeita-Faixa" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rejeita-Faixa" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rejeita-Faixa" #~ msgid "Inertia" #~ msgstr "Inércia" #~ msgid "Gate" #~ msgstr "Portão" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Tempo de liberação" #, fuzzy #~ msgid "Internal" #~ msgstr "Externo" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "Oversampling" #~ msgstr "Sobreamostragem" #, fuzzy #~ msgid "Dither" #~ msgstr "Dither" #, fuzzy #~ msgid "Herm Thin" #~ msgstr "Herm Fino" #~ msgid "Herm Wide" #~ msgstr "Herm Amplo" #, fuzzy #~ msgid "Herm Tail" #~ msgstr "Cauda de Herm" #~ msgid "Exp Wide" #~ msgstr "Exp Amplo" #~ msgid "Exp Tail" #~ msgstr "Cauda de Exp" #~ msgid "Line Thin" #~ msgstr "Linha Fina" #~ msgid "Line Wide" #~ msgstr "Linha Larga" #~ msgid "Line Tail" #~ msgstr "Cauda da Linha" #~ msgid "None" #~ msgstr "Nenhuma" #~ msgid "Sidechain PreAmplification" #~ msgstr "Pré-amplificação de cadeia lateral" #~ msgid "Boost" #~ msgstr "Impulso" #~ msgid "Stereo Link" #~ msgstr "Elo Stereo" #~ msgid "External Sidechain" #~ msgstr "Cadeia Lateral Externa" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Ganho Automático" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Ganho Automático" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Ganho Automático" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Ganho Automático" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Esquerda" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Direita" #~ msgid "Sidechain Left" #~ msgstr "Cadeia Lateral Esquerda" #~ msgid "Sidechain Right" #~ msgstr "Cadeia Lateral Direita" #~ msgid "Standard" #~ msgstr "Padrão" #~ msgid "Flat" #~ msgstr "Plano" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Tamanho do Quadro" #~ msgid "Output Volume" #~ msgstr "Volume de Saída" #~ msgid "Ceiling" #~ msgstr "Teto" #~ msgid "Operating Mode" #~ msgstr "Modo operacional" #~ msgid "Classic" #~ msgstr "Clássico" #~ msgid "Modern" #~ msgstr "Moderno" #~ msgid "Sidechain Boost" #~ msgstr "Impulso de Cadeia Lateral" #~ msgid "Bands List" #~ msgstr "Lista de Bandas" #~ msgid "Band 1" #~ msgstr "Banda 1" #~ msgid "Band 2" #~ msgstr "Banda 2" #~ msgid "Band 3" #~ msgstr "Banda 3" #~ msgid "Band 4" #~ msgstr "Banda 4" #~ msgid "Band 5" #~ msgstr "Banda 5" #~ msgid "Band 6" #~ msgstr "Banda 6" #~ msgid "Band 7" #~ msgstr "Banda 7" #~ msgid "Band 8" #~ msgstr "Banda 8" #~ msgid "Band Start" #~ msgstr "Início da Banda" #~ msgid "Band End" #~ msgstr "Fim da Banda" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Modo de Compressão" #~ msgid "Band Bypass" #~ msgstr "Ignorar a Banda" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Cadeia Lateral" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Filtro" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtro Passa-Alta" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Filtro Passa-Alta" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Ganho de Entrada" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curva" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Separado" #~ msgid "Split 1/2" #~ msgstr "Disivão 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frequência" #~ msgid "Split 2/3" #~ msgstr "Disivão 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frequência" #~ msgid "Split 3/4" #~ msgstr "Disivão 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frequência" #~ msgid "Sub Band" #~ msgstr "Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Ganho de Saída" #~ msgid "Max Reduction" #~ msgstr "Redução" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "Low Band" #~ msgstr "Banda Baixa" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Ganho de Saída" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "Mid Band" #~ msgstr "Banda Média" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Ganho de Saída" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Ganho de Saída" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "General" #~ msgstr "Geral" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Usar Padrão" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Dispositivo de Entrada" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Usar Padrão" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Ganho de Entrada" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberação" #, fuzzy #~ msgid "Header Version" #~ msgstr "Versão" #, fuzzy #~ msgid "Library Version" #~ msgstr "Versão" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Amostragem" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Frequência" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Ganho Máximo" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Saída Padrão" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Ganho de Entrada" #~ msgid "Output Presets" #~ msgstr "Predefinições de Saída" #~ msgid "Output Autoloading Presets List" #~ msgstr "Lista de Predefinições de Saída" #, fuzzy #~ msgid "Input Devices" #~ msgstr "Dispositivo de Entrada" #~ msgid "Input Presets" #~ msgstr "Predefinições de Entrada" #~ msgid "Input Autoloading Presets List" #~ msgstr "Lista de Predefinições de Entrada" #~ msgid "Modules" #~ msgstr "Módulos" #, fuzzy #~ msgid "Modules List" #~ msgstr "Módulos" #~ msgid "Clients" #~ msgstr "Clientes" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clientes" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Sinais de Teste" #~ msgid "State" #~ msgstr "Estado" #~ msgid "Enabled" #~ msgstr "Habilitado" #~ msgid "Properties" #~ msgstr "Propriedades" #~ msgid "Channels" #~ msgstr "Canais" #~ msgid "Both" #~ msgstr "Ambos" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Canais" #~ msgid "Waveform" #~ msgstr "Forma de onda" #~ msgid "Sine Wave" #~ msgstr "Onda senoidal" #~ msgid "White Noise" #~ msgstr "Ruído Branco" #~ msgid "High Speed" #~ msgstr "Alta velocidade" #~ msgid "High Quality" #~ msgstr "Alta qualidade" #~ msgid "High Consistency" #~ msgstr "Alta consistência" #, fuzzy #~ msgid "Formant" #~ msgstr "Formato" #~ msgid "Shifted" #~ msgstr "Deslocado" #, fuzzy #~ msgid "Preserved" #~ msgstr "Predefinição" #~ msgid "Transients" #~ msgstr "Transientes" #, fuzzy #~ msgid "Crisp" #~ msgstr "Clareza" #~ msgid "Mixed" #~ msgstr "Misturado" #~ msgid "Smooth" #~ msgstr "Suave" #, fuzzy #~ msgid "Detector" #~ msgstr "Detecção" #, fuzzy #~ msgid "Compound" #~ msgstr "Compressão" #~ msgid "Percussive" #~ msgstr "Percussivo" #, fuzzy #~ msgid "Soft" #~ msgstr "Clipe Macio" #~ msgid "Phase" #~ msgstr "Estágio" #~ msgid "Independent" #~ msgstr "Independente" #~ msgid "Cents" #~ msgstr "Centavos" #~ msgid "Semitones" #~ msgstr "Semitons" #~ msgid "Octaves" #~ msgstr "Oitavas" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "Add Effect" #~ msgstr "Adicionar efeito" #~ msgid "No Effects" #~ msgstr "Sem efeitos" #~ msgid "_General" #~ msgstr "_Geral" #, fuzzy #~ msgid "Service" #~ msgstr "Dispositivo de Entrada" #~ msgid "Audio" #~ msgstr "Áudio" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Processar Todas as Saídas" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Processar Todas as Entradas" #~ msgid "Style" #~ msgstr "Estilo" #~ msgid "Use Dark Theme" #~ msgstr "Usar Tema Escuro" #~ msgid "_Spectrum" #~ msgstr "_Espectro" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Bars" #~ msgstr "Barras" #~ msgid "Lines" #~ msgstr "Linhas" #~ msgid "Dots" #~ msgstr "Pontos" #~ msgid "Points" #~ msgstr "Pontos" #~ msgid "Height" #~ msgstr "Altura" #~ msgid "Line Width" #~ msgstr "Largura da Linha" #~ msgid "Fill" #~ msgstr "Preencher" #~ msgid "Color" #~ msgstr "Cor" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frequência" #~ msgid "Minimum" #~ msgstr "Mínimo" #~ msgid "Maximum" #~ msgstr "Máximo" #~ msgid "Load" #~ msgstr "Carregar" #~ msgid "Save current settings to this preset file" #~ msgstr "Salvar Configurações atuais para este arquivo de predefinição" #~ msgid "Remove this preset file" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "New Output Preset Name" #~ msgstr "Novo Nome de Predefinição de Saída" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Criar Predefinição" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importar Predefinições" #~ msgid "Search Output Preset" #~ msgstr "Pesquisa de Predefinições de Saída" #~ msgid "Output Presets List" #~ msgstr "Lista de Predefinições de Saída" #~ msgid "New Input Preset Name" #~ msgstr "Novo Nome de Predefinição de Entrada" #~ msgid "Search Input Preset" #~ msgstr "Pesquisar Predefinições de Entrada" #~ msgid "Input Presets List" #~ msgstr "Lista de Predefinições de Entrada" #~ msgid "High Frequency Damping" #~ msgstr "Amortecimento de Alta Frequência" #~ msgid "Room Size" #~ msgstr "Tamanho do quarto" #~ msgid "Small" #~ msgstr "Pequeno" #~ msgid "Medium" #~ msgstr "Médio" #~ msgid "Large" #~ msgstr "Grande" #~ msgid "Tunnel" #~ msgstr "Túnel" #~ msgid "Large/smooth" #~ msgstr "Grande/Suave" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difusão" #~ msgid "Pre Delay" #~ msgstr "Pré Atraso" #~ msgid "Decay Time" #~ msgstr "Tempo de Decaimento" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Quantidade" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Nível Alvo" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Quantidade" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Nível" #~ msgid "Bass Cut" #~ msgstr "Corte de Grave" #~ msgid "Treble Cut" #~ msgstr "Corte de Agudo" #~ msgid "Ambience" #~ msgstr "Ambiente" #~ msgid "Empty Walls" #~ msgstr "Paredes Vazias" #~ msgid "Room" #~ msgstr "Quarto" #~ msgid "Large Empty Hall" #~ msgstr "Grande Salão Vazio" #~ msgid "Disco" #~ msgstr "Discoteca" #~ msgid "Large Occupied Hall" #~ msgstr "Grande Salão Ocupado" #, fuzzy #~ msgid "Import Model" #~ msgstr "Importar Impulso" #~ msgid "Models" #~ msgstr "Modelos" #, fuzzy #~ msgid "Active Model" #~ msgstr "Modo Agressivo" #~ msgid "Overview" #~ msgstr "Visão geral" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Abrir o Manual do EasyEffects" #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Balanço" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balanço" #~ msgid "Softclip" #~ msgstr "Clipe Macio" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Clipe Macio" #~ msgid "Stereo Matrix" #~ msgstr "Matriz Stereo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "ED > ED (Stereo Padrão)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "ED > ML (Stereo para Meio-Lado)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "ML > ED (Meio-Lado para Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "ED > EE (Canal Esquerdo Mono)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "ED > DD (Canal Direito Mono)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "ED > E+D (Soma Mono E+D)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "ED > DL (Alternar Canais Stereo)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Base Stereo" #~ msgid "Invert Phase" #~ msgstr "Inverter Fase" #~ msgid "Side Level" #~ msgstr "Nível Lateral" #~ msgid "Side Balance" #~ msgstr "Balanço Lateral" #~ msgid "Middle Level" #~ msgstr "Nível do Meio" #~ msgid "Middle Panorama" #~ msgstr "Panorama do Meio" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Ganho de Entrada" #~ msgid "Delay L/R" #~ msgstr "Atraso E/D" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Atraso E/D" #~ msgid "Stereo Base" #~ msgstr "Base Stereo" #~ msgid "Stereo Phase" #~ msgstr "Fase Stereo" #~ msgid "Running" #~ msgstr "Correndo" #~ msgid "Suspended" #~ msgstr "Suspenso" #~ msgid "Idle" #~ msgstr "Parado" #~ msgid "Creating" #~ msgstr "Criando" #~ msgid "Error" #~ msgstr "Erro" #~ msgid "Unknown" #~ msgstr "Desconhecido" #, fuzzy #~ msgid "channels" #~ msgstr "Canais" #~ msgid "Output Presets: " #~ msgstr "Predefinições de Saída: " #~ msgid "Input Presets: " #~ msgstr "Predefinições de Entrada: " #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efeitos de Áudio para Programas que Utilizam Pulseaudio" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Sair do EasyEffects. Útil quando executando em modo de serviço." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Carregar uma predefinição. Exemplo: easyeffects -l musica" #~ msgid "Reset EasyEffects." #~ msgstr "Redefinir o EasyEffects." #~ msgid "Show available presets." #~ msgstr "Mostrar predefinições disponíveis." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Importar Arquivo com a Resposta de Impulso" #~ msgid "Import Impulse File" #~ msgstr "Importar Arquivo com a Resposta de Impulso" #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid "Impulse Response" #~ msgstr "Resposta de Impulso" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Resposta de Impulso" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Importar Impulso" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Importar Arquivo com a Resposta de Impulso" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Não Foi Possível Carregar o Arquivo com o Impulso" #~ msgid "Recorders" #~ msgstr "Gravadores" #~ msgid "Players" #~ msgstr "Reprodutores" #~ msgid "Effects" #~ msgstr "Efeitos" #~ msgid "infinity" #~ msgstr "infinito" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "Importar Predefinições" #, fuzzy #~ msgid "APO Presets" #~ msgstr "Predefinições" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "Remove" #~ msgstr "Remover" #, fuzzy #~ msgid "Output Device" #~ msgstr "Ganho de Entrada" #, fuzzy #~ msgid "Add" #~ msgstr "Adicionar" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Importar Predefinições" #~ msgid "Import Model File" #~ msgstr "Importar Arquivo de Modelo" #~ msgid "RNNoise Models" #~ msgstr "Modelos RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Reforçador de Graves" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Volume do baixo" #~ msgid "Convolver" #~ msgstr "Convolução" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Cristalizador" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Atraso" #~ msgid "Echo Canceller" #~ msgstr "Cancelador de Eco" #~ msgid "Equalizer" #~ msgstr "Equalizador" #~ msgid "Exciter" #~ msgstr "Excitador" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Limiter" #~ msgstr "Limitador" #~ msgid "Maximizer" #~ msgstr "Maximizador" #~ msgid "Multiband Compressor" #~ msgstr "Compressor Multibandas" #~ msgid "Multiband Gate" #~ msgstr "Gate Multibandas" #~ msgid "Pitch" #~ msgstr "Altura" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Reverberação" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Redução de Ruído" #~ msgid "Stereo Tools" #~ msgstr "Ferramentas Stereo" #~ msgid "Average" #~ msgstr "Médio" #~ msgid "Failed" #~ msgstr "Falhou" #, fuzzy #~ msgid "Use Default" #~ msgstr "Usar Padrão" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "Import Presets" #~ msgstr "Importar Predefinições" #~ msgid "Start Service at Login" #~ msgstr "Inicializar Serviço no Login" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agressivo" #~ msgid "Add to Blocklist" #~ msgstr "Adicionar à Lista de Bloqueio" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Microfone de Calibração" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latência" #~ msgid "Faster" #~ msgstr "Mais Rápido" #~ msgid "Preserve Formant" #~ msgstr "Preservar Formante" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Ganho de Entrada" #, fuzzy #~ msgid "Channel" #~ msgstr "Canais" #, fuzzy #~ msgid "Value" #~ msgstr "Piso" #~ msgid "Output Effects" #~ msgstr "Efeitos de Saída" #~ msgid "Settings" #~ msgstr "Configurações" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Configurações" #, fuzzy #~ msgid "Documentation" #~ msgstr "Duração" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Sinais de Teste" #, fuzzy #~ msgid "Signal" #~ msgstr "Sinais de Teste" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Border" #~ msgstr "Borda" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Spectrum Color" #~ msgstr "Cor do Espectro" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Modo Agressivo" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Wet" #~ msgstr "Pesos" #~ msgid "Dry" #~ msgstr "Seco" #~ msgid "S/C Level" #~ msgstr "Nível de S/C" #~ msgid "Short Term" #~ msgstr "Curto Prazo" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Passa-Baixa" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Definir o volume e ligar / desligar efeitos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Inclui um equalizador com predefinições incorporadas" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibração" #~ msgid "Limit" #~ msgstr "Limite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuação" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Efeitos de Áudio para Programas que Utilizam Pulseaudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Efeitos de áudio para programas que Utilizam Pulseaudio" #~ msgid "Help" #~ msgstr "Ajuda" #~ msgid "Calibration Microphone" #~ msgstr "Microfone de Calibração" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Aplique automaticamente esta predefinição sempre que o dispositivo usado " #~ "atualmente for conectado no sistema" #, fuzzy #~ msgid "Version" #~ msgstr "Versão" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Quadrada" #~ msgid "Saw" #~ msgstr "Serra" #~ msgid "Triangle" #~ msgstr "Triângulo" #~ msgid "Silence" #~ msgstr "Silencio" #~ msgid "Pink Noise" #~ msgstr "Ruído Rosa" #~ msgid "Ticks" #~ msgstr "Tique-Taque" #~ msgid "Gaussian Noise" #~ msgstr "Ruído Gaussiano" #~ msgid "Red Noise" #~ msgstr "Ruído Vermelho" #~ msgid "Blue Noise" #~ msgstr "Ruído Azul" #~ msgid "Violet Noise" #~ msgstr "Ruído Violeta" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Window" #~ msgstr "Janela" #~ msgid "Measure Noise" #~ msgstr "Medir Ruído" #~ msgid "Subtract Noise" #~ msgstr "Subtrair Ruído" #~ msgid "Extended Filter" #~ msgstr "Filtro Estendido" #~ msgid "Low" #~ msgstr "Baixo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Nível de Supressão" #~ msgid "Delay Agnostic" #~ msgstr "Atraso Agnóstico" #~ msgid "Very High" #~ msgstr "Muito Alto" #~ msgid "Noise Suppressor" #~ msgstr "Supressor de Ruído" #~ msgid "Adaptive Digital" #~ msgstr "Digital Adaptativo" #~ msgid "Fixed Digital" #~ msgstr "Digital Fixo" #~ msgid "Gain Controller" #~ msgstr "Controlador de Ganho" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidade de Detecção" #~ msgid "Very Low" #~ msgstr "Muito Baixo" #~ msgid "Voice Detector" #~ msgstr "Detector de Voz" #~ msgid "Use Custom Color" #~ msgstr "Usar Cor Customizada" #~ msgid "Use Gradient" #~ msgstr "Usar Gradiente" #~ msgid "Gradient Color" #~ msgstr "Cor do Gradiente" #~ msgid "Import Impulse Response File" #~ msgstr "Arquivo da Resposta de Impulso" #~ msgid "Select the impulse Response File" #~ msgstr "Selecione o Arquivo com a Resposta de Impulso" #~ msgid "Aggressive Mode" #~ msgstr "Modo Agressivo" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Depois" #~ msgid "Loudness Range" #~ msgstr "Faixa de Sonoridade" #~ msgid "Apply" #~ msgstr "Aplicar" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Taxa de Amostragem Padrão" #~ msgid "Default Source" #~ msgstr "Entrada Padrão" #~ msgid "Server" #~ msgstr "Servidor" #~ msgid "File" #~ msgstr "Arquivo" #~ msgid "Configuration" #~ msgstr "Configuração" #, fuzzy #~ msgid "server" #~ msgstr "Servidor" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Frequências Mais Baixas" #, fuzzy #~ msgid "Advanced" #~ msgstr "Configurações Avançadas" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Predefinições" #~ msgid "Detect Silence" #~ msgstr "Detectar Silêncio" #~ msgid "Muted" #~ msgstr "Mudo" #~ msgid "Distant Headphones" #~ msgstr "Fones de Ouvido Distantes" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridade" #~ msgid "Niceness" #~ msgstr "Gentileza" #~ msgid "Priority" #~ msgstr "Prioridade" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frequência" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frequência" #~ msgid "About" #~ msgstr "Sobre" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Amostra Padrão" #~ msgid "Channel Mapping" #~ msgstr "Mapeamento de Canal" #~ msgid "Resamplers" #~ msgstr "Resamplers" #~ msgid "Pipeline Input" #~ msgstr "Entrada da Pipeline" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Pipeline Output" #~ msgstr "Saída da Pipeline" #~ msgid "Block Size" #~ msgstr "Tamanho do Bloco" #~ msgid "Resampler" #~ msgstr "Resampler" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "tocando" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Importar Predefinições" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Redução de Ganho" #~ msgid "Exponent" #~ msgstr "Expoente" easyeffects-7.1.7/po/news/ro.po000066400000000000000000002175531463533416400164270ustar00rootroot00000000000000# Romanian translation for EasyEffects # Copyright (C) 2021 # This file is distributed under the same license as the easyeffects package. # Andrei Dobrete , 2021. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 #, fuzzy msgid "Audio Effects for PipeWire Applications" msgstr "Efecte Audio pentru Aplicații PulseAudio" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects este un set avansat de unelte pentru manipularea audio. Numind " "doar câteva din uneltele din acesta, sunt incluse un egalizator, limitator, " "compresor și o unealtă pentru reverberație." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Pentru că EasyEffects utilizează serverul de sunet prestabilit PulseAudio, " "acesta va funcționa cu majoritatea, dacă nu cumva chiar toate programele pe " "care le folosiți. Toate programele suportate sunt prezentate în fereastra " "principală, unde fiecare poate fi activată individual." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Pe lângă faptul că EasyEffects poate manipula output-ul de sunet, se poate " "folosi și pentru a aplica efecte pe un dispozitiv de input, ca un microfon. " "Acest lucru este util, spre exemplu, în înregistrarea audio, dar " "funcționează bine și în timpul conversațiilor voce." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Când EasyEffects este pornit, acesta va reține configurația din sesiunea " "anterioară. Este de asemenea posibil să salvați setările curente ca și " "profile." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Benzi" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Egalizator, compresor și Alte Efecte Audio" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "limitator;compresor;reverberație;egalizator;autovolum" #~ msgid "\"Presets\"" #~ msgstr "”Presetări”" #, fuzzy #~ msgid "Enable" #~ msgstr "Activează" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplicații" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplicații" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Setări" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Presets" #~ msgstr "Presetări" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Presetări" #~ msgid "Global Bypass" #~ msgstr "Evitare Globală" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplicații" #, fuzzy #~ msgid "Empty List" #~ msgstr "Pereți Goi" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplicații" #~ msgid "Target" #~ msgstr "Țintă" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Maxim" #~ msgid "Momentary" #~ msgstr "Momentar" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Pe Termen Scurt" #~ msgid "Integrated" #~ msgstr "Integrat" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Utilizarea Mijlocului Geometric" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Utilizarea Mijlocului Geometric" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Utilizarea Mijlocului Geometric" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Utilizarea Mijlocului Geometric" #~ msgid "Reset History" #~ msgstr "Resetare Istoric" #~ msgid "Relative" #~ msgstr "Relativ" #~ msgid "Range" #~ msgstr "Gamă" #~ msgid "Loudness" #~ msgstr "Intensitate" #, fuzzy #~ msgid "Output Gain" #~ msgstr "Output" #~ msgid "Input" #~ msgstr "Input" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Input Pipeline" #~ msgid "Output" #~ msgstr "Output" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Output Pipeline" #~ msgid "Reset" #~ msgstr "Resetare" #~ msgid "Name" #~ msgstr "Nume" #, fuzzy #~ msgid "Preset" #~ msgstr "Presetări" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Șterge fișierul de presetări" #~ msgid "Listen" #~ msgstr "Ascultă" #~ msgid "Blend Harmonics" #~ msgstr "Blend Harmonics" #~ msgid "3rd" #~ msgstr "Al treilea" #~ msgid "2nd" #~ msgstr "Al doilea" #~ msgid "Amount" #~ msgstr "Cantitate" #~ msgid "Harmonics" #~ msgstr "Harmonics" #~ msgid "Scope" #~ msgstr "Scop" #~ msgid "Floor" #~ msgstr "Podea" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Podea" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplicații" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Arată programele din Lista de Blocare în Fila Principală" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Arată programele din Lista de Blocare în Fila Principală" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Arată programele din Lista de Blocare în Fila Principală" #~ msgid "Compressor" #~ msgstr "Compresor" #~ msgid "Mode" #~ msgstr "Mod" #~ msgid "Downward" #~ msgstr "În Jos" #~ msgid "Upward" #~ msgstr "În Sus" #~ msgid "Compression Mode" #~ msgstr "Mod de Compresie" #~ msgid "Boost Threshold" #~ msgstr "Prag de Boost" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Cantitate" #~ msgid "Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Time" #~ msgstr "În Timp Real" #~ msgid "Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Atac" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Prag" #~ msgid "Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Release Time" #~ msgstr "În Timp Real" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Prag Relativ de Eliberare" #~ msgid "Ratio" #~ msgstr "Raport" #~ msgid "Knee" #~ msgstr "Genunchi" #~ msgid "Makeup" #~ msgstr "Compoziție" #~ msgid "Sidechain" #~ msgstr "Lanț Lateral" #~ msgid "Peak" #~ msgstr "Vârf" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Low-Pass" #~ msgid "Uniform" #~ msgstr "Uniform" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Lanț Lateral" #~ msgid "Source" #~ msgstr "Sursă" #~ msgid "Middle" #~ msgstr "Mijloc" #~ msgid "Side" #~ msgstr "Parte" #~ msgid "Left" #~ msgstr "Stânga" #~ msgid "Right" #~ msgstr "Dreapta" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Lanț Lateral" #~ msgid "Type" #~ msgstr "Scrie" #~ msgid "Feed-forward" #~ msgstr "Feed-forward" #~ msgid "Feed-back" #~ msgstr "Feed-back" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Lanț Lateral" #, fuzzy #~ msgid "Input Device" #~ msgstr "Nivel Input" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Preamplificare" #~ msgid "Reactivity" #~ msgstr "Reactivitate" #~ msgid "Lookahead" #~ msgstr "Privire Înainte" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Lanț Lateral" #, fuzzy #~ msgid "High-Pass" #~ msgstr "High Pass" #~ msgid "Frequency" #~ msgstr "Frecvență" #~ msgid "Off" #~ msgstr "Oprit" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Mod Filtru High-pass" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frecvență High-pass" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Mod Filtru Low-pass" #~ msgid "Gain" #~ msgstr "Gain" #, fuzzy #~ msgid "Envelope" #~ msgstr "Pantă" #~ msgid "Curve" #~ msgstr "Curbă" #~ msgid "L" #~ msgstr "L" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Canale" #~ msgid "R" #~ msgstr "R" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Despică Canalele" #, fuzzy #~ msgid "Impulses" #~ msgstr "Răspuns Impuls" #~ msgid "Stereo Width" #~ msgstr "Lățime Stereo" #~ msgid "Spectrum" #~ msgstr "Spectru " #, fuzzy #~ msgid "Autogain" #~ msgstr "Auto Gain" #~ msgid "Rate" #~ msgstr "Rată" #~ msgid "Samples" #~ msgstr "Probe" #~ msgid "Duration" #~ msgstr "Durație" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Răspuns Impuls" #~ msgid "Import Impulse" #~ msgstr "Importă Impuls" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Importă Fișier Impulse" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Importă Fișier Impulse" #~ msgid "Default" #~ msgstr "Prestablilt" #~ msgid "Cutoff" #~ msgstr "Cutoff" #~ msgid "Feed" #~ msgstr "Feed" #~ msgid "Bypass" #~ msgstr "Evitare" #~ msgid "Mute" #~ msgstr "Mut" #~ msgid "Detection" #~ msgstr "Detectare" #~ msgid "Wide" #~ msgstr "Lat" #~ msgid "Split" #~ msgstr "Despică" #~ msgid "F1 Split" #~ msgstr "F1 Despică" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frecvență" #~ msgid "F2 Peak" #~ msgstr "F2 Vârf" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frecvență" #~ msgid "F1 Gain" #~ msgstr "F1 Gain" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frecvență" #~ msgid "F2 Level" #~ msgstr "F2 Nivel" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frecvență" #~ msgid "F2 Peak Q" #~ msgstr "F2 Vârf Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frecvență" #~ msgid "Laxity" #~ msgstr "Laxitate" #~ msgid "Detected" #~ msgstr "Detectat" #, fuzzy #~ msgid "Reduction" #~ msgstr "Reducere" #~ msgid "Frame Size" #~ msgstr "Dimensiune Cadru" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filtru" #~ msgid "Bands" #~ msgstr "Benzi" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Despică Canalele" #~ msgid "Flat Response" #~ msgstr "Răspuns Plat" #~ msgid "Calculate Frequencies" #~ msgstr "Calculează Frecvențele" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Presetări APO" #~ msgid "Bell" #~ msgstr "Clopot" #~ msgid "High Pass" #~ msgstr "High Pass" #~ msgid "High Shelf" #~ msgstr "High Shelf" #~ msgid "Low Pass" #~ msgstr "Low Pass" #~ msgid "Low Shelf" #~ msgstr "Low Shelf" #~ msgid "Notch" #~ msgstr "Crestătură" #~ msgid "Resonance" #~ msgstr "Rezonanță" #~ msgid "All Pass" #~ msgstr "All Pass" #, fuzzy #~ msgid "Band Type" #~ msgstr "Scrie" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Mod" #~ msgid "Slope" #~ msgstr "Pantă" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pantă" #~ msgid "Width" #~ msgstr "Lățime" #~ msgid "Quality" #~ msgstr "Calitate" #~ msgid "Solo" #~ msgstr "Solo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Tavan" #, fuzzy #~ msgid "Description" #~ msgstr "Detectare" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Șterge fișierul de presetări" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Lowpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Lowpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Lowpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Highpass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Highpass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Highpass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Bandpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Bandpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Bandpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Bandreject" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Bandreject" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Bandreject" #~ msgid "Inertia" #~ msgstr "Inerție" #~ msgid "Gate" #~ msgstr "Gate" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "În Timp Real" #, fuzzy #~ msgid "Internal" #~ msgstr "Integrat" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "Oversampling" #~ msgstr "Supraprelevare" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Lat" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Lat" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Lățime Linie" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Lățime Linie" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Masă Sinusoidală" #~ msgid "None" #~ msgstr "Niciunul" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Preamplificare" #~ msgid "Stereo Link" #~ msgstr "Link Stereo" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Lanț Lateral" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Nivelare Automată" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Nivelare Automată" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Nivelare Automată" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Nivelare Automată" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Gain" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Dreapta" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Lanț Lateral" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Lanț Lateral" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Flat" #~ msgstr "Plat" #~ msgid "FFT Size" #~ msgstr "Dimensiune FFT" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Output" #~ msgid "Ceiling" #~ msgstr "Tavan" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Importă Model" #, fuzzy #~ msgid "Modern" #~ msgstr "Mod" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Lanț Lateral" #, fuzzy #~ msgid "Bands List" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 1" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 2" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 3" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 4" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 5" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 6" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 7" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band 8" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band End" #~ msgstr "Benzi" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Mod de Compresie" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Mod Filtru Low-pass" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Frecvență Low-pass" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtru High Pass" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Frecvență High-pass" #, fuzzy #~ msgid "Band Gain" #~ msgstr "F1 Gain" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Curbă" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Despică" #~ msgid "Split 1/2" #~ msgstr "Despicare 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frecvență" #~ msgid "Split 2/3" #~ msgstr "Despicare 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecvență" #~ msgid "Split 3/4" #~ msgstr "Despicare 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecvență" #~ msgid "Sub Band" #~ msgstr "Sub Band" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Compoziție" #~ msgid "Max Reduction" #~ msgstr "Reducere" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Reducere" #~ msgid "Low Band" #~ msgstr "Low Band" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Compoziție" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducere" #~ msgid "Mid Band" #~ msgstr "Mid Band" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Compoziție" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducere" #~ msgid "High Band" #~ msgstr "High Band" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Compoziție" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducere" #~ msgid "General" #~ msgstr "General" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Folosește Prestabilit" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Nivel Input" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Folosește Prestabilit" #, fuzzy #~ msgid "Server Information" #~ msgstr "Reverberație" #, fuzzy #~ msgid "Header Version" #~ msgstr "Versiune" #, fuzzy #~ msgid "Library Version" #~ msgstr "Versiune" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Rata de Sample Prestabilită" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Frecvență Minimă" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Gain-ul Maxim" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Sink-ul Prestabilit" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Efecte Output" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Presetări pentru Output:" #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Presetări pentru Output:" #, fuzzy #~ msgid "Input Devices" #~ msgstr "Nivel Input" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Presetări pentru Input:" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Presetări pentru Input:" #~ msgid "Modules" #~ msgstr "Module" #, fuzzy #~ msgid "Modules List" #~ msgstr "Module" #~ msgid "Clients" #~ msgstr "Clienți" #, fuzzy #~ msgid "Clients List" #~ msgstr "Clienți" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Semnale de Testare" #~ msgid "State" #~ msgstr "Stare" #, fuzzy #~ msgid "Enabled" #~ msgstr "Activează" #~ msgid "Channels" #~ msgstr "Canale" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Canale" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Masă Sinusoidală" #~ msgid "White Noise" #~ msgstr "Zgomot Alb" #, fuzzy #~ msgid "High Speed" #~ msgstr "High Shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calitate" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Presetări" #, fuzzy #~ msgid "Crisp" #~ msgstr "Claritate" #, fuzzy #~ msgid "Detector" #~ msgstr "Detectare" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresie" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Semitones" #~ msgstr "Semitonuri" #~ msgid "Octaves" #~ msgstr "Octave" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Șterge fișierul de presetări" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Efecte Input" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "General" #, fuzzy #~ msgid "Service" #~ msgstr "Server" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Procesează Toate Output-urile" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Procesează Toate Input-urile" #, fuzzy #~ msgid "Inactivity Timeout" #~ msgstr "Expirarea Activității" #~ msgid "Use Dark Theme" #~ msgstr "Folosește Tema Întunecată" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Spectru " #~ msgid "Bars" #~ msgstr "Bări " #~ msgid "Lines" #~ msgstr "Linii" #~ msgid "Points" #~ msgstr "Puncte" #~ msgid "Height" #~ msgstr "Înălțime" #~ msgid "Line Width" #~ msgstr "Lățime Linie" #~ msgid "Fill" #~ msgstr "Umple" #, fuzzy #~ msgid "Color" #~ msgstr "Culoare Axă" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frecvență" #, fuzzy #~ msgid "Minimum" #~ msgstr "Maxim" #~ msgid "Maximum" #~ msgstr "Maxim" #~ msgid "Load" #~ msgstr "Încarcă" #~ msgid "Save current settings to this preset file" #~ msgstr "Salvează setările curente în acest fișier cu presetări" #~ msgid "Remove this preset file" #~ msgstr "Șterge fișierul de presetări" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Presetări pentru Output:" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Creează Presetare" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importă Presetări" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Presetări pentru Output:" #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Presetări pentru Output:" #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Presetări pentru Input:" #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Presetări pentru Input:" #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Presetări pentru Input:" #~ msgid "High Frequency Damping" #~ msgstr "Amortizare Frecvențe Înalte" #~ msgid "Room Size" #~ msgstr "Dimensiunea Camerei" #~ msgid "Small" #~ msgstr "Mic" #~ msgid "Medium" #~ msgstr "Mediu" #~ msgid "Large" #~ msgstr "Mare" #~ msgid "Tunnel" #~ msgstr "Tunel" #~ msgid "Large/smooth" #~ msgstr "Mare/neted" #~ msgid "Experimental" #~ msgstr "Experimental" #~ msgid "Diffusion" #~ msgstr "Difuzie" #~ msgid "Pre Delay" #~ msgstr "Pre Întârziere" #~ msgid "Decay Time" #~ msgstr "Timp Decay" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantitate" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Nivelul Țintă" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantitate" #, fuzzy #~ msgid "Dry Level" #~ msgstr "F2 Nivel" #~ msgid "Bass Cut" #~ msgstr "Bass Tăiat" #~ msgid "Treble Cut" #~ msgstr "Treble Tăiat" #~ msgid "Ambience" #~ msgstr "Ambianță" #~ msgid "Empty Walls" #~ msgstr "Pereți Goi" #~ msgid "Room" #~ msgstr "Cameră" #~ msgid "Large Empty Hall" #~ msgstr "Hol Gol Mare" #~ msgid "Disco" #~ msgstr "Disco" #~ msgid "Large Occupied Hall" #~ msgstr "Hol Plin Mare" #~ msgid "Import Model" #~ msgstr "Importă Model" #, fuzzy #~ msgid "Models" #~ msgstr "Mod" #, fuzzy #~ msgid "Standard Model" #~ msgstr "Model Standard RNNoise" #, fuzzy #~ msgid "RNNoise Models List" #~ msgstr "Model Standard RNNoise" #~ msgid "Active Model" #~ msgstr "Model Activ" #~ msgid "Standard RNNoise Model" #~ msgstr "Model Standard RNNoise" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Resetează EasyEffects." #, fuzzy #~ msgid "Close the Window" #~ msgstr "Ascunde Fereastra." #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Balance" #~ msgstr "Balans" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Balans" #~ msgid "Softclip" #~ msgstr "Softclip" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Softclip" #~ msgid "Stereo Matrix" #~ msgstr "Matrice Stereo" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Prestabilit Stereo)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Stereo către Mijloc)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Mijloc către Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Mono Canal Stânga)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Mono Canal Dreapta)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Mono L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Canalele Stereo Inversate)" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Bază Stereo" #~ msgid "Invert Phase" #~ msgstr "Inversează Faza" #~ msgid "Side Level" #~ msgstr "Nivel Lateral" #~ msgid "Side Balance" #~ msgstr "Balans Lateral" #~ msgid "Middle Level" #~ msgstr "Nivel Mijloc" #~ msgid "Middle Panorama" #~ msgstr "Panoramă Mijloc" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Balans" #~ msgid "Delay L/R" #~ msgstr "Întârziere L/R" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Întârziere L/R" #~ msgid "Stereo Base" #~ msgstr "Bază Stereo" #~ msgid "Stereo Phase" #~ msgstr "Fază Stereo" #, fuzzy #~ msgid "Running" #~ msgstr "rulează" #, fuzzy #~ msgid "Suspended" #~ msgstr "suspendat" #, fuzzy #~ msgid "Creating" #~ msgstr "se creează" #, fuzzy #~ msgid "Error" #~ msgstr "eroare" #, fuzzy #~ msgid "channels" #~ msgstr "Canale" #~ msgid "Output Presets: " #~ msgstr "Presetări pentru Output:" #~ msgid "Input Presets: " #~ msgstr "Presetări pentru Input:" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efecte audio pentru aplicații PulseAudio" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "" #~ "Închideți EasyEffects. Folositor când este folosit în modul de serviciu." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Încarcă o presetare. Exemplu: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Resetează EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Ascunde Fereastra." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Ocolire Globală. 1 pentru a activa, 2 pentru a dezactiva și 3 pentru a " #~ "afla statusul" #~ msgid "Show available presets." #~ msgstr "Arată presetările valabile." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Importă Fișier Impulse" #~ msgid "Import Impulse File" #~ msgstr "Importă Fișier Impulse" #~ msgid "Open" #~ msgstr "Deschide" #~ msgid "Cancel" #~ msgstr "Anulare" #~ msgid "Impulse Response" #~ msgstr "Răspuns Impuls" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Importă Impuls" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Importă Impuls" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Importă Fișier Impulse" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Nu s-a putut Încărca Fișierul Impulse" #, fuzzy #~ msgid "Recorders" #~ msgstr "Bordură" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "infinit" #~ msgid "Import APO Preset File" #~ msgstr "Importă Fișierul de Presetare APO" #~ msgid "APO Presets" #~ msgstr "Presetări APO" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Șterge fișierul de presetări" #, fuzzy #~ msgid "Output Device" #~ msgstr "Efecte Output" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Importă Presetări" #~ msgid "Import Model File" #~ msgstr "Importă Fișier de Model" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Model Standard RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Amplificator Bass" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Intensitate" #~ msgid "Convolver" #~ msgstr "Convolver" #~ msgid "Crossfeed" #~ msgstr "Crossfeed" #~ msgid "Crystalizer" #~ msgstr "Cristalizator" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Întârziere" #~ msgid "Echo Canceller" #~ msgstr "Anulator de Ecou" #~ msgid "Equalizer" #~ msgstr "Egalizator" #~ msgid "Exciter" #~ msgstr "Excitator" #~ msgid "Filter" #~ msgstr "Filtru" #~ msgid "Limiter" #~ msgstr "Limitator" #~ msgid "Maximizer" #~ msgstr "Maximizator" #~ msgid "Multiband Compressor" #~ msgstr "Compresor Multiband" #~ msgid "Multiband Gate" #~ msgstr "Multiband Gate" #~ msgid "Pitch" #~ msgstr "Pitch" #~ msgid "Reverberation" #~ msgstr "Reverberație" #~ msgid "Noise Reduction" #~ msgstr "Reducere Zgomot" #~ msgid "Stereo Tools" #~ msgstr "Unelte Stereo" #~ msgid "Average" #~ msgstr "În Medie" #~ msgid "Failed" #~ msgstr "A Eșuat" #~ msgid "Use Default" #~ msgstr "Folosește Prestabilit" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Șterge fișierul de presetări" #~ msgid "Import Presets" #~ msgstr "Importă Presetări" #~ msgid "Start Service at Login" #~ msgstr "Începe Serviciul la Login" #, fuzzy #~ msgid "Activate" #~ msgstr "Model Activ" #~ msgid "Add to Blocklist" #~ msgstr "Adaugă la Lista de Blocare" #~ msgid "Blocklist" #~ msgstr "Lista de Blocare" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrare Microfon" #, fuzzy #~ msgid "enabled" #~ msgstr "Activează" #, fuzzy #~ msgid "disabled" #~ msgstr "Activează" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latență" #~ msgid "idle" #~ msgstr "inactiv" #~ msgid "Faster" #~ msgstr "Mai Repede " #~ msgid "Preserve Formant" #~ msgstr "Păstrează Formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Setează volumul și pornește/oprește efectele" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Include un egalizator cu presetări încorporate." #~ msgid "Input Limiter" #~ msgstr "Limitator de Input" #~ msgid "Calibration" #~ msgstr "Calibrare" #~ msgid "Help" #~ msgstr "Ajutor" #~ msgid "Based on" #~ msgstr "Bazat pe" #~ msgid "Detect Silence" #~ msgstr "Detectează Tăcerea" #~ msgid "Weights" #~ msgstr "Greutăți" #~ msgid "Provided by" #~ msgstr "Furnizat de" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Reconectați microfonul pentru a aplica noile schimbări la Lista de Blocare" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "" #~ "Reporniți playerul pentru a aplica schimbările noi la Lista de Blocare" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Pătrat" #~ msgid "Saw" #~ msgstr "Ferăstrău" #~ msgid "Triangle" #~ msgstr "Triunghi" #~ msgid "Silence" #~ msgstr "Liniște" #~ msgid "Pink Noise" #~ msgstr "Zgomot Roz" #~ msgid "Ticks" #~ msgstr "Ticăituri" #~ msgid "Gaussian Noise" #~ msgstr "Zgomot Gaussian" #~ msgid "Red Noise" #~ msgstr "Zgomot Roșu" #~ msgid "Blue Noise" #~ msgstr "Zgomot Albastru" #~ msgid "Violet Noise" #~ msgstr "Zgomot Violet" #~ msgid "Volume" #~ msgstr "Volum" #~ msgid "Window" #~ msgstr "Fereastră" #~ msgid "Measure Noise" #~ msgstr "Măsoară Zgomotul" #~ msgid "Subtract Noise" #~ msgstr "Scade Zgomotul" #~ msgid "Advanced" #~ msgstr "Avansat" #~ msgid "Import Impulse Response File" #~ msgstr "Importă Fișier de Răspuns Impuls" #~ msgid "Select the impulse Response File" #~ msgstr "Selectează Fișierul de Răspuns Impuls" #~ msgid "Aggressive Mode" #~ msgstr "Mod Agresiv" #~ msgid "Before" #~ msgstr "Înainte" #~ msgid "After" #~ msgstr "După" #~ msgid "Loudness Range" #~ msgstr "Gama de Sunet" #~ msgid "Apply APO Preset" #~ msgstr "Aplică Presetare APO" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "Apply" #~ msgstr "Aplică" #~ msgid "Muted" #~ msgstr "Mut" #~ msgid "Distant Headphones" #~ msgstr "Căști Departe" #~ msgid "Niceness" #~ msgstr "Niceness" #~ msgid "Priority Type" #~ msgstr "Tipul Priorității" #~ msgid "Priority" #~ msgstr "Prioritate" #~ msgid "About" #~ msgstr "Despre" #~ msgid "Maximum Gain Reduction" #~ msgstr "Reducere Maximă a Gain-ului" #~ msgid "Automatic Smoothing Control" #~ msgstr "Control Automatic de Smoothing" #~ msgid "Limit" #~ msgstr "Limită" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Atenuare" #~ msgid "Loudness Compensator" #~ msgstr "Compensator de Intensitate" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Gain Reduction" #~ msgstr "Reducere Gain" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Aplică automat această presetare oricând dispozitivul folosit acum este " #~ "conectat la sistem" #~ msgid "Default Source" #~ msgstr "Sursa Prestabilită" #~ msgid "Protocol" #~ msgstr "Protocol" #~ msgid "Default Sample Format" #~ msgstr "Formatul de Sample Prestabilit" #~ msgid "Channel Mapping" #~ msgstr "Mapping-ul Canalelor" #~ msgid "File" #~ msgstr "Fișier" #~ msgid "Configuration" #~ msgstr "Configurare" #~ msgid "Resamplers" #~ msgstr "Resampleri" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Block Size" #~ msgstr "Dimensiune Bloc" #~ msgid "Dry" #~ msgstr "Uscat" #~ msgid "Show Spectrum" #~ msgstr "Arată Spectrul" #~ msgid "Use Custom Color" #~ msgstr "Folosește Culoare Personalizată" #~ msgid "Use Gradient" #~ msgstr "Folosește Gradient" #~ msgid "Sampling" #~ msgstr "Sampling" #~ msgid "Maximum Frequency" #~ msgstr "Frecvență Maximă" #~ msgid "Spectrum Type" #~ msgstr "Tip Spectru" #~ msgid "Spectrum Color" #~ msgstr "Culoare Spectru" #~ msgid "Gradient Color" #~ msgstr "Culoare Gradient" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Extended Filter" #~ msgstr "Filtru Extins" #~ msgid "Low" #~ msgstr "Jos" #~ msgid "Moderate" #~ msgstr "Moderat" #~ msgid "High" #~ msgstr "Înalt" #~ msgid "Suppression Level" #~ msgstr "Nivel de Suprimare" #~ msgid "Delay Agnostic" #~ msgstr "Întârziere Agnostică" #~ msgid "Very High" #~ msgstr "Foarte Înalt" #~ msgid "Noise Suppressor" #~ msgstr "Supresor de Zgomot" #~ msgid "Adaptive Digital" #~ msgstr "Digital Adaptiv" #~ msgid "Fixed Digital" #~ msgstr "Digital Fix" #~ msgid "Gain Controller" #~ msgstr "Controlor de Gain" #~ msgid "Detection Likelihood" #~ msgstr "Probabilitatea Detecției" #~ msgid "Very Low" #~ msgstr "Foarte Jos" #~ msgid "Voice Detector" #~ msgstr "Detector de Voce" easyeffects-7.1.7/po/news/ru.po000066400000000000000000004102561463533416400164300ustar00rootroot00000000000000# EasyEffects Russian translation # This file is distributed under the same license as the EasyEffects package. # ⓒ Mikhail Novosyolov [mikhailnov] , 2017-2019 # ⓒ Georgiy Starodubtsov [Mewsimka] , 2018 # ⓒ Denis Goncharov, 2018 # ⓒ Vladimir Penchikov , 2018 msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-02 18:06+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Weblate 5.5-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Звуковые эффекты для приложений PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects — это продвинутый набор инструментов для работы со звуком. " "Приложение включает в себя эквалайзер, ограничитель (лимитер), компрессор, " "утилиту для реверберации и многое другое. Более того, имеется встроенный " "анализатор аудиоспектра." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects является преемником PulseEffects, но поддерживает только аудио-" "сервер PipeWire. Пользователям PulseAudio следует оставаться на PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Так как Easy Effects использует стандартный сервер PipeWire, программа будет " "работать с большинством используемых вами приложений. Все поддерживаемые " "приложения представлены в главном окне, где каждое может быть настроено " "индивидуально." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Помимо изменения звука на выходе Easy Effects также может использовать " "звуковые эффекты для входных устройств, таких как микрофон. К примеру, это " "может быть полезно во время аудиозаписи или голосовой конференции." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "При запуске Easy Effects автоматически подгрузит ваши настройки из " "предыдущей сессии. Также вы можете сохранить все ваши текущие настройки в " "профили запуска." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Веллингтон Уоллис" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Главная страница отображает приложения с выходными аудио-потоками" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Страница усиления басов отображает настройки аудио" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "Страница конвольвера отображает настройки аудио" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Возможности:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" "Улучшена система управления каналом обработки. Нелимитирующие эффекты " "помещаются перед ограничителем, даже если последние два плагина в канале " "обработки — это лимитер, а затем уровнемер." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Исправление ошибок:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" "Исправлена регрессионная ошибка, из-за которой уровнемеры не обновлялись при " "определённых условиях." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Другие изменения:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" "Теперь мы устанавливаем monitor.passthrough = true в наших виртуальных " "устройствах. Это позволит видеоплеерам правильно применять смещение " "задержки, как только выйдет PipeWire > 1.0.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Обновлённые переводы." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" "EasyEffects попытается избежать перемещения в свои виртуальные источники " "потоков, для которых пользователь установил пользовательский target.object, " "отличный от микрофона, с которого EE вед`т запись. Чтобы эта логика вступила " "в силу, поток должен быть запущен, когда EE уже работает." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Обновлены переводы" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "Эквалайзер может экспортировать основные файлы предустановок APO" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" "Во вкладке «Проигрыватели/рекордеры» будет отображаться имя исполняемого " "файла клиента аудио в тех случаях, когда имя приложения не определено." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" "Версию EasyEffects можно показать в командной строке с помощью параметра --" "version" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" "Было реализовано обходное решение для ошибки в gtk4 GtkLevelBar, которое " "будет использоваться до тех пор, пока разработчики GTK не исправят ситуацию " "на своей стороне" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" "Исправлена регрессия, появившаяся в версии 7.1.2, которая могла привести к " "сбою работы EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "Плагин DeepFilterNet теперь можно добавить в файл предустановки" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "В спектре появился новый параметр для отключения динамической вертикальной " "шкалы." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "Улучшена совместимость с последними версиями LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "Исправлена неверная отрисовка характеристик файла импульсного отклика" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Исправлена небольшая ошибка, из-за которой порог голосовой активности " "шумоподавления не инициализировался должным образом." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "В плагин шумоподавления добавлен новый элемент управления, позволяющий " "отключить определение голоса." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "Эффект фильтрации был расширен новыми параметрами, так как он был перенесён " "из Calf Studio в Linux Studio Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "Шумоподавление с помощью RNNoise было улучшено благодаря добавлению " "регуляторов Восстановление и Порог определения голосовой активности." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "Шумоподавление с помощью RNNoise теперь позволяет смешивать исходный и " "шумоочищенный сигналы, чтобы избежать слишком «сухого» звучания на выходе." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Этот выпуск предназначен для работы с версиями Linux Studio Plugins «1.2.10» " "и выше." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects теперь можно собирать и с помощью libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "Расширитель от Linux Studio Plugins можно использовать в Easy Effects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" "Полосы эквалайзера теперь имеют дополнительный регулятор усиления, " "позволяющий более точно вводить значения, которые трудно задать в шкале. " "Подробности в проблеме 1383." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" "Добавлена возможность выбора и загрузки нескольких файлов в окнах открытия " "предустановок, импульсных откликов Convolver и моделей RNNoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "Исправлена кнопка Соло в настройках полосы эквалайзера." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "Папки Easy Effects в каталоге /etc были устаревшими, и расположенные в них " "предустановки больше не будут загружаться. Теперь в меню предустановок " "автоматически загружаются только локальные предустановки из папки ~/.config/" "easyeffects. В будущем будет реализована новая система установки, управления " "и импорта предустановок от сообщества." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "В окно настроек добавлен раздел «Испытательные возможности»." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" "Теперь можно использовать родное окно плагинов LSP. Это пробная функция " "только для опытных пользователей, поэтому в ней возможны ошибки." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" "Теперь можно использовать дробные значения полутонов в эффекте Pitch Shift." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "Выпадающий список устройств входа/выхода на вкладке PipeWire обновляется при " "изменении системного устройства по умолчанию и включении параметра " "«Использовать стандартный». Это исправляет проблему 1989." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "Добавлен новый плагин Уровнемер на основе libebur128." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" "Плагин Высота тона теперь использует библиотеку SoundTouch вместо " "Rubberband. Надеемся, что некоторые загадочные сбои, которые происходили с " "Rubbernand, больше не повторятся." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "Улучшена совместимость с последними версиями PipeWire. Подробности в" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" "Фильтры активного Эквалайзера больше не устанавливаются в тип Колокольчик " "при изменении числа полос." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" "Rabberband больше не является зависимостью, поскольку он был заменён на " "SoundTouch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "Меню предустановок теперь запрашивает подтверждение перед сохранением/" "удалением файла предустановки." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "Перезагрузка плагина больше не должна делать его элементы управления " "неработоспособными." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" "Speex больше не является зависимостью сборки (speexdsp по-прежнему является)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" "RNNoise больше не является автозависимостью. Теперь он требуется по " "умолчанию, если он недоступен, его необходимо явно отключить с помощью -" "Denable-rnnoise=false" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" "В последнем выпуске была допущена небольшая ошибка. В новом выпуске у людей " "будет нужная ветка в пакете" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" "Функция эквалайзера «сортировать полосы» теперь упорядочивает полосы в " "GSettings, так что результат можно хранить в предустановках." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "Улучшена производительность при сбросе клавиш." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Исправлен выбор предустановки «Большой пустой зал» в эффекте реверберации." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" "Исправлены некоторые огрехи в API PipeWire, что потенциально может поправить " "различные ошибки, с которыми сталкивались пользователи." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" "Поскольку мы удаляем код, устаревший в GTK 4.10, минимальная версия GTK была " "увеличена." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "Улучшена частота обновления плагинов спектра. Различные частоты " "дискретизации должны теперь визуально приводить к одинаковым частотам " "обновления." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" "Интервал обновления, используемый уровнемерами и спектром, может быть " "настроен пользователем." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "Значение ползунка усиления полосы эквалайзера может обновляться с большими " "шагами. Тонкое управление по-прежнему возможно с помощью клавиш вверх/вниз " "на клавиатуре." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "Небольшие улучшения в эхоподавителе." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "После перехода на использование нескольких фильтров датчики эхоподавителя не " "были связаны со звуковой картой. Теперь это должно быть исправлено." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" "Теперь в канал обработки эффектов можно добавить более одного экземпляра " "фильтра." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "Добавлен новый плагин «Речевой процессор», основанный на библиотеке Speex. " "Помимо обеспечения подавления шума, он также может обнаруживать голосовую " "активность. Это достойная альтернатива в тех случаях, когда библиотека " "rnnoise не работает должным образом." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Улучшена совместимость с Linux Studio Plugins 1.2.3." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "Пресдустановки GraphicEQ можно импортировать в эффект эквалайзера." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "Название приложения было изменено на «Easy Effects», чтобы соответствовать " "соглашениям об именовании GNOME Human Interface Guidelines." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "Документация была обновлена." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "Улучшена автозагрузка предустановок." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "Порог тишины автоусилителя теперь может быть настроен пользователем." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "В эффект Stereo Tools добавлены элементы управления оригинальным и " "обработанным сигналами." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" "В эхоподавителе появился элемент управления остаточным шумоподавлением, " "основанный на библиотеке Speex." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" "При наведении мыши на график отображалось неверное значение координаты оси " "X. Эта регрессия исправлена." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "Из-за новой функции множественных экземпляров формат предустановок " "изменился, но старый формат по-прежнему поддерживается для загрузки. В любом " "случае следует учитывать, что сохранение текущей предустановки всегда будет " "записывать её в новом формате." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" "Реализация многополосного пропускного уровня была перенесена из CALF в Linux " "Studio Plugins." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "Улучшена совместимость кода автозагрузки предустановок с устройствами bluez5." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" "Для некоторых плагинов добавлены элементы управления оригинальным/" "обработанным сигналами" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "Интерфейс эффектов больше не загружается, если в системе не установлен " "соответствующий плагин lv2. Вместо него пользователю показывается сообщение " "о состоянии." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "Документация была обновлена" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "Улучшены отладочные сообщения" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Улучшены переводы" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Исправлена ошибка, при которой EasyEffects мог аварийно закрывать своё окно " "во время применения эффектов." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" "Состояние обхода может быть сохранено в файл предустановок. Причины данного " "решения можно посмотреть в ошибке 1039" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "Была улучшена кодовая база автозагрузки предустановок для лучшей " "совместимости с USB-устройствами." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" "Пользователю выводится сообщение, если загрузка предустановки не удалась, " "или предустановку/файл импульса не удалось импортировать." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "Теперь используется плагин SideChain Gate из набора «Linux Studio Plugins» " "взамен Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffects больше не должен падать, если язык пользователя не был правильно " "настроен." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "Был реализован обходной механизм для отображения иконки, необходимый из-за " "посредственной поддержки SVG в QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "Когда для приложения отключены эффекты, мы устанавливаем значение его " "метаданных равным null. Это позволяет менеджеру медиа (wireplumber) " "корректно переместить аудиопоток на новое устройство." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "Были добавили новые настройки конфигурации. Они позволят EasyEffects " "игнорировать потоки, которые он создаёт сам. Это должно исправить некоторые " "проблемы, которые возникали у пользователей в работе с OBS." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "Был улучшен код, ответственный за отображение потока" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "Теперь использование библиотеки rnnoise является опциональным. Это должно " "помочь кураторам в сборке пакетов для Debian. Подробности в ошибке 1000." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Теперь в наших отчётах отображается строка кода, ответственная за вывод " "сообщения" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "Флаг \"включить эффекты\" в нашем окне не обновлялся, когда сторонние " "приложения вроде pavucontrol перемещали поток с наших виртуальных устройств. " "Теперь должно работать корректно." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Исправлен вылет, происходивший при изменении исторического максимума " "автоусилителя." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "Предотвращены вылеты, когда запущен pw-mididump" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "Улучшен интерфейс плагина высоты тона" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "Значок нашего приложения теперь совместим с рабочими столами, использующими " "QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "Наш код чёрного списка будет использовать тег «application.id», если поток " "укажет его" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "Во избежание проблем с прокруткой списка «Проигрыватели/рекордеры», в этой " "вкладке больше не отображается шкала громкости. Подробнее о проблеме и " "возможные решения можно посмотреть в ошибках 1211 и 1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "Когда ни одно приложение не доступно для отображения в «Проигрывателях/" "рекордерах», пользователю будет показано сообщение" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Крупное обновление переводов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "Исправлена ошибка, при которой EasyEffeects аварийно завершал работу, когда " "изменялось количество точек, отображаемых в спектре, в то время как виджет " "отображения спектра был видим и канал обработки был активен" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" "Значение задержки канала обработки, отображаемое в нашем окне, могло быть " "неверным в некоторых ситуациях. Это было исправлено." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "Добавлена новая настройка, позволяющая пользователю установить время простоя " "для канала обработки. Когда ни один из клиентов не проигрывает или не " "записывает поток с наших устройств, фильтры будут отключены по истечению " "указанного периода. Это сделано для того, чтобы CPU не тратил время впустую " "на обработку тишины." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "Плагин автоусиления громкости теперь позволяет пользователю выбрать один из " "трёх уровней для расчёта среднего геометрического." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "Плагин автоусиления громкости теперь позволяет устанавливать максимальную " "историю и больше не использует режим гистограммы «libebur128». Это должно " "решить проблему, когда громкость застревала на одном уровне." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "Значок EasyEffects был обновлён таким образом, чтобы сделать его видимым на " "рабочих столах QT." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "Параметр командной строки, возвращающий состояние глобального обхода, снова " "работает." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Фильтр перекрёстной подачи должен лучше работать с динамическим изменением " "задержек PipeWire. Больше не должны возникать ситуации, приводящие к скачкам " "громкости." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Исправлена ошибка, не дававшая моно-микрофонам корректно работать с " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "Поддержка PipeWire версии 0.3.44" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "Фильтр автоусилителя должен лучше работать с динамическим изменением " "задержек PipeWire. Теперь ситуации со скачками уровня громкости больше не " "должны возникать." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "Мы добавили опцию, позволяющую сбрасывать уровень громкости и заглушение " "устройства во время запуска EasyEffects. Это должно помочь в случае, когда " "ваши устройства по неизвестным причинам заглушаются аудио-сервером." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Улучшена поддержка спящего режима." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "Исправлена ошибка, при которой попытка создать профиль для автозагрузки, не " "имеющий предустановок, приводила к вылету приложения." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" "Исправлена ошибка, при которой установка полосы эквалайзера в «ноль» " "приводила к аварийному завершению приложения." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita используется для создания некоторых частей окна приложения и " "управления переключением между тёмной и светлой темами." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "Дизайн меню настроек приложения был изменен с использованием виджетов " "LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "Функция импорта предустановок для Equalizer APO была улучшена: теперь " "возможно применить не только \"Bell\", но и другие поддерживаемые фильтры " "(На текущий момент, из плагинов LSP не доступен только фильтр Bandpass)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "Функция «Сброс всех настроек» в меню теперь должна работать и с Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "Теперь у нас есть новая опция, которая позволяет пользователю отключить " "автоскрытие меню. Это должно помочь обойти некоторые ошибки наложения, " "имеющиеся в gtk4." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" "Большинство сложных для обработки при импорте предустановок APO, сохранены с " "использованием запятой в качестве разделителя в центральный полосе частот." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "Библиотека fmt является новой зависимостью, поскольку компилятор C++ на " "данный момент не может реализовать её возможности. Поддержка ожидается в " "ближайшие несколько лет." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM и GLIBMM больше не являются зависимостями. Теперь мы используем gtk4 " "напрямую." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "Теперь вы можете объединять характеристики импульсов в интерфейсе " "Конвольвера. Новые файлы импульсов созданы и должны быть видны в списке." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "Улучшена отрисовка горизонтальной оси внутри окна. Теперь число элементов " "изменяется динамически в зависимости от ширины окна." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "Была обновлена пользовательская документация в связи с добавлением в " "EasyEffects новых возможностей. Старые отсылки к PulseEffects были удалены. " "Кнопка для вызова документации была добавлена в качестве секции Меню." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "Когда регулятор установлен в положение, превышающее возможное значение, он " "будет обновлён до наименьшего/высшего значения, наиболее соответствующего " "предыдущему." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "Окно приложения теперь запоминает своё состояние, и будет восстановлено при " "его следующем открытии." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "Библиотека tbb теперь является новой зависимостью" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Плагины Лимитер и Многополосный компрессор теперь могут использоваться в " "качестве опциональной внешней боковой цепи." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" "Плагин автоусиления громкости теперь позволяет пользователям выбрать, какая " "громкость будет использоваться в качестве значения для коррекции её уровня." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" "Функция импорта предустановок APO для плагина Эквалайзера, теперь считывает " "параметры Предусиления." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "Теперь в главных настройках можно выбрать Кубический Уровень в качестве " "опции." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" "Плагин спектра должен осуществлять проброс, когда он станет не видимым, но " "это произойдёт только после закрытия окна." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "Улучшена поддержка Assistive Technology." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "Датчики, используемые в некоторых фильтрах, таких как Компрессор и Лимитер, " "не пересоединялись после изменения порядка плагинов в канале обработки. " "Теперь всё должно работать." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Монитор источников PipeWire был исключён и удалён из списка приложений." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "Ожидается, что сбои, подобные сообщённым в проблеме 1172, исправлены." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" "Предотвращена ошибка, связанная со Спектром, приводящая к аварийному " "завершению приложения." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "Pavucontrol больше не указывается в списке приложений с источниками " "аудиопотоков в системах, локализация которых отличается от английской." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "Улучшена совместимость с WirePlumber. Это необходимо для работы на системах, " "которые решили использовать его вместо встроенного менеджера сессий " "PipeWire. Подробности в проблеме 1144." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "При попытке добавить профиль для автозагрузки для устройства, находящегося в " "списке, его цель будет обновлена. С помощью этого, мы сможем изменять " "предустановки профиля без необходимости удалять и пересоздавать его заново." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "Реализация поддержки автозагрузки предустановок была снова переработана. " "Теперь она должна работать на большем количестве оборудования. Подробности в " "проблеме 1051." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "Лимитер и Максимизатор теперь устанавливаются в последнюю позицию цепочки " "плагинов. Новые плагины добавляются в предыдущую секцию с целью " "предотвращения порчи оборудования чрезмерным выходным уровнем громкости." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "При удалении приложения из чёрного списка, его предшествующее состояние " "будет восстановлено." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "Иногда, во время удаления импортированной модели в плагине шумоподавления, " "текущая используемая модель не обновлялась корректно. Теперь должно работать " "как положено." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" "Во время правки файла предустановок во внешнем редакторе, повторяющиеся " "параметры не будут отображаться в меню." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Теперь чёрный список правильно устанавливается при смене предустановок." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" "Теперь статус при нажатии на кнопку глобального обхода корректно " "отображается при смене набора плагинов." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "Отсутствующие в системе значки не должны отображаться в пользовательском " "интерфейсе информации о приложении (если значок приложения все ещё не " "отображается, даже если вы уверены, что оно правильно установлено, " "пожалуйста, откройте проблему)." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "Некоторые значки, которые не отображались в окружении рабочего стола Plasma " "с темой Breeze, теперь должны отображаться." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Обновлён китайский перевод." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "Обновлён итальянский перевод." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "В компрессор добавлена поддержка параметра «Величина усиления»" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "Плагин многополосного компрессора теперь использует плагин стерео " "многополосного компрессора из набора плагинов Linux Studio Plugins взамен " "Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "Плагин лимитера теперь использует стерео плагин лимитера из набора Linux " "Studio Plugins взамен Calf Studio." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "Наборы LV2 фильтров отображаются в графе PipeWire только во время первой " "загрузки. Однажды загруженные, они останутся включёнными до тех пор пока " "EasyEffects продолжает работу." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "Теперь для модуля эхоподавления возможно установить частотный спектр." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "Уровень порогового значения в плагине антишипения (деэссера) теперь " "сохраняется в файле предустановки." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "Улучшено полосное разделение для кристаллизатора с новыми значениями " "интенсивности по умолчанию." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" "Зависимости во входных и выходных уровнях громкости теперь коррелируют со " "значениями регулятора, которые ранее нельзя было выровнять." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "При добавлении новых полос в эквалайзер их значение равно «Колокол» вместо " "«Отключено»." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "Предустановки для Эквалайзера APO теперь работают корректно с языками, " "отличными от С." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Улучшено взаимодействие между точками пересечения портов фильтров в PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" "Ранее, усиление сигнала в плагине кристаллизатора было слишком высоким. " "Установлены более адекватные значения." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "Улучшена работа ресемлера с некоторыми плагинами (rnnoise и пр.)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "Установка множества предустановок для автозагрузки теперь должно работать " "корректно" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "Временные окна для взаимодействия с некоторыми плагинами теперь работают " "корректно" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "Меню импульсного отклика конвольвера было улучшено для устранения проблемы, " "когда файлы импульсов не загружались, если в меню был доступен только один, " "см. проблему 1011" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Исправлена ошибка, при которой плагин высоты тона не мог правильно " "инициализироваться" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "Предупреждение о переполнении больше не должно менять расположение соседних " "виджетов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Исправлен перевод некоторых виджетов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Исправлено неправильное выравнивание некоторых виджетов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "Плагин Loudness снова используется по причинам, описанным в проблеме 820. " "Это означает, что он снова является необязательной зависимостью." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Исправлена ошибка сегментирования, возникавшая в случае, когда опциональные " "зависимости не были установлены" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Улучшен интерфейс эквалайзера." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" "Теперь используется компрессор боковой цепи LSP, что позволяет пользователю " "выбирать внешний источник в качестве боковой цепи входа." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "Теперь поддерживается режим усиления компрессора LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "Когда «разделить каналы» активировано в эквалайзере, предустановки " "импортированные из APO будут применены только к каналу, отображаемому в " "окне. Это позволяет применять различные предустановки для каждого канала " "вместо установки одинакового значения в обоих каналах." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" "Исправлены ошибки сегментирования, возникавшие при создании или удалении " "предустановок, используемых для автозагрузки" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" "Этот выпуск является одним из самых крупных, что мы делали за всё время. " "Объём изменений обширен, поэтому очень трудно описать их все." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "Ниже перечислены только самые важные из них. Люди, интересующиеся историей, " "которая привела нас сюда, могут заглянуть в проблемы 904 и 874." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "Название приложения и его репозитория было изменено с PulseEffects на " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 был заменён на gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Фильтры GStreamer были заменены на собственные фильтры PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "Множество возможностей были переписаны с нуля. Например предустановки для " "автозагрузки. Другие изменения, которые стоит упомянуть, можно увидеть в " "меню выбора плагинов. Теперь пользователь может отобразить в окне только те " "плагины, которые посчитает необходимыми." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Библиотека Boost более не является зависимостью. Ценой данного решения " "является небольшое изменение структуры предустановок. Имея немного терпения, " "можно отредактировать предустановки PulseEffects в любом текстовом " "редакторе, чтобы сделать их совместимыми с EasyEffects. Надеемся, кто-нибудь " "создаст скрипт для автоматизации данной возможности." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Наличие некоторых новых библиотек, ранее считавшиеся опциональными, теперь " "является обязательным" #~ msgid "This release adds the following features:" #~ msgstr "Этот выпуск привносит следующие возможности:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Этот выпуск исправляет следующие ошибки:" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "вкладка больше не показывает шкалу громкости. Подробнее о проблеме и её " #~ "решении можно узнать в #1211" #~ msgid "and #1427" #~ msgstr "и #1427" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "наш канал обработки был активен, и виджет спектра отображался" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Появился новый параметр, позволяющая пользователю выбирать тайм-аут " #~ "бездействия для канала обработки. Когда ни один клиент не играет" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "или записывает с наших устройств, фильтры будут отключены после " #~ "достижения тайм-аута. Это делается для уверенности в том, что" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "не тратится мощность процессора на обработку тишины." #~ msgid "mean." #~ msgstr "геометрического." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Это поможет избегать случаев, когда «встроенная» громкость навсегда " #~ "застревает на одном и том же значении." #~ msgid "This release fixes the following bug:" #~ msgstr "В этом выпуске исправлены следующие ошибки:" #~ msgid "This release adds the following feature:" #~ msgstr "Этот выпуск добавляет следующие возможности:" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "менеджера управления сессиями PipeWire. Больше информации в отчете [1144]" #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Потерянные системные значки теперь не должны отображаться внутри " #~ "пользовательского интерфейса приложения" #~ msgid "a look at and" #~ msgstr "и опробуйте их" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Эквалайзер, компрессор и прочие звуковые эффекты" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "лимитер;компрессор;ребербатор;эквалайзер;автогромкость;" #~ msgid "\"Presets\"" #~ msgstr "\"Предустановки\"" #~ msgid "Enable" #~ msgstr "Включить" #~ msgid "Exclude" #~ msgstr "Исключить" #~ msgid "Mute Application" #~ msgstr "Заглушить Приложение" #~ msgid "Application Volume" #~ msgstr "Громкость Приложения" #~ msgid "_Preferences" #~ msgstr "_Настройки" #~ msgid "_Manual" #~ msgstr "_Руководство" #~ msgid "_Shortcuts" #~ msgstr "_Горячие клавиши" #~ msgid "_Reset Settings" #~ msgstr "_Сброс настроек" #~ msgid "_About EasyEffects" #~ msgstr "_О программе EasyEffects" #~ msgid "Presets" #~ msgstr "Предустановки" #~ msgid "Presets Menu" #~ msgstr "Меню предустановок" #~ msgid "Global Bypass" #~ msgstr "Общий обход" #~ msgid "Primary Menu" #~ msgstr "Главное меню" #~ msgid "EasyEffects Window" #~ msgstr "Окно EasyEffects" #~ msgid "Applications List" #~ msgstr "Список приложений" #~ msgid "Empty List" #~ msgstr "Пустой список" #~ msgid "No Audio Application Available" #~ msgstr "Нет доступных приложений аудио" #~ msgid "Target" #~ msgstr "Целевая громкость" #~ msgid "Maximum History" #~ msgstr "Исторически максимальный" #~ msgid "Reference" #~ msgstr "База" #~ msgid "Momentary" #~ msgstr "Моментальные измерения" #~ msgid "Short-Term" #~ msgstr "Краткосрочные измерения" # Время интеграции — это величина, характеризующая быстродействие измерителя. # https://tech.ebu.ch/docs/factsheets/Factsheet-R128-2011-RUS.pdf # В документе выше переводчик перевел 'Integrated' как 'Интегрированные', # хотя сам же написал, что это "измерения от начала до конца" # Яндекс.Переводчик перевел лучше — "Комплексные измерения" #~ msgid "Integrated" #~ msgstr "Комплексные измерения" #~ msgid "Geometric Mean (MSI)" #~ msgstr "Среднее геометрическое (MSI)" #~ msgid "Geometric Mean (MS)" #~ msgstr "Среднее геометрическое (MS)" #~ msgid "Geometric Mean (MI)" #~ msgstr "Среднее геометрическое (MI)" #~ msgid "Geometric Mean (SI)" #~ msgstr "Среднее геометрическое (SI)" # #, fuzzy #~ msgid "Reset History" #~ msgstr "Сброс истории" #~ msgid "Relative" #~ msgstr "Относительное значение" # ??? Не уверен в переводе #~ msgid "Range" #~ msgstr "Диапазон" #~ msgid "Loudness" #~ msgstr "Громкость" #~ msgid "Output Gain" #~ msgstr "Усиление выхода" # ############################################### # https://github.com/wwmm/easyeffects/pull/289 # Left here for future thinking # msgid "Influence of measurements with momentary integration time" # msgstr "Влияние измерений с моментальным временем интеграции" # msgid "Influence of measurements with short integration time" # msgstr "Влияние измерений с малым временем интеграции" # msgid "Influence of integrated measurements" # msgstr "Влияние комплексных измерений" # ############################################### #~ msgid "Input" #~ msgstr "Вход" #~ msgid "Plugin Input Gain" #~ msgstr "Усиление входа" #~ msgid "Output" #~ msgstr "Выход" #~ msgid "Plugin Output Gain" #~ msgstr "Усиление выхода" #~ msgid "Reset" #~ msgstr "Сброс" #~ msgid "Using" #~ msgstr "Используется" # #, fuzzy #~ msgid "Device" #~ msgstr "Устройство" #~ msgid "Name" #~ msgstr "Название" #~ msgid "Profile" #~ msgstr "Профиль" #~ msgid "Preset" #~ msgstr "Предустановка" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Удалить автозагрузку предустановки" #~ msgid "Listen" #~ msgstr "Прослушать" #~ msgid "Blend Harmonics" #~ msgstr "Смешение гармоник" #~ msgid "3rd" #~ msgstr "3-ий" #~ msgid "2nd" #~ msgstr "2-ой" #~ msgid "Amount" #~ msgstr "Величина" #~ msgid "Harmonics" #~ msgstr "Гармоники" #~ msgid "Scope" #~ msgstr "Диапазон частот" #~ msgid "Floor" #~ msgstr "Нижний порог" #~ msgid "Floor Value" #~ msgstr "Величина нижнего порога" #~ msgid "Link" #~ msgstr "Указатель" #~ msgid "Application Name" #~ msgstr "Название приложения" #~ msgid "Add to Excluded Applications" #~ msgstr "Добавить в чёрный список приложений" #~ msgid "Excluded Applications List" #~ msgstr "Чёрный список приложений" #~ msgid "Show Excluded Applications" #~ msgstr "Отобразить чёрный список приложений" #~ msgid "Compressor" #~ msgstr "Компрессор" #~ msgid "Mode" #~ msgstr "Режим" #~ msgid "Downward" #~ msgstr "Нисходящий" #~ msgid "Upward" #~ msgstr "Восходящий" #~ msgid "Boosting" #~ msgstr "Усиление" #~ msgid "Compression Mode" #~ msgstr "Режим сжатия" #~ msgid "Boost Threshold" #~ msgstr "Порог усиления" #~ msgid "Boost Amount" #~ msgstr "Величина Усиления" #~ msgid "Attack" #~ msgstr "Атака" #~ msgid "Time" #~ msgstr "Время" #~ msgid "Threshold" #~ msgstr "Порог срабатывания" #~ msgid "Attack Time" #~ msgstr "Время атаки" #~ msgid "Attack Threshold" #~ msgstr "Порог атаки" #~ msgid "Release" #~ msgstr "Восстановление" #~ msgid "Release Time" #~ msgstr "Время восстановления" #~ msgid "Release Threshold" #~ msgstr "Порог восстановления" #~ msgid "Ratio" #~ msgstr "Степень сжатия" #~ msgid "Knee" #~ msgstr "Колено (излом)" #~ msgid "Makeup" #~ msgstr "Усиление вверх" # #, fuzzy #~ msgid "Sidechain" #~ msgstr "Сайдчейн" #~ msgid "Peak" #~ msgstr "Пик" #~ msgid "RMS" #~ msgstr "RMS (среднеквадратичный уровень сигнала)" #~ msgid "Low-Pass" #~ msgstr "Фильтр НЧ" #~ msgid "Uniform" #~ msgstr "Равномерно" # #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Режим сайдчейна" # #, fuzzy #~ msgid "Source" #~ msgstr "Источник" #~ msgid "Middle" #~ msgstr "Средний" # #, fuzzy #~ msgid "Side" #~ msgstr "Боковой" #~ msgid "Left" #~ msgstr "Левый" #~ msgid "Right" #~ msgstr "Правый" # #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Источник сайдчейна" #~ msgid "Type" #~ msgstr "Тип" #~ msgid "Feed-forward" #~ msgstr "Прямая связь" #~ msgid "Feed-back" #~ msgstr "Обратная связь" #~ msgid "External" #~ msgstr "Внешний" # #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Тип сайдчейна" # #, fuzzy #~ msgid "Input Device" #~ msgstr "Устройство ввода" #~ msgid "PreAmplification" #~ msgstr "Предусиление" #~ msgid "Reactivity" #~ msgstr "Скорость реакции" #~ msgid "Lookahead" #~ msgstr "Задержка (lookahead)" # #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Фильтры сайдчейна" #~ msgid "High-Pass" #~ msgstr "Фильтр ВЧ" #~ msgid "Frequency" #~ msgstr "Частота" #~ msgid "Off" #~ msgstr "Откл" #~ msgid "12 dB/oct" #~ msgstr "12 Дб/окт" #~ msgid "24 dB/oct" #~ msgstr "24 Дб/окт" #~ msgid "36 dB/oct" #~ msgstr "36 Дб/окт" #~ msgid "High-Pass Filter Mode" #~ msgstr "Режим высокочастотного фильтра" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Частота высокочастотного фильтра" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Режим низкочастотного фильтра" #~ msgid "Gain" #~ msgstr "Усиление" #~ msgid "Envelope" #~ msgstr "Огибающая" #~ msgid "Curve" #~ msgstr "Кривая" #~ msgid "L" #~ msgstr "Л" #~ msgid "Left Channel" #~ msgstr "Левый Канал" #~ msgid "R" #~ msgstr "П" #~ msgid "Right Channel" #~ msgstr "Правый Канал" #~ msgid "Impulses" #~ msgstr "Импульсы" #~ msgid "Combine" #~ msgstr "Объединить" #~ msgid "Stereo Width" #~ msgstr "Ширина стерео" #~ msgid "Spectrum" #~ msgstr "Спектр" #~ msgid "Log Scale" #~ msgstr "Логарифмическая шкала" #~ msgid "Autogain" #~ msgstr "Нормализация громкости" #~ msgid "Rate" #~ msgstr "Частота" #~ msgid "Samples" #~ msgstr "Образцы" #~ msgid "Duration" #~ msgstr "Длительность" #~ msgid "Combine Impulse Responses" #~ msgstr "Объединить импульсные характеристики" #~ msgid "First Kernel" #~ msgstr "Первое ядро" #~ msgid "Second Kernel" #~ msgstr "Второе ядро" #~ msgid "Output File Name" #~ msgstr "Имя файла на выходе" #~ msgid "Combined Kernel Name" #~ msgstr "Имя суммарного ядра" #~ msgid "Import Impulse" #~ msgstr "Импортировать импульс" #~ msgid "Search" #~ msgstr "Поиск" #~ msgid "Search Impulse File" #~ msgstr "Поиск файла импульса" #~ msgid "Impulse Files List" #~ msgstr "Список файлов импульса" #~ msgid "Default" #~ msgstr "По умолчанию" #~ msgid "Cutoff" #~ msgstr "Усечение" #~ msgid "Feed" #~ msgstr "Подача" #~ msgid "Bypass" #~ msgstr "Обход" #~ msgid "Mute" #~ msgstr "Приглушить" #~ msgid "Detection" #~ msgstr "Определение" #~ msgid "Wide" #~ msgstr "Ширина" #~ msgid "Split" #~ msgstr "Частота раздела" #~ msgid "F1 Split" #~ msgstr "Ч1 раздела" #~ msgid "Frequency 1 Split" #~ msgstr "Частота 1 раздела" #~ msgid "F2 Peak" #~ msgstr "Ч1 пик" #~ msgid "Frequency 2 Peak" #~ msgstr "Частота 2 пик" #~ msgid "F1 Gain" #~ msgstr "Ч1 усиление" #~ msgid "Frequency 1 Gain" #~ msgstr "Частота 1 усиление" #~ msgid "F2 Level" #~ msgstr "Ч2 уровень" #~ msgid "Frequency 2 Level" #~ msgstr "Частота 2 уровень" #~ msgid "F2 Peak Q" #~ msgstr "Ч2 пик добротности" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Частота 2 пик добротности" #~ msgid "Laxity" #~ msgstr "Допуск на срабатывание" #~ msgid "Detected" #~ msgstr "Определено" #~ msgid "Reduction" #~ msgstr "Ослабление" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Frame Size" #~ msgstr "Размер кадра" #~ msgid "Filter Length" #~ msgstr "Длина фильтра" #~ msgid "Excluded Apps" #~ msgstr "Приложения чёрного списка" #~ msgid "Bands" #~ msgstr "Число полос" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Разделить каналы" #~ msgid "Flat Response" #~ msgstr "Плоская АЧХ" #~ msgid "Calculate Frequencies" #~ msgstr "Подсчитать частоты" #~ msgid "Load APO Preset" #~ msgstr "Загрузить предустановку APO" #~ msgid "Bell" #~ msgstr "Колокол" #~ msgid "High Pass" #~ msgstr "Высокочастотный фильтр" #~ msgid "High Shelf" #~ msgstr "Высокочастотный полочный фильтр" #~ msgid "Low Pass" #~ msgstr "Фильтр низких частот" #~ msgid "Low Shelf" #~ msgstr "Низкочастотный полочный фильтр" #~ msgid "Notch" #~ msgstr "Вырез" #~ msgid "Resonance" #~ msgstr "Резонансы" #~ msgid "All Pass" #~ msgstr "Фазовый" #~ msgid "Band Type" #~ msgstr "Тип полосы" #~ msgid "Band Mode" #~ msgstr "Режим полосы" #~ msgid "Slope" #~ msgstr "Наклон" #~ msgid "Band Slope" #~ msgstr "Наклон полосы" #~ msgid "Width" #~ msgstr "Ширина" #~ msgid "Quality" #~ msgstr "Качество" #~ msgid "Solo" #~ msgstr "Соло" #~ msgid "Ceil" #~ msgstr "Потолок" #~ msgid "Ceil Value" #~ msgstr "Величина потолка" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "Доступ" #~ msgid "Description" #~ msgstr "Описание" #~ msgid "Remove this model file" #~ msgstr "Удалить этот файл модели" #~ msgid "12dB/oct Lowpass" #~ msgstr "12 дБ/окт фильтр НЧ" #~ msgid "24dB/oct Lowpass" #~ msgstr "24 дБ/окт фильтр НЧ" #~ msgid "36dB/oct Lowpass" #~ msgstr "36 дБ/окт фильтр НЧ" #~ msgid "12dB/oct Highpass" #~ msgstr "12 дБ/окт фильтр ВЧ" #~ msgid "24dB/oct Highpass" #~ msgstr "24 дБ/окт фильтр ВЧ" #~ msgid "36dB/oct Highpass" #~ msgstr "36 дБ/окт фильтр ВЧ" #~ msgid "6dB/oct Bandpass" #~ msgstr "6 дБ/окт полосовой" #~ msgid "12dB/oct Bandpass" #~ msgstr "12 дБ/окт полосовой" #~ msgid "18dB/oct Bandpass" #~ msgstr "18 дБ/окт полосовой" #~ msgid "6dB/oct Bandreject" #~ msgstr "6 дБ/окт полосно-заграждающий" #~ msgid "12dB/oct Bandreject" #~ msgstr "12 дБ/окт полосно-заграждающий" #~ msgid "18dB/oct Bandreject" #~ msgstr "18 дБ/окт полосно-заграждающий" #~ msgid "Inertia" #~ msgstr "Инертность" # http://wikisound.org/Гейт: шумовой гейт или просто гейт — это электронное устройство или плагин динамической обработки, который используется для контроля уровня звукового сигнала. Гейт пропускает или глушит сигнал в зависимости от установленного порогового значения. Он очень часто используется для подавления шума в паузах. #~ msgid "Gate" #~ msgstr "Шумовые ворота (гейт)" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Время восстановления" #, fuzzy #~ msgid "Internal" #~ msgstr "Внешний" #~ msgid "Gating" #~ msgstr "Гейтинг" #~ msgid "Oversampling" #~ msgstr "Передискретизация" #~ msgid "Dither" #~ msgstr "Подмешивание шума" #~ msgid "Herm Thin" #~ msgstr "Эрмит узкий" #~ msgid "Herm Wide" #~ msgstr "Эрмит широкий" #~ msgid "Herm Tail" #~ msgstr "Эрмит хвост" #~ msgid "Herm Duck" #~ msgstr "Эрмит нос" #~ msgid "Exp Thin" #~ msgstr "Эксп. узкий" #~ msgid "Exp Wide" #~ msgstr "Эксп. широкий" #~ msgid "Exp Tail" #~ msgstr "Эксп. хвост" #~ msgid "Exp Duck" #~ msgstr "Эксп. нос" #~ msgid "Line Thin" #~ msgstr "Лин. узкий" #~ msgid "Line Wide" #~ msgstr "Лин. широкий" #~ msgid "Line Tail" #~ msgstr "Лин. хвост" #~ msgid "Line Duck" #~ msgstr "Лин. нос" #~ msgid "None" #~ msgstr "Нет" #~ msgid "Half x2(2L)" #~ msgstr "Половинный x2(2L)" #~ msgid "Half x2(3L)" #~ msgstr "Половинный x2(3L)" #~ msgid "Half x3(2L)" #~ msgstr "Половинный x3(2L)" #~ msgid "Half x3(3L)" #~ msgstr "Половинный x3(3L)" #~ msgid "Half x4(2L)" #~ msgstr "Половинный x4(2L)" #~ msgid "Half x4(3L)" #~ msgstr "Половинный x4(3L)" #~ msgid "Half x6(2L)" #~ msgstr "Половинный x6(2L)" #~ msgid "Half x6(3L)" #~ msgstr "Половинный x6(3L)" #~ msgid "Half x8(2L)" #~ msgstr "Половинный x8(2L)" #~ msgid "Half x8(3L)" #~ msgstr "Половинный x8(3L)" #~ msgid "Full x2(2L)" #~ msgstr "Полный x2(2L)" #~ msgid "Full x2(3L)" #~ msgstr "Полный x2(3L)" #~ msgid "Full x3(2L)" #~ msgstr "Полный x3(2L)" #~ msgid "Full x3(3L)" #~ msgstr "Полный x3(3L)" #~ msgid "Full x4(2L)" #~ msgstr "Полный x4(2L)" #~ msgid "Full x4(3L)" #~ msgstr "Полный x4(3L)" #~ msgid "Full x6(2L)" #~ msgstr "Полный x6(2L)" #~ msgid "Full x6(3L)" #~ msgstr "Полный x6(3L)" #~ msgid "Full x8(2L)" #~ msgstr "Полный x8(2L)" #~ msgid "Full x8(3L)" #~ msgstr "Полный x8(3L)" #~ msgid "SC PreAmp" #~ msgstr "Усиление сайдчейна" #~ msgid "Sidechain PreAmplification" #~ msgstr "Предусиление сайдчейна" #~ msgid "Boost" #~ msgstr "Усиление" # В данном режиме «Компрессор» обрабатывает сигналы сразу двух каналов (стерео), уравнивая их уровни. #~ msgid "Stereo Link" #~ msgstr "Стереосвязка" # #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Внешняя Цепочка" #~ msgid "External Sidechain Source" #~ msgstr "Источник Внешней Цепочки" #~ msgid "Auto Leveling" #~ msgstr "Автовыравнивание" #~ msgid "Auto Leveling Attack" #~ msgstr "Атака автовыравнивания" #~ msgid "Auto Leveling Release" #~ msgstr "Восстановление автовыравнивания" #~ msgid "Auto Leveling Knee" #~ msgstr "Колено автовыравнивания" #~ msgid "Gain Left" #~ msgstr "Усиление левого" #~ msgid "Gain Right" #~ msgstr "Усиление правого" # #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Левый сайдчейн" # #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Правый сайдчейн" #~ msgid "Standard" #~ msgstr "Стандартный" #~ msgid "Flat" #~ msgstr "Плоский" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "FFT Size" #~ msgstr "Размер FFT" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Размер быстрого преобразования Фурье" #~ msgid "Output Volume" #~ msgstr "Громкость на выходе" #~ msgid "Ceiling" #~ msgstr "Верхний порог" #~ msgid "Operating Mode" #~ msgstr "Режим работы" #~ msgid "Classic" #~ msgstr "Классический" #~ msgid "Modern" #~ msgstr "Современный" # #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Усиление сайдчейна" #~ msgid "Pink BT" #~ msgstr "БП розового" #~ msgid "Pink MT" #~ msgstr "СП розового" #~ msgid "Brown BT" #~ msgstr "БП коричневого" #~ msgid "Brown MT" #~ msgstr "СП коричневого" #~ msgid "Bands List" #~ msgstr "Полосы" #~ msgid "Band 1" #~ msgstr "Полоса 1" #~ msgid "Band 2" #~ msgstr "Полоса 2" #~ msgid "Band 3" #~ msgstr "Полоса 3" #~ msgid "Band 4" #~ msgstr "Полоса 4" #~ msgid "Band 5" #~ msgstr "Полоса 5" #~ msgid "Band 6" #~ msgstr "Полоса 6" #~ msgid "Band 7" #~ msgstr "Полоса 7" #~ msgid "Band 8" #~ msgstr "Полоса 8" #~ msgid "Band Start" #~ msgstr "Начало полосы" #~ msgid "Band End" #~ msgstr "Конец полосы" #~ msgid "Band Compression Mode" #~ msgstr "Режим компрессии полосы" #~ msgid "Band Bypass" #~ msgstr "Обход полосы" # #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Параметры сайдчейна полосы" #~ msgid "Low-Cut Filter" #~ msgstr "Фильтр среза НЧ" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Частота фильтра среза НЧ" #~ msgid "High-Cut Filter" #~ msgstr "Фильтр среза ВЧ" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Частота фильтра среза ВЧ" #~ msgid "PreAmp" #~ msgstr "Предусиление" #~ msgid "Band Gain" #~ msgstr "Усиление полосы" #~ msgid "Band Envelope" #~ msgstr "Огибающая полосы" #~ msgid "Band Curve" #~ msgstr "Кривая полосы" #~ msgid "Split Mode" #~ msgstr "Режим раздела" #~ msgid "Split 1/2" #~ msgstr "Разделение 1/2" #~ msgid "Split Frequency 1" #~ msgstr "Частота раздела 1" #~ msgid "Split 2/3" #~ msgstr "Разделение 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Частота раздела 2" #~ msgid "Split 3/4" #~ msgstr "Разделение 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Частота раздела 3" #~ msgid "Sub Band" #~ msgstr "Подполоса" #~ msgid "Band 1 Bypass" #~ msgstr "Полоса 1 обход" #~ msgid "Band 1 Solo" #~ msgstr "Полоса 1 соло" #~ msgid "Band 1 Detection" #~ msgstr "Полоса 1 обнаружение" #~ msgid "Band 1 Attack" #~ msgstr "Полоса 1 атака" #~ msgid "Band 1 Release" #~ msgstr "Полоса 1 восстановление" #~ msgid "Band 1 Threshold" #~ msgstr "Полоса 1 порог" #~ msgid "Band 1 Ratio" #~ msgstr "Полоса 1 соотношение" #~ msgid "Band 1 Knee" #~ msgstr "Полоса 1 колено" #~ msgid "Band 1 Makeup" #~ msgstr "Полоса 1 усиление вверх" #~ msgid "Max Reduction" #~ msgstr "Максимум подавления" #~ msgid "Band 1 Max Reduction" #~ msgstr "Полоса 1 макс. подавление" #~ msgid "Low Band" #~ msgstr "Низкие частоты" #~ msgid "Band 2 Bypass" #~ msgstr "Полоса 2 обход" #~ msgid "Band 2 Solo" #~ msgstr "Полоса 2 соло" #~ msgid "Band 2 Detection" #~ msgstr "Полоса 2 обнаружение" #~ msgid "Band 2 Attack" #~ msgstr "Полоса 2 атака" #~ msgid "Band 2 Release" #~ msgstr "Полоса 2 восстановление" #~ msgid "Band 2 Threshold" #~ msgstr "Полоса 2 порог" #~ msgid "Band 2 Ratio" #~ msgstr "Полоса 2 соотношение" #~ msgid "Band 2 Knee" #~ msgstr "Полоса 2 колено" #~ msgid "Band 2 Makeup" #~ msgstr "Полоса 2 усиление вверх" #~ msgid "Band 2 Max Reduction" #~ msgstr "Полоса 2 макс. подавление" #~ msgid "Mid Band" #~ msgstr "Средние частоты" #~ msgid "Band 3 Bypass" #~ msgstr "Полоса 3 обход" #~ msgid "Band 3 Solo" #~ msgstr "Полоса 3 соло" #~ msgid "Band 3 Detection" #~ msgstr "Полоса 3 обнаружение" #~ msgid "Band 3 Attack" #~ msgstr "Полоса 3 атака" #~ msgid "Band 3 Release" #~ msgstr "Полоса 3 восстановление" #~ msgid "Band 3 Threshold" #~ msgstr "Полоса 3 порог" #~ msgid "Band 3 Ratio" #~ msgstr "Полоса 3 соотношение" #~ msgid "Band 3 Knee" #~ msgstr "Полоса 3 колено" #~ msgid "Band 3 Makeup" #~ msgstr "Полоса 3 усиление вверх" #~ msgid "Band 3 Max Reduction" #~ msgstr "Полоса 3 макс. подавление" #~ msgid "High Band" #~ msgstr "Высокие частоты" #~ msgid "Band 4 Bypass" #~ msgstr "Полоса 4 обход" #~ msgid "Band 4 Solo" #~ msgstr "Полоса 4 соло" #~ msgid "Band 4 Detection" #~ msgstr "Полоса 4 обнаружение" #~ msgid "Band 4 Attack" #~ msgstr "Полоса 4 атака" #~ msgid "Band 4 Release" #~ msgstr "Полоса 4 восстановление" #~ msgid "Band 4 Threshold" #~ msgstr "Полоса 4 порог" #~ msgid "Band 4 Ratio" #~ msgstr "Полоса 4 соотношение" #~ msgid "Band 4 Knee" #~ msgstr "Полоса 4 колено" #~ msgid "Band 4 Makeup" #~ msgstr "Полоса 4 усиление вверх" #~ msgid "Band 4 Max Reduction" #~ msgstr "Полоса 4 макс. подавление" #~ msgid "General" #~ msgstr "Общие" #~ msgid "Use Default Input" #~ msgstr "Использовать стандартный вход" # #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Выбрать устройство ввода" #~ msgid "Use Default Output" #~ msgstr "Использовать стандартный выход" #~ msgid "Custom Output Device" #~ msgstr "Выбрать устройство вывода" #~ msgid "Server Information" #~ msgstr "Информация о сервере" #~ msgid "Header Version" #~ msgstr "Версия оболочки" #~ msgid "Library Version" #~ msgstr "Версия библиотеки" #~ msgid "Sampling Rate" #~ msgstr "Частота дискретизации" #~ msgid "Minimum Quantum" #~ msgstr "Минимальное квантование" #~ msgid "Maximum Quantum" #~ msgstr "Максимальное квантование" #~ msgid "Default Quantum" #~ msgstr "Стандартное квантование" #~ msgid "Output Devices" #~ msgstr "Устройства вывода" #~ msgid "Output Presets" #~ msgstr "Предустановки выхода" #~ msgid "Create Association" #~ msgstr "Создать ассоциацию" #~ msgid "Add Autoloading Output Preset" #~ msgstr "Добавить в автозагрузку предустановку выхода" #~ msgid "Output Autoloading Presets List" #~ msgstr "Список автозагружаемых предустановок выхода" # #, fuzzy #~ msgid "Input Devices" #~ msgstr "Устройства ввода" #~ msgid "Input Presets" #~ msgstr "Предустановки входа" #~ msgid "Add Autoloading Input Preset" #~ msgstr "Добавить в автозагрузку предустановку входа" #~ msgid "Input Autoloading Presets List" #~ msgstr "Список автозагружаемых предустановок входа" #~ msgid "Modules" #~ msgstr "Модули" #~ msgid "Modules List" #~ msgstr "Список модулей" #~ msgid "Clients" #~ msgstr "Клиенты" #~ msgid "Clients List" #~ msgstr "Список клиентов" #~ msgid "Test Signal" #~ msgstr "Проверочный сигнал" #~ msgid "State" #~ msgstr "Состояние" #~ msgid "Enabled" #~ msgstr "Включено" #~ msgid "Properties" #~ msgstr "Свойства" #~ msgid "Channels" #~ msgstr "Каналы" #~ msgid "Both" #~ msgstr "Оба" #~ msgid "Both Channels" #~ msgstr "Оба канала" #~ msgid "Waveform" #~ msgstr "Форма волны" #~ msgid "Sine Wave" #~ msgstr "Синусоида" #~ msgid "White Noise" #~ msgstr "Белый шум" #~ msgid "High Speed" #~ msgstr "Высокая скорость" #~ msgid "High Quality" #~ msgstr "Высокое качество" #~ msgid "High Consistency" #~ msgstr "Высокая согласованность" #~ msgid "Formant" #~ msgstr "Форманта" #~ msgid "Shifted" #~ msgstr "Смещённый" #~ msgid "Preserved" #~ msgstr "Сохраняемый" #~ msgid "Transients" #~ msgstr "Переходные звуки" #~ msgid "Crisp" #~ msgstr "Чёткость" #~ msgid "Mixed" #~ msgstr "Смешанный" #~ msgid "Smooth" #~ msgstr "Гладкий" #~ msgid "Detector" #~ msgstr "Детектор" #~ msgid "Compound" #~ msgstr "Составной" #~ msgid "Percussive" #~ msgstr "Ударный" #~ msgid "Soft" #~ msgstr "Мягкий" #~ msgid "Phase" #~ msgstr "Фаза" #~ msgid "Laminar" #~ msgstr "Ламинарный" #~ msgid "Independent" #~ msgstr "Независимый" #~ msgid "Cents" #~ msgstr "Центы" #~ msgid "Semitones" #~ msgstr "Полутона" #~ msgid "Octaves" #~ msgstr "Октавы" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Удалить этот файл модели" #~ msgid "Add Effect" #~ msgstr "Добавить эффект" #~ msgid "Used Plugins List" #~ msgstr "Список используемых плагинов" #~ msgid "No Effects" #~ msgstr "Без эффектов" #~ msgid "Audio Stream Not Modified" #~ msgstr "Аудиопоток не изменён" #~ msgid "Search Plugin" #~ msgstr "Найти плагин" #~ msgid "Plugins List" #~ msgstr "Список плагинов" #~ msgid "_General" #~ msgstr "_Общие" # #, fuzzy #~ msgid "Service" #~ msgstr "Служба" #~ msgid "Launch Service at System Startup" #~ msgstr "Запускать службу при старте системы" #~ msgid "Shutdown on Window Closing" #~ msgstr "Завершать работу при закрытии окна" #~ msgid "Audio" #~ msgstr "Аудио" #~ msgid "Process All Output Streams" #~ msgstr "Обрабатывать все выходные потоки" #~ msgid "Process All Input Streams" #~ msgstr "Обрабатывать все входные потоки" #~ msgid "Ignore Streams from Monitor of Devices" #~ msgstr "Игнорировать потоки с монитора устройств" #~ msgid "Use Cubic Volume" #~ msgstr "Использовать кубическую громкость" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "Сбрасывать громкость виртуальных устройств EasyEffects при запуске" #~ msgid "Inactivity Timeout" #~ msgstr "Тайм-аут бездействия" #~ msgid "Style" #~ msgstr "Стиль" #~ msgid "Use Dark Theme" #~ msgstr "Использовать тёмную тему" #~ msgid "Hide Menus on Outside Clicks" #~ msgstr "Скрывать меню по щелчку вне фокуса" #~ msgid "_Spectrum" #~ msgstr "_Спектр" #~ msgid "Shape" #~ msgstr "Форма" #~ msgid "Bars" #~ msgstr "Полосы" #~ msgid "Lines" #~ msgstr "Линии" #~ msgid "Dots" #~ msgstr "Точки" #~ msgid "Points" #~ msgstr "Пункты" #~ msgid "Height" #~ msgstr "Высота" #~ msgid "Line Width" #~ msgstr "Ширина линии" #~ msgid "Fill" #~ msgstr "Заполнять" #~ msgid "Show Bars Border" #~ msgstr "Отобразить границы полос" #~ msgid "Rounded Corners" #~ msgstr "Скруглённые углы" #~ msgid "Color" #~ msgstr "Цвет" #~ msgid "Lines and Bars" #~ msgstr "Линии и полосы" #~ msgid "Axis Labels" #~ msgstr "Разметка осей" #~ msgid "Frequency Range" #~ msgstr "Диапазон частот" #~ msgid "Minimum" #~ msgstr "Минимум" #~ msgid "Maximum" #~ msgstr "Максимум" #~ msgid "Load" #~ msgstr "Загрузить" #~ msgid "Save current settings to this preset file" #~ msgstr "Сохранить текущие настройки в этот файл предустановки" #~ msgid "Remove this preset file" #~ msgstr "Удалить этот файл с предустановками" #~ msgid "New Output Preset Name" #~ msgstr "Имя новой предустановки выхода" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Создать предустановку" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Импорт предустановки" #~ msgid "Search Output Preset" #~ msgstr "Поиск предустановки выхода" #~ msgid "Output Presets List" #~ msgstr "Список предустановок выхода" #~ msgid "New Input Preset Name" #~ msgstr "Имя новой предустановки входа" #~ msgid "Search Input Preset" #~ msgstr "Поиск предустановки входа" #~ msgid "Input Presets List" #~ msgstr "Список предустановок входа" #~ msgid "High Frequency Damping" #~ msgstr "Высокочастотное демпфирование" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Room Size" #~ msgstr "Размер комнаты" #~ msgid "Small" #~ msgstr "Маленькая" #~ msgid "Medium" #~ msgstr "Средняя" #~ msgid "Large" #~ msgstr "Огромная" #~ msgid "Tunnel" #~ msgstr "Туннель" #~ msgid "Large/smooth" #~ msgstr "Большой/плавный" #~ msgid "Experimental" #~ msgstr "Экспериментальный" #~ msgid "Diffusion" #~ msgstr "Диффузия" #~ msgid "Pre Delay" #~ msgstr "Предзадержка" #~ msgid "Decay Time" #~ msgstr "Время распада" #~ msgid "Wet Amount" #~ msgstr "Влажность" #~ msgid "Wet Level" #~ msgstr "Уровень влаж." #~ msgid "Dry Amount" #~ msgstr "Сухость" #~ msgid "Dry Level" #~ msgstr "Уровень сух." #~ msgid "Bass Cut" #~ msgstr "Срез басов" #~ msgid "Treble Cut" #~ msgstr "Срез тембра" #~ msgid "Ambience" #~ msgstr "Окр. среда" #~ msgid "Empty Walls" #~ msgstr "Пустые стены" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Room" #~ msgstr "Комната" #~ msgid "Large Empty Hall" #~ msgstr "Большой пустой зал" #~ msgid "Disco" #~ msgstr "Диско" #~ msgid "Large Occupied Hall" #~ msgstr "Большой занятый чем-то зал" #~ msgid "Import Model" #~ msgstr "Импортировать модель" #~ msgid "Models" #~ msgstr "Модели" #~ msgid "Standard Model" #~ msgstr "Стандартная модель" #~ msgid "RNNoise Models List" #~ msgstr "Список моделей RNNoise" #~ msgid "Active Model" #~ msgstr "Активная модель" #~ msgid "Standard RNNoise Model" #~ msgstr "Стандартная модель RNNoise" # #, fuzzy #~ msgid "Overview" #~ msgstr "Обзор" #~ msgid "Open the EasyEffects Manual" #~ msgstr "Открыть руководство EasyEffects" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Полноэкраный режим / выйти из полного экрана" #~ msgid "Close the Window" #~ msgstr "Закрыть окно" #~ msgid "Quit EasyEffects" #~ msgstr "Выход из EasyEffects" #~ msgid "Balance" #~ msgstr "Баланс" #~ msgid "Input Balance" #~ msgstr "Баланс входа" #~ msgid "Softclip" #~ msgstr "Софтклиппер" #~ msgid "Softclip Level" #~ msgstr "Уровень софтклипа" #~ msgid "Stereo Matrix" #~ msgstr "Матрица стерео" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "ЛП > ЛП (стерео по умолчанию)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "Стерео > Моно-Раздельно" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "Моно-Раздельно > Стерео" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "Стерео > Моно левый канал" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "Стерео > Моно правый канал" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "Стерео > Моно левый+правый каналы" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "Стерео > Поменять каналы местами" #~ msgid "Stereo Mode" #~ msgstr "Режим стерео" #~ msgid "Invert Phase" #~ msgstr "Инвертировать фазу" #~ msgid "Side Level" #~ msgstr "Боковой уровень" #~ msgid "Side Balance" #~ msgstr "Боковой баланс" #~ msgid "Middle Level" #~ msgstr "Средний уровень" #~ msgid "Middle Panorama" #~ msgstr "Срединная панорама" #~ msgid "Output Balance" #~ msgstr "Баланс выхода" #~ msgid "Delay L/R" #~ msgstr "Задержка Л/П" #~ msgid "Delay Left Right" #~ msgstr "Задержка левый правый" #~ msgid "Stereo Base" #~ msgstr "Стерео база" #~ msgid "Stereo Phase" #~ msgstr "Стерео фаза" #~ msgid "Running" #~ msgstr "Выполняется" #~ msgid "Suspended" #~ msgstr "Приостановлено" #~ msgid "Idle" #~ msgstr "Простаивает" #~ msgid "Creating" #~ msgstr "Создание" #~ msgid "Error" #~ msgstr "Ошибка" #~ msgid "Unknown" #~ msgstr "Неизвестно" #~ msgid "channels" #~ msgstr "каналы" #~ msgid "Output Presets: " #~ msgstr "Предустановки выхода: " #~ msgid "Input Presets: " #~ msgstr "Предустановки входа: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Звуковые эффекты для приложений PipeWire" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Выход из EasyEffects. Полезно при запуске в режиме службы." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Загрузить предустановку. Пример: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Сброс настроек EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Скрыть окно." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Глобальный обход. 1 — включить, 2 — отключить, 3 — получение статуса" #~ msgid "Show available presets." #~ msgstr "Показать доступные предустановки." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Список файлов импульса" #~ msgid "Import Impulse File" #~ msgstr "Импортировать файл импульса" #~ msgid "Open" #~ msgstr "Открыть" #~ msgid "Cancel" #~ msgstr "Отмена" #~ msgid "Impulse Response" #~ msgstr "Импульсная реакция" #~ msgid "Load Impulse" #~ msgstr "Загрузить импульс" #~ msgid "Remove Impulse" #~ msgstr "Удалить Импульс" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Список файлов импульса" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Не удалось загрузить файл импульса" #~ msgid "Recorders" #~ msgstr "Рекордеры" #~ msgid "Players" #~ msgstr "Проигрыватели" #~ msgid "Effects" #~ msgstr "Эффекты" #~ msgid "infinity" #~ msgstr "бесконечно" #~ msgid "Import APO Preset File" #~ msgstr "Импортировать файл предустановки APO" #~ msgid "APO Presets" #~ msgstr "Предустановки APO" #~ msgid "Remove Autoloading Preset" #~ msgstr "Удалить автозагрузку предустановки" #~ msgid "Remove" #~ msgstr "Удалить" #~ msgid "Output Device" #~ msgstr "Устройство вывода" #~ msgid "Add" #~ msgstr "Добавить" #~ msgid "Import Preset" #~ msgstr "Импорт предустановки" #~ msgid "Import Model File" #~ msgstr "Импорт файла модели" #~ msgid "RNNoise Models" #~ msgstr "Модели RNNoise" # Энхансер (он же Эксайтер) — это прибор, который генерирует высшие гармоники низких частот, благодаря чему повышается локализация низких частот и их «читаемость». # «Бас-Энхансер» или «Глубокий бас» #~ msgid "Bass Enhancer" #~ msgstr "Усиление басов (бас-энхансер)" #~ msgid "Bass Loudness" #~ msgstr "Громкость баса" #~ msgid "Convolver" #~ msgstr "Конвольвер" #~ msgid "Crossfeed" #~ msgstr "Перекрёстная подача" #~ msgid "Crystalizer" #~ msgstr "Кристаллизатор" # http://wikisound.org/Деэссер; предназначен для уменьшения или устранения избыточно шипящих звуков в записи человеческого голоса #~ msgid "Deesser" #~ msgstr "Антишипение (деэссер)" #~ msgid "Delay" #~ msgstr "Задержка" #~ msgid "Echo Canceller" #~ msgstr "Эхоподавление" #~ msgid "Equalizer" #~ msgstr "Эквалайзер" #~ msgid "Exciter" #~ msgstr "Эксайтер" #~ msgid "Filter" #~ msgstr "Фильтр" #~ msgid "Limiter" #~ msgstr "Ограничитель уровня звука (лимитер)" #~ msgid "Maximizer" #~ msgstr "Максимизатор" #~ msgid "Multiband Compressor" #~ msgstr "Многополосный компрессор" #~ msgid "Multiband Gate" #~ msgstr "Многополосные шумовые ворота" #~ msgid "Pitch" #~ msgstr "Высота тона" #~ msgid "Reverberation" #~ msgstr "Реверберация" #~ msgid "Noise Reduction" #~ msgstr "Подавление шума" #~ msgid "Stereo Tools" #~ msgstr "Стереокорректоры" #~ msgid "Average" #~ msgstr "Средняя" #~ msgid "Failed" #~ msgstr "Не удалось" #~ msgid "Use Default" #~ msgstr "Установить по умолчанию" #~ msgid "Remove this plugin" #~ msgstr "Удалить этот плагин" #~ msgid "Import Presets" #~ msgstr "Импорт предустановок" #~ msgid "Start Service at Login" #~ msgstr "Запуск службы при запуске" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Сброс громкости устройств при запуске" #~ msgid "Activate" #~ msgstr "Активировать" #~ msgid "Add to Blocklist" #~ msgstr "Добавить в чёрный список" #~ msgid "Blocklist" #~ msgstr "Чёрный список" #~ msgid "Add Plugin" #~ msgstr "Добавить плагин" #~ msgid "Speakers" #~ msgstr "Динамики" #~ msgid "Microphone" #~ msgstr "Микрофон" #~ msgid "Plugins" #~ msgstr "Плагины" #, fuzzy #~ msgid "enabled" #~ msgstr "Включено" #, fuzzy #~ msgid "disabled" #~ msgstr "Включено" #~ msgid "Format" #~ msgstr "Формат" #~ msgid "Latency" #~ msgstr "Задержка" #~ msgid "idle" #~ msgstr "простаивание" #~ msgid "Faster" #~ msgstr "Быстрее" #~ msgid "Preserve Formant" #~ msgstr "Сохранить формат" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Усиление выхода" #~ msgid "Channel" #~ msgstr "Канал" #, fuzzy #~ msgid "Value" #~ msgstr "Нижний порог" #~ msgid "Output Effects" #~ msgstr "Эффекты для вывода звука" #~ msgid "Settings" #~ msgstr "Настройки" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Настройки" #, fuzzy #~ msgid "Documentation" #~ msgstr "Продолжительность" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Проверочный сигнал" #~ msgid "Signal" #~ msgstr "Сигнал" #~ msgid "Show Spectrum" #~ msgstr "Показывать спектр" #~ msgid "Border" #~ msgstr "Граница" #~ msgid "Spectrum Type" #~ msgstr "Тип спектра" #~ msgid "Spectrum Color" #~ msgstr "Цвет спектра" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Активная модель" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Увеличение ослабления" #, fuzzy #~ msgid "Wet" #~ msgstr "Вес в расчете громкости" #~ msgid "Dry" #~ msgstr "Влажность" #~ msgid "S/C Level" #~ msgstr "Уровень Раздельный/Центр" #~ msgid "Phase Correlation" #~ msgstr "Корреляция фазы" #~ msgid "Short Term" #~ msgstr "Короткие измерения" #~ msgid "Id" #~ msgstr "Id" #~ msgid "Low-pass" #~ msgstr "Низкочастотный фильтр" #~ msgid "Preamp" #~ msgstr "Предусилитель" #~ msgid "Run in Background" #~ msgstr "Запускать в фоновом режиме" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Настройка громкости и вкл/откл эффектов" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Содержит эквалайзер с предустановками" #~ msgid "Input Limiter" #~ msgstr "Ограничитель ввода" #~ msgid "Calibration" #~ msgstr "Калибровка" #~ msgid "Limit" #~ msgstr "Ограничение" #~ msgid "ASC" #~ msgstr "Адаптивное управление наклоном" #~ msgid "Attenuation" #~ msgstr "Затухание" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Аудиоэффекты для приложений PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Аудиоэффекты для приложений PulseAudio" #~ msgid "Help" #~ msgstr "Справка" #~ msgid "Calibration Microphone" #~ msgstr "Калибровка корректировки микрофона" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Автоматически применять этот набор предустановок, когда текущее звукое " #~ "устройство подключают к системе" #, fuzzy #~ msgid "Version" #~ msgstr "Версия" #~ msgid "Sine" #~ msgstr "Синусоида" #~ msgid "Square" #~ msgstr "Квадратный" #~ msgid "Saw" #~ msgstr "Пилообразный" #~ msgid "Triangle" #~ msgstr "Треугольный" #~ msgid "Silence" #~ msgstr "Тишина" #~ msgid "Pink Noise" #~ msgstr "Розовый шум" #~ msgid "Ticks" #~ msgstr "Тики" #~ msgid "Gaussian Noise" #~ msgstr "Гауссовский шум" #~ msgid "Red Noise" #~ msgstr "Красный шум" #~ msgid "Blue Noise" #~ msgstr "Голубой шум" #~ msgid "Violet Noise" #~ msgstr "Фиолетовый шум" #~ msgid "Volume" #~ msgstr "Громкость" #~ msgid "Window" #~ msgstr "Окно" #~ msgid "Measure Noise" #~ msgstr "Измерение шума" #~ msgid "Subtract Noise" #~ msgstr "Вычетание шума" #~ msgid "Extended Filter" #~ msgstr "Расширенный фильтр" #~ msgid "Low" #~ msgstr "Низкочастотный фильтр" #~ msgid "Moderate" #~ msgstr "Средний" #~ msgid "High" #~ msgstr "Высокий" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Уровень подавления" #~ msgid "Delay Agnostic" #~ msgstr "Задержка" #~ msgid "Very High" #~ msgstr "Очень высокий" #~ msgid "Noise Suppressor" #~ msgstr "Простой шумодав" # # TODO: Mode/Режим заменить на "Режим сжатия" #~ msgid "Adaptive Digital" #~ msgstr "Адаптивное цифровое сжатие" #~ msgid "Fixed Digital" #~ msgstr "Фиксированное цифровое сжатие" #~ msgid "Gain Controller" #~ msgstr "Автоконтроль усиления (AGC)" #~ msgid "Detection Likelihood" #~ msgstr "Вероятность обнаружения" #~ msgid "Very Low" #~ msgstr "Очень низкий" #~ msgid "Voice Detector" #~ msgstr "Обнаруживатель голоса" #~ msgid "Use Custom Color" #~ msgstr "Использовать свой цвет" #~ msgid "Use Gradient" #~ msgstr "Использовать градиент" #~ msgid "Gradient Color" #~ msgstr "Цвет градиента" #~ msgid "Import Impulse Response File" #~ msgstr "Импортировать файл импульсной реакции" #~ msgid "Select the impulse Response File" #~ msgstr "Выбрать файл с импульсной реакцией" #~ msgid "Aggressive Mode" #~ msgstr "Агрессивный режим" #~ msgid "Before" #~ msgstr "До" #~ msgid "After" #~ msgstr "После" #~ msgid "Loudness Range" #~ msgstr "Диапазон громкости" #~ msgid "Apply" #~ msgstr "Применить" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Частота дискретизации по умолчанию" #~ msgid "Default Source" #~ msgstr "Устройство ввода по умолчанию" #~ msgid "Server" #~ msgstr "Сервер" #~ msgid "File" #~ msgstr "Файл" #~ msgid "Configuration" #~ msgstr "Параметры" #, fuzzy #~ msgid "server" #~ msgstr "Сервер" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Подсчитать частоты" # #, fuzzy #, fuzzy #~ msgid "Advanced" #~ msgstr "Параметры" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Предустановки" #~ msgid "Detect Silence" #~ msgstr "Определять тишину" #~ msgid "Muted" #~ msgstr "Приглушенный" #~ msgid "Distant Headphones" #~ msgstr "Находящиеся далеко наушники" #~ msgid "Priority Type" #~ msgstr "Тип приоритета процесса" #~ msgid "Niceness" #~ msgstr "Приоритет процесса (nice)" #~ msgid "Priority" #~ msgstr "Приоритет" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Частота" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Частота" #~ msgid "About" #~ msgstr "О программе" #~ msgid "Protocol" #~ msgstr "Версия протокола сервера" #~ msgid "Default Sample Format" #~ msgstr "Спецификация отсчётов по умолчанию" #~ msgid "Channel Mapping" #~ msgstr "Схема каналов" #~ msgid "Resamplers" #~ msgstr "Ресемплеры" #~ msgid "Buffer" #~ msgstr "Буфер" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Эквалайзер - Выход" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Block Size" #~ msgstr "Размер блока" #~ msgid "Resampler" #~ msgstr "Ресемплер" #~ msgid "paused" #~ msgstr "на паузе" #~ msgid "playing" #~ msgstr "воспроизводится" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Импортировать предустановки" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Увеличение ослабления" #~ msgid "Exponent" #~ msgstr "Степень" easyeffects-7.1.7/po/news/sk.po000066400000000000000000002301511463533416400164110ustar00rootroot00000000000000# Slovak translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Mlocik97 , 2020. # Jose Riha , 2021. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Zvukové efekty pre aplikácie využívajúce PipeWire" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects je pokročilý nástroj pre úpravu zvuku. Obsahuje ekvalizér, " "obmedzovač, kompresor, nástroj ozveny a množstvo ďalších efektov. Pre " "doplnenie je napríklad zabudovaný aj analyzátor spektra." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 #, fuzzy msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "EasyEffects je následovník PulseEffects. EasyEffects podporuje len zvukový " "server PipeWire. Použivatelia PulseAudio by mali používať PulseEffects." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Pretože EasyEffects štandardne používa zvukový server PulseWire, funguje s " "väčšinou (ak nie so všetkými) aplikácií. Všetky podprované programy sú " "zobrazené v hlavnom okne, kde je ich možné individuálne povoliť." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Popri práci s úpravou výstupného zvuku, EasyEffects je možné použiť aj na " "úpravu vstupných zvukov z mikrofónu. To môžete využiť napríklad pri " "nahrávaní, ale funguje to dobre aj pri audiohovoroch." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Keď je EasyEffects spustený, zapamätá si posledné používané nastavenia. " "Taktiež je možné uložiť všetky aktuálne nastavenia ako profily." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "Hlavná stránka ukazujújca dve výstupové aplikácie." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 #, fuzzy msgid "Improved presets autoloading." msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 #, fuzzy msgid "Improved translations" msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 #, fuzzy msgid "Many translation updates" msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #, fuzzy #~ msgid "and #1427" #~ msgstr "Pásma" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "neplýtvame výkonom procesora počas ticha." #~ msgid "mean." #~ msgstr "geometrický priemer." #~ msgid "This release adds the following feature:" #~ msgstr "Toto vydanie pridáva následujúcu vlastnosť:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ekvalizér, kompresor a ďalšie audio efekty" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "obmedzovač;kompresor;ozvena;ekvalizér;automatická hlasitosť;" #~ msgid "\"Presets\"" #~ msgstr "\"Predvoľby\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Povolené" #, fuzzy #~ msgid "Mute Application" #~ msgstr "Aplikácie" #, fuzzy #~ msgid "Application Volume" #~ msgstr "Aplikácie" #, fuzzy #~ msgid "_Preferences" #~ msgstr "Referenčný Signál" #, fuzzy #~ msgid "_Shortcuts" #~ msgstr "Krátkodobá" #, fuzzy #~ msgid "_Reset Settings" #~ msgstr "Nastavenia" #, fuzzy #~ msgid "_About EasyEffects" #~ msgstr "Vstupné efekty" #~ msgid "Presets" #~ msgstr "Predvoľby" #, fuzzy #~ msgid "Presets Menu" #~ msgstr "Predvoľby" #~ msgid "Global Bypass" #~ msgstr "Globálne premostenie" #, fuzzy #~ msgid "EasyEffects Window" #~ msgstr "PulseEffects" #, fuzzy #~ msgid "Applications List" #~ msgstr "Aplikácie" #, fuzzy #~ msgid "Empty List" #~ msgstr "Prázdne steny" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Aplikácie" #~ msgid "Target" #~ msgstr "Cieľ" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Maximálna" #, fuzzy #~ msgid "Reference" #~ msgstr "Referenčný Signál" #~ msgid "Momentary" #~ msgstr "Okamžitá" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Krátkodobá" #~ msgid "Integrated" #~ msgstr "Integrovaná" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Použiť geometrický priemer" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Použiť geometrický priemer" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Použiť geometrický priemer" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Použiť geometrický priemer" #~ msgid "Reset History" #~ msgstr "Vymazať históriu" #~ msgid "Relative" #~ msgstr "Relatívna" #~ msgid "Range" #~ msgstr "Rozsah" #~ msgid "Loudness" #~ msgstr "Hlasitosť" #~ msgid "Output Gain" #~ msgstr "Výstupný Zisk" #~ msgid "Input" #~ msgstr "Vstup" #, fuzzy #~ msgid "Plugin Input Gain" #~ msgstr "Výstupný Zisk" #~ msgid "Output" #~ msgstr "Výstup" #, fuzzy #~ msgid "Plugin Output Gain" #~ msgstr "Výstupný Zisk" #~ msgid "Reset" #~ msgstr "Obnoviť pôvodné hodnoty" #~ msgid "Name" #~ msgstr "Názov" #, fuzzy #~ msgid "Preset" #~ msgstr "Predvoľby" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Odstrániť predvoľbu" #~ msgid "Listen" #~ msgstr "Počúvať" #~ msgid "Blend Harmonics" #~ msgstr "Miešať harmonické kmity" #~ msgid "3rd" #~ msgstr "3." #~ msgid "2nd" #~ msgstr "2." #~ msgid "Amount" #~ msgstr "Množstvo" #~ msgid "Harmonics" #~ msgstr "Harmonickosť" #~ msgid "Scope" #~ msgstr "Rozsah" #~ msgid "Floor" #~ msgstr "Spodná hranica" #, fuzzy #~ msgid "Floor Value" #~ msgstr "Spodná hranica" #, fuzzy #~ msgid "Application Name" #~ msgstr "Aplikácie" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Zobraziť aplikácie zo zoznamu blokovaných na hlavnej karte" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Aplikácie" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Zobraziť aplikácie zo zoznamu blokovaných na hlavnej karte" #~ msgid "Compressor" #~ msgstr "Kompresor" #~ msgid "Mode" #~ msgstr "Režim" #~ msgid "Downward" #~ msgstr "Dole" #~ msgid "Upward" #~ msgstr "Hore" #~ msgid "Compression Mode" #~ msgstr "Mód kompresora" #~ msgid "Boost Threshold" #~ msgstr "Zvýrazniť prah" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Množstvo" #~ msgid "Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Time" #~ msgstr "V reálnom čase" #~ msgid "Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Prah" #~ msgid "Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Release Time" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Relatívny prah uvoľnenia" #~ msgid "Ratio" #~ msgstr "Pomer" #~ msgid "Knee" #~ msgstr "Prechod" #~ msgid "Makeup" #~ msgstr "Pozdvihnutie" #~ msgid "Sidechain" #~ msgstr "Postranný reťazec" #~ msgid "Peak" #~ msgstr "Vrchol" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Dolná priepusť" #~ msgid "Uniform" #~ msgstr "Rovnomerný" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Postranný reťazec" #~ msgid "Source" #~ msgstr "Zdroj" #~ msgid "Middle" #~ msgstr "Stredný" #~ msgid "Side" #~ msgstr "Postranný" #~ msgid "Left" #~ msgstr "Ľavý" #~ msgid "Right" #~ msgstr "Pravý" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Postranný reťazec" #~ msgid "Type" #~ msgstr "Typ" #~ msgid "Feed-forward" #~ msgstr "Kanál-Vpred" #~ msgid "Feed-back" #~ msgstr "Kanál-Vzad" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Postranný reťazec" #, fuzzy #~ msgid "Input Device" #~ msgstr "Obmedzovač na vstupe" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Predzosilnenie" #~ msgid "Reactivity" #~ msgstr "Reaktivita" #~ msgid "Lookahead" #~ msgstr "Výhľad" #, fuzzy #~ msgid "Sidechain Filters" #~ msgstr "Postranný reťazec" #, fuzzy #~ msgid "High-Pass" #~ msgstr "Horné pásmo" #~ msgid "Frequency" #~ msgstr "Frekvencia" #~ msgid "Off" #~ msgstr "Vyp" #~ msgid "12 dB/oct" #~ msgstr "Nízka pásmová priepusť 12dB/okt" #~ msgid "24 dB/oct" #~ msgstr "Nízka pásmová priepusť 24dB/okt" #~ msgid "36 dB/oct" #~ msgstr "Nízka pásmová priepusť 36dB/okt" #, fuzzy #~ msgid "High-Pass Filter Mode" #~ msgstr "Režim filtra vysokej priepuste" #, fuzzy #~ msgid "High-Pass Filter Frequency" #~ msgstr "Frekvencia vysokej priepuste" #, fuzzy #~ msgid "Low-Pass Filter Mode" #~ msgstr "Režim filtra vysokej priepuste" #~ msgid "Gain" #~ msgstr "Zisk" #, fuzzy #~ msgid "Envelope" #~ msgstr "Sklon" #~ msgid "Curve" #~ msgstr "Krivka" #~ msgid "L" #~ msgstr "Ľ" #, fuzzy #~ msgid "Left Channel" #~ msgstr "Kanály" #~ msgid "R" #~ msgstr "P" #, fuzzy #~ msgid "Right Channel" #~ msgstr "Rozdeliť kanály" #, fuzzy #~ msgid "Impulses" #~ msgstr "Odpoveď impulzu" #~ msgid "Stereo Width" #~ msgstr "Šírka sterea" #~ msgid "Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Mierka" #, fuzzy #~ msgid "Autogain" #~ msgstr "Automatická hlasitosť" #~ msgid "Rate" #~ msgstr "Kmitočet" #~ msgid "Samples" #~ msgstr "Vzorky" #~ msgid "Duration" #~ msgstr "Trvanie" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Odpoveď impulzu" #, fuzzy #~ msgid "Output File Name" #~ msgstr "Výstup" #~ msgid "Import Impulse" #~ msgstr "Importovať impulz" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Načítať súbor impulzu" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Načítať súbor impulzu" #~ msgid "Default" #~ msgstr "Predvolený" #~ msgid "Cutoff" #~ msgstr "Zrezanie" #~ msgid "Feed" #~ msgstr "Kanál" #~ msgid "Bypass" #~ msgstr "Premostiť" #~ msgid "Mute" #~ msgstr "Stíšený" #~ msgid "Detection" #~ msgstr "Detekcia" #~ msgid "Wide" #~ msgstr "Široký" #~ msgid "Split" #~ msgstr "Rozdeliť" #~ msgid "F1 Split" #~ msgstr "Rozdeliť F1" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Frekvencia" #~ msgid "F2 Peak" #~ msgstr "Vrchol F2" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Frekvencia" #~ msgid "F1 Gain" #~ msgstr "Zisk F1" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Frekvencia" #~ msgid "F2 Level" #~ msgstr "Úroveň F2" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Frekvencia" #~ msgid "F2 Peak Q" #~ msgstr "F2 vrchol Q" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frekvencia" #~ msgid "Laxity" #~ msgstr "Nedbanlivosť" #~ msgid "Detected" #~ msgstr "Zistené" #, fuzzy #~ msgid "Reduction" #~ msgstr "Redukcia" #~ msgid "Frame Size" #~ msgstr "Veľkosť rámca" #, fuzzy #~ msgid "Filter Length" #~ msgstr "Filter" #~ msgid "Bands" #~ msgstr "Pásma" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "Split Channels" #~ msgstr "Rozdeliť kanály" #~ msgid "Flat Response" #~ msgstr "Vyhladiť" #~ msgid "Calculate Frequencies" #~ msgstr "Vypočítať frekvencie" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "APO predvoľby" #~ msgid "Bell" #~ msgstr "Zvonček" #~ msgid "High Pass" #~ msgstr "Horné pásmo" #~ msgid "High Shelf" #~ msgstr "Horný prah" #~ msgid "Low Pass" #~ msgstr "Spodné pásmo" #~ msgid "Low Shelf" #~ msgstr "Spodný prah" #~ msgid "Notch" #~ msgstr "Zárez" #~ msgid "Resonance" #~ msgstr "Rezonancia" #, fuzzy #~ msgid "All Pass" #~ msgstr "Dolné Pásmo" #, fuzzy #~ msgid "Band Type" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Pásma" #~ msgid "Slope" #~ msgstr "Sklon" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Sklon" #~ msgid "Width" #~ msgstr "Šírka" #~ msgid "Quality" #~ msgstr "Kvalita" #~ msgid "Solo" #~ msgstr "Sólo" #, fuzzy #~ msgid "Ceil" #~ msgstr "Strop" #, fuzzy #~ msgid "Description" #~ msgstr "Detekcia" #, fuzzy #~ msgid "Remove this model file" #~ msgstr "Odstrániť predvoľbu" #~ msgid "12dB/oct Lowpass" #~ msgstr "Nízka pásmová priepusť 12dB/okt" #~ msgid "24dB/oct Lowpass" #~ msgstr "Nízka pásmová priepusť 24dB/okt" #~ msgid "36dB/oct Lowpass" #~ msgstr "Nízka pásmová priepusť 36dB/okt" #~ msgid "12dB/oct Highpass" #~ msgstr "Vysoká pásmová priepusť 12dB/okt" #~ msgid "24dB/oct Highpass" #~ msgstr "Vysoká pásmová priepusť 24dB/okt" #~ msgid "36dB/oct Highpass" #~ msgstr "Vysoká pásmová priepusť 36dB/okt" #~ msgid "6dB/oct Bandpass" #~ msgstr "Pásmová priepusť 6dB/okt" #~ msgid "12dB/oct Bandpass" #~ msgstr "Pásmová priepusť 12dB/okt" #~ msgid "18dB/oct Bandpass" #~ msgstr "Pásmová priepusť 18dB/okt" #~ msgid "6dB/oct Bandreject" #~ msgstr "Vylúčenie pásma 6dB/okt" #~ msgid "12dB/oct Bandreject" #~ msgstr "Vylúčenie pásma 12dB/okt" #~ msgid "18dB/oct Bandreject" #~ msgstr "Vylúčenie pásma 18dB/okt" #~ msgid "Inertia" #~ msgstr "Zotrvačnosť" #~ msgid "Gate" #~ msgstr "Brána" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Internal" #~ msgstr "Integrovaná" #~ msgid "Gating" #~ msgstr "Hradlo" #~ msgid "Oversampling" #~ msgstr "Prevzorkovanie" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Široký" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Široký" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Šírka čiary" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Šírka čiary" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Šírka čiary" #~ msgid "None" #~ msgstr "Žiadny" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Predzosilnenie" #~ msgid "Stereo Link" #~ msgstr "Spojenie sterea" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Postranný reťazec" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Automatické úrovne" #, fuzzy #~ msgid "Auto Leveling Attack" #~ msgstr "Automatické úrovne" #, fuzzy #~ msgid "Auto Leveling Release" #~ msgstr "Automatické úrovne" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "Automatické úrovne" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Ľavý" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Pravý" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Postranný reťazec" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Postranný reťazec" #~ msgid "Standard" #~ msgstr "Štandardný" #~ msgid "Flat" #~ msgstr "Rovný" #~ msgid "FFT Size" #~ msgstr "Veľkosť FFT" #, fuzzy #~ msgid "Output Volume" #~ msgstr "Výstup" #~ msgid "Ceiling" #~ msgstr "Strop" #, fuzzy #~ msgid "Operating Mode" #~ msgstr "Importovať model" #, fuzzy #~ msgid "Modern" #~ msgstr "Režim" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Postranný reťazec" #, fuzzy #~ msgid "Bands List" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 5" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 6" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 7" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 8" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band End" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band Compression Mode" #~ msgstr "Mód kompresora" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band Sidechain Options" #~ msgstr "Postranný reťazec" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Režim filtra nízkej priepuste" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Režim filtra nízkej priepuste" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Horný prechod" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Horný prechod" #, fuzzy #~ msgid "Band Gain" #~ msgstr "Vstupné Zosilnenie" #, fuzzy #~ msgid "Band Curve" #~ msgstr "Krivka" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Rozdeliť" #~ msgid "Split 1/2" #~ msgstr "Rozdeliť 1/2" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Frekvencia" #~ msgid "Split 2/3" #~ msgstr "Rozdeliť 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frekvencia" #~ msgid "Split 3/4" #~ msgstr "Rozdeliť 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frekvencia" #~ msgid "Sub Band" #~ msgstr "Spodné pásmo" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Pozdvihnutie" #~ msgid "Max Reduction" #~ msgstr "Redukcia" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Redukcia zosilnenia" #~ msgid "Low Band" #~ msgstr "Nízke pásmo" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Pozdvihnutie" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redukcia zosilnenia" #~ msgid "Mid Band" #~ msgstr "Stredné pásmo" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Pozdvihnutie" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redukcia zosilnenia" #~ msgid "High Band" #~ msgstr "Vysoké pásmo" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Pozdvihnutie" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redukcia zosilnenia" #~ msgid "General" #~ msgstr "Všeobecné" #, fuzzy #~ msgid "Use Default Input" #~ msgstr "Použiť predvolený" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Obmedzovač na vstupe" #, fuzzy #~ msgid "Use Default Output" #~ msgstr "Použiť predvolený" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Výstupné efekty" #, fuzzy #~ msgid "Server Information" #~ msgstr "Ozvena (reverb)" #, fuzzy #~ msgid "Header Version" #~ msgstr "Verzia" #, fuzzy #~ msgid "Library Version" #~ msgstr "Verzia" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Predvolená rýchlosť vzorkovania" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Minimálna frekvencia" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Maximálny zisk" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Predvolené Zoslabnutie" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Výstupné efekty" #~ msgid "Output Presets" #~ msgstr "Výstupné predvoľby:" #~ msgid "Output Autoloading Presets List" #~ msgstr "Výstupné predvoľby:" #, fuzzy #~ msgid "Input Devices" #~ msgstr "Obmedzovač na vstupe" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Vstupné predvoľby: " #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Vstupné predvoľby: " #~ msgid "Modules" #~ msgstr "Moduly" #, fuzzy #~ msgid "Modules List" #~ msgstr "Moduly" #~ msgid "Clients" #~ msgstr "Klienti" #, fuzzy #~ msgid "Clients List" #~ msgstr "Klienti" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Skúšobné signály" #~ msgid "State" #~ msgstr "Stav" #, fuzzy #~ msgid "Enabled" #~ msgstr "Povolené" #~ msgid "Channels" #~ msgstr "Kanály" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Kanály" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Sínusová tabuľka" #~ msgid "White Noise" #~ msgstr "Biely šum" #, fuzzy #~ msgid "High Speed" #~ msgstr "Horný prah" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvalita" #, fuzzy #~ msgid "Formant" #~ msgstr "Formát" #, fuzzy #~ msgid "Preserved" #~ msgstr "Predvoľby" #, fuzzy #~ msgid "Crisp" #~ msgstr "Krehkosť" #, fuzzy #~ msgid "Detector" #~ msgstr "Detekcia" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresia" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Centy" #~ msgid "Semitones" #~ msgstr "Poltóny" #~ msgid "Octaves" #~ msgstr "Oktávy" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Odstrániť predvoľbu" #, fuzzy #~ msgid "Add Effect" #~ msgstr "Vstupné predvoľby: " #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "Všeobecné" #, fuzzy #~ msgid "Service" #~ msgstr "Server" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Spracovať všetky výstupy" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Spracovať všetky vstupy" #, fuzzy #~ msgid "Inactivity Timeout" #~ msgstr "Čas. limit aktivity" #~ msgid "Use Dark Theme" #~ msgstr "Použiť tmavý motív" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Spektrum" #~ msgid "Bars" #~ msgstr "Pruhy" #~ msgid "Lines" #~ msgstr "Čiary" #~ msgid "Points" #~ msgstr "Body" #~ msgid "Height" #~ msgstr "Výška" #~ msgid "Line Width" #~ msgstr "Šírka čiary" #~ msgid "Fill" #~ msgstr "Výplň" #, fuzzy #~ msgid "Color" #~ msgstr "Farba osi" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frekvencia" #, fuzzy #~ msgid "Minimum" #~ msgstr "Maximálna" #~ msgid "Maximum" #~ msgstr "Maximálna" #~ msgid "Load" #~ msgstr "Načítať" #~ msgid "Save current settings to this preset file" #~ msgstr "Uložiť aktuálne nastavenia do tejto predvoľby" #~ msgid "Remove this preset file" #~ msgstr "Odstrániť predvoľbu" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Výstupné predvoľby: " #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Vytvoriť predvoľbu" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Načítať predvoľbu" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Výstupné predvoľby: " #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Výstupné predvoľby: " #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Vstupné predvoľby: " #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Vstupné predvoľby: " #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Vstupné predvoľby: " #~ msgid "High Frequency Damping" #~ msgstr "Vysokofrekvenčné tlmenie" #~ msgid "Room Size" #~ msgstr "Veľkosť miestnosti" #~ msgid "Small" #~ msgstr "Malá" #~ msgid "Medium" #~ msgstr "Stredná" #~ msgid "Large" #~ msgstr "Veľká" #~ msgid "Tunnel" #~ msgstr "Tunel" #~ msgid "Large/smooth" #~ msgstr "Veľká/hladká" #~ msgid "Experimental" #~ msgstr "Experimentálna" #~ msgid "Diffusion" #~ msgstr "Rozptyl" #~ msgid "Pre Delay" #~ msgstr "Predoneskorenie" #~ msgid "Decay Time" #~ msgstr "Čas dozvuku" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Množstvo" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Cieľová úroveň" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Množstvo" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Úroveň F2" #~ msgid "Bass Cut" #~ msgstr "Odrezanie basov" #~ msgid "Treble Cut" #~ msgstr "Odrezanie výšok" #~ msgid "Ambience" #~ msgstr "Okolie" #~ msgid "Empty Walls" #~ msgstr "Prázdne steny" #~ msgid "Room" #~ msgstr "Miestnosť" #~ msgid "Large Empty Hall" #~ msgstr "Veľká miestnosť (prázdna)" #~ msgid "Disco" #~ msgstr "Disko" #~ msgid "Large Occupied Hall" #~ msgstr "Veľká miestnosť (plná)" #~ msgid "Import Model" #~ msgstr "Importovať model" #, fuzzy #~ msgid "Models" #~ msgstr "Režim" #, fuzzy #~ msgid "Standard Model" #~ msgstr "Štandardný model RNNoise" #, fuzzy #~ msgid "RNNoise Models List" #~ msgstr "Štandardný model RNNoise" #~ msgid "Active Model" #~ msgstr "Aktívny model" #~ msgid "Standard RNNoise Model" #~ msgstr "Štandardný model RNNoise" #, fuzzy #~ msgid "Overview" #~ msgstr "Server" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "Obnoviť PulseEffects" #, fuzzy #~ msgid "Close the Window" #~ msgstr "Skryť okno" #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "Vstupné efekty" #~ msgid "Balance" #~ msgstr "Vyváženie" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Vyváženie" #~ msgid "Softclip" #~ msgstr "Softclip" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Softclip" #~ msgid "Stereo Matrix" #~ msgstr "Stereo matica" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "ĽP > PĽ (štandardné Stereo)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "ĽP > SS (stereo ku strednej strane)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "SS > ĽP (stredná strana ku stereu)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "ĽP > ĽĽ (mono ľavý kanál)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "ĽP > PP (mono pravý kanál)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "ĽP > Ľ+P (mono sčítanie Ľ+P)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "ĽP > PĽ (stereo preklopené Kanály)" #~ msgid "Stereo Mode" #~ msgstr "Režim sterea" #~ msgid "Invert Phase" #~ msgstr "Preklopiť fázu" #~ msgid "Side Level" #~ msgstr "Úroveň strán" #~ msgid "Side Balance" #~ msgstr "Vyváženie strán" #~ msgid "Middle Level" #~ msgstr "Stredová úroveň" #~ msgid "Middle Panorama" #~ msgstr "Stredná paronáma" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Výstupný Zisk" #~ msgid "Delay L/R" #~ msgstr "Oneskorenie Ľ/P" #~ msgid "Delay Left Right" #~ msgstr "Oneskorenie Ľavo/Pravo" #~ msgid "Stereo Base" #~ msgstr "Základ sterea" #~ msgid "Stereo Phase" #~ msgstr "Fáza sterea" #, fuzzy #~ msgid "Running" #~ msgstr "beží" #, fuzzy #~ msgid "Suspended" #~ msgstr "pozastavené" #, fuzzy #~ msgid "Creating" #~ msgstr "vytváram" #, fuzzy #~ msgid "Error" #~ msgstr "chyba" #, fuzzy #~ msgid "channels" #~ msgstr "Kanály" #~ msgid "Output Presets: " #~ msgstr "Výstupné predvoľby: " #~ msgid "Input Presets: " #~ msgstr "Vstupné predvoľby: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Zvukové efekty pre aplikácie využívajúce PipeWire" #, fuzzy #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "Ukončiť PulseEffect. Užitočné pre beh v režime služby." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Načítať predvoľby. Napr.: easyffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "Obnoviť EasyEffects." #~ msgid "Hide the Window." #~ msgstr "Skryť okno." #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "" #~ "Globálne premostenie. 1 pre zapnutie, 2 pre vypnutie, 3 pre získanie stavu" #~ msgid "Show available presets." #~ msgstr "Zobraziť dostupné predvoľby." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Načítať súbor impulzu" #~ msgid "Import Impulse File" #~ msgstr "Načítať súbor impulzu" #~ msgid "Open" #~ msgstr "Otvoriť" #~ msgid "Cancel" #~ msgstr "Zrušiť" #~ msgid "Impulse Response" #~ msgstr "Odpoveď impulzu" #~ msgid "Load Impulse" #~ msgstr "Načítať impulz" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Importovať impulz" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Načítať súbor impulzu" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Nedá sa načítať súbor s impulzom" #, fuzzy #~ msgid "Recorders" #~ msgstr "Okraj" #~ msgid "Players" #~ msgstr "Prehrávače" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "nekonečno" #~ msgid "Import APO Preset File" #~ msgstr "Načítať APO predvoľbu" #~ msgid "APO Presets" #~ msgstr "APO predvoľby" #, fuzzy #~ msgid "Remove Autoloading Preset" #~ msgstr "Odstrániť predvoľbu" #, fuzzy #~ msgid "Output Device" #~ msgstr "Výstupné efekty" #~ msgid "Add" #~ msgstr "Pridať" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Načítať predvoľbu" #~ msgid "Import Model File" #~ msgstr "Importovať model zo súboru" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Štandardný model RNNoise" #~ msgid "Bass Enhancer" #~ msgstr "Vylepšovač hĺbok" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Hlasitosť" #~ msgid "Convolver" #~ msgstr "Zbaľovač" #~ msgid "Crossfeed" #~ msgstr "Prelínanie kanálov" #~ msgid "Crystalizer" #~ msgstr "Kryštalizátor" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Oneskorenie" #~ msgid "Echo Canceller" #~ msgstr "Rušenie ozveny" #~ msgid "Equalizer" #~ msgstr "Ekvalizér" #~ msgid "Exciter" #~ msgstr "Budič" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Limiter" #~ msgstr "Obmedzovač" #~ msgid "Maximizer" #~ msgstr "Zosilňovač" #~ msgid "Multiband Compressor" #~ msgstr "Viacpásmový kompresor" #~ msgid "Multiband Gate" #~ msgstr "Viacpásmová brána" #~ msgid "Pitch" #~ msgstr "Výška tónu" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Ozvena (reverb)" #~ msgid "Noise Reduction" #~ msgstr "Redukcia šumu" #~ msgid "Stereo Tools" #~ msgstr "Stereo nástroje" #~ msgid "Average" #~ msgstr "Priemerná" #~ msgid "Failed" #~ msgstr "Zlyhalo" #, fuzzy #~ msgid "Use Default" #~ msgstr "Použiť predvolený" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Odstrániť predvoľbu" #~ msgid "Import Presets" #~ msgstr "Načítať predvoľbu" #~ msgid "Start Service at Login" #~ msgstr "Spustiť službu pri prihlásení" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktívny model" #~ msgid "Add to Blocklist" #~ msgstr "Pridať na zoznam blokovaných" #~ msgid "Blocklist" #~ msgstr "Zoznam blokovaných" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibrovať mikrofón" #, fuzzy #~ msgid "enabled" #~ msgstr "Povolené" #, fuzzy #~ msgid "disabled" #~ msgstr "Povolené" #~ msgid "Format" #~ msgstr "Formát" #~ msgid "Latency" #~ msgstr "Odozva" #~ msgid "idle" #~ msgstr "nečinné" #~ msgid "running" #~ msgstr "beží" #~ msgid "suspended" #~ msgstr "pozastavené" #~ msgid "creating" #~ msgstr "vytváram" #~ msgid "error" #~ msgstr "chyba" #~ msgid "unknown" #~ msgstr "neznáme" #~ msgid "Faster" #~ msgstr "Rýchlo" #~ msgid "Preserve Formant" #~ msgstr "Zachovať zložku rozhodujúcu o farbe zvuku" #~ msgid "Cmoy" #~ msgstr "Slúchadlový zosilňovač (CMoy)" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Výstupný Zisk" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanály" #, fuzzy #~ msgid "Value" #~ msgstr "Spodná hranica" #, fuzzy #~ msgid "Output Effects" #~ msgstr "Výstupné efekty" #~ msgid "Settings" #~ msgstr "Nastavenia" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Nastavenia" #, fuzzy #~ msgid "Documentation" #~ msgstr "Trvanie" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Skúšobné signály" #, fuzzy #~ msgid "Signal" #~ msgstr "Skúšobné signály" #~ msgid "Show Spectrum" #~ msgstr "Zobraziť spektrum" #~ msgid "Border" #~ msgstr "Okraj" #~ msgid "Spectrum Type" #~ msgstr "Typ spektra" #~ msgid "Spectrum Color" #~ msgstr "Farba spektra" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Aktívny model" #~ msgid "Maximum Gain Reduction" #~ msgstr "Najvyššia redukcia zisku" #, fuzzy #~ msgid "Wet" #~ msgstr "Váhy" #~ msgid "Dry" #~ msgstr "Skúšobný" #~ msgid "S/C Level" #~ msgstr "S/C Úroveň" #~ msgid "Short Term" #~ msgstr "Krátkodobá" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Dolná priepusť" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Nastaviť hlasitosť a zapnúť/vypnúť efekty" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Zahŕňa ekvalizér s prednastavenými profilmi" #~ msgid "Input Limiter" #~ msgstr "Obmedzovač na vstupe" #~ msgid "Calibration" #~ msgstr "Kalibrácia" #~ msgid "Automatic Smoothing Control" #~ msgstr "Automatické vyhladenie" #~ msgid "Limit" #~ msgstr "Obmedzenie" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Zoslabenie" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Zvukové efekty pre aplikácie využívajúce PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Zvukové efekty pre aplikácie PulseAudio" #~ msgid "Help" #~ msgstr "Pomocník" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrovať mikrofón" #~ msgid "Based on" #~ msgstr "Na základe" #~ msgid "Detect Silence" #~ msgstr "Detekcia ticha" #~ msgid "Provided by" #~ msgstr "Poskytuje" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Znovu pripojiť mikrofón pre použitie zmien vykonaných v zozname " #~ "blokovaných" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "Reštartovať prehrávač, aby sa uplatnili zmeny v zozname blokovaných" #~ msgid "Sine" #~ msgstr "Sínus" #~ msgid "Square" #~ msgstr "Štvorec" #~ msgid "Saw" #~ msgstr "Píla" #~ msgid "Triangle" #~ msgstr "Trojuholník" #~ msgid "Silence" #~ msgstr "Ticho" #~ msgid "Pink Noise" #~ msgstr "Ružový Šum" #~ msgid "Ticks" #~ msgstr "Tiky" #~ msgid "Gaussian Noise" #~ msgstr "Gaussový šum" #~ msgid "Red Noise" #~ msgstr "Červený šum" #~ msgid "Blue Noise" #~ msgstr "Modrý šum" #~ msgid "Violet Noise" #~ msgstr "Fialový Šum" #~ msgid "Volume" #~ msgstr "Hlasitosť" #~ msgid "Window" #~ msgstr "Okno" #~ msgid "Measure Noise" #~ msgstr "Merať šum" #~ msgid "Subtract Noise" #~ msgstr "Odčítať šum" #~ msgid "Low-pass Frequency" #~ msgstr "Frekvencia nízkej priepuste" #~ msgid "Advanced" #~ msgstr "Pokročilé" #~ msgid "Import Impulse Response File" #~ msgstr "Importovať súbor s odpoveďou impulzu" #~ msgid "Select the impulse Response File" #~ msgstr "Vyberte súbor s odpoveďou impulzu" #~ msgid "Aggressive Mode" #~ msgstr "Agresívny režim" #~ msgid "Before" #~ msgstr "Pred" #~ msgid "After" #~ msgstr "Po" #~ msgid "Loudness Range" #~ msgstr "Dynamický Rozsah" #~ msgid "Apply APO Preset" #~ msgstr "Použiť APO predvoľby" #~ msgid "Apply" #~ msgstr "Použiť" #~ msgid "Muted" #~ msgstr "Stíšený" #~ msgid "Distant Headphones" #~ msgstr "Vzdialené slúchadlá" #~ msgid "Niceness" #~ msgstr "Hodnota nice" #~ msgid "Priority Type" #~ msgstr "Typ priority" #~ msgid "Priority" #~ msgstr "Priorita" #~ msgid "About" #~ msgstr "O programe" #~ msgid "Loudness Compensator" #~ msgstr "Kompenzácia hlasitosti" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automaticky použiť toto nastavenie, ak je aktuálne používané zariadenie " #~ "pripojené" #~ msgid "Default Source" #~ msgstr "Predvolený bdroj" #~ msgid "Protocol" #~ msgstr "Protokol" #~ msgid "Default Sample Format" #~ msgstr "Predvolený formát vzorkovania" #~ msgid "Channel Mapping" #~ msgstr "Priradenie kanála" #~ msgid "File" #~ msgstr "Súbor" #~ msgid "Configuration" #~ msgstr "Konfigurácia" #~ msgid "Resamplers" #~ msgstr "Prevzorkovače" #~ msgid "Pipeline Input" #~ msgstr "Pipeline vstup" #~ msgid "Buffer" #~ msgstr "Vyrovnávacia pamäť" #~ msgid "Pipeline Output" #~ msgstr "Pipeline výstup" #~ msgid "Block Size" #~ msgstr "Veľkosť bloku" #~ msgid "Use Custom Color" #~ msgstr "Použiť vlastnú Farbu" #~ msgid "Use Gradient" #~ msgstr "Použiť tieňovanie" #~ msgid "Sampling" #~ msgstr "Vzorkovanie" #~ msgid "Maximum Frequency" #~ msgstr "Maximálna frekvencia" #~ msgid "Gradient Color" #~ msgstr "Farba prechodu" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Extended Filter" #~ msgstr "Rozšírený filter" #~ msgid "Low" #~ msgstr "Nízky" #~ msgid "Moderate" #~ msgstr "Stredný" #~ msgid "High" #~ msgstr "Vysoký" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Redukcia zosilnenia" #~ msgid "Delay Agnostic" #~ msgstr "Absolútne oneskorenie" #~ msgid "Very High" #~ msgstr "Veľmi vysoká" #~ msgid "Noise Suppressor" #~ msgstr "Potlačenie šumu" #~ msgid "Adaptive Digital" #~ msgstr "Prispôsobivý digitálny" #~ msgid "Fixed Digital" #~ msgstr "Pevný digitálny" #~ msgid "Gain Controller" #~ msgstr "Ovládač zosilnenia" #~ msgid "Detection Likelihood" #~ msgstr "Pravdepodobnosť zistenia" #~ msgid "Very Low" #~ msgstr "Veľmi nízka" #~ msgid "Voice Detector" #~ msgstr "Detekcia reči" #~ msgid "Resampler" #~ msgstr "Prevzorkovač" #~ msgid "paused" #~ msgstr "pozastavené" #~ msgid "playing" #~ msgstr "hrá" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "Import APO Presets" #~ msgstr "Načítať APO predvoľbu" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Redukcia zosilnenia" #~ msgid "Exponent" #~ msgstr "Exponent" easyeffects-7.1.7/po/news/sv.po000066400000000000000000001743321463533416400164340ustar00rootroot00000000000000# Swedish translation of EasyEffects application. # Copyright (C) 2017 # This file is distributed under the same license as the easyeffects package. # Patrik Nilsson , 2017. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "Ljudeffekter för PipeWire-applikationer" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 #, fuzzy msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "EasyEffects är ett avancerat verktyg för manipulation av ljud. Det " "innehåller en ljudutjämnare (equalizer), ljudbegränsare (limiter), " "kompressor och ett efterklangsverktyg (eko), för att bara nämna några få. " "Där finns även en inbyggd frekvensanalysator som kompletterar dessa." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 #, fuzzy msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "Eftersom EasyEffects använder sig av standard PipeWire som ljudserver " "stödjer den de flesta, om inte alla, program du använder. Alla applikationer " "som stöds presenteras i huvudfönstret, där var och en kan aktiveras " "individuellt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 #, fuzzy msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Förutom att manipulera dina programs ljud kan EasyEffects tillämpa effekter " "på en ingångsenhet, såsom en mikrofon. Detta är exempelvis användbart vid " "ljudinspelning, men det fungerar även bra under röstsamtal." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 #, fuzzy msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "När EasyEffects startas kommer det ihåg konfigurationen som användes under " "den senaste sessionen. Det är också möjligt att spara alla aktuella " "inställningar som profiler." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "" #~ "limiter;begränsare;kompressor;eko;efterklang;equalizer;utjämnare;auto;" #~ "volym;" #~ msgid "\"Presets\"" #~ msgstr "\"Förinställningar\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Sinustabell" #~ msgid "Mute Application" #~ msgstr "Tysta applikationen" #~ msgid "Application Volume" #~ msgstr "Applikationsvolym" #~ msgid "_Reset Settings" #~ msgstr "_Återställ inställningar" #~ msgid "_About EasyEffects" #~ msgstr "_Om EasyEffects" #~ msgid "Presets" #~ msgstr "Profiler" #~ msgid "Presets Menu" #~ msgstr "Förinställningsmeny" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects-fönster" #~ msgid "Applications List" #~ msgstr "Applikationslista" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Applikationsnamn" #~ msgid "Target" #~ msgstr "Målvärde (dB)" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Frekvens (Hz)" #~ msgid "Reset History" #~ msgstr "Återställ historik" #~ msgid "Output Gain" #~ msgstr "Utgångsförstärkning (dB)" #~ msgid "Input" #~ msgstr "Ingång" #~ msgid "Plugin Input Gain" #~ msgstr "Plugin ingångsförstärkning (dB)" #~ msgid "Output" #~ msgstr "Utgång" #~ msgid "Plugin Output Gain" #~ msgstr "Plugin utgångsförstärkning (dB)" #~ msgid "Reset" #~ msgstr "Återställ" #~ msgid "Using" #~ msgstr "Använder" #~ msgid "Device" #~ msgstr "Enhet" #~ msgid "Name" #~ msgstr "Namn" #~ msgid "Profile" #~ msgstr "Profil" #~ msgid "Preset" #~ msgstr "Förinställning" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Ta bort denna modellfil" #~ msgid "Listen" #~ msgstr "Lyssna" #~ msgid "Application Name" #~ msgstr "Applikationsnamn" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Visa blocklistade applikationer" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Applikationslista" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Visa blocklistade applikationer" #~ msgid "Compressor" #~ msgstr "Kompressor" #~ msgid "Boosting" #~ msgstr "Förstärkning" #~ msgid "Compression Mode" #~ msgstr "Komprimeringsläge" #~ msgid "Boost Threshold" #~ msgstr "Tröskelvärde för förstärkning (dB)" #~ msgid "Boost Amount" #~ msgstr "Förstärkningsmängd" #~ msgid "Attack" #~ msgstr "Attack (ms)" #~ msgid "Threshold" #~ msgstr "Tröskelvärde (dB)" #~ msgid "Attack Time" #~ msgstr "Attacktid (ms)" #~ msgid "Attack Threshold" #~ msgstr "Tröskelvärde för attack (dB)" #~ msgid "Release" #~ msgstr "Släpp (s)" #~ msgid "Release Time" #~ msgstr "Tid för frisläppning (s)" #~ msgid "Release Threshold" #~ msgstr "Tröskelvärde för frisläppning (dB)" #~ msgid "Ratio" #~ msgstr "Förhållande (n:1)" #~ msgid "Knee" #~ msgstr "Knävärde (dB)" #~ msgid "Makeup" #~ msgstr "Makeup (dB)" #~ msgid "Sidechain" #~ msgstr "Sidokedja" #~ msgid "Peak" #~ msgstr "Topp" #~ msgid "Low-Pass" #~ msgstr "Lågpass" #~ msgid "Sidechain Mode" #~ msgstr "Sidokedjeläge" #~ msgid "Middle" #~ msgstr "Mitten" #~ msgid "Side" #~ msgstr "Sida" #~ msgid "Sidechain Source" #~ msgstr "Sidokedjekälla" #~ msgid "Feed-back" #~ msgstr "Respons" #~ msgid "Sidechain Type" #~ msgstr "Typ av sidokedja" #~ msgid "Input Device" #~ msgstr "Ingångsenhet" #~ msgid "PreAmplification" #~ msgstr "Förförstärkning" #~ msgid "Sidechain Filters" #~ msgstr "Sidokedjefilter" #~ msgid "High-Pass" #~ msgstr "Högpass" #~ msgid "Frequency" #~ msgstr "Frekvens (Hz)" #~ msgid "High-Pass Filter Mode" #~ msgstr "Högpassfilterläge" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Högpassfilterfrekvens" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Lågpassfilterläge" #~ msgid "Gain" #~ msgstr "Förstärkning" #~ msgid "L" #~ msgstr "V" #~ msgid "Left Channel" #~ msgstr "Vänster kanal" #~ msgid "R" #~ msgstr "H" #~ msgid "Right Channel" #~ msgstr "Höger kanal" #~ msgid "Impulses" #~ msgstr "Impulser" #~ msgid "Stereo Width" #~ msgstr "Stereobredd" #~ msgid "Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Autogain" #~ msgstr "Ingångsförstärkning (dB)" #~ msgid "Rate" #~ msgstr "Takt" #~ msgid "Samples" #~ msgstr "Prover" #~ msgid "Duration" #~ msgstr "Varaktighet" #~ msgid "Combine Impulse Responses" #~ msgstr "Kombinera impulssvar" #~ msgid "Output File Name" #~ msgstr "Utdatafilnamn" #~ msgid "Import Impulse" #~ msgstr "Importera impuls" #~ msgid "Search Impulse File" #~ msgstr "Sök impulsfil" #~ msgid "Impulse Files List" #~ msgstr "Lista över impulsfiler" #~ msgid "Cutoff" #~ msgstr "Gräns (Hz)" #~ msgid "Feed" #~ msgstr "Mata (dB)" #~ msgid "Detection" #~ msgstr "Upptäckt" #~ msgid "Frequency 1 Split" #~ msgstr "Frekvens 1 delning (Hz)" #~ msgid "F2 Peak" #~ msgstr "F2 topp" #~ msgid "Frequency 2 Peak" #~ msgstr "Frekvens 2 topp (Hz)" #~ msgid "F1 Gain" #~ msgstr "F1 förstärkning (dB)" #~ msgid "Frequency 1 Gain" #~ msgstr "Frekvens 1 förstärkning (Hz)" #~ msgid "F2 Level" #~ msgstr "F2 nivå" #~ msgid "Frequency 2 Level" #~ msgstr "Frekvens 2 nivå (Hz)" #~ msgid "F2 Peak Q" #~ msgstr "F2 topp Q" #~ msgid "Frequency 2 Peak Q" #~ msgstr "Frekvens 2 topp Q" #~ msgid "Detected" #~ msgstr "Upptäckt" #~ msgid "Reduction" #~ msgstr "Reduktion" #~ msgid "Frame Size" #~ msgstr "Ramstorlek" #~ msgid "Filter Length" #~ msgstr "Filterlängd" #~ msgid "Split Channels" #~ msgstr "Delade kanaler" #~ msgid "Flat Response" #~ msgstr "Platt respons" #~ msgid "Load APO Preset" #~ msgstr "Ladda APO-förinställning" #~ msgid "High Pass" #~ msgstr "Högpass" #~ msgid "High Shelf" #~ msgstr "Hög hylla" #~ msgid "Low Pass" #~ msgstr "Lågpass" #~ msgid "Low Shelf" #~ msgstr "Låg hylla" #~ msgid "All Pass" #~ msgstr "Lågpass" #~ msgid "Band Type" #~ msgstr "Bandtyp" #~ msgid "Band Mode" #~ msgstr "Bandläge" #~ msgid "Width" #~ msgstr "Bredd" #~ msgid "Quality" #~ msgstr "Kvalitet" #~ msgid "Ceil" #~ msgstr "Tak (dB)" #~ msgid "Description" #~ msgstr "Beskrivning" #~ msgid "Remove this model file" #~ msgstr "Ta bort denna modellfil" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Tid för frisläppning (s)" #~ msgid "Line Thin" #~ msgstr "Linje tunn" #~ msgid "Line Wide" #~ msgstr "Linje bred" #~ msgid "Line Tail" #~ msgstr "Linje svans" #~ msgid "Sidechain PreAmplification" #~ msgstr "Sidokedjeförförstärkning" #~ msgid "Boost" #~ msgstr "Förstärkning" #~ msgid "Stereo Link" #~ msgstr "Stereolänk" #~ msgid "External Sidechain" #~ msgstr "Extern sidokedja" #~ msgid "Auto Leveling" #~ msgstr "Automatisk utjämning" #~ msgid "Auto Leveling Attack" #~ msgstr "Automatisk utjämningsattack" #~ msgid "Auto Leveling Release" #~ msgstr "Automatisk utjämningsutlösning" #~ msgid "Auto Leveling Knee" #~ msgstr "Automatisk knäutjämning" #~ msgid "Gain Left" #~ msgstr "Förstärkning vänster" #~ msgid "Sidechain Left" #~ msgstr "Sidokedja vänster" #~ msgid "Sidechain Right" #~ msgstr "Sidokedja höger" #~ msgid "FFT Size" #~ msgstr "FFT-storlek" #~ msgid "Output Volume" #~ msgstr "Utgångsvolym" #~ msgid "Ceiling" #~ msgstr "Tak" #~ msgid "Operating Mode" #~ msgstr "Driftläge" #~ msgid "Sidechain Boost" #~ msgstr "Sidokedjeförstärkning" #~ msgid "Bands List" #~ msgstr "Lista över band" #~ msgid "Band Compression Mode" #~ msgstr "Bandkomprimeringsläge" #~ msgid "Band Sidechain Options" #~ msgstr "Alternativ för bandsidokedja" #~ msgid "Low-Cut Filter" #~ msgstr "Lågklippt filter" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Lågklippt filterfrekvens" #~ msgid "High-Cut Filter" #~ msgstr "Högklippt filter" #~ msgid "High-Cut Filter Frequency" #~ msgstr "Högklippt filterfrekvens" #~ msgid "Band Gain" #~ msgstr "Bandförstärkning" #~ msgid "Split Mode" #~ msgstr "Delat läge" #~ msgid "Split Frequency 1" #~ msgstr "Delad frekvens 1" #~ msgid "Split Frequency 2" #~ msgstr "Delad frekvens 2" #~ msgid "Split Frequency 3" #~ msgstr "Delad frekvens 3" #~ msgid "Sub Band" #~ msgstr "Underband" #~ msgid "Band 1 Bypass" #~ msgstr "Förbikoppling av band 1" #~ msgid "Band 1 Solo" #~ msgstr "Band 1 solo" #~ msgid "Band 1 Detection" #~ msgstr "Band 1-detektering" #~ msgid "Band 1 Attack" #~ msgstr "Band 1 attack" #~ msgid "Band 1 Release" #~ msgstr "Band 1 släpp" #~ msgid "Band 1 Threshold" #~ msgstr "Band 1 tröskel" #~ msgid "Band 1 Ratio" #~ msgstr "Band 1-förhållande" #~ msgid "Band 1 Knee" #~ msgstr "Band 1 knä" #~ msgid "Band 1 Makeup" #~ msgstr "Band 1 sammansättning" #~ msgid "Max Reduction" #~ msgstr "Maximal minskning" #~ msgid "Band 1 Max Reduction" #~ msgstr "Band 1 max reduktion" #~ msgid "Low Band" #~ msgstr "Lågt band" #~ msgid "Band 2 Bypass" #~ msgstr "Förbikoppling av band 2" #~ msgid "Band 2 Solo" #~ msgstr "Band 2 solo" #~ msgid "Band 2 Detection" #~ msgstr "Band 2-detektering" #~ msgid "Band 2 Attack" #~ msgstr "Band 2 attack" #~ msgid "Band 2 Release" #~ msgstr "Band 2 släpp" #~ msgid "Band 2 Threshold" #~ msgstr "Tröskelvärde för band 2" #~ msgid "Band 2 Ratio" #~ msgstr "Band 2-förhållande" #~ msgid "Band 2 Knee" #~ msgstr "Band 2 knä" #~ msgid "Band 2 Makeup" #~ msgstr "Band 2 sammansättning" #~ msgid "Band 2 Max Reduction" #~ msgstr "Band 2 max reduktion" #~ msgid "Mid Band" #~ msgstr "Mittband" #~ msgid "Band 3 Bypass" #~ msgstr "Förbikoppling av band 3" #~ msgid "Band 3 Solo" #~ msgstr "Band 3 solo" #~ msgid "Band 3 Detection" #~ msgstr "Band 3-detektering" #~ msgid "Band 3 Attack" #~ msgstr "Band 3 attack" #~ msgid "Band 3 Release" #~ msgstr "Band 3 släpp" #~ msgid "Band 3 Threshold" #~ msgstr "Band 3 tröskelvärde" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Makeup (dB)" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "High Band" #~ msgstr "Högpass" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Release (s)" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Attack (ms)" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Release (s)" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Tröskelvärde (dB)" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Makeup (dB)" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Förstärkningsreducering" #~ msgid "General" #~ msgstr "Allmänt" #, fuzzy #~ msgid "Custom Input Device" #~ msgstr "Ingångs-begränsning" #, fuzzy #~ msgid "Custom Output Device" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Server Information" #~ msgstr "Efterljud (eko)" #, fuzzy #~ msgid "Sampling Rate" #~ msgstr "Resampler" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Output Devices" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Output Presets" #~ msgstr "Profiler" #, fuzzy #~ msgid "Output Autoloading Presets List" #~ msgstr "Profiler" #, fuzzy #~ msgid "Input Devices" #~ msgstr "Ingångs-begränsning" #, fuzzy #~ msgid "Input Presets" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Input Autoloading Presets List" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Test Signal" #~ msgstr "Testsignal" #, fuzzy #~ msgid "Enabled" #~ msgstr "Sinustabell" #~ msgid "Channels" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Both Channels" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Sine Wave" #~ msgstr "Sinustabell" #~ msgid "White Noise" #~ msgstr "Vitt brus" #, fuzzy #~ msgid "High Speed" #~ msgstr "Hög hylla" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvalitet" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Förinställning" #, fuzzy #~ msgid "Detector" #~ msgstr "Upptäckt" #, fuzzy #~ msgid "Compound" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Ta bort denna modellfil" #, fuzzy #~ msgid "Add Effect" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "_General" #~ msgstr "Allmänt" #, fuzzy #~ msgid "Service" #~ msgstr "Ingångs-begränsning" #~ msgid "Use Dark Theme" #~ msgstr "Använd mörkt tema" #, fuzzy #~ msgid "_Spectrum" #~ msgstr "Spektrum" #~ msgid "Points" #~ msgstr "Punkter" #, fuzzy #~ msgid "Line Width" #~ msgstr "Bredd" #, fuzzy #~ msgid "Frequency Range" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Minimum" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Save current settings to this preset file" #~ msgstr "Spara nuvarande inställningar som profil" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Profiler" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Ta bort profil" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Profiler" #, fuzzy #~ msgid "Output Presets List" #~ msgstr "Profiler" #, fuzzy #~ msgid "New Input Preset Name" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Search Input Preset" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Input Presets List" #~ msgstr "Öppna förinställning" #~ msgid "Room Size" #~ msgstr "Rumsstorlek" #, fuzzy #~ msgid "Small" #~ msgstr "Litet rum" #, fuzzy #~ msgid "Large" #~ msgstr "Målvärde (dB)" #, fuzzy #~ msgid "Pre Delay" #~ msgstr "Release (ms)" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Målvärde (dB)" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Nivå" #, fuzzy #~ msgid "Ambience" #~ msgstr "Tystnad" #, fuzzy #~ msgid "Room" #~ msgstr "Rumsstorlek" #, fuzzy #~ msgid "Import Model" #~ msgstr "Platt respons" #, fuzzy #~ msgid "Active Model" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Overview" #~ msgstr "Ingångs-begränsning" #, fuzzy #~ msgid "Open the EasyEffects Manual" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Balance" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Input Balance" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Nivå" #, fuzzy #~ msgid "Stereo Matrix" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "Kanaler" #, fuzzy #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Stereo Mode" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Side Level" #~ msgstr "Nivå" #, fuzzy #~ msgid "Side Balance" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Middle Level" #~ msgstr "Nivå" #, fuzzy #~ msgid "Middle Panorama" #~ msgstr "Panorama" #, fuzzy #~ msgid "Output Balance" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Delay L/R" #~ msgstr "Release (ms)" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Release (ms)" #, fuzzy #~ msgid "Stereo Base" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Stereo Phase" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Creating" #~ msgstr "Inställningar" #, fuzzy #~ msgid "channels" #~ msgstr "Kanaler" #~ msgid "Output Presets: " #~ msgstr "Utgångsförinställningar: " #~ msgid "Input Presets: " #~ msgstr "Ingångsförinställningar: " #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Ljudeffekter för PulseAudio applikationer" #~ msgid "Reset EasyEffects." #~ msgstr "Återställ EasyEffects." #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Lista över impulsfiler" #, fuzzy #~ msgid "Import Impulse File" #~ msgstr "Platt respons" #, fuzzy #~ msgid "Cancel" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Impulse Response" #~ msgstr "Platt respons" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Platt respons" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Platt respons" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Lista över impulsfiler" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Sök impulsfil" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Import APO Preset File" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "APO Presets" #~ msgstr "Profiler" #~ msgid "Remove" #~ msgstr "Ta bort" #, fuzzy #~ msgid "Output Device" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Import Preset" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Import Model File" #~ msgstr "Platt respons" #, fuzzy #~ msgid "RNNoise Models" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Bass Enhancer" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Crystalizer" #~ msgstr "Utjämnare" #, fuzzy #~ msgid "Delay" #~ msgstr "Release (ms)" #, fuzzy #~ msgid "Echo Canceller" #~ msgstr "Ljudförstärkare" #~ msgid "Equalizer" #~ msgstr "Utjämnare" #, fuzzy #~ msgid "Filter" #~ msgstr "Filter typ" #, fuzzy #~ msgid "Limiter" #~ msgstr "Gränsvärde (dB)" #, fuzzy #~ msgid "Multiband Compressor" #~ msgstr "Kompressor" #, fuzzy #~ msgid "Multiband Gate" #~ msgstr "Kompressor" #, fuzzy #~ msgid "Reverberation" #~ msgstr "Efterljud (eko)" #, fuzzy #~ msgid "Noise Reduction" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "Stereo Tools" #~ msgstr "Ljudförstärkare" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Import Presets" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Activate" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibrering och mikrofon korrigering" #, fuzzy #~ msgid "enabled" #~ msgstr "Sinustabell" #, fuzzy #~ msgid "disabled" #~ msgstr "Sinustabell" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latens" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Output Effects" #~ msgstr "Ingångs-begränsning" #~ msgid "Settings" #~ msgstr "Inställningar" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Inställningar" #, fuzzy #~ msgid "Documentation" #~ msgstr "Kalibrering" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Testsignal" #, fuzzy #~ msgid "Signal" #~ msgstr "Testsignal" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Spectrum Color" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "S/C Level" #~ msgstr "Nivå" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Lågpass" #~ msgid "Input Limiter" #~ msgstr "Ingångs-begränsning" #~ msgid "Calibration" #~ msgstr "Kalibrering" #, fuzzy #~ msgid "Limit" #~ msgstr "Gränsvärde (dB)" #~ msgid "Attenuation" #~ msgstr "Försvagning" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Ljudeffekter för PulseAudio applikationer" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Ljudeffekter för PulseAudio applikationer" #, fuzzy #~ msgid "Calibration Microphone" #~ msgstr "Kalibrering och mikrofon korrigering" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Fyrkant" #~ msgid "Saw" #~ msgstr "Sågtand" #~ msgid "Triangle" #~ msgstr "Triangel" #, fuzzy #~ msgid "Silence" #~ msgstr "Tystnad" #~ msgid "Pink Noise" #~ msgstr "Skärt brus" #~ msgid "Ticks" #~ msgstr "Tickande" #~ msgid "Gaussian Noise" #~ msgstr "Gaussiskt brus" #~ msgid "Red Noise" #~ msgstr "Rött brus" #~ msgid "Blue Noise" #~ msgstr "Blått brus" #~ msgid "Violet Noise" #~ msgstr "Violett brus" #~ msgid "Volume" #~ msgstr "Volym" #, fuzzy #~ msgid "Window" #~ msgstr "Mellanrum (s)" #~ msgid "Measure Noise" #~ msgstr "Mät brus" #~ msgid "Subtract Noise" #~ msgstr "Ta bort brus" #, fuzzy #~ msgid "High" #~ msgstr "Högpass" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "Very High" #~ msgstr "Högpass" #, fuzzy #~ msgid "Noise Suppressor" #~ msgstr "Kompressor" #, fuzzy #~ msgid "Detection Likelihood" #~ msgstr "Försvagning" #, fuzzy #~ msgid "Voice Detector" #~ msgstr "Försvagning" #, fuzzy #~ msgid "Select the impulse Response File" #~ msgstr "Platt respons" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Configuration" #~ msgstr "Kalibrering" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Återställ frekvens" #, fuzzy #~ msgid "Advanced" #~ msgstr "Inställningar" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Profiler" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Försvagning" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Channel Mapping" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Resampler" #, fuzzy #~ msgid "Buffer" #~ msgstr "Latens" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Ljudutjämnare - Utgång" #, fuzzy #~ msgid "Block Size" #~ msgstr "Rumsstorlek" #~ msgid "Resampler" #~ msgstr "Resampler" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Förstärkningsreducering" easyeffects-7.1.7/po/news/th.po000066400000000000000000001205561463533416400164160ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 08:17+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.0-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 #, fuzzy msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/news/tr.po000066400000000000000000002324161463533416400164270ustar00rootroot00000000000000# EasyEffects Türkçe Çeviri Dosyası. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # Serdar Sağlam , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-28 15:36+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5.1\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire Uygulamaları için Ses Efektleri" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects gelişmiş bir ses işleme aracıdır. Ekolayzır, sınırlayıcı, " "sıkıştırıcı ve yankılanma araçları içerir. Bunları tamamlamak için ayrıca " "bir spektrum çözümleyici bulunmaktadır." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects, PulseEffects'in devamıdır. Easy Effects yalnızca PipeWire'ın " "ses sunucusunu destekler. PulseAudio kullanıcıları bunun yerine PulseEffects " "kullanmalıdır." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "EasyEffects, varsayılan PipeWire ses sunucusunu kullandığından, " "kullandığınız uygulamaların tümü olmasa da çoğu ile çalışacaktır. " "Desteklenen tüm uygulamalar, her birinin ayrı ayrı etkinleştirilebileceği " "ana pencerede sunulur." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "Ses çıkışını değiştirmenin yanı sıra, Easy Effects, mikrofon gibi bir giriş " "aygıtına da efektler uygulayabilir. Bu özellik ses kaydında da kullanışlıdır " "ve sesli konuşmalarda da iyi çalışır." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Easy Effects başlatıldığında, son oturumda kullanılan ayarlamaları " "rahatlıkla hatırlayacaktır. Tüm geçerli ayarları profil olarak kaydetmek de " "mümkündür." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "İki ses çıkışı uygulamasını gösteren ana sayfa" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "Ses denetimlerini gösteren bas yükseltici sayfası" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "Ses denetimlerini gösteren sarsıcı sayfası" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "Özellikler:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" "İşlem hattı yönetim sistemi iyileştirildi. İşlem hattındaki son iki eklenti " "bir sınırlayıcı ve ardından bir seviye ölçer olsa bile sınırlayıcı olmayan " "efektler sınırlayıcıdan önce yerleştirilir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "Hata düzeltmeleri:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" "Seviye ölçerlerin belirli koşullar altında güncellenmesini engelleyen bir " "hata düzeltildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "Diğer notlar:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" "Artık sanal aygıtlarımızda monitor.passthrough = true olarak ayarlıyoruz. " "Bu, PipeWire > 1.0.3 yayınlandığında gecikme süresinin video oynatıcılar " "tarafından düzgün bir şekilde uygulanmasını sağlayacaktır." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Updated translations." msgstr "Çeviriler güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" "EasyEffects, kullanıcının EE'nin kayıt yaptığı mikrofondan farklı bir özel " "target.object ayarladığı sanal kaynak akışlarına geçmekten kaçınmaya " "çalışacaktır. Bu mantığın etkili olması için EE zaten çalışırken akışın " "başlatılması gerekir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "Çeviriler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "Ekolayzer temel APO ön ayar dosyalarını dışa aktarabilir" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" "Oynatıcılar/kaydediciler sekmemiz, uygulama adının tanımlanmadığı durumlarda " "ses istemcisi programı adını gösterecek." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" "EasyEffects sürümü --version seçeneği ile komut satırında gösterilebilir" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" "gtk4 GtkLevelBar'daki bir hata için geçici bir çözüm uygulandı ve gtk " "geliştiricileri kendi taraflarındaki şeyleri düzeltene kadar yerinde " "tutulacak" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" "EasyEffects'in çökmesine neden olabilen 7.1.2 sürümünde ortaya çıkan bir " "hata düzeltildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "DeepFilterNet eklentisi artık ön ayar dosyasına eklenebilir" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" "Spektrum, dinamik dikey ölçeğin devre dışı bırakılmasını sağlayan yeni bir " "seçeneğe sahip." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 msgid "Improved compatibility with the latest LSP releases." msgstr "En son LSP sürümleri ile uyumluluk iyileştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "Dürtü yanıtı dosya özelliklerinin hatalı çizimi düzeltildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" "Gürültü azaltma ses etkinliği eşiğinin düzgün bir şekilde başlatılmasını " "engelleyen küçük bir hata düzeltildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" "Gürültü azaltma eklentisine ses algılamanın devre dışı bırakılmasını " "sağlayan yeni bir denetim eklendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" "Süzgeç efekti, Calf Studio'dan Linux Studio Eklentilerine taşındığından beri " "yeni parametrelerle iyileştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" "RNNoise ile gürültü azaltma, Bırak ve VAD Eşiği denetimlerinin eklenmesiyle " "iyileştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" "RNNoise ile gürültü azaltma artık çıktının çok \"kuru\" olmasını önlemek " "için orijinal ve gürültü giderilmiş sinyalleri karıştırabilir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" "Bu sürüm, Linux Studio Eklentilerinin \"1.2.10\" veya daha yüksek " "sürümleriyle çalışacak şekilde hazırlandı." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects artık libc++ ile de derlenebilir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "Ekolayzer bant ayarlarındaki Tekli düğmesi düzeltildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" "/etc altındaki Easy Effects klasörleri kullanımdan kaldırıldı ve burada " "bulunan ön ayarlar artık yüklenmeyecek. Şu anda yalnızca ~/.config/" "easyeffects altındaki yerel ön ayarlar Ön Ayarlar Menüsüne otomatik olarak " "yüklenir. Gelecekte Topluluk Ön Ayarlarını yüklemek, yönetmek ve içe " "aktarmak için yeni bir sistem uygulayacağız." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" "PipeWire sekmemizdeki giriş/çıkış aygıtı açılır menüsü, sistem öntanımlı " "aygıtı değiştiğinde ve Öntanımlı Kullan etkinleştirildiğinde güncelleniyor. " "Bu, 1989 numaralı sorunu düzeltir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "Belgeler güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "Önceden ayarlanmış otomatik yükleme kodunun bluez5 cihazlarıyla uyumluluğu " "geliştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "İlgili lv2 eklentisi sistemde yüklü olmadığında efekt arayüzü artık " "yüklenmiyor. Onun yerine kullanıcıya bir durum mesajı gösterilir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "Belgeler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "Çeviriler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" "Efektler uygulanırken, EasyEffects'in penceresini kapatırken çökmesine neden " "olan bir hata düzeltildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "Birçok çeviri güncellemesi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" "EasyEffects simgesi, QT masaüstlerinde görünmesini sağlayacak şekilde " "güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "Bilgisayarın askıya alınması için daha iyi destek." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "LibAdwaita, penceremizin bazı bölümlerini oluşturmak ve koyu ile açık " "temalar arasında geçiş yapmak için kullanılır." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "Ayarlar menüsü, LibAdwaita widget'ları kullanılarak yeniden tasarlandı." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" "GTKMM ve GLIBMM artık bir bağımlılık değil. Artık doğrudan gtk4 kullanıyoruz." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" "İngilizce'den farklı yerelleştirmeye sahip sistemlerde giriş uygulamaları " "listesine Pavucontrol artık eklenmiyor." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "Çince çeviri güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "İtalyanca çeviri güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "Birkaç widget'ta yerel ayar düzeltildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "Birkaç widget'ta yanlış hizalama düzeltildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "Ekolayzır arayüzü iyileştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "Uygulama ve deposunun PulseEffects olan adı EasyEffects olarak değiştirildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3, gtkmm4 ile değiştirildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer, yerel PipeWire süzgeçleriyle değiştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Yeni kütüphaneler kullanılıyor ve daha önce isteğe bağlı olan " "kütüphanelerden bazıları artık gerekli" #~ msgid "This release adds the following features:" #~ msgstr "Bu sürüm aşağıdaki özellikleri ekler:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Bu sürüm aşağıdaki hataları düzeltir:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bant 1" #~ msgid "This release fixes the following bug:" #~ msgstr "Bu sürüm aşağıdaki hatayı düzeltir:" #~ msgid "This release adds the following feature:" #~ msgstr "Bu sürüm aşağıdaki özelliği ekler:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "Ekolayzır, Sıkıştırıcı ve Diğer Ses Efektleri" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "" #~ "sınırlayıcı,kompresör,yankı,ekolayzır,otomatikses;yükseltici;sıkıştırıcı;" #~ msgid "\"Presets\"" #~ msgstr "\"Ön Ayarlar\"" #, fuzzy #~ msgid "Enable" #~ msgstr "Etkinleştir" #~ msgid "Mute Application" #~ msgstr "Uygulamayı Sessize Al" #~ msgid "Application Volume" #~ msgstr "Uygulama Ses Seviyesi" #~ msgid "_Preferences" #~ msgstr "_Tercihler" #~ msgid "_Manual" #~ msgstr "_Kılavuz" #~ msgid "_Shortcuts" #~ msgstr "Kısa_yollar" #~ msgid "_Reset Settings" #~ msgstr "Ayarları _Sıfırla" #~ msgid "_About EasyEffects" #~ msgstr "EasyEffects _Hakkında" #~ msgid "Presets" #~ msgstr "Ön Ayarlar" #~ msgid "Presets Menu" #~ msgstr "Ön Ayarlar Menüsü" #, fuzzy #~ msgid "Global Bypass" #~ msgstr "Atla" #~ msgid "Primary Menu" #~ msgstr "Ana Menü" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects Penceresi" #~ msgid "Applications List" #~ msgstr "Uygulama Listesi" #, fuzzy #~ msgid "Empty List" #~ msgstr "Boş Duvarlar" #, fuzzy #~ msgid "No Audio Application Available" #~ msgstr "Uygulama Adı" #~ msgid "Target" #~ msgstr "Hedef" #, fuzzy #~ msgid "Maximum History" #~ msgstr "Azami" #~ msgid "Momentary" #~ msgstr "Anlık" #, fuzzy #~ msgid "Short-Term" #~ msgstr "Kısa Süreli" #~ msgid "Integrated" #~ msgstr "Tümleşik" #, fuzzy #~ msgid "Geometric Mean (MSI)" #~ msgstr "Geometrik Ortalama" #, fuzzy #~ msgid "Geometric Mean (MS)" #~ msgstr "Geometrik Ortalama" #, fuzzy #~ msgid "Geometric Mean (MI)" #~ msgstr "Geometrik Ortalama" #, fuzzy #~ msgid "Geometric Mean (SI)" #~ msgstr "Geometrik Ortalama" #~ msgid "Reset History" #~ msgstr "Geçmişi Sıfırla" #~ msgid "Relative" #~ msgstr "Göreceli" #~ msgid "Range" #~ msgstr "Sınır" #~ msgid "Loudness" #~ msgstr "Yüksek Ses" #~ msgid "Output Gain" #~ msgstr "Çıkış Kazancı" #~ msgid "Input" #~ msgstr "Giriş" #~ msgid "Plugin Input Gain" #~ msgstr "Eklenti Giriş Kazancı" #~ msgid "Output" #~ msgstr "Çıkış" #~ msgid "Plugin Output Gain" #~ msgstr "Eklenti Çıkış Kazancı" #~ msgid "Reset" #~ msgstr "Sıfırla" #~ msgid "Device" #~ msgstr "Aygıt" #~ msgid "Name" #~ msgstr "İsim" #~ msgid "Profile" #~ msgstr "Profil" #, fuzzy #~ msgid "Preset" #~ msgstr "Ön Ayarlar" #, fuzzy #~ msgid "Remove this autoload preset" #~ msgstr "Otomatik Yükleme Ön Ayarını Kaldır" #~ msgid "Listen" #~ msgstr "Liste" #~ msgid "Blend Harmonics" #~ msgstr "Harmonik Karışımları" #~ msgid "3rd" #~ msgstr "3." #~ msgid "2nd" #~ msgstr "2." #~ msgid "Amount" #~ msgstr "Miktar" #~ msgid "Harmonics" #~ msgstr "Harmonikler" #~ msgid "Scope" #~ msgstr "Kapsam" #~ msgid "Floor" #~ msgstr "Zemin" #~ msgid "Floor Value" #~ msgstr "Zemin Değeri" #~ msgid "Link" #~ msgstr "Bağ" #~ msgid "Application Name" #~ msgstr "Uygulama Adı" #, fuzzy #~ msgid "Add to Excluded Applications" #~ msgstr "Kara Listeye Alınan Uygulamaları Göster" #, fuzzy #~ msgid "Excluded Applications List" #~ msgstr "Kara Listeye Alınan Uygulamalar Listesi" #, fuzzy #~ msgid "Show Excluded Applications" #~ msgstr "Kara Listeye Alınan Uygulamaları Göster" #~ msgid "Compressor" #~ msgstr "Sıkıştırıcı" #~ msgid "Mode" #~ msgstr "Kip" #~ msgid "Downward" #~ msgstr "Aşağıya" #~ msgid "Upward" #~ msgstr "Yukarıya" #~ msgid "Compression Mode" #~ msgstr "Sıkıştırma Kipi" #, fuzzy #~ msgid "Boost Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Boost Amount" #~ msgstr "Miktar" #~ msgid "Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Time" #~ msgstr "Eş Zamanlı" #~ msgid "Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Attack Time" #~ msgstr "Atak" #, fuzzy #~ msgid "Attack Threshold" #~ msgstr "Eşik" #~ msgid "Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Release Time" #~ msgstr "Eş Zamanlı" #, fuzzy #~ msgid "Release Threshold" #~ msgstr "Eşik" #~ msgid "Ratio" #~ msgstr "Oran" #~ msgid "Knee" #~ msgstr "Oynak" #~ msgid "Makeup" #~ msgstr "Süs" #~ msgid "Sidechain" #~ msgstr "Yanzincir" #~ msgid "Peak" #~ msgstr "Doruk" #~ msgid "RMS" #~ msgstr "RMS" #~ msgid "Low-Pass" #~ msgstr "Düşük-Geçiş" #~ msgid "Uniform" #~ msgstr "Aynı" #, fuzzy #~ msgid "Sidechain Mode" #~ msgstr "Yanzincir" #~ msgid "Source" #~ msgstr "Kaynak" #~ msgid "Middle" #~ msgstr "Orta" #~ msgid "Side" #~ msgstr "Yan" #~ msgid "Left" #~ msgstr "Sol" #~ msgid "Right" #~ msgstr "Sağ" #, fuzzy #~ msgid "Sidechain Source" #~ msgstr "Yanzincir" #~ msgid "Type" #~ msgstr "Tür" #~ msgid "Feed-forward" #~ msgstr "İleri-besleme" #~ msgid "Feed-back" #~ msgstr "Geri-besleme" #, fuzzy #~ msgid "Sidechain Type" #~ msgstr "Yanzincir" #~ msgid "Input Device" #~ msgstr "Giriş Aygıtı" #, fuzzy #~ msgid "PreAmplification" #~ msgstr "Öntanımlı-yükselticiler" #~ msgid "Reactivity" #~ msgstr "Tepkinirlik" #~ msgid "Lookahead" #~ msgstr "İlerleme" #~ msgid "Sidechain Filters" #~ msgstr "Yanzincir Süzgeçleri" #~ msgid "High-Pass" #~ msgstr "Yüksek Geçiş" #~ msgid "Frequency" #~ msgstr "Sıklık" #~ msgid "Off" #~ msgstr "Kapalı" #~ msgid "12 dB/oct" #~ msgstr "12 dB/oct" #~ msgid "24 dB/oct" #~ msgstr "24 dB/oct" #~ msgid "36 dB/oct" #~ msgstr "36 dB/oct" #~ msgid "High-Pass Filter Mode" #~ msgstr "Yüksek Geçiş Süzgeci Kipi" #~ msgid "High-Pass Filter Frequency" #~ msgstr "Yüksek Geçiş Süzgeci Frekansı" #~ msgid "Low-Pass Filter Mode" #~ msgstr "Alçak Geçiş Süzgeci Kipi" #~ msgid "Gain" #~ msgstr "Kazanç" #, fuzzy #~ msgid "Envelope" #~ msgstr "Eğim" #~ msgid "Curve" #~ msgstr "Eğri" #~ msgid "L" #~ msgstr "L" #~ msgid "Left Channel" #~ msgstr "Sol Kanal" #~ msgid "R" #~ msgstr "R" #~ msgid "Right Channel" #~ msgstr "Sağ Kanal" #, fuzzy #~ msgid "Impulses" #~ msgstr "Dürtü Yanıtı" #~ msgid "Stereo Width" #~ msgstr "Stereo Genişliği" #~ msgid "Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Log Scale" #~ msgstr "Ölçek" #, fuzzy #~ msgid "Autogain" #~ msgstr "Otomatik Kazanç" #~ msgid "Rate" #~ msgstr "Oran" #~ msgid "Samples" #~ msgstr "Örnekler" #~ msgid "Duration" #~ msgstr "Süre" #, fuzzy #~ msgid "Combine Impulse Responses" #~ msgstr "Dürtü Yanıtı" #~ msgid "Output File Name" #~ msgstr "Çıkış Dosyası Adı" #~ msgid "Import Impulse" #~ msgstr "Dürtü Dosyasını İçeri Al" #~ msgid "Search" #~ msgstr "Ara" #, fuzzy #~ msgid "Search Impulse File" #~ msgstr "Dürtü Dosyasını İçe Aktar" #, fuzzy #~ msgid "Impulse Files List" #~ msgstr "Dürtü Dosyasını İçe Aktar" #~ msgid "Default" #~ msgstr "Öntanımlı" #~ msgid "Cutoff" #~ msgstr "Kesici" #~ msgid "Feed" #~ msgstr "Akış" #~ msgid "Bypass" #~ msgstr "Atla" #~ msgid "Mute" #~ msgstr "Sessiz" #~ msgid "Detection" #~ msgstr "Keşif" #~ msgid "Wide" #~ msgstr "Geniş" #~ msgid "Split" #~ msgstr "Ayır" #, fuzzy #~ msgid "F1 Split" #~ msgstr "Ayır" #, fuzzy #~ msgid "Frequency 1 Split" #~ msgstr "Sıklık" #, fuzzy #~ msgid "F2 Peak" #~ msgstr "Doruk" #, fuzzy #~ msgid "Frequency 2 Peak" #~ msgstr "Sıklık" #, fuzzy #~ msgid "F1 Gain" #~ msgstr "Kazanç" #, fuzzy #~ msgid "Frequency 1 Gain" #~ msgstr "Sıklık" #, fuzzy #~ msgid "F2 Level" #~ msgstr "Seviye" #, fuzzy #~ msgid "Frequency 2 Level" #~ msgstr "Sıklık" #, fuzzy #~ msgid "F2 Peak Q" #~ msgstr "Q Doruk" #, fuzzy #~ msgid "Frequency 2 Peak Q" #~ msgstr "Sıklık" #~ msgid "Laxity" #~ msgstr "Gevşeklik" #~ msgid "Detected" #~ msgstr "Saptanan" #, fuzzy #~ msgid "Reduction" #~ msgstr "Azalım" #~ msgid "Frame Size" #~ msgstr "Çerçeve Boyutu" #~ msgid "Filter Length" #~ msgstr "Süzgeç Uzunluğu" #, fuzzy #~ msgid "Excluded Apps" #~ msgstr "hariç tutuldu" #~ msgid "Bands" #~ msgstr "Bantlar" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #~ msgid "Split Channels" #~ msgstr "Kanalları Böl" #~ msgid "Flat Response" #~ msgstr "Düz Yanıt" #~ msgid "Calculate Frequencies" #~ msgstr "Frekansları Hesapla" #~ msgid "Load APO Preset" #~ msgstr "APO Ön Ayarını Yükle" #~ msgid "Bell" #~ msgstr "Çan" #~ msgid "High Pass" #~ msgstr "Yüksek Geçiş" #~ msgid "High Shelf" #~ msgstr "Yüksek Sığlık" #~ msgid "Low Pass" #~ msgstr "Düşük Geçiş" #~ msgid "Low Shelf" #~ msgstr "Düşük Sığlık" #~ msgid "Notch" #~ msgstr "Çentik" #~ msgid "Resonance" #~ msgstr "Çınlama" #, fuzzy #~ msgid "All Pass" #~ msgstr "Düşük Geçiş" #~ msgid "Band Type" #~ msgstr "Bant Türü" #~ msgid "Band Mode" #~ msgstr "Bant Kipi" #~ msgid "Slope" #~ msgstr "Eğim" #~ msgid "Band Slope" #~ msgstr "Bant Eğimi" #~ msgid "Width" #~ msgstr "Genişlik" #~ msgid "Quality" #~ msgstr "Kalite" #~ msgid "Solo" #~ msgstr "Tekli" #, fuzzy #~ msgid "Ceil" #~ msgstr "Tavan" #~ msgid "Ceil Value" #~ msgstr "Tavan Değeri" #~ msgid "API" #~ msgstr "API" #~ msgid "Description" #~ msgstr "Açıklama" #~ msgid "Remove this model file" #~ msgstr "Bu model dosyasını kaldır" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Düşük geçiş" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Düşük geçiş" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Düşük geçiş" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Yüksek geçiş" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Yüksek geçiş" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Yüksek geçiş" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Bant geçişi" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Bant geçişi" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Bant geçişi" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Bant reddet" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Bant reddet" #~ msgid "18dB/oct Bandreject" #~ msgstr "12dB/oct Bant reddet" #~ msgid "Inertia" #~ msgstr "Durağan" #~ msgid "Gate" #~ msgstr "Aralık" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "Eş Zamanlı" #, fuzzy #~ msgid "Internal" #~ msgstr "Tümleşik" #~ msgid "Gating" #~ msgstr "Geçitleme" #~ msgid "Oversampling" #~ msgstr "Aşırı Örnekleme" #, fuzzy #~ msgid "Herm Wide" #~ msgstr "Geniş" #, fuzzy #~ msgid "Exp Wide" #~ msgstr "Geniş" #, fuzzy #~ msgid "Line Thin" #~ msgstr "Hat Genişliği" #, fuzzy #~ msgid "Line Wide" #~ msgstr "Hat Genişliği" #, fuzzy #~ msgid "Line Tail" #~ msgstr "Sinüs Tablosu" #~ msgid "None" #~ msgstr "Hiçbiri" #, fuzzy #~ msgid "Sidechain PreAmplification" #~ msgstr "Öntanımlı-yükselticiler" #~ msgid "Stereo Link" #~ msgstr "Stereo Bağ" #, fuzzy #~ msgid "External Sidechain" #~ msgstr "Yanzincir" #, fuzzy #~ msgid "Auto Leveling" #~ msgstr "Otomatik Kazanç" #, fuzzy #~ msgid "Gain Left" #~ msgstr "Kazanç" #, fuzzy #~ msgid "Gain Right" #~ msgstr "Sağ" #, fuzzy #~ msgid "Sidechain Left" #~ msgstr "Yanzincir" #, fuzzy #~ msgid "Sidechain Right" #~ msgstr "Yanzincir" #~ msgid "Standard" #~ msgstr "Standart" #~ msgid "Flat" #~ msgstr "Düz" #, fuzzy #~ msgid "FFT Size" #~ msgstr "Çerçeve Boyutu" #~ msgid "Output Volume" #~ msgstr "Çıkış Ses Seviyesi" #~ msgid "Ceiling" #~ msgstr "Tavan" #~ msgid "Operating Mode" #~ msgstr "Çalışma Kipi" #~ msgid "Classic" #~ msgstr "Klasik" #~ msgid "Modern" #~ msgstr "Çağdaş" #, fuzzy #~ msgid "Sidechain Boost" #~ msgstr "Yanzincir" #~ msgid "Bands List" #~ msgstr "Bant Listesi" #~ msgid "Band 1" #~ msgstr "Bant 1" #~ msgid "Band 2" #~ msgstr "Bant 2" #~ msgid "Band 3" #~ msgstr "Bant 3" #~ msgid "Band 4" #~ msgstr "Bant 4" #~ msgid "Band 5" #~ msgstr "Bant 5" #~ msgid "Band 6" #~ msgstr "Bant 6" #~ msgid "Band 7" #~ msgstr "Bant 7" #~ msgid "Band 8" #~ msgstr "Bant 8" #, fuzzy #~ msgid "Band End" #~ msgstr "Bantlar" #~ msgid "Band Compression Mode" #~ msgstr "Bant Sıkıştırma Kipi" #, fuzzy #~ msgid "Band Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Süzgeç" #, fuzzy #~ msgid "Low-Cut Filter Frequency" #~ msgstr "Frekansları Hesapla" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Yüksek Geçiş Süzgeci" #, fuzzy #~ msgid "High-Cut Filter Frequency" #~ msgstr "Frekansları Hesapla" #~ msgid "Band Gain" #~ msgstr "Bant Kazancı" #~ msgid "Band Curve" #~ msgstr "Bant Eğrisi" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Ayır" #~ msgid "Split 1/2" #~ msgstr "1/2 Böl" #, fuzzy #~ msgid "Split Frequency 1" #~ msgstr "Sıklık" #~ msgid "Split 2/3" #~ msgstr "2/3 Böl" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Sıklık" #~ msgid "Split 3/4" #~ msgstr "3/4 Böl" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Sıklık" #~ msgid "Sub Band" #~ msgstr "Alt Bant" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Süs" #~ msgid "Max Reduction" #~ msgstr "Azalım" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Azalım" #~ msgid "Low Band" #~ msgstr "Düşük Bant" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Süs" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Azalım" #~ msgid "Mid Band" #~ msgstr "Orta Bant" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Süs" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Azalım" #~ msgid "High Band" #~ msgstr "Yüksek Bant" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Süs" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Azalım" #~ msgid "General" #~ msgstr "Genel" #~ msgid "Use Default Input" #~ msgstr "Öntanımlı Girişi Kullan" #~ msgid "Custom Input Device" #~ msgstr "Özel Giriş Aygıtı" #~ msgid "Use Default Output" #~ msgstr "Öntanımlı Çıkışı Kullan" #~ msgid "Custom Output Device" #~ msgstr "Özel Çıkış Aygıtı" #~ msgid "Server Information" #~ msgstr "Sunucu Bilgileri" #~ msgid "Header Version" #~ msgstr "Başlık Sürümü" #~ msgid "Library Version" #~ msgstr "Kütüphane Sürümü" #~ msgid "Sampling Rate" #~ msgstr "Örnekleme Hızı" #, fuzzy #~ msgid "Maximum Quantum" #~ msgstr "Azami Kazanç" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "Öntanımlı Sink" #~ msgid "Output Devices" #~ msgstr "Çıkış Aygıtları" #~ msgid "Output Presets" #~ msgstr "Çıkış Ön Ayarları" #~ msgid "Output Autoloading Presets List" #~ msgstr "Çıkış Otomatik Yükleme Ön Ayarları Listesi" #~ msgid "Input Devices" #~ msgstr "Giriş Aygıtları" #~ msgid "Input Presets" #~ msgstr "Giriş Ön Ayarları" #~ msgid "Input Autoloading Presets List" #~ msgstr "Giriş Otomatik Yükleme Ön Ayarları Listesi" #~ msgid "Modules" #~ msgstr "Modüller" #~ msgid "Modules List" #~ msgstr "Modül Listesi" #~ msgid "Clients" #~ msgstr "İstemciler" #~ msgid "Clients List" #~ msgstr "İstemci Listesi" #~ msgid "Test Signal" #~ msgstr "Test Sinyali" #~ msgid "State" #~ msgstr "Durum" #, fuzzy #~ msgid "Enabled" #~ msgstr "Etkinleştir" #~ msgid "Properties" #~ msgstr "Özellikler" #~ msgid "Channels" #~ msgstr "Kanallar" #~ msgid "Both Channels" #~ msgstr "Her İki Kanal" #~ msgid "Waveform" #~ msgstr "Dalga Biçimi" #~ msgid "Sine Wave" #~ msgstr "Sinüs Dalgası" #~ msgid "White Noise" #~ msgstr "Beyaz Gürültü" #~ msgid "High Speed" #~ msgstr "Yüksek Hız" #~ msgid "High Quality" #~ msgstr "Yüksek Kalite" #~ msgid "High Consistency" #~ msgstr "Yüksek Tutarlılık" #, fuzzy #~ msgid "Formant" #~ msgstr "Biçim" #, fuzzy #~ msgid "Preserved" #~ msgstr "Ön Ayarlar" #, fuzzy #~ msgid "Crisp" #~ msgstr "Canlılık" #, fuzzy #~ msgid "Detector" #~ msgstr "Keşif" #, fuzzy #~ msgid "Compound" #~ msgstr "Sıkıştırma" #, fuzzy #~ msgid "Soft" #~ msgstr "Yumuşak kırpım" #~ msgid "Cents" #~ msgstr "Küsür" #~ msgid "Semitones" #~ msgstr "Yarım Ses" #~ msgid "Octaves" #~ msgstr "Oktav" #, fuzzy #~ msgid "Remove this effect" #~ msgstr "Bu model dosyasını kaldır" #~ msgid "Used Plugins List" #~ msgstr "Kullanılan Eklentiler Listesi" #, fuzzy #~ msgid "No Effects" #~ msgstr "EasyEffects" #~ msgid "Search Plugin" #~ msgstr "Eklenti Ara" #~ msgid "Plugins List" #~ msgstr "Eklenti Listesi" #~ msgid "_General" #~ msgstr "_Genel" #~ msgid "Service" #~ msgstr "Hizmet" #, fuzzy #~ msgid "Shutdown on Window Closing" #~ msgstr "Pencere Kapandığında Kapat" #~ msgid "Audio" #~ msgstr "Ses" #, fuzzy #~ msgid "Process All Output Streams" #~ msgstr "Tüm Çıkışları İşle" #, fuzzy #~ msgid "Process All Input Streams" #~ msgstr "Tüm Girişleri İşle" #~ msgid "Use Dark Theme" #~ msgstr "Koyu Tema Kullan" #~ msgid "_Spectrum" #~ msgstr "_Spektrum" #~ msgid "Shape" #~ msgstr "Şekil" #~ msgid "Bars" #~ msgstr "Çubuklar" #~ msgid "Lines" #~ msgstr "Çizgiler" #~ msgid "Dots" #~ msgstr "Noktalar" #~ msgid "Points" #~ msgstr "Noktalar" #~ msgid "Height" #~ msgstr "Yükseklik" #~ msgid "Line Width" #~ msgstr "Hat Genişliği" #~ msgid "Fill" #~ msgstr "Dolgu" #~ msgid "Rounded Corners" #~ msgstr "Yuvarlatılmış Köşeler" #~ msgid "Color" #~ msgstr "Renk" #~ msgid "Lines and Bars" #~ msgstr "Çizgiler ve Çubuklar" #~ msgid "Axis Labels" #~ msgstr "Eksen Etiketleri" #~ msgid "Frequency Range" #~ msgstr "Frekans Aralığı" #~ msgid "Minimum" #~ msgstr "Asgari" #~ msgid "Maximum" #~ msgstr "Azami" #~ msgid "Save current settings to this preset file" #~ msgstr "Geçerli ayarları bu ön ayar dosyasına kaydet" #~ msgid "Remove this preset file" #~ msgstr "Hazır ayar dosyasını kaldır" #~ msgid "New Output Preset Name" #~ msgstr "Yeni Çıkış Ön Ayarı Adı" #, fuzzy #~ msgid "Create a new preset" #~ msgstr "Hazır Ayar Oluştur" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Ön Ayarı İçe Aktar" #~ msgid "Search Output Preset" #~ msgstr "Çıkış Ön Ayarı Ara" #~ msgid "Output Presets List" #~ msgstr "Çıkış Ön Ayarları Listesi" #~ msgid "New Input Preset Name" #~ msgstr "Yeni Giriş Ön Ayarı Adı" #~ msgid "Search Input Preset" #~ msgstr "Giriş Ön Ayarı Ara" #~ msgid "Input Presets List" #~ msgstr "Giriş Ön Ayarları Listesi" #~ msgid "High Frequency Damping" #~ msgstr "Yüksek Frekans Sönümleme" #~ msgid "Room Size" #~ msgstr "Oda Boyutu" #~ msgid "Small" #~ msgstr "Küçük" #~ msgid "Medium" #~ msgstr "Orta" #~ msgid "Large" #~ msgstr "Büyük" #~ msgid "Tunnel" #~ msgstr "Tünel" #~ msgid "Large/smooth" #~ msgstr "Büyük/pürüzsüz" #~ msgid "Experimental" #~ msgstr "Deneysel" #~ msgid "Diffusion" #~ msgstr "Yayılma" #~ msgid "Pre Delay" #~ msgstr "Ön Gecikme" #~ msgid "Decay Time" #~ msgstr "Bozunma Süresi" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Miktar" #, fuzzy #~ msgid "Wet Level" #~ msgstr "Hedef Seviye" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Miktar" #, fuzzy #~ msgid "Dry Level" #~ msgstr "Seviye" #~ msgid "Bass Cut" #~ msgstr "Bas Kesim" #~ msgid "Treble Cut" #~ msgstr "Tiz Kesim" #~ msgid "Ambience" #~ msgstr "Ortam" #~ msgid "Empty Walls" #~ msgstr "Boş Duvarlar" #~ msgid "Room" #~ msgstr "Oda" #~ msgid "Large Empty Hall" #~ msgstr "Büyük Boş Salon" #~ msgid "Disco" #~ msgstr "Disko" #~ msgid "Large Occupied Hall" #~ msgstr "Büyük Dolu Salon" #, fuzzy #~ msgid "Import Model" #~ msgstr "Dürtü Dosyasını İçeri Al" #~ msgid "Models" #~ msgstr "Modeller" #~ msgid "Standard Model" #~ msgstr "Standart Model" #~ msgid "Active Model" #~ msgstr "Etkin Model" #~ msgid "Overview" #~ msgstr "Genel Görünüm" #~ msgid "Open the EasyEffects Manual" #~ msgstr "EasyEffects Kılavuzunu Aç" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "Tam ekran/Tam ekrandan geri yükle" #~ msgid "Close the Window" #~ msgstr "Pencereyi Kapat" #~ msgid "Quit EasyEffects" #~ msgstr "EasyEffects'ten Çık" #~ msgid "Balance" #~ msgstr "Denge" #~ msgid "Input Balance" #~ msgstr "Giriş Dengesi" #~ msgid "Softclip" #~ msgstr "Yumuşak kırpım" #, fuzzy #~ msgid "Softclip Level" #~ msgstr "Yumuşak kırpım" #~ msgid "Stereo Matrix" #~ msgstr "Stereo Matris" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (Stereo Öntanımlı)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (Stereo Orta Tarafa)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (Orta Taraftan Stereo)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (Mono Sol Kanal)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (Mono Sağ Kanal)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (Mono İşlem L+R)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (Stereo Kanalları Ters Çevir)" #~ msgid "Stereo Mode" #~ msgstr "Stereo Kipi" #~ msgid "Invert Phase" #~ msgstr "Ters Faz" #~ msgid "Side Level" #~ msgstr "Seviye Tarafı" #~ msgid "Side Balance" #~ msgstr "Denge Tarafı" #~ msgid "Middle Level" #~ msgstr "Orta Seviye" #~ msgid "Middle Panorama" #~ msgstr "Orta Panorama" #~ msgid "Output Balance" #~ msgstr "Çıkış Dengesi" #~ msgid "Delay L/R" #~ msgstr "Gecikme L/R" #, fuzzy #~ msgid "Delay Left Right" #~ msgstr "Gecikme L/R" #~ msgid "Stereo Base" #~ msgstr "Stereo Taban" #~ msgid "Stereo Phase" #~ msgstr "Stereo Faz" #~ msgid "Running" #~ msgstr "Çalışıyor" #~ msgid "Suspended" #~ msgstr "Askıya alındı" #~ msgid "Idle" #~ msgstr "Boşta" #~ msgid "Creating" #~ msgstr "Oluşturuluyor" #~ msgid "Error" #~ msgstr "Hata" #~ msgid "Unknown" #~ msgstr "Bilinmiyor" #~ msgid "channels" #~ msgstr "kanallar" #~ msgid "Output Presets: " #~ msgstr "Çıkış Ön Ayarları: " #~ msgid "Input Presets: " #~ msgstr "Giriş Ön Ayarları: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "PipeWire uygulamaları için ses efektleri" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "EasyEffects'ten çık. Servis kipinde çalışırken kullanışlıdır." #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "Bir ön ayar yükle. Örnek: easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "EasyEffects’i Sıfırla." #~ msgid "Hide the Window." #~ msgstr "Pencereyi Gizle." #~ msgid "Show available presets." #~ msgstr "Kullanılabilir hazır ayarları göster." #~ msgid "PipeWire" #~ msgstr "PipeWire" #, fuzzy #~ msgid "Impulse File Not Imported" #~ msgstr "Dürtü Dosyasını İçe Aktar" #~ msgid "Import Impulse File" #~ msgstr "Dürtü Dosyasını İçe Aktar" #~ msgid "Open" #~ msgstr "Aç" #~ msgid "Cancel" #~ msgstr "İptal" #~ msgid "Impulse Response" #~ msgstr "Dürtü Yanıtı" #, fuzzy #~ msgid "Load Impulse" #~ msgstr "Dürtü Dosyasını İçeri Al" #, fuzzy #~ msgid "Remove Impulse" #~ msgstr "Dürtü Dosyasını İçeri Al" #, fuzzy #~ msgid "No Impulse File Loaded" #~ msgstr "Dürtü Dosyasını İçe Aktar" #, fuzzy #~ msgid "Failed To Load The Impulse File" #~ msgstr "Dürtü Dosyası Yüklenemedi" #~ msgid "Recorders" #~ msgstr "Kaydediciler" #~ msgid "Players" #~ msgstr "Oynatıcılar" #, fuzzy #~ msgid "Effects" #~ msgstr "EasyEffects" #~ msgid "infinity" #~ msgstr "sonsuzluk" #~ msgid "Import APO Preset File" #~ msgstr "APO Ön Ayar Dosyasını İçe Aktar" #~ msgid "APO Presets" #~ msgstr "APO Ön Ayarları" #~ msgid "Remove Autoloading Preset" #~ msgstr "Otomatik Yükleme Ön Ayarını Kaldır" #~ msgid "Remove" #~ msgstr "Kaldır" #~ msgid "Output Device" #~ msgstr "Çıkış Aygıtı" #~ msgid "Add" #~ msgstr "Ekle" #~ msgid "Import Preset" #~ msgstr "Ön Ayarı İçe Aktar" #~ msgid "Import Model File" #~ msgstr "Model Dosyasını İçe Aktar" #~ msgid "Bass Enhancer" #~ msgstr "Bas Yükseltici" #, fuzzy #~ msgid "Bass Loudness" #~ msgstr "Yüksek Ses" #~ msgid "Convolver" #~ msgstr "Sarsıcı" #~ msgid "Crossfeed" #~ msgstr "Çapraz Besleme" #~ msgid "Crystalizer" #~ msgstr "Kristalleştirici" #~ msgid "Deesser" #~ msgstr "Deesser" #~ msgid "Delay" #~ msgstr "Gecikme" #~ msgid "Echo Canceller" #~ msgstr "Yankı Önleyici" #~ msgid "Equalizer" #~ msgstr "Ekolayzır" #~ msgid "Exciter" #~ msgstr "Uyarıcı" #~ msgid "Filter" #~ msgstr "Süzgeç" #~ msgid "Limiter" #~ msgstr "Sınırlayıcı" #~ msgid "Maximizer" #~ msgstr "Yükseltici" #~ msgid "Multiband Compressor" #~ msgstr "Çoklu Bant Şıkıştırıcı" #~ msgid "Multiband Gate" #~ msgstr "Çoklu Bant Geçitleme" #~ msgid "Pitch" #~ msgstr "Perde" #~ msgid "Reverberation" #~ msgstr "Yankılanma" #~ msgid "Noise Reduction" #~ msgstr "Gürültü Azaltma" #~ msgid "Stereo Tools" #~ msgstr "Stereo Araçları" #~ msgid "Average" #~ msgstr "Ortalama" #~ msgid "Failed" #~ msgstr "Başarısız" #~ msgid "Use Default" #~ msgstr "Öntanımlıyı Kullan" #~ msgid "Remove this plugin" #~ msgstr "Bu eklentiyi kaldır" #~ msgid "Import Presets" #~ msgstr "Önayarları İçe Aktar" #~ msgid "Start Service at Login" #~ msgstr "Oturum Açarken Hizmeti Başlat" #, fuzzy #~ msgid "Activate" #~ msgstr "Etkin Model" #~ msgid "Add to Blocklist" #~ msgstr "Kara Listeye Ekle" #~ msgid "Blocklist" #~ msgstr "Kara Liste" #~ msgid "Add Plugin" #~ msgstr "Eklenti Ekle" #~ msgid "Speakers" #~ msgstr "Hoparlörler" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "enabled" #~ msgstr "etkin" #~ msgid "disabled" #~ msgstr "devre dışı" #~ msgid "Plugins" #~ msgstr "Eklentiler" #~ msgid "Format" #~ msgstr "Biçim" #~ msgid "Latency" #~ msgstr "Gecikme" #~ msgid "idle" #~ msgstr "boşta" #~ msgid "Faster" #~ msgstr "Daha Hızlı" #~ msgid "Preserve Formant" #~ msgstr "Biçimlendiriciyi Koru" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Help" #~ msgstr "Yardım" #~ msgid "Show Spectrum" #~ msgstr "Spektrumu Göster" #~ msgid "Use Custom Color" #~ msgstr "Özel Renk Kullan" #~ msgid "Use Gradient" #~ msgstr "Geçişli Renk Kullan" #~ msgid "Spectrum Color" #~ msgstr "Spektrum Rengi" #~ msgid "Gradient Color" #~ msgstr "Geçiş Rengi" #~ msgid "Spectrum Type" #~ msgstr "Spektrum Türü" #~ msgid "Exponent" #~ msgstr "Katsayı" #~ msgid "Sampling" #~ msgstr "Örnekleme" #~ msgid "Block Size" #~ msgstr "Blok Boyutu" #~ msgid "Pipeline Input" #~ msgstr "Pipeline Giriş" #~ msgid "Buffer" #~ msgstr "Arabellek" #~ msgid "Niceness" #~ msgstr "Hassaslık" #~ msgid "Priority Type" #~ msgstr "Öncelik Türü" #~ msgid "About" #~ msgstr "Hakkında" #~ msgid "Priority" #~ msgstr "Öncelik" #~ msgid "Resampler" #~ msgstr "Örnekleme" #~ msgid "Default Source" #~ msgstr "Öntanımlı Kaynak" #~ msgid "Protocol" #~ msgstr "Protokol" #~ msgid "Default Sample Format" #~ msgstr "Öntanımlı Örnek Biçimi" #~ msgid "Channel Mapping" #~ msgstr "Kanal Eşleme" #~ msgid "File" #~ msgstr "Dosya" #~ msgid "Configuration" #~ msgstr "Yapılandırma" #~ msgid "Resamplers" #~ msgstr "Örnekleyiciler" #~ msgid "Detect Silence" #~ msgstr "Sessizliği Algıla" #~ msgid "Weights" #~ msgstr "Ağırlık" #~ msgid "Limit" #~ msgstr "Sınır" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "Zayıflatma" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Sessiz" #~ msgid "Distant Headphones" #~ msgstr "Uzak Kulaklıklar" #~ msgid "Reset Equalizer" #~ msgstr "Ekolayzır Sıfırla" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Uygula" #~ msgid "Dry" #~ msgstr "Sertlik" #~ msgid "S/C Level" #~ msgstr "S/C Seviye" #~ msgid "Import Impulse Response File" #~ msgstr "Dürtü Yanıt Dosyasını İçeri Aktar" #~ msgid "Select the impulse Response File" #~ msgstr "Dürtü Yanıt Dosyasını Seç" #~ msgid "Loudness Range" #~ msgstr "Yüksek Ses Aralığı" #~ msgid "Before" #~ msgstr "Öncesi" #~ msgid "After" #~ msgstr "Sonrası" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Genişletilmiş Süzgeç" #~ msgid "Delay Agnostic" #~ msgstr "Agnostik Gecikme" #~ msgid "Suppresion Level" #~ msgstr "Bastırma Seviyesi" #~ msgid "Low" #~ msgstr "Düşük" #~ msgid "Moderate" #~ msgstr "Ölçülü" #~ msgid "High" #~ msgstr "Yüksek" #~ msgid "Very High" #~ msgstr "Çok Yüksek" #~ msgid "Noise Suppressor" #~ msgstr "Gürültü Baskılayıcı" #~ msgid "Adaptive Digital" #~ msgstr "Dijital Uyarlamalı" #~ msgid "Fixed Digital" #~ msgstr "Dijital Sabitleyici" #~ msgid "Gain Controller" #~ msgstr "Kazanç Denetleyicisi" #~ msgid "Detection Likelihood" #~ msgstr "Algılama Olasılığı" #~ msgid "Very Low" #~ msgstr "Çok Düşük" #~ msgid "Voice Detector" #~ msgstr "Ses Dedektörü" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Şu anda kullanılan cihaz sisteme takılı olduğunda bu ön ayarı otomatik " #~ "olarak uygula" #~ msgid "Volume" #~ msgstr "Ses" #~ msgid "Sine" #~ msgstr "Sinüs" #~ msgid "Square" #~ msgstr "Kare" #~ msgid "Saw" #~ msgstr "Kesir" #~ msgid "Triangle" #~ msgstr "Üçgen" #~ msgid "Silence" #~ msgstr "Sessizlik" #~ msgid "Pink Noise" #~ msgstr "Pembe Gürültü" #~ msgid "Ticks" #~ msgstr "İşaretler" #~ msgid "Gaussian Noise" #~ msgstr "Gauss Gürültü" #~ msgid "Red Noise" #~ msgstr "Kırmızı Gürültü" #~ msgid "Blue Noise" #~ msgstr "Mavi Gürültü" #~ msgid "Violet Noise" #~ msgstr "Menekşe Gürültü" #~ msgid "Window" #~ msgstr "Pencere" #~ msgid "Measure Noise" #~ msgstr "Gürültü Ölçümü" #~ msgid "Subtract Noise" #~ msgstr "Gürültü Çıkar" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Sesi ayarla ve efektleri aç/kapat" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Yerleşik ön ayarlara sahip bir ekolayzır içerir" #~ msgid "Input Limiter" #~ msgstr "Giriş Sınırlayıcı" #~ msgid "Calibration" #~ msgstr "Kalibrasyon" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "durdurulmuş" #~ msgid "playing" #~ msgstr "oynatılıyor" easyeffects-7.1.7/po/news/zh_CN.po000066400000000000000000002355721463533416400170110ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # eternal , 2020-2021. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-03-21 06:38+0000\n" "Last-Translator: hch12907 \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.16.2-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "为使用 PipeWire 的应用提供音效" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:9 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects 是一款先进的音频处理工具。 它包括均衡器、限制器、压缩器和混响工" "具,仅举几例。 作为补充,它还有内置频谱分析仪。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects 是 PulseEffects 的后续版本。 Easy Effects 仅支持 PipeWire 音频服" "务器。 PulseAudio 用户应使用 PulseEffects。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "因为 Easy Effects 使用默认的 PipeWire 声音服务器,所以它适用于你使用的大多数" "(如果不是全部)应用程序。 所有支持的应用程序都显示在主窗口中,可以单独启用。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "" "除了处理声音输出之外,Easy Effects 还能够将效果应用于输入设备,例如麦克风。 " "这在录音中很有用,在语音对话中也很有效。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "" "Easy Effects 启动时,它会方便地记住上次会话中使用的配置。 也可以将所有当前设" "置保存为配置文件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:16 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "The main page showing two audio output apps" msgstr "正在显示两个音频输出应用程序的主页面" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:46 msgid "The bass enhancer page showing audio controls" msgstr "低音增强页面显示的音效控件" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "卷积混响器显示的音频控件" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:95 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:106 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:149 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:163 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:177 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:317 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:349 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:411 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:461 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:501 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:528 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:541 msgid "Features:" msgstr "功能:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "" "Improved the pipeline management system. Non-limiter effects are placed " "before the limiter even if the last two plugins in the pipeline are a " "limiter followed by a level meter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:86 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:108 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:230 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:246 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:307 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:354 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:400 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:486 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:520 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:533 msgid "Bug fixes:" msgstr "漏洞修复:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:61 msgid "" "Fixed a regression that prevented the level meters to be updated under " "certain conditions." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:88 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:99 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:122 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:132 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:418 msgid "Other notes:" msgstr "其他注意事项:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "" "We now set monitor.passthrough = true in our virtual devices. This will " "allow latency offset to be properly applied by video players when PipeWire " "> 1.0.3 is released." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 #, fuzzy msgid "Updated translations." msgstr "翻译更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 msgid "" "EasyEffects will try to avoid moving to its virtual sources streams for " "which the user has set a custom target.object that is different from the mic " "EE is recording from. THe stream has to be started when EE is already " "running for this logic to take effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:96 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "Updated translations" msgstr "翻译更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "" "Our players/recorders tab will show the audio client binary name in the " "cases were no app name is defined." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:85 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:87 msgid "" "A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept " "in place until gtk developers fiz things on their side" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #, fuzzy msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "从今起,齿音消除插件的阈值参数会被保存到预设文件中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:118 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "改进了与 Linux Studio Plugins 1.2.3 库的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:150 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:164 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:182 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "The plugin reset should not make its controls innefective anymore." msgstr "饱和度警告应该不再遮挡与其相邻的界面部件了" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:209 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:210 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:231 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:232 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:234 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" "改进了频谱插件的更新频率,现在更新频率不会因为音频的采样率不同而发生改变了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "允许用户自定义电平表和频谱的更新间隔。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" "对于均衡器的频带增益滑块,用户现今可使用更大的步幅修改其数值了,但更细腻的控" "制仍然可以通过键盘的上下键实现。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Small improvements to the echo canceller." msgstr "稍微改进了回声消除器。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" "自本程序支持多个过滤器实例起,回声消除器探头便未能正常链接到声卡。此问题现已" "得到解决。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "增加向效果管道添加多个过滤器实例的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" "新增一个基于 Speex 库的语音处理器插件,除了提供噪声抑制外,亦可以检测语音活" "动。 在 rnnoise 库无法正常工作的场景下,其或许是一个不错的替代方案。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "改进了与 Linux Studio Plugins 1.2.3 库的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:258 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "新增将 GraphicEQ 预设导入均衡器的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:259 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" "为了遵守 GNOME 人机界面指南的建议,本应用程序名称已更改为 Easy Effects。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:260 msgid "The documentation has been updated." msgstr "文档已更新。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:261 msgid "Improved presets autoloading." msgstr "改进了预设自动加载。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:262 msgid "The Autogain silence threshold can now be configured by the user." msgstr "自动增益插件的静音阈值现在可以由用户配置了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "立体声工具新增控制干湿声的功能。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "回声消除器新增同样是基于 Speex 库的残余噪声抑制功能。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "此前当鼠标悬停在图表上时,会显示错误的 x 轴坐标值。 这个错误现已修复。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" "由于新增了多实例插件的功能,本程序的预设格式发生了变化,但旧版本的预设文件依" "旧是受兼容的。 请用户务必要意识到,当用户再度储存当前预设文件时,本程序将会使" "用最新格式写入该文件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:276 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "多频段门限效果器的实现已经从 CALF 迁移到了 Linux Studio 插件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:277 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "改进了预设自动加载代码与 bluez5 设备的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 msgid "Wet/dry controls were added for some plugins" msgstr "为某些插件增加了湿/干控制" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" "当系统中没有安装相关的lv2插件时,效果界面不再被加载。而是是显示给用户的状态信" "息。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "The documentation has been updated" msgstr "文档已更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved debug messages" msgstr "改善了调试信息" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:292 msgid "Improved translations" msgstr "翻译改进" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "修正了 EasyEffects 在应用效果时关闭其窗口可能会崩溃的错误。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "旁通状态可以被保存到预设文件中。原因可以在第 issue 1039 找到" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:304 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "改进了预设自动加载代码与 USB 设备的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:305 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "当预设无法加载或预设/脉冲文件无法被导入时,将向用户显示一个对话框。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" "本程序现在转为使用 Linux Studio Plugins 的 SideChain Gate 插件,而非原先的 " "Calf Studio 的插件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:308 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "当用户地区设置不正确时,EasyEffects 不应该再崩溃。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:309 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" "在我们的图标中实施了一种曲线救国的方法,以解决 QT 中缺乏适当的 SVG 支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:318 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" "当对某应用程序禁用效果时,本程序现在起会将其目标元数据设置为null,以允许系统" "的Media Session Manager (即WirePlumber) 将音流正确地移动到新设备上。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:319 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" "新增了一个配置选项。 它允许 EasyEffects 忽略来自 Monitor 接收设备的音流。 这" "将有助于解决用户在使用 OBS 时遇到的一些问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:320 msgid "The code that shows the stream sample format has been improved" msgstr "改进了显示音频样本格式的代码" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:321 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" "rnnoise 库现在是可选的。 这应该有助于软件包维护者构建 Debian 软件包。 有关详" "细信息,请参阅 Github 仓库中编号为 1000 的 issue。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "程序日志从现在起,会显示日志里每条信息的源头" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" "此前,当 pavucontrol 等第三方程序将音流从本程序的虚拟设备移开时,程序窗口中" "的“启用效果”复选框不会被及时更新。问题现在应已解决。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "修复了可能会发生于更改自动增益插件的最大历史记录时的崩溃。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "Avoid crashes when pw-mididump is running" msgstr "当 pw-mididump 正在运行时避免崩溃" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "The interface of the pitch plugin was improved" msgstr "改进了音调插件界面" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "我们的应用图标现已兼容基于QT的桌面环境" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" "从现在起,如果某个音流设置了 application.id 标签,本程序的黑名单代码将会使用" "它" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" "为了避免鼠标滚动时出现问题,在 播放器/录音程序 选项卡中,应用程序列表中的条目" "不再显示音量比例。 有关此问题及其解决方案的更多详细信息,请参阅 issue #1211 " "和 #1427" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" "当 播放器/录音程序 选项卡中没有可显示的应用程序时,将向用户显示一条简短的信息" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 msgid "Many translation updates" msgstr "许多翻译更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:341 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" "修复了当音效管道处于活动状态并且频谱部件可见时,更改频谱中的点阵数量会导致 " "EasyEffects 崩溃的错误" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:342 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "修复了程序中显示的管道延迟值,此前其在某些情况下可能是错误的。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:350 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" "新增一个配置选项,允许用户为音效管道设置不活动超时。 当没有客户端在设备上播放" "或录制音响时,过滤器将在超时后取消链接,以此确保不会过多消耗CPU资源。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" "自动增益插件新增选项,允许用户选择使用三个响度中的其中一个来计算几何平均值。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" "自动增益插件现在允许设置最大历史记录,并且不再使用 libebur128 直方图模式,以" "避免综合响度永远停留在同一值的情况。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "EasyEffects 图标现已更新,从现在起在 Qt 桌面中应该可以正常显示了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "修复返回全局旁通状态的命令行选项。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "改进了交叉反馈插件对 PipeWire 动态延迟转换的处理,以防止在这种情况下发生音量" "跃升或骤降的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "修复了一个使单声道麦克风无法正常工作于EasyEffects的漏洞" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "Support for the next PipeWire release 0.3.44" msgstr "对下一个 PipeWire 发布版本 0.3.44 的支持" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" "改进了自动增益插件对 PipeWire 动态延迟转换的处理,以防止在这种情况下发生音量" "跃升或骤降的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" "新增了一个选项,设置 EasyEffects 在启动时是否重置虚拟设备的音量和静音状态。 " "如果有设备由于未知原因被音频服务器静音,这个选项应该会很实用。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 msgid "Better support for computer suspending." msgstr "改善了对计算机休眠的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" "修复了在没有预设的情况下,尝试创建自动加载配置文件会导致程序崩溃的错误。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "修复了将均衡器频段质量设置为零时,会导致应用程序崩溃的错误。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" "现起本程序使用 LibAdwaita 库创建窗口的某些部分,以及处理深色和浅色主题之间的" "切换。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:396 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "设置菜单被重新设计以使用 LibAdwaita 组件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:397 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" "均衡器 APO 预设导入功能已得到改进,现在可以应用钟形滤波器,以及其它受支持的滤" "波器(目前 LSP 插件中只有带通滤波器不可用)。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:398 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "重置所有设置这项功能,从现在起在Flatpak环境下应该可以正常工作了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:399 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" "新增一个新选项,允许用户禁用本程序的菜单自动隐藏功能。这或许可以解决 Popover " "菜单当前在 gtk4 上存在的一些漏洞。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "增强解析器的稳健性,以正常导入那些使用逗号作为千位分隔符的 APO 预设。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" "在各大C++编译器实现 std::format 的完整功能以前,本程序预期在这几年内都会使用 " "fmt 库作为依赖。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "不再使用 GTKMM 和 GLIBMM 作为依赖。我们现在直接使用 gtk4。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:412 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" "卷积混响器插件的界面中新增“组合脉冲响应”功能。 组合后会生成一个新的脉冲文件," "应可见于脉冲列表中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:413 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" "改进了我们绘图中的 x 轴显示。 现在起标签的数量将根据程序窗口的宽度动态调整。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" "文档已更新,以反映 EasyEffects 的新功能。 有关 PulseEffects 的旧文档均已被删" "除。 此外,菜单部分新添文档按钮。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" "当spinbutton被输入超出范围的值时,现在起它将会被更新为最低/最高值,而不是重置" "为前值。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" "应用程序窗口现在起会记住当前最大化状态,并在下一次打开程序时恢复该状态。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "The tbb library is a new dependency" msgstr "添加 tbb 软件库作为新的依赖项" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "门限、多频段压缩器插件新增可选外部侧链。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "自动增益插件现在允许用户选择将哪个响度用作音量校正的参考。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "均衡器插件的 APO 预设导入功能,现在可以解析“Pre Amplication”参数了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "设置中新增启用立方音量调节的选项。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "界面频谱本应在不可见时进入直通状态,但此前这只在程序窗口关闭时发生。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Improved support for Assistive Technology." msgstr "改进了对辅助技术的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" "修复了在更改音效管道中插件的顺序后,压缩器以及限幅器等插件的探针并未重新链接" "的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "PipeWire 监视器流现在已从应用程序列表中排除并删除。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "若无意外,类似于 issue #1172 的崩溃问题现已解决。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "Prevented a case in which Spectrum was crashing." msgstr "防止了一种会导致界面频谱崩溃的情况发生。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "在非英语的系统上,Pavucontrol 不再被添加到输入应用程序列表中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" "改进了与 WirePlumber 的兼容性。 对于使用不是 PipeWire 内置的会话管理器的系" "统,这项改动是必要的。 更多信息请参见 issue #1144。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" "从现在起,当用户尝试为列表中已有的设备添加自动加载配置文件时,其目标预设将被" "更新。 这样用户更改配置文件预设时,就无需删除并重新创建它了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" "再次重新设计了自动加载预设的实现。它现在应该可以在更多机器上正常运行了。 有关" "详细信息,请参阅issue #1051。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" "如果用户将限幅器或放大器设置在插件堆栈的最后一个位置,则新插件将会被添加到倒" "数第二个位置,以防止硬件因输出音量过大而导致损坏。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "若用户从黑名单中删除某个应用程序,程序将恢复其先前的启用状态。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" "解决当用户从降噪插件中删除导入的模型时,当前使用的模型偶尔不会正常更新的问" "题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "现在起,在外部编辑器中编辑预设文件时,重复的条目不会显示于程序菜单中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Now the blocklist is correctly set when switching presets." msgstr "现在起,切换预设时黑名单会被正确更新。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "现在“全局旁通”按钮的状态在插件堆栈被更改时会正确更新。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" "系统缺失的图标不应显示在应用程序信息 UI 中(如果确定图标已正确安装,但本程序" "依旧无法正常显示应用程序的图标,请在本程序代码仓库提交 issue)。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" "修复了在使用 Breeze 图标主题的 Plasma 桌面中,本程序未显示一些图标的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "Updated Chinese translation." msgstr "更新了中文翻译。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "Updated Italian translation." msgstr "更新了意大利语翻译。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Added support for the compressor parameter Boost Amount" msgstr "新增了压缩器参数 提升量 的支持" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" "多频段压缩器插件从现在起基于 Linux Studio Plugins 中的立体声多频段压缩器插" "件,而非 Calf Studio 中的插件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:484 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" "限幅器插件从现在起基于 Linux Studio 插件中的立体声限制器插件,而非 Calf " "Studio 中的。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:485 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" "所有的 LV2 过滤器,现在仅在其第一次被加载时会加入 PipeWire 图。 一旦被加载," "它们将保持连接状态直到 EasyEffects 关闭。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:487 msgid "The echo canceller sampling rate is now properly set." msgstr "修复了回声消除插件未正确设置采样率的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:488 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "从今起,齿音消除插件的阈值参数会被保存到预设文件中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "改进了结晶器的分割频段,其将使用新的默认强度值。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "此前,根据其输入增益或输出增益值,相应的水平条有无法对齐的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "添加更多均衡器频段时,它们将被设置为钟形,而非原先的关闭。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "均衡器 APO 预设加载现在可以在非 “C” 的语言环境中正常工作了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "改进了 PipeWire 中端口过滤器节点之间的链接管理。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "修复了结晶器插件信号放大过高的问题,经调整后其放大幅度现在更为合理了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "改进了部分插件所使用的重采样器(如降噪插件)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "Setting multiple autoloading presets should be fine now" msgstr "修复了设置多个自动加载预设的相关问题" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "现在某些插件对话框会正确设置瞬态窗口了" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" "改进了卷积器脉冲响应插件的菜单,以防止菜单中只有一个脉冲文件时会出现脉冲文件" "未加载的问题,请参阅 issue #1011" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "修复了一个可能导致音高插件无法正确初始化的错误" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "饱和度警告应该不再遮挡与其相邻的界面部件了" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "Fixed the locale in a few widgets" msgstr "修复了一些小部件中的语言环境" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:511 msgid "Fixed wrong alignment in a few widgets" msgstr "修复了程序界面一些部件中的对齐问题" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" "由于 issue #820 中描述的原因,本程序再度使用响度插件。这意味着它再次成为一个" "可选的依赖。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "修复了用户未安装可选依赖项时发生的segfault" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:529 msgid "Improved equalizer interface." msgstr "改进了均衡器的界面。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "现在起本程序使用侧链 LSP 压缩器,以允许用户选择外部源作为侧链输入。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:531 msgid "We now support the LSP compressor Boosting mode." msgstr "新增 LSP 压缩器加强模式支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:532 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" "当在均衡器中启用分离声道时,导入的 APO 预设将仅应用于正在显示于程序窗口中的声" "道。 这将允许为每个声道导入不同的预设,两个声道不再强制共用一个预设。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "修复了创建预设自动加载配置文件或删除预设时可能发生的一些segfault" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:542 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "这是我有史以来完成的最大版本之一。 改动量之大,在此难以一一详述。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:543 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" "以下只是最重要的事项, 对我们这一路的开发旅程感兴趣的人可以参阅 issue #904 " "和 issue #874。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:544 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "本程序及 Git 仓库已从 PulseEffects 重命名为 EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:545 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 已被 gtkmm4 取代" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:546 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer 已被原生 PipeWire 过滤器取代。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:547 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" "从头开始重新实现了许多功能,相关例子有预设自动加载等等。 另一个显着变化出现在" "插件选择菜单中,现在用户可以在程序窗口中选择只显示他们想要使用的插件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:548 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" "Boost 不再是本程序依赖,伴随这项改动的是预设文件的结构发生了一点变化。 只要有" "足够的耐心,用户可以在文本编辑器中编辑 PulseEffects 预设并使它们在 " "EasyEffects 中工作。 希望未来会有人为此编写一个脚本。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:549 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "本程序将逐渐使用更多的库,而一些本来是可选的库现在转变为必须的了" #~ msgid "This release adds the following features:" #~ msgstr "此版本增加了以下功能:" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "Debian 软件包。请参考 issue #1000 以了解更多信息。" #~ msgid "and #1427" #~ msgstr "和 #1427" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "有一个新设置允许用户为管道选择不活动超时。当没有客户端正在播放时" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "我们不会浪费 CPU 功率处理静音。" #~ msgid "This release adds the following feature:" #~ msgstr "此版软件新增了以下功能:" #~ msgid "Equalizer, Compressor and Other Audio Effects" #~ msgstr "均衡器, 压缩器和其他音效" #~ msgid "limiter;compressor;reverberation;equalizer;autovolume;" #~ msgstr "限幅器;压缩器;混响;均衡器;自动音量;" #~ msgid "\"Presets\"" #~ msgstr "\"预设\"" #~ msgid "Enable" #~ msgstr "启用" #~ msgid "Mute Application" #~ msgstr "将程序静音" #~ msgid "_Reset Settings" #~ msgstr "重置设置(_R)" #~ msgid "_About EasyEffects" #~ msgstr "关于 EasyEffects (_A)" #~ msgid "Presets" #~ msgstr "预设" #~ msgid "Presets Menu" #~ msgstr "预设菜单" #~ msgid "Global Bypass" #~ msgstr "全局旁路" #~ msgid "EasyEffects Window" #~ msgstr "EasyEffects 窗口" #~ msgid "Empty List" #~ msgstr "空列表" #~ msgid "Target" #~ msgstr "目标" #~ msgid "Maximum History" #~ msgstr "历史记录最大值" #~ msgid "Momentary" #~ msgstr "瞬时" #~ msgid "Short-Term" #~ msgstr "短期" #~ msgid "Integrated" #~ msgstr "综合" #~ msgid "Reset History" #~ msgstr "清除记录" #~ msgid "Relative" #~ msgstr "相对值" #~ msgid "Range" #~ msgstr "范围" #~ msgid "Loudness" #~ msgstr "响度" #~ msgid "Output Gain" #~ msgstr "输出增益" #~ msgid "Input" #~ msgstr "输入" #~ msgid "Plugin Input Gain" #~ msgstr "插件输入增益" #~ msgid "Output" #~ msgstr "输出" #~ msgid "Plugin Output Gain" #~ msgstr "插件输出增益" #~ msgid "Reset" #~ msgstr "重置" #~ msgid "Using" #~ msgstr "使用" #~ msgid "Device" #~ msgstr "设备" #~ msgid "Name" #~ msgstr "名称" #~ msgid "Profile" #~ msgstr "概述" #~ msgid "Preset" #~ msgstr "预设" #~ msgid "Remove this autoload preset" #~ msgstr "删除此自动加载预设" #~ msgid "Listen" #~ msgstr "聆听" #~ msgid "Blend Harmonics" #~ msgstr "谐波注入" #~ msgid "3rd" #~ msgstr "3次" #~ msgid "2nd" #~ msgstr "2次" #~ msgid "Amount" #~ msgstr "程度" #~ msgid "Harmonics" #~ msgstr "谐波" #~ msgid "Scope" #~ msgstr "范围" #~ msgid "Floor" #~ msgstr "下限" #~ msgid "Floor Value" #~ msgstr "下限" #~ msgid "Add to Excluded Applications" #~ msgstr "添加到排除的程序" #~ msgid "Excluded Applications List" #~ msgstr "已排除程序列表" #~ msgid "Show Excluded Applications" #~ msgstr "显示已排除的程序" #~ msgid "Compressor" #~ msgstr "压缩器" #~ msgid "Mode" #~ msgstr "模式" #~ msgid "Downward" #~ msgstr "向下" #~ msgid "Upward" #~ msgstr "向上" #~ msgid "Boosting" #~ msgstr "加强" #~ msgid "Compression Mode" #~ msgstr "压缩模式" #~ msgid "Boost Threshold" #~ msgstr "提升阈值" #~ msgid "Boost Amount" #~ msgstr "Boost 量" #~ msgid "Attack" #~ msgstr "起始时间" #~ msgid "Time" #~ msgstr "时间" #~ msgid "Threshold" #~ msgstr "阈值" #~ msgid "Attack Time" #~ msgstr "起音时间" #~ msgid "Attack Threshold" #~ msgstr "起音阈值" #~ msgid "Release" #~ msgstr "消音时间" #~ msgid "Release Time" #~ msgstr "消音时间" #~ msgid "Release Threshold" #~ msgstr "消音阈值" #~ msgid "Ratio" #~ msgstr "比率" #~ msgid "Knee" #~ msgstr "拐点" #~ msgid "Makeup" #~ msgstr "补偿" #~ msgid "Sidechain" #~ msgstr "侧链" #~ msgid "Peak" #~ msgstr "峰值" #~ msgid "RMS" #~ msgstr "均方根值" #~ msgid "Low-Pass" #~ msgstr "低通" #~ msgid "Uniform" #~ msgstr "均值" #~ msgid "Sidechain Mode" #~ msgstr "侧链模式" #~ msgid "Source" #~ msgstr "源" #~ msgid "Middle" #~ msgstr "中央" #~ msgid "Side" #~ msgstr "侧边" #~ msgid "Left" #~ msgstr "左" #~ msgid "Right" #~ msgstr "右" #~ msgid "Sidechain Source" #~ msgstr "侧链声源" #~ msgid "Type" #~ msgstr "类型" #~ msgid "Feed-forward" #~ msgstr "前馈式" #~ msgid "Feed-back" #~ msgstr "反馈式" #~ msgid "Sidechain Type" #~ msgstr "侧链类型" #~ msgid "Input Device" #~ msgstr "输入设备" #~ msgid "PreAmplification" #~ msgstr "前置放大" #~ msgid "Reactivity" #~ msgstr "响应" #~ msgid "Lookahead" #~ msgstr "预测时间" #~ msgid "Sidechain Filters" #~ msgstr "侧链过滤器" #~ msgid "High-Pass" #~ msgstr "高通滤波器" #~ msgid "Frequency" #~ msgstr "频率" #~ msgid "Off" #~ msgstr "关" #~ msgid "Gain" #~ msgstr "增益" #~ msgid "Envelope" #~ msgstr "波封" #~ msgid "Curve" #~ msgstr "压缩曲线" #~ msgid "L" #~ msgstr "左" #~ msgid "Left Channel" #~ msgstr "左声道" #~ msgid "R" #~ msgstr "右" #~ msgid "Right Channel" #~ msgstr "右声道" #~ msgid "Stereo Width" #~ msgstr "立体声宽度" #~ msgid "Spectrum" #~ msgstr "频谱" #~ msgid "Autogain" #~ msgstr "自动增益" #~ msgid "Rate" #~ msgstr "速率" #~ msgid "Samples" #~ msgstr "样本" #~ msgid "Duration" #~ msgstr "持续时间" #~ msgid "Combine Impulse Responses" #~ msgstr "混合脉冲响应" #~ msgid "Output File Name" #~ msgstr "输出文件名" #~ msgid "Import Impulse" #~ msgstr "导入 Impulse" #~ msgid "Search" #~ msgstr "搜索" #~ msgid "Search Impulse File" #~ msgstr "搜索脉冲文件" #~ msgid "Impulse Files List" #~ msgstr "脉冲文件列表" #~ msgid "Default" #~ msgstr "默认" #~ msgid "Cutoff" #~ msgstr "截止" #~ msgid "Feed" #~ msgstr "反馈" #~ msgid "Bypass" #~ msgstr "旁路" #~ msgid "Mute" #~ msgstr "静音静音" #~ msgid "Detection" #~ msgstr "侦测" #~ msgid "Wide" #~ msgstr "宽频段" #~ msgid "Split" #~ msgstr "分割频段" #~ msgid "F1 Split" #~ msgstr "F1 分离" #~ msgid "Frequency 1 Split" #~ msgstr "频率 1 分割" #~ msgid "F2 Peak" #~ msgstr "F2 峰值" #~ msgid "Frequency 2 Peak" #~ msgstr "频率 2 峰值" #~ msgid "F1 Gain" #~ msgstr "F1 增益" #~ msgid "Frequency 1 Gain" #~ msgstr "频率 1 增益" #~ msgid "F2 Level" #~ msgstr "F2 级别" #~ msgid "Frequency 2 Level" #~ msgstr "频率 2 水平" #~ msgid "Frequency 2 Peak Q" #~ msgstr "频率 2 Peak Q" #~ msgid "Detected" #~ msgstr "已侦测到" #~ msgid "Reduction" #~ msgstr "衰减" #~ msgid "Frame Size" #~ msgstr "Frame 大小" #~ msgid "Filter Length" #~ msgstr "过滤器长度" #~ msgid "Bands" #~ msgstr "频段" #~ msgid "Split Channels" #~ msgstr "分离声道" #~ msgid "Flat Response" #~ msgstr "平滑响应" #~ msgid "Calculate Frequencies" #~ msgstr "频率响应" #~ msgid "Load APO Preset" #~ msgstr "加载 APO 预设" #~ msgid "Bell" #~ msgstr "带通" #~ msgid "High Pass" #~ msgstr "高通" #~ msgid "High Shelf" #~ msgstr "高架" #~ msgid "Low Pass" #~ msgstr "低通" #~ msgid "Low Shelf" #~ msgstr "低架" #~ msgid "Notch" #~ msgstr "带阻" #~ msgid "Resonance" #~ msgstr "共鸣" #~ msgid "All Pass" #~ msgstr "全通" #~ msgid "Band Type" #~ msgstr "频段类型" #~ msgid "Band Mode" #~ msgstr "频段模式" #~ msgid "Slope" #~ msgstr "斜率" #~ msgid "Band Slope" #~ msgstr "频段斜率" #~ msgid "Width" #~ msgstr "宽度" #~ msgid "Quality" #~ msgstr "品质" #~ msgid "Solo" #~ msgstr "独奏" #~ msgid "Ceil" #~ msgstr "上限" #~ msgid "API" #~ msgstr "API" #~ msgid "Access" #~ msgstr "访问" #~ msgid "Description" #~ msgstr "描述" #~ msgid "Remove this model file" #~ msgstr "删除这个模型文件" #~ msgid "Inertia" #~ msgstr "惯性" #~ msgid "Gate" #~ msgstr "门限" #, fuzzy #~ msgid "Release Zone Start" #~ msgstr "消音时间" #~ msgid "Internal" #~ msgstr "内部" #~ msgid "Gating" #~ msgstr "门控" #~ msgid "Oversampling" #~ msgstr "超采样" #~ msgid "Sidechain PreAmplification" #~ msgstr "侧链前置放大" #~ msgid "Boost" #~ msgstr "增强" #~ msgid "Stereo Link" #~ msgstr "立体声连锁" #~ msgid "External Sidechain" #~ msgstr "外部侧链" #~ msgid "Auto Leveling" #~ msgstr "自动调平" #~ msgid "Auto Leveling Attack" #~ msgstr "自动调平起音" #~ msgid "Auto Leveling Release" #~ msgstr "自动调平消音" #, fuzzy #~ msgid "Auto Leveling Knee" #~ msgstr "自动调平 Knee" #~ msgid "Gain Left" #~ msgstr "左增益" #~ msgid "Gain Right" #~ msgstr "右增益" #~ msgid "Sidechain Left" #~ msgstr "左边侧链" #~ msgid "Sidechain Right" #~ msgstr "右边侧链" #~ msgid "Standard" #~ msgstr "标准" #~ msgid "Flat" #~ msgstr "平滑" #~ msgid "FFT Size" #~ msgstr "FFT 大小" #~ msgid "Output Volume" #~ msgstr "输出音量" #~ msgid "Ceiling" #~ msgstr "上限" #~ msgid "Operating Mode" #~ msgstr "运作模式" #~ msgid "Modern" #~ msgstr "现代" #~ msgid "Sidechain Boost" #~ msgstr "侧链增强" #~ msgid "Bands List" #~ msgstr "频段列表" #~ msgid "Band 1" #~ msgstr "频段 1" #~ msgid "Band 2" #~ msgstr "频段 2" #~ msgid "Band 3" #~ msgstr "频段 3" #~ msgid "Band 4" #~ msgstr "频段 4" #~ msgid "Band 5" #~ msgstr "频段 5" #~ msgid "Band 6" #~ msgstr "频段 6" #~ msgid "Band 7" #~ msgstr "频段 7" #~ msgid "Band 8" #~ msgstr "频段 8" #~ msgid "Band End" #~ msgstr "频段末尾" #~ msgid "Band Compression Mode" #~ msgstr "频段压缩模式" #~ msgid "Band Bypass" #~ msgstr "频段旁路" #~ msgid "Band Sidechain Options" #~ msgstr "频段侧链选项" #~ msgid "Low-Cut Filter" #~ msgstr "低切滤音" #~ msgid "Low-Cut Filter Frequency" #~ msgstr "低切滤音器频率" #~ msgid "High-Cut Filter Frequency" #~ msgstr "高切滤音器频率" #~ msgid "Band Gain" #~ msgstr "频段增益" #~ msgid "Band Curve" #~ msgstr "频段曲线" #~ msgid "Split Mode" #~ msgstr "分割模式" #~ msgid "Split 1/2" #~ msgstr "分割 1/2" #~ msgid "Split Frequency 1" #~ msgstr "分割频率 1" #~ msgid "Split 2/3" #~ msgstr "分割 2/3" #~ msgid "Split Frequency 2" #~ msgstr "分割频率 2" #~ msgid "Split 3/4" #~ msgstr "分割 3/4" #~ msgid "Split Frequency 3" #~ msgstr "分割频率 3" #~ msgid "Sub Band" #~ msgstr "子频" #~ msgid "Band 1 Bypass" #~ msgstr "频段 1 旁路" #~ msgid "Band 1 Detection" #~ msgstr "频段 1 侦测" #~ msgid "Band 1 Attack" #~ msgstr "频段 1 起音" #~ msgid "Band 1 Release" #~ msgstr "频段 1 消音" #~ msgid "Band 1 Threshold" #~ msgstr "频段 1 阈值" #~ msgid "Band 1 Makeup" #~ msgstr "频段 1 补偿" #~ msgid "Max Reduction" #~ msgstr "衰减" #~ msgid "Band 1 Max Reduction" #~ msgstr "频段 1 最大衰减" #~ msgid "Low Band" #~ msgstr "低频" #~ msgid "Band 2 Bypass" #~ msgstr "频段 2 旁路" #~ msgid "Band 2 Detection" #~ msgstr "频段 2 侦测" #~ msgid "Band 2 Attack" #~ msgstr "频段 2 起音" #~ msgid "Band 2 Release" #~ msgstr "频段 2 消音" #~ msgid "Band 2 Threshold" #~ msgstr "频段 2 阈值" #~ msgid "Band 2 Makeup" #~ msgstr "频段 2 补偿" #~ msgid "Band 2 Max Reduction" #~ msgstr "频段 2 最大衰减" #~ msgid "Mid Band" #~ msgstr "中频" #~ msgid "Band 3 Bypass" #~ msgstr "频段 3 旁路" #~ msgid "Band 3 Detection" #~ msgstr "频段 3 侦测" #~ msgid "Band 3 Attack" #~ msgstr "频段 3 起音" #~ msgid "Band 3 Release" #~ msgstr "频段 3 消音" #~ msgid "Band 3 Threshold" #~ msgstr "频段 3 阈值" #~ msgid "Band 3 Makeup" #~ msgstr "频段 3 补偿" #~ msgid "Band 3 Max Reduction" #~ msgstr "频段 3 最大衰减" #~ msgid "High Band" #~ msgstr "高频" #~ msgid "Band 4 Bypass" #~ msgstr "频段 4 旁路" #~ msgid "Band 4 Detection" #~ msgstr "频段 4 侦测" #~ msgid "Band 4 Attack" #~ msgstr "频段 4 起音" #~ msgid "Band 4 Release" #~ msgstr "频段 4 消音" #~ msgid "Band 4 Threshold" #~ msgstr "频段 4 阈值" #~ msgid "Band 4 Makeup" #~ msgstr "频段 4 补偿" #~ msgid "Band 4 Max Reduction" #~ msgstr "频段 4 最大衰减" #~ msgid "General" #~ msgstr "通用" #~ msgid "Use Default Input" #~ msgstr "使用默认输入" #~ msgid "Custom Input Device" #~ msgstr "自定义输入设备" #~ msgid "Use Default Output" #~ msgstr "使用默认输出" #~ msgid "Custom Output Device" #~ msgstr "自定义输出设备" #~ msgid "Server Information" #~ msgstr "服务器信息" #~ msgid "Header Version" #~ msgstr "头文件版本" #~ msgid "Library Version" #~ msgstr "库文件版本" #~ msgid "Sampling Rate" #~ msgstr "采样率" #, fuzzy #~ msgid "Minimum Quantum" #~ msgstr "最小 Quantum" #~ msgid "Maximum Quantum" #~ msgstr "最大 Quantum" #, fuzzy #~ msgid "Default Quantum" #~ msgstr "默认 Quantum" #~ msgid "Output Devices" #~ msgstr "输出设备" #~ msgid "Output Presets" #~ msgstr "输出预设" #~ msgid "Create Association" #~ msgstr "创建关联" #~ msgid "Output Autoloading Presets List" #~ msgstr "输出自动加载预设列表" #~ msgid "Input Devices" #~ msgstr "输入设备" #~ msgid "Input Presets" #~ msgstr "输入预设" #~ msgid "Input Autoloading Presets List" #~ msgstr "输入自动加载预设列表" #~ msgid "Modules" #~ msgstr "模块" #~ msgid "Modules List" #~ msgstr "模块列表" #~ msgid "Clients" #~ msgstr "客户端" #~ msgid "Clients List" #~ msgstr "客户端列表" #~ msgid "Test Signal" #~ msgstr "测试信号" #~ msgid "State" #~ msgstr "状态" #~ msgid "Enabled" #~ msgstr "已启用" #~ msgid "Channels" #~ msgstr "声道" #~ msgid "Both Channels" #~ msgstr "双声道" #~ msgid "Sine Wave" #~ msgstr "正弦波" #~ msgid "White Noise" #~ msgstr "白噪声" #~ msgid "High Speed" #~ msgstr "高速" #~ msgid "High Quality" #~ msgstr "高品质" #~ msgid "Formant" #~ msgstr "格式" #~ msgid "Preserved" #~ msgstr "保留" #, fuzzy #~ msgid "Crisp" #~ msgstr "清脆感" #~ msgid "Detector" #~ msgstr "侦测器" #~ msgid "Soft" #~ msgstr "柔化处理" #~ msgid "Cents" #~ msgstr "音分" #~ msgid "Semitones" #~ msgstr "半音" #~ msgid "Octaves" #~ msgstr "八度" #~ msgid "Remove this effect" #~ msgstr "删除这个音效" #~ msgid "No Effects" #~ msgstr "无音效" #~ msgid "Search Plugin" #~ msgstr "搜索插件" #~ msgid "Plugins List" #~ msgstr "插件列表" #~ msgid "_General" #~ msgstr "常规(_G)" #~ msgid "Service" #~ msgstr "服务" #~ msgid "Launch Service at System Startup" #~ msgstr "系统启动时运行服务" #~ msgid "Shutdown on Window Closing" #~ msgstr "窗口关闭时退出" #~ msgid "Audio" #~ msgstr "音频" #~ msgid "Process All Output Streams" #~ msgstr "处理所有输出流" #~ msgid "Process All Input Streams" #~ msgstr "处理所有输入流" #~ msgid "Use Dark Theme" #~ msgstr "使用暗色主题" #~ msgid "_Spectrum" #~ msgstr "频谱(_S)" #~ msgid "Shape" #~ msgstr "形状" #~ msgid "Bars" #~ msgstr "柱状" #~ msgid "Lines" #~ msgstr "线型" #~ msgid "Points" #~ msgstr "数量" #~ msgid "Height" #~ msgstr "高度" #~ msgid "Line Width" #~ msgstr "线宽" #~ msgid "Fill" #~ msgstr "填充频谱" #~ msgid "Color" #~ msgstr "颜色" #~ msgid "Frequency Range" #~ msgstr "频率范围" #~ msgid "Minimum" #~ msgstr "最低" #~ msgid "Maximum" #~ msgstr "最大值" #~ msgid "Load" #~ msgstr "加载" #~ msgid "Save current settings to this preset file" #~ msgstr "将当前设置保存到这个预设文件" #~ msgid "Remove this preset file" #~ msgstr "删除这个预设文件" #~ msgid "New Output Preset Name" #~ msgstr "新输出预设名" #~ msgid "Create a new preset" #~ msgstr "创建新预设" #~ msgid "Import a preset" #~ msgstr "导入预设" #~ msgid "Search Output Preset" #~ msgstr "搜索输出预设" #~ msgid "Output Presets List" #~ msgstr "输出预设列表" #~ msgid "New Input Preset Name" #~ msgstr "新输入预设名" #~ msgid "Search Input Preset" #~ msgstr "搜索输入预设" #~ msgid "Input Presets List" #~ msgstr "输入预设列表" #~ msgid "High Frequency Damping" #~ msgstr "高频阻尼" #~ msgid "Room Size" #~ msgstr "房间大小" #~ msgid "Small" #~ msgstr "小" #~ msgid "Medium" #~ msgstr "中" #~ msgid "Large" #~ msgstr "大" #~ msgid "Tunnel" #~ msgstr "通道" #~ msgid "Large/smooth" #~ msgstr "大/平整" #~ msgid "Experimental" #~ msgstr "实验性" #~ msgid "Diffusion" #~ msgstr "扩散" #~ msgid "Pre Delay" #~ msgstr "前反射延迟" #~ msgid "Decay Time" #~ msgstr "衰减时间" #~ msgid "Wet Amount" #~ msgstr "湿声程度" #~ msgid "Wet Level" #~ msgstr "湿声级别" #~ msgid "Dry Amount" #~ msgstr "干声程度" #~ msgid "Dry Level" #~ msgstr "干声级别" #~ msgid "Bass Cut" #~ msgstr "低切" #~ msgid "Treble Cut" #~ msgstr "高切" #~ msgid "Ambience" #~ msgstr "氛围" #~ msgid "Empty Walls" #~ msgstr "空旷" #~ msgid "Room" #~ msgstr "房间" #~ msgid "Large Empty Hall" #~ msgstr "空荡的大厅" #~ msgid "Disco" #~ msgstr "舞厅" #~ msgid "Large Occupied Hall" #~ msgstr "拥挤的大厅" #~ msgid "Import Model" #~ msgstr "导入模型" #~ msgid "Models" #~ msgstr "模型" #~ msgid "Standard Model" #~ msgstr "标准模型" #~ msgid "RNNoise Models List" #~ msgstr "RNNoise 模型列表" #~ msgid "Active Model" #~ msgstr "激活模型" #~ msgid "Standard RNNoise Model" #~ msgstr "标准 RNNoise 模型" #~ msgid "Overview" #~ msgstr "概览" #~ msgid "Open the EasyEffects Manual" #~ msgstr "打开 EasyEffects 手册" #~ msgid "Fullscreen/Restore from fullscreen" #~ msgstr "全屏/从全屏恢复" #~ msgid "Close the Window" #~ msgstr "关闭窗口" #~ msgid "Quit EasyEffects" #~ msgstr "退出 EasyEffects" #~ msgid "Balance" #~ msgstr "平衡" #~ msgid "Input Balance" #~ msgstr "输出平衡" #~ msgid "Softclip" #~ msgstr "柔化处理" #~ msgid "Softclip Level" #~ msgstr "软削波等级" #~ msgid "Stereo Matrix" #~ msgstr "立体声阵距" #~ msgid "LR > LR (Stereo Default)" #~ msgstr "LR > LR (默认立体声)" #~ msgid "LR > MS (Stereo to Mid-Side)" #~ msgstr "LR > MS (立体声至中-侧)" #~ msgid "MS > LR (Mid-Side to Stereo)" #~ msgstr "MS > LR (中-侧至立体声)" #~ msgid "LR > LL (Mono Left Channel)" #~ msgstr "LR > LL (单声道左)" #~ msgid "LR > RR (Mono Right Channel)" #~ msgstr "LR > RR (单声道右)" #~ msgid "LR > L+R (Mono Sum L+R)" #~ msgstr "LR > L+R (单声道左右合并)" #~ msgid "LR > RL (Stereo Flip Channels)" #~ msgstr "LR > RL (立体声翻转)" #~ msgid "Stereo Mode" #~ msgstr "立体声模式" #~ msgid "Invert Phase" #~ msgstr "反转相位" #~ msgid "Side Level" #~ msgstr "侧边级别" #~ msgid "Side Balance" #~ msgstr "侧边平衡" #~ msgid "Middle Level" #~ msgstr "中置级别" #~ msgid "Middle Panorama" #~ msgstr "中置全景" #~ msgid "Output Balance" #~ msgstr "输出平衡" #~ msgid "Delay L/R" #~ msgstr "延迟 L/R" #~ msgid "Delay Left Right" #~ msgstr "延迟 L/R" #~ msgid "Stereo Base" #~ msgstr "立体声基线" #~ msgid "Stereo Phase" #~ msgstr "立体声相位" #~ msgid "Running" #~ msgstr "正在运行" #~ msgid "Suspended" #~ msgstr "已暂停" #~ msgid "Idle" #~ msgstr "空闲" #~ msgid "Creating" #~ msgstr "创建中" #~ msgid "Error" #~ msgstr "错误" #~ msgid "Unknown" #~ msgstr "未知" #~ msgid "channels" #~ msgstr "声道" #~ msgid "Output Presets: " #~ msgstr "输出预设: " #~ msgid "Input Presets: " #~ msgstr "输入预设: " #~ msgid "Audio effects for PipeWire applications" #~ msgstr "为使用 PipeWire 的程序提供音效" #~ msgid "Quit EasyEffects. Useful when running in service mode." #~ msgstr "退出 EasyEffects。 在服务模式下运行时很有用。" #~ msgid "Load a preset. Example: easyeffects -l music" #~ msgstr "加载预设。 示例:easyeffects -l music" #~ msgid "Reset EasyEffects." #~ msgstr "重设 EasyEffects。" #~ msgid "Hide the Window." #~ msgstr "隐藏隐藏窗口。" #~ msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" #~ msgstr "全局旁路。 1 启用,2 禁用,3 获取状态" #~ msgid "Show available presets." #~ msgstr "显示可用预设。" #~ msgid "PipeWire" #~ msgstr "PipeWire" #~ msgid "Impulse File Not Imported" #~ msgstr "脉冲文件未导入" #~ msgid "Import Impulse File" #~ msgstr "导入 Impulse 文件" #~ msgid "Open" #~ msgstr "打开" #~ msgid "Cancel" #~ msgstr "取消" #~ msgid "Impulse Response" #~ msgstr "Impulse 解析" #~ msgid "Load Impulse" #~ msgstr "加载脉冲" #~ msgid "Remove Impulse" #~ msgstr "删除脉冲" #~ msgid "No Impulse File Loaded" #~ msgstr "未加载脉冲文件" #~ msgid "Failed To Load The Impulse File" #~ msgstr "加载脉冲文件失败" #~ msgid "Recorders" #~ msgstr "录音程序" #~ msgid "Players" #~ msgstr "播放器" #~ msgid "Effects" #~ msgstr "音效" #~ msgid "infinity" #~ msgstr "无限" #~ msgid "Import APO Preset File" #~ msgstr "加载 APO 预设文件" #~ msgid "APO Presets" #~ msgstr "APO 预设" #~ msgid "Remove Autoloading Preset" #~ msgstr "删除自动加载预设" #~ msgid "Remove" #~ msgstr "删除" #~ msgid "Output Device" #~ msgstr "输出设备" #~ msgid "Add" #~ msgstr "添加" #~ msgid "Import Preset" #~ msgstr "导入预设" #~ msgid "Import Model File" #~ msgstr "导入模型文件" #~ msgid "RNNoise Models" #~ msgstr "RNNoise 模型" #~ msgid "Bass Enhancer" #~ msgstr "低音增强" #~ msgid "Bass Loudness" #~ msgstr "低音响度" #~ msgid "Convolver" #~ msgstr "卷积混响器" #~ msgid "Crossfeed" #~ msgstr "交叉反馈" #~ msgid "Deesser" #~ msgstr "齿音消除" #~ msgid "Delay" #~ msgstr "延迟" #~ msgid "Echo Canceller" #~ msgstr "回音消除" #~ msgid "Equalizer" #~ msgstr "均衡器" #~ msgid "Exciter" #~ msgstr "激励器" #~ msgid "Filter" #~ msgstr "过滤器" #~ msgid "Limiter" #~ msgstr "限幅器" #~ msgid "Maximizer" #~ msgstr "放大器" #~ msgid "Multiband Compressor" #~ msgstr "多频段压缩器" #~ msgid "Multiband Gate" #~ msgstr "多频段门限" #~ msgid "Pitch" #~ msgstr "音高" #~ msgid "Reverberation" #~ msgstr "混响" #~ msgid "Noise Reduction" #~ msgstr "降噪" #~ msgid "Stereo Tools" #~ msgstr "立体声工具" #~ msgid "Average" #~ msgstr "平均值" #~ msgid "Failed" #~ msgstr "失败" #~ msgid "Use Default" #~ msgstr "使用默认" #~ msgid "Remove this plugin" #~ msgstr "删除这个插件" #~ msgid "Import Presets" #~ msgstr "加载预设" #~ msgid "Start Service at Login" #~ msgstr "登录时启动服务" #~ msgid "Process All Outputs" #~ msgstr "处理所有输出" #~ msgid "Process All Inputs" #~ msgstr "处理所有输入" #~ msgid "Activate" #~ msgstr "激活" #~ msgid "Add to Blocklist" #~ msgstr "加入黑名单" #~ msgid "Blocklist" #~ msgstr "黑名单" #~ msgid "Add Plugin" #~ msgstr "增加插件" #~ msgid "Speakers" #~ msgstr "扬声器" #~ msgid "Microphone" #~ msgstr "麦克风" #~ msgid "enabled" #~ msgstr "已启用" #~ msgid "disabled" #~ msgstr "已禁用" #~ msgid "Plugins" #~ msgstr "插件" #~ msgid "Format" #~ msgstr "格式" #~ msgid "Latency" #~ msgstr "延迟" #~ msgid "idle" #~ msgstr "空闲" #~ msgid "Faster" #~ msgstr "快速" #~ msgid "Preserve Formant" #~ msgstr "共振保护" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "设置音量和 打开/关闭音效" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "包含预设的均衡器" #~ msgid "Input Limiter" #~ msgstr "输入限幅器" #~ msgid "Calibration" #~ msgstr "校准" #~ msgid "Settings" #~ msgstr "设置" #~ msgid "Id" #~ msgstr "Id" #~ msgid "Low-pass" #~ msgstr "低通" #~ msgid "Player Name" #~ msgstr "播放器名称" #~ msgid "Maximum Gain Reduction" #~ msgstr "最大增益衰减" #~ msgid "Run in Background" #~ msgstr "后台运行" #~ msgid "Automatic Smoothing Control" #~ msgstr "自动平滑控制" #~ msgid "Limit" #~ msgstr "限制" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Attenuation" #~ msgstr "衰减" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Signal" #~ msgstr "测试信号" #, fuzzy #~ msgid "Wet" #~ msgstr "程度" #~ msgid "Dry" #~ msgstr "干声" #~ msgid "Show Spectrum" #~ msgstr "显示频谱" #~ msgid "Border" #~ msgstr "显示边界" #~ msgid "Spectrum Type" #~ msgstr "频谱类型" #~ msgid "Spectrum Color" #~ msgstr "光谱颜色" #~ msgid "S/C Level" #~ msgstr "S/C 级别" #~ msgid "Phase Correlation" #~ msgstr "相位相关" easyeffects-7.1.7/po/news/zh_Hant.po000066400000000000000000001166221463533416400173750ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects-news package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects-news\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-10 22:50+0000\n" "PO-Revision-Date: 2023-11-12 05:02+0000\n" "Last-Translator: Wolf yuan \n" "Language-Team: Chinese (Traditional) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.2-dev\n" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:4 msgid "Easy Effects" msgstr "Easy Effects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:5 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire 音效程式" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:8 msgid "Wellington Wallace" msgstr "Wellington Wallace" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:10 msgid "" "Easy Effects is an advanced audio manipulation tool. It includes an " "equalizer, limiter, compressor and a reverberation tool, just to mention a " "few. To complement this there is also a built in spectrum analyzer." msgstr "" "Easy Effects 是一個專業音訊處理程式。包含等化器、限幅器 (Limiter)、壓縮器 " "(Compressor) 和回音工具。Easy Effects 也包含波形 (Spectrum) 檢驗器。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:11 msgid "" "Easy Effects is the successor to PulseEffects. Easy Effects only supports " "PipeWire's audio server. PulseAudio users should instead use PulseEffects." msgstr "" "Easy Effects 是 PulseEffects 的進化版。Easy Effects 僅支援 PipeWire " "的音訊服務。PulseAudio 的使用者應該使用 PulseEffects。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:12 msgid "" "Because Easy Effects uses the default PipeWire sound server it will work " "with most, if not all, applications you use. All supported applications are " "presented in the main window, where each can be enabled individually." msgstr "" "由於 Easy Effects 是使用 PipeWire 預設的音訊服務,支援您大部分使用的應用程式" "。所有支援的程式會在主畫面中顯示,您可以單一控制每個程式是否要使用音效。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:13 msgid "" "Besides manipulating sound output, Easy Effects is able to apply effects to " "an input device, such as a microphone. This is, for example, useful in audio " "recording, but it also works well during voice conversations." msgstr "除了處理輸出音訊,Easy Effects 也可以處理輸出裝置,例如麥克風輸入,這項功能不" "論在您錄音或是與好友聊天時都很好用。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:14 msgid "" "When Easy Effects is launched it will conveniently remember the " "configuration used in the last session. It is also possible to save all the " "current settings as profiles." msgstr "Easy Effects " "在啓動時會自動回覆上一次的設定。您也可以將目前的設定存成一個設定檔。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:40 msgid "The main page showing two audio output apps" msgstr "有兩個輸出程式的主畫面" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:44 msgid "The bass enhancer page showing audio controls" msgstr "重音加強程式的音訊控制選項" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:48 msgid "The convolver page showing audio controls" msgstr "Convolver (卷積器) 的音訊控制選項" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:56 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:67 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:78 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:90 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:100 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:124 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:151 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:165 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:178 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:188 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:202 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:215 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:263 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:278 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:333 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:355 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:372 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:387 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:402 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:414 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:422 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:440 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:462 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:489 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:502 msgid "Features:" msgstr "主要功能:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:57 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:68 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:464 msgid "Updated translations" msgstr "新的翻譯" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:58 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:69 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:81 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:91 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:102 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:114 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:142 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:155 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:167 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:180 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:191 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:226 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:301 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:339 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:347 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:376 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:392 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:427 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:447 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:465 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Bug fixes:" msgstr "修復錯誤:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 msgid "Fixed a regression introduced in 7.1.2" msgstr "修復 7.1.2 的遞迴問題" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:71 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:83 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:93 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:103 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:115 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:144 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:157 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:169 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:228 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:379 msgid "Other notes:" msgstr "其他更新:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "DeepFilterNet 現在可以被加入 Preset 中" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:79 msgid "" "The spectrum has a new option that allows the dynamic vertical scale to be " "disabled." msgstr "波形圖現在可以隱藏垂直量表。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:80 msgid "Improved compatibility with the latest LSP releases." msgstr "增強與最新 LSP 程式的相容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:82 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "修復脈衝響應 (Impulse) 錯誤的波形圖" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:92 msgid "" "Fixed a small bug the prevented the noise reduction voice activity threshold " "from being properly initialized." msgstr "修復降噪擴充對人聲感測門檻被錯誤地初始化。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:101 msgid "" "Added a new control to the noise reduction plugin that allows the voice " "detection to be disabled." msgstr "降噪擴充現在可以關閉人聲偵測" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:111 msgid "" "The Filter effect has been improved with new parameters since it has been " "ported from Calf Studio to Linux Studio Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:112 msgid "" "Noise reduction by RNNoise has been improved with the addition of Release " "and VAD Threshold controls." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:113 msgid "" "Noise reduction by RNNoise can now mix the original and denoised signals to " "avoid the output to sound too \"dry\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:116 msgid "" "This release is intended to work with versions of Linux Studio Plugins equal " "or greater than \"1.2.10\"." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:117 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:125 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:126 msgid "" "The Equalizer bands now have an additional gain control that allows for more " "efficient input of values that are hard to set in the scale. More details at " "issue 1383." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:127 msgid "" "Added the ability to select and load multiple files in the opening dialogs " "for presets, Convolver impulse responses and RNNoise models." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:129 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 msgid "" "Easy Effects folders under /etc have been deprecated and presets located " "there won't be loaded anymore. At the moment only local presets under ~/." "config/easyeffects are automatically loaded in the Presets Menu. In the " "future we will implement a new system to install, manage and import " "Community Presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:139 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:140 msgid "" "The native window of the LSP plugins can be used. This is an experimental " "feature intended only for advanced users. So expect some bugs." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:141 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 msgid "" "The input/output device dropdown in our PipeWire tab is updated when the " "system default device changes and Use Default is enabled. This fixes issue " "issue 1989." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "" "The Pitch plugin now uses the library SoundTouch instead of Rubberband. " "Hopefully some of the mysterious crashes that were happening with Rubbernand " "are not going to happen anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:156 msgid "" "Active Equalizer filters are not set to Bell type anymore when the number of " "bands changes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:170 msgid "" "Speex is no longer incorrectly listed as a build dependency (speexdsp is " "still a build dependency)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 msgid "" "RNNoise is no longer an autodependency. It is now required by default, if " "not available it must be explicitly disabled with -Denable-rnnoise=false" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 msgid "Updated translations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 msgid "" "A small mistake was done in the last release. Making a new one to make sure " "people have the right branch in the package" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:189 msgid "" "The Equalizer \"sort bands\" feature is now ordering bands on GSettings, so " "the result can be saved into presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:190 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:192 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 msgid "" "Fixed some misuses of PipeWire's API that can potentially fix some random " "bugs some users are facing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 msgid "" "As we are removing code deprecated by GTK 4.10 the minimum GTK version has " "been increased." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:203 msgid "" "The spectrum plugin update rate was improved. Different sampling rates " "should lead to similar update frequencies visually." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:204 msgid "" "The update interval used by level meters and the spectrum can be customized " "by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:205 msgid "" "The equalizer band gain slider value can be updated in larger steps. Fine " "grain control is still possible through the keyboard up/down keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 msgid "" "The echo canceller probes were not being linked to the soundcard after the " "move to multiple filters intances. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:216 msgid "" "It is now possible to add more than one filter instance to the effects " "pipeline." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:217 msgid "" "A new Speech Processor plugin based on the Speex library was added. Besides " "providing noise suppression it also can detect voice activity. It is a " "decent alternative to the cases whre the rnnoise library does not work well." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:218 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "The application name has been changed to Easy Effects to adhere to the " "naming conventions of GNOME Human Interface Guidelines." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:223 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:224 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:225 msgid "" "The echo canceller now has a residual noise suppression control also based " "on the Speex library." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:227 msgid "" "When the mouse was hovering over a chart the wrong value for the x axis " "coordinate was being shown. This regression is fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "" "Because of the new multiple instances feature, the preset format has " "changed, but the old one is still compatible to be loaded. Anyway take in " "consideration that saving the current preset will always write it in the new " "format." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:237 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:238 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:239 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:240 msgid "" "Effect interface is no longer loaded when the related lv2 plugin is not " "installed on the system. In its place a status message to the user is shown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:241 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:242 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:255 msgid "" "Fixed a bug where EasyEffects could crash when closing its window while " "effects were being applied." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 msgid "" "The bypass state can be saved to the preset file. The reasons why this was " "done can be seen at issue 1039" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:265 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "A dialog is shown to the user when a preset fails to load or a preset/" "impulse file fails to be imported." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "" "The SideChain Gate plugin from Linux Studio Plugins is now used instead of " "the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:269 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "" "A workaround was implemented in our icon to deal with the lack of proper SVG " "support in QT." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:279 msgid "" "When effects are disable to an application we now set its target metadata to " "null. This will allow the media session manager (wireplumber) to properly " "move the stream to a new device." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 msgid "" "A new configuration option was added. It allows EasyEffects to ignore " "streams whose purpose is to monitor sink devices. This will help to fix some " "of problems our users were having when using OBS." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 msgid "" "The rnnoise library is now optional. This should help package maintainers to " "build a Debian package. See issue 1000 for more information." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "" "The \"enable effects\" checkbox in our window was not being updated when " "third party programs like pavucontrol moved the stream away from our virtual " "devices. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:286 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:287 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:295 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:296 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:297 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 msgid "" "In order to avoid problems with the mouse scroll the entries in the " "applications list shown in our Players/Recorders tab do not show a volume " "scale anymore. More details about the problem and the solution for it can be " "found on issue 1211 and issue 1427" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 msgid "" "When no application is available for display in the Players/Recorders a " "message will be shown to the user" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:300 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:302 msgid "" "Fixed a bug where EasyEffeects crashed when the number of points displayed " "in the spectrum was changed while our pipeline was active and the spectrum " "widget was visible" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:303 msgid "" "The pipeline latency value displayed in our window could be wrong in some " "situations. This was fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:311 msgid "" "There is a new setting allowing the user to select an inactivity timeout for " "the pipeline. When no client is playing to or recording from our devices the " "filters will be unlinked after the timeout is reached. This is done to make " "sure we do not waste CPU power processing silence." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:312 msgid "" "The autogain plugin now allows the user to select which of the three " "loudness are used to calculate the geometric mean." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 msgid "" "The autogain plugin now allows the maximum history to be set and does not " "use libebur128 histogram mode anymore. This should avoid the cases where the " "Integrated loudness gets stuck forever in the same value." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:314 msgid "" "EasyEffects icon has been updated in a way that should make it visible in QT " "desktops." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:316 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "" "The crossfeed filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:334 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:335 msgid "" "The autogain filter should deal better with PipeWire's dynamic latency " "switches. Jumps in volume level should not happen anymore in these " "situations." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:336 msgid "" "We added an option that allows the volume and mute state of our virtual " "devices to be reset when EasyEffects starts. It should help with the cases " "were our devices are muted by the audio server for unknown reasons." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:337 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:340 msgid "" "Fixed a bug where trying to create an autoloading profile without having " "presets caused the application to crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:348 msgid "" "Fixed a bug where setting a equalizer band quality to zero would lead to an " "application crash." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:356 msgid "" "LibAdwaita is used to create some parts of our window and for handling the " "switching between dark and light themes." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:357 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:358 msgid "" "Equalizer APO preset import feature has been improved to apply not only the " "Bell filter, but also other supported ones (at the moment only the Bandpass " "filter is not available in LSP plugin)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:359 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:360 msgid "" "We have a new option that allows the user to disable our menus autohide. " "This may help to workaround some bugs Popover menus currently have on gtk4." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "" "More robust parsing to import APO presets saved with comma as thousands " "separator in central frequency band." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:364 msgid "" "The fmt library is a new dependency At least while the c++ compilers do not " "implement its features. This is expected to happen in the next years." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:365 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:373 msgid "" "It is now possible to combine impulse responses in the Convolver interface. " "A new impulse file is generated and it should be visible in the impulse list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:374 msgid "" "Improved x axis drawings in our plots. Now the number of labels is adjusted " "dynamically depending on our window width." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 msgid "" "The documentation has been updated reflecting the new EasyEffects features. " "Old references about PulseEffects have been removed. The documentation " "button has been added in the menu section." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:377 msgid "" "When a spinbutton is filled with an out of range value, now it is updated " "with the lowest/highest value rather than resetting to the previous one." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:378 msgid "" "The application window now remembers the maximized state and restores it on " "the next opening event." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:380 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 msgid "" "The Autogain plugin now allows the user to select which Loudness is used as " "reference for the volume correction." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:390 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:393 msgid "" "The Spectrum plugin was supposed to enter passthrough whenever it was not " "visible, but this was happening only when our window was closed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:394 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:395 msgid "" "The probes used in some filters like the Compressor and the Limiter were not " "being relinked after changing the order of the plugins in the pipeline. It " "should be working now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:403 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:405 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:406 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "" "Pavucontrol is not added anymore to input applications list on systems with " "localization different than English." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:415 msgid "" "Improved compatibility with WirePlumber. This is needed to run on systems " "that decided to use it instead of the built-in PipeWire session manager. " "More information at issue 1144." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 msgid "" "When trying to add an autoloading profile for a device already in the list " "its target preset will be updated. This way we can change the profile preset " "without having to remove and recreating it." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:424 msgid "" "The preset autoloading support implementation was redesigned again. It " "should work on more hardware now. For more information see issue 1051." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:425 msgid "" "If the Limiter or the Maximizer are set in the last position of the plugin " "stack, new plugins are added at the second to last position in order to " "prevent hardware damage on eventually high output level." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:426 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:428 msgid "" "Sometimes when removing imported models from the noise reduction plugin the " "current used model was not properly updated. This should be fixed now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:429 msgid "" "When editing presets files in an external editor, duplicated entries won't " "be shown in our presets menu." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:430 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:431 msgid "" "Now the status of the global bypass button is correctly updated when " "changing plugin stack." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:432 msgid "" "Missing icons on the system should not be shown inside the application info " "UI (if an application icon could not be shown even if you're sure it's " "correctly installed, please open an issue)." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:441 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:443 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:444 msgid "" "The multiband compressor plugin now uses the stereo multiband compressor " "plugin from Linux Studio Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:445 msgid "" "The limiter plugin now uses the stereo limiter plugin from Linux Studio " "Plugins instead of the one from Calf Studio." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:446 msgid "" "LV2 filters now are spawned in PipeWire graph only when loaded the first " "time. Once loaded, they remain connected until EasyEffects shutdown." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:448 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:449 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:451 msgid "" "Depending on the input gain or output gain values the corresponding level " "bars could not be aligned." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:452 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:453 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:454 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:455 msgid "" "The crystalizer plugin signal amplification was too high before. It should " "be within more reasonable levels now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:463 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:466 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:467 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 msgid "" "The convolver impulse response menu was improved to workaround an issue " "where the impulse files was not loaded when only one was available in the " "menu, see issue 1011" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:480 msgid "" "The Loudness plugin is being used again for the reasons described at issue " "820. This means that is an optional dependency again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:491 msgid "" "Now we use a sidechain LSP compressor that allows the user to select and " "external source as the sidechain input." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 msgid "" "When split-channels is enabled in the equalizer the imported APO preset will " "be applied only to the channel being visualized in the window. This will " "allow to import different presets for each channel instead of just settings " "the same values to both." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "" "Fixed some segmentation faults that could happen when creating a preset " "autoloading profile or removing presets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:503 msgid "" "This is one of the biggest releases that I have ever made. The amount of " "changes is so big that it is hard to talk about everything here." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:504 msgid "" "The following are just the most import ones. People interested on the " "journey that got us here can take a look at issue 904 and issue 874." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:505 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:506 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 msgid "" "Many features were reimplemented from scratch. The preset autoloading is one " "example. Another remarkable change will be seen in the plugins selection " "menu. Now the user can show in the window only the plugins that he/she wants " "to use." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 msgid "" "Boost is no longer a dependency. The price paid for that was a little change " "in our presets structures. With some patience it is possible to edit " "PulseEffects presets in a text editor and make them work in EasyEffects. " "Hopefully someone will come up with a script for this in the feature." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:510 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.7/po/nl.po000066400000000000000000002420731463533416400154370ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-03 21:07+0000\n" "Last-Translator: Philip Goto \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5.3\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizer, compressor en overige audio-effecten" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Audio-effecten voor PipeWire-apps" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;compressor;galm;equalizer;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Deze app omschakelen" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Inschakelen" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Lijst met uitgesloten apps: Deze app toevoegen/verwijderen" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Uitsluiten" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "App dempen" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Volume van deze app aanpassen" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "App-volume" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Hulp" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "Standaardinstellingen _herstellen" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Voorkeuren" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Sneltoetsen" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Over Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Afsluiten" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Voorinstellingen" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Voorinstellingen-menu" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Globale omleiding omschakelen" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Globale omzeiling" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Primair menu" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Venster van Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "App-lijst" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Lege lijst" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Geen audio-app beschikbaar" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Bediening" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Doel" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Stilte" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Maximale geschiedenis" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Verwijzing" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Kortstondig" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Korte termijn" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Geïntegreerd" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Geometrisch gemiddelde (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Geometrisch gemiddelde (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Geometrisch gemiddelde (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Geometrisch gemiddelde (SI)" #: data/ui/autogain.ui:124 msgid "History" msgstr "Geschiedenis" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Standaardwaarden" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Hardheid" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatief" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Bereik" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Uitvoerversterking" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Invoer" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Plug-in-invoerversterking" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Uitvoer" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Plug-in-uitvoerversterking" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Apparaat" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Naam" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profiel" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Voorinstelling" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Deze automatisch geladen voorinstelling verwijderen" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Beluisteren" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Harmonieën mengen" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3e" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2e" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Hoeveelheid" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonieën" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Domein" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Vloer" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Vloerwaarde" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Verwijzing" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "App-naam" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Toevoegen aan uitgesloten apps" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Lijst met uitgesloten apps" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Uitgesloten apps tonen" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Inheems venster tonen" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compressor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Omlaag" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Omhoog" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Versterking" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Compressiemodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Versterkingsdrempelwaarde" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Versterkingsgrootte" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Attack" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Duur" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Drempelwaarde" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Attack-tijd" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Attack-drempel" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Release" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Release-tijd" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Release-drempel" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Verhouding" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Knie" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Make-up" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Droog-niveau" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Nat-niveau" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Zijketen" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Stereo­split­modus" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Brok" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Midden" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Zijkant" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Links" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Rechts" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Zijketenbron" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Links/rechts" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Rechts/links" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Midden/zijkant" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Zijkant/midden" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Stereo­split­bron" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Piek" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Low-pass-filter" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Eenvoudig voortschrijdend gemiddelde" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Zijketenmodus" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Luister-sidechain" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Soort" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Feedforward" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Feedback" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Extern" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Sidechain-type" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Invoerapparaat" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Voorversterking" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactiviteit" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Vooruitblik" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Zijketenfilters" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "High-pass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frequentie" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Uit" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "High-pass-filtermodus" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "High-pass-filterfrequentie" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Low-pass" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Low-pass-filtermodus" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Versterking" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Envelop" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Kromme" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Linkerkanaal" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Rechterkanaal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsen" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combineren" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereobreedte" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spectrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Logaritmische schaal" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Automatisch versterken" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Snelheid" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Monsters" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duur" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Impulsresponsen combineren" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Eerste kernel" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Tweede kernel" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Uitvoerbestandsnaam" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Gecombineerde kernel-naam" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Impulse importeren" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Zoeken" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Impulsbestand doorzoeken" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Impulsbestandenlijst" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Standaard" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Onderbreking" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Aanvoer" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Omzeiling" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Dempen" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Verzwakkingslimiet" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Minimale verwerkings­drempel" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Maximale ERB-verwerkings­drempel" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Maximale DF-verwerkings­drempel" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Minimale verwerkings­buffer" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Postfilter­bèta" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detectie" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Breed" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Splitsen" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1-splitsing" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Splitsing van frequentie 1" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2-piek" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Piek van frequentie 2" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1-versterking" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Versterking van frequentie 1" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2-niveau" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Niveau van frequentie 2" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2-piek-Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Piek-Q van frequentie 2" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laxiteit" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Gedetecteerd" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Vermindering" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Vertraging" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Fase omkeren" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlengte" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Resterende echo-onderdrukking" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Echo-onderdrukking aan het einde" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Uitgesloten apps" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Invoer­monitoring in-/uit­schakelen" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Banden" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Toonhoogte links" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Toonhoogte rechts" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Kanalen splitsen" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Platte respons" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Frequenties berekenen" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Banden sorteren" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Voorinstelling importeren" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Voorinstelling exporteren" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Stijging" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kwaliteit" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Breedte" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Plafond" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Plafondwaarde" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Uitbreider" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Uitbreider­modus" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Intern" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Toegang" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Omschrijving" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Modelbestand verwijderen" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Low-shelf" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "High-shelf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Bel" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Band-pass" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Inkeping" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonantie" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Ladder-pass" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Ladder-rejection" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "All-pass" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Equalizer-modus" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Gate" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zone" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Hysterese" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Start van attack-zone" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Start van release-zone" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Echte piek" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Geschiedenis wissen" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Oversamplen" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Dither" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Hermite-dun" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Hermite-breed" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Hermite-linksbreed" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Hermite-rechtsbreed" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exponentieel-dun" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exponentieel-breed" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exponentieel-linksbreed" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exponentieel-rechtsbreed" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Lineair-dun" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Lineair-breed" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Lineair-rechtsbreed" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Lineair-linksbreed" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Geen" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Half 2× (2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Half 2× (3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Half 3× (2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Half 3× (3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Half 4× (2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Half 4× (3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Half 6× (2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Half 6× (3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Half 8× (2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Half 8× (3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Volledig 2× (2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Volledig 2× (3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Volledig 3× (2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Volledig 3× (3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Volledig 4× (2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Volledig 4× (3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Volledig 6× (2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Volledig 6× (3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Volledig 8× (2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Volledig 8× (3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC-voorversterking" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Sidechain-voorversterking" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Versterken" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereokoppeling" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Externe sidechain" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Bron van externe sidechain" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Automatische niveau's" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Automatische attack-niveau's" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Automatische release-niveau's" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Automatische knee-niveau's" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Versterking links" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Versterking rechts" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Sidechain links" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Sidechain rechts" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standaard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plat" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT-grootte" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Uitvoervolume" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Knippen" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "sidechain-versterking" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Roze-BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Roze-MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Bruin-BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Bruin-MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Native-gebruikers­interface weergeven" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Bedrijfsmodus" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klassiek" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Modern" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Lineaire fase" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Bandlijst" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Band 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Band 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Band 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Band 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Band 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Band 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Start van band" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Einde van band" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Bandcompressiemodus" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Bandomzeiling" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Band-sidechain-opties" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Stereo­split" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Low-cut" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Low-cut-filterfrequentie" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "High-cut" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "High-cut-filterfrequentie" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Voorversterking" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Bandversterking" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Bandenvelop" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Bandkromme" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Bandvermindering" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Algemeen" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Apparaatbeheer" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "Het wordt aanbevolen om NIET de bron Easy Effects als standaardapparaat in " "te stellen bij externe apps (bijv. GNOME Instellingen en Plasma " "Systeeminstellingen)." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Standaardinvoer gebruiken" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Aangepast invoerapparaat" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Standaarduitvoer gebruiken" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Aangepast uitvoerapparaat" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Server-informatie" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Kopversie" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Bibliotheekversie" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Bemonsteringsfrequentie" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Minimale quantum" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Maximale quantum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Standaard-quantum" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Automatisch inladen van voorinstellingen" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Uitvoerapparaten" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Uitvoervoorinstellingen" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Vereniging aanmaken" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Automatisch geladen uitvoervoorinstelling toevoegen" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Lijst van automatisch geladen uitvoervoorinstellingen" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Invoerapparaten" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Invoervoorinstellingen" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Automatisch geladen invoervoorinstelling toevoegen" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Lijst van automatisch geladen invoervoorinstellingen" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Modules" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Modulelijst" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Cliënten" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Cliëntenlijst" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Signaal testen" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Status" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Ingeschakeld" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Eigenschappen" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanalen" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Beide" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Beide kanalen" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Golfvorm" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusgolf" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Witte ruis" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Snel zoeken" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Anti-aliasing" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Sequentielengte" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Zoekvenster" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Overlapslengte" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Toonhoogte" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Halve tonen" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Tempoverschil" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Snelheidsverschil" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Effect verwijderen" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Effect omschakelen" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Positie van effect aanpassen" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Effect toevoegen" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Effect verwijderen" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Lijst met gebruikte plug-ins" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Geen effecten" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Audio-stream onbewerkt" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Zoek-plug-in" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Lijst met plug-ins" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Algemeen" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Dienst" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Service starten bij opstarten van systeem" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Afsluiten bij sluiten van venster" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Alle uitvoer-streams verwerken" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Alle invoer-streams verwerken" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Streams van apparaatmonitor negeren" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Kubisch volume gebruiken" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Inactiviteits-time-out" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Intern" #: data/ui/preferences_general.ui:120 #, fuzzy msgid "Related to Level Meters and Spectrum" msgstr "Update-interval (niveaumeters en spectrum)" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frequentie" #: data/ui/preferences_general.ui:143 #, fuzzy msgid "Related to LV2 Plugins" msgstr "Update-frequentie (LV2-plug-ins)" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stijl" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Donker thema" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Menu's verbergen bij klikken achtergrond" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Experimentele functies" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Inheemse plug-ins-venster" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" "Staat toe dat het venster voor inheemse plug-ins wordt weergegeven/verborgen" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spectrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Vorm" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Balken" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Lijnen" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Puntjes" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Points" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Lengte" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Lijnbreedte" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Opvullen" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Balkrand tonen" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Afgeronde hoeken" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Dynamische schaal" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Kleur" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Lijnen en balken" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "As-labels" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Frequentiebereik" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimaal" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maximaal" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Laden" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Huidige instellingen verwerpen en deze voorinstelling laden" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Sla de huidige instellingen op in dit voorinstellingsbestand" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Verwijder dit voorinstellingsbestand" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "Uitproberen" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Uitvoervoorinstellingen doorzoeken" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "Importeren" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "Lokaal" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Naam voor nieuwe voor­instelling" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Nieuwe voorinstelling aanmaken" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Zoek­voorinstelling" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Lijst met voor­instellingen" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "Gemeenschap" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Uitvoervoorinstellingen doorzoeken" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Lijst met uitvoervoorinstellingen" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "Verversen" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Hoge frequentiedemping" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Kamergrootte" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Klein" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Gemiddeld" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Groot" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Groot/Vloeiend" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimenteel" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Verspreiding" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Vertraging vooraf" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Vervaltijd" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Bas onderdrukken" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Hoge tonen afsnijden" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Sfeer" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Kale muren" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Kamer" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Grote, lege zaal" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Grote, bezette zaal" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Model importeren" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Stemdetectie" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modellen" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Standaardmodel" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Lijst met RNNoise-modellen" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Model niet geladen" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Huidig model" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Standaard RNNoise-model" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Overzicht" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Hulp tonen" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Volledig scherm omschakelen" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Venster sluiten" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Easy Effects afsluiten" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Ruis wegfilteren" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Automatische versterking" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Nagalm wegfilteren" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Waarschijnlijkheid van stemactiviteit" #: data/ui/speex.ui:95 msgid "Start" msgstr "Starten" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Doorgaan" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Ruisonderdrukking" #: data/ui/speex.ui:145 msgid "Level" msgstr "Niveau" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Invoerbalans" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Softclip-niveau" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Stereomatrix" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (standaard stereo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (stereo naar midden-zijkant)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (midden-zijkant naar stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (mono, linkerkanaal)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (mono, rechterkanaal)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (mono, sum L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (stereo, kanalen omwisselen)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereo-mode" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Zijniveau" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Zijbalans" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Middelste niveau" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Middelste panorama" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Uitvoerbalans" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "L/R-vertraging" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Vertraging links/rechts" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Stereobasis" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Stereofase" #: src/app_info.cpp:100 msgid "Running" msgstr "Actief" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Onderbroken" #: src/app_info.cpp:104 msgid "Idle" msgstr "Inactief" #: src/app_info.cpp:106 msgid "Creating" msgstr "Bezig met aanmaken" #: src/app_info.cpp:108 msgid "Error" msgstr "Fout" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Onbekend" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Ongedefinieerde naam - Proces-id " #: src/app_info.cpp:292 msgid "channels" msgstr "kanalen" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Sluit Easy Effects af. Nuttig in dienstmodus." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Print de versie van Easy Effects" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Reset Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Verberg het venster." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Globale omzeiling: 1 = inschakelen, 2 = uitschakelen, 3 = status opvragen" #: src/application.cpp:615 msgid "Show available presets." msgstr "Toon de beschikbare voorinstellingen." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Laad een voorinstelling. Voorbeeld: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Uitvoer" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Invoer" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Bestand is ongebruikelijk" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Het impulsbestand is mogelijk beschadigd of wordt niet ondersteund" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Enkel stereo-impulsbestanden worden ondersteund" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Impulsbestand niet geïmporteerd" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Impulse-bestand importeren" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Openen" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Impulsrespons" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Impuls laden" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Impuls verwijderen" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Geen impulsbestand geladen" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Impulsbestand laden mislukt" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Opname-apparaten" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Spelers" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effecten" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "APO-voorinstellingsbestand importeren" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO-voorinstellingen" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "APO-voorinstelling niet geladen. Bestandsformaat wordt mogelijk niet " "ondersteund. Controleer de inhoud." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "Gesplitste kanalen worden nog niet ondersteund bij het exporteren van APO-" "voor­instellingen." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "EqualizerAPO-voorinstellings­bestand exporteren" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Opslaan" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO-voor­instellingen" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ-voorinstellingsbestand importeren" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ-voorinstellingen" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "GraphicEQ-voorinstelling niet geladen. Bestandsformaat wordt mogelijk niet " "ondersteund. Controleer de inhoud." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Automatisch ingeladen voorinstelling verwijderen" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Uitvoerniveaumeter" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Verwijderen" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Uitvoerapparaat" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Toevoegen" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Voorinstelling importeren" #: src/presets_manager.cpp:439 msgid "Package" msgstr "Pakket" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "Voor­instelling niet correct geladen" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "Verkeerd formaat in lijst met uitgesloten apps" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "Algemene fout bij laden van lijst met uitgesloten apps" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "Verkeerd formaat in effecten­lijst" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "Algemene fout bij laden van effecten­lijst" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "Een of meer parameters hebben een verkeerd formaat" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "Algemene fout bij laden van het effect" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Opslaan?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Verwijderen?" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Naam voor nieuwe voor­instelling" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Lijst met voor­instellingen" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Voorinstelling importeren" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Geselecteerde model is niet geladen. Het formaat wordt mogelijk niet " "ondersteund. Standaardmodel wordt gebruikt." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Modelbestand importeren" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise-modellen" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Basversterker" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Hardheid van bas" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolutie" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Kristalliseerder" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Diepe ruis-verwijderaar" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Echo-onderdrukking" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Equalizer" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Exciter" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Niveaumeter" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limiter" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizer" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Multiband-compressor" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Multiband-gate" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Nagalm" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Ruisverlaging" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Spraakverwerker" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Stereobediening" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} is niet beschikbaar" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "De software vereist voor het {}-effect, ‘{}’, is niet geïnstalleerd. " "Overweeg het Flatpak-pakket van Easy Effects te gebruiken of de software " "handmatig te installeren." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "Het effect {} was uitgeschakeld bij de compilatie van Easy Effects. Dit kan " "zijn omdat de vereiste software voor dit effect, ‘{}‘, niet beschikbaar was. " "Overweeg het Flatpak-pakket van Easy Effects te gebruiken of uw eigen pakket " "van Easy Effects te bouwen." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "- ∞" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "{} wordt gebruikt" #~ msgid "Ceiling" #~ msgstr "Plafond" #~ msgid "\"Presets\"" #~ msgstr "‘Voorinstellingen’" #~ msgid "Import a preset" #~ msgstr "Voorinstelling importeren" #~ msgid "Low-Cut Filter" #~ msgstr "Low-cut-filter" #~ msgid "High-Cut Filter" #~ msgstr "High-cut-filter" #~ msgid "Uniform" #~ msgstr "Uniform" #~ msgid "New Output Preset Name" #~ msgstr "Nieuwe naam voor uitvoervoorinstelling" #~ msgid "infinity" #~ msgstr "oneindig" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Verhouding" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Drempelwaarde" #~ msgid "Low-pass" #~ msgstr "Low-pass" #~ msgid "High-pass" #~ msgstr "High-pass" #~ msgid "Gating" #~ msgstr "Dosering" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct low-pass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct low-pass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct low-pass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct high-pass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct high-pass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct high-pass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct band-pass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct band-pass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct band-pass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct band-reject" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct band-reject" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct band-reject" #~ msgid "Inertia" #~ msgstr "Traagheid" #~ msgid "Band Type" #~ msgstr "Bandtype" #~ msgid "Band Mode" #~ msgstr "Bandmodus" #~ msgid "Band Slope" #~ msgstr "Bandhelling" #~ msgid "Loudness List" #~ msgstr "Volumelijst" #~ msgid "High Speed" #~ msgstr "Hoge snelheid" #~ msgid "High Quality" #~ msgstr "Hoge kwaliteit" #~ msgid "High Consistency" #~ msgstr "Hoge consistentie" #~ msgid "Formant" #~ msgstr "Formant" #~ msgid "Shifted" #~ msgstr "Verschoven" #~ msgid "Preserved" #~ msgstr "Behouden" #~ msgid "Transients" #~ msgstr "Overgangen" #~ msgid "Crisp" #~ msgstr "Helder" #~ msgid "Mixed" #~ msgstr "Gemengd" #~ msgid "Smooth" #~ msgstr "Soepel" #~ msgid "Detector" #~ msgstr "Detector" #~ msgid "Compound" #~ msgstr "Samengesteld" #~ msgid "Percussive" #~ msgstr "Percussief" #~ msgid "Soft" #~ msgstr "Zacht" #~ msgid "Phase" #~ msgstr "Fase" #~ msgid "Laminar" #~ msgstr "Laminair" #~ msgid "Independent" #~ msgstr "Onafhankelijk" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Octaves" #~ msgstr "Octaven" #~ msgid "_Manual" #~ msgstr "_Handleiding" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Handleiding van Easy Effects openen" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} is niet geïnstalleerd op dit systeem" #~ msgid "High Pass" #~ msgstr "High-pass" #~ msgid "Low Pass" #~ msgstr "Low-pass" #~ msgid "Cancel" #~ msgstr "Annuleren" #~ msgid " PreAmplification" #~ msgstr " Voorversterking" #~ msgid "Close (Press ESC)" #~ msgstr "Sluiten (ESC)" #~ msgid "Frame Size" #~ msgstr "Framegrootte" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "Globale omzeiling omschakelen" #~ msgid " Low-Pass" #~ msgstr " Low-pass" #~ msgid " Uniform" #~ msgstr " Uniform" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Vertraging vooraf" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Kanalen splitsen" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "F2-niveau" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "F2-niveau" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Doelniveau" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Doelniveau" #, fuzzy #~ msgid "Suppression" #~ msgstr "Onderdrukkingsniveau" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Audio-effecten voor PipeWire-toepassingen" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Ruisverlaging" #~ msgid "Load APO Preset" #~ msgstr "APO-voorinstelling laden" #~ msgid "EasyEffects" #~ msgstr "PulseEffecten" #~ msgid "Output Presets: " #~ msgstr "Uitvoer-voorinstellingen: " #~ msgid "Input Presets: " #~ msgstr "Invoer-voorinstellingen: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Splitsen" #~ msgid "Split 1/2" #~ msgstr "1/2 splitsen" #~ msgid "Split 2/3" #~ msgstr "2/3 splitsen" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frequentie" #~ msgid "Split 3/4" #~ msgstr "3/4 splitsen" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frequentie" #~ msgid "Sub Band" #~ msgstr "Subband" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Make-up" #~ msgid "Max Reduction" #~ msgstr "Verlaging" #~ msgid "Low Band" #~ msgstr "Lage band" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Make-up" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Versterkingsverlaging" #~ msgid "Mid Band" #~ msgstr "Middelste band" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Make-up" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Versterkingsverlaging" #~ msgid "High Band" #~ msgstr "Hoge band" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Omzeiling" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Aanval" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Vrijgave" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Drempelwaarde" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Banden" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Make-up" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Versterkingsverlaging" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Hoeveelheid" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Hoeveelheid" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects is een uitgebreid hulpmiddel waarmee u audio zeer gericht " #~ "kunt afstellen. Het bevat een equalizer, limiter, compressor, " #~ "galmhulpmiddel en een aantal andere hulpmiddelen. Verder bevat de " #~ "toepassing een spectrumanalyse-hulpmiddel." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "EasyEffects maakt gebruik van de PipeWire-geluidsserver en werkt daardoor " #~ "met nagenoeg alle, zo niet alle, toepassingen die u gebruikt. Alle " #~ "ondersteunde toepassingen worden getoond in het hoofdvenster, waar elke " #~ "toepassing op elk moment kan worden in- of uitgeschakeld." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Naast het aanpassen van geluidsuitvoer, past EasyEffects ook het geluid " #~ "van invoerapparaten, zoals microfoons, aan. Dit is onder meer nuttig bij " #~ "het opnemen van audio of voeren van audiogesprekken." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Na het opstarten toont EasyEffects de in de vorige sessie gebruikte " #~ "instellingen. Ook kunnen instellingen worden opgeslagen als profielen." #, fuzzy #~ msgid "and #1427" #~ msgstr "Banden" #~ msgid "Average" #~ msgstr "Gemiddeld" #~ msgid "Failed" #~ msgstr "Mislukt" #, fuzzy #~ msgid "Use Default" #~ msgstr "Standaardinvoer gebruiken" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Verwijder dit voorinstellingsbestand" #~ msgid "Import Presets" #~ msgstr "Importeer voorinstellingen" #~ msgid "Start Service at Login" #~ msgstr "Automatisch opstarten" #, fuzzy #~ msgid "Activate" #~ msgstr "Huidig model" #~ msgid "Add to Blocklist" #~ msgstr "Toevoegen aan zwarte lijst" #~ msgid "Blocklist" #~ msgstr "Zwarte lijst" #~ msgid "Add Plugin" #~ msgstr "Plug-in toevoegen" #~ msgid "Speakers" #~ msgstr "Luidsprekers" #~ msgid "Microphone" #~ msgstr "Microfoon" #~ msgid "Plugins" #~ msgstr "Plug-ins" #, fuzzy #~ msgid "enabled" #~ msgstr "Inschakelen" #, fuzzy #~ msgid "disabled" #~ msgstr "Inschakelen" #~ msgid "Format" #~ msgstr "Formaat" #~ msgid "Latency" #~ msgstr "Vertraging" #~ msgid "idle" #~ msgstr "inactief" #~ msgid "Faster" #~ msgstr "Sneller" #~ msgid "Preserve Formant" #~ msgstr "Formaat behouden" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Player Name" #~ msgstr "Spelernaam" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Uitvoerversterking" #~ msgid "Channel" #~ msgstr "Kanaal" #, fuzzy #~ msgid "Value" #~ msgstr "Verdieping" #~ msgid "Output Effects" #~ msgstr "Uitvoereffecten" #~ msgid "Settings" #~ msgstr "Instellingen" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Instellingen" #, fuzzy #~ msgid "Documentation" #~ msgstr "Duur" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Signaal testen" #~ msgid "Signal" #~ msgstr "Signaal" #~ msgid "Show Spectrum" #~ msgstr "Spectrum tonen" #~ msgid "Border" #~ msgstr "Rand" #~ msgid "Spectrum Type" #~ msgstr "Soort spectrum" #~ msgid "Spectrum Color" #~ msgstr "Spectrumkleur" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Huidig model" #~ msgid "Maximum Gain Reduction" #~ msgstr "Maximale versterkingsverlaging" #~ msgid "Wet" #~ msgstr "Nat" #~ msgid "S/C Level" #~ msgstr "S/C-niveau" #~ msgid "Phase Correlation" #~ msgstr "Fasecorrelatie" #~ msgid "Short Term" #~ msgstr "Korte termijn" #~ msgid "Id" #~ msgstr "ID" #~ msgid "Run in Background" #~ msgstr "Uitvoeren op achtergrond" #~ msgid "ceil" #~ msgstr "ceil" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Regel het volume en schakel effecten in/uit" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Bevat een equalizer met meegeleverde voorinstellingen" #~ msgid "Input Limiter" #~ msgstr "Invoerbeperking" #~ msgid "Calibration" #~ msgstr "Kalibratie" #~ msgid "Limit" #~ msgstr "Beperken" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Audio-effecten voor PulseAudio-toepassingen" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Audio-effecten voor PulseAudio-toepassingen" #~ msgid "Calibration Microphone" #~ msgstr "Microfoon kalibreren" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Pas deze voorinstellingen automatisch toe zodra het huidige apparaat " #~ "wordt aangekoppeld" #, fuzzy #~ msgid "Version" #~ msgstr "Versie" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Vierkant" #~ msgid "Saw" #~ msgstr "Zaag" #~ msgid "Triangle" #~ msgstr "Driehoek" #~ msgid "Pink Noise" #~ msgstr "Roze ruis" #~ msgid "Ticks" #~ msgstr "Aantal tikken" #~ msgid "Gaussian Noise" #~ msgstr "Gaussiaanse ruis" #~ msgid "Blue Noise" #~ msgstr "Blauwe ruis" #~ msgid "Violet Noise" #~ msgstr "Violet-ruis" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Measure Noise" #~ msgstr "Ruisniveau meten" #~ msgid "Subtract Noise" #~ msgstr "Ruis verwijderen" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Provided by" #~ msgstr "Geleverd door" #~ msgid "Extended Filter" #~ msgstr "Uitgebreid filter" #~ msgid "Low" #~ msgstr "Laag" #~ msgid "Moderate" #~ msgstr "Gemiddeld" #~ msgid "High" #~ msgstr "Hoog" #~ msgid "Delay Agnostic" #~ msgstr "Agnostische vertraging" #~ msgid "Very High" #~ msgstr "Erg hoog" #~ msgid "Adaptive Digital" #~ msgstr "Adaptief digitaal" #~ msgid "Fixed Digital" #~ msgstr "Vastgesteld digitaal" #~ msgid "Detection Likelihood" #~ msgstr "Detectieniveau" #~ msgid "Very Low" #~ msgstr "Erg laag" #~ msgid "Use Custom Color" #~ msgstr "Aangepaste kleur gebruiken" #~ msgid "Use Gradient" #~ msgstr "Kleurverloop gebruiken" #~ msgid "Gradient Color" #~ msgstr "Kleurverloop" #~ msgid "Import Impulse Response File" #~ msgstr "Importeer een Impulse Response-bestand" #~ msgid "Select the impulse Response File" #~ msgstr "Kies een Impulse Response-bestand" #~ msgid "Aggressive Mode" #~ msgstr "Agressieve modus" #~ msgid "Before" #~ msgstr "Vóór" #~ msgid "After" #~ msgstr "Na" #~ msgid "Loudness Range" #~ msgstr "Bereik van geluidssterkte" #~ msgid "Loudness Compensator" #~ msgstr "Geluidssterkte-compensatie" #~ msgid "Apply" #~ msgstr "Toepassen" #~ msgid "Based on" #~ msgstr "Gebaseerd op" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Standaard samplesnelheid" #~ msgid "Server" #~ msgstr "Server" #~ msgid "File" #~ msgstr "Bestand" #~ msgid "Configuration" #~ msgstr "Instellingen" #, fuzzy #~ msgid "server" #~ msgstr "Server" #, fuzzy #~ msgid "Based on a" #~ msgstr "Gebaseerd op" #~ msgid "Low-pass Frequency" #~ msgstr "Low-pass-frequentie" #~ msgid "Advanced" #~ msgstr "Geavanceerd" #~ msgid "Apply APO Preset" #~ msgstr "APO-voorinstelling toepassen" #~ msgid "Detect Silence" #~ msgstr "Stilte herkennen" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Plug de microfoon opnieuw in om de wijzigingen aan de zwarte lijst toe te " #~ "passen" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "" #~ "Herstart de speler om de wijzigingen aan de zwarte lijst toe te passen" #~ msgid "Muted" #~ msgstr "Gedempt" #~ msgid "Distant Headphones" #~ msgstr "Koptelefoons veraf" #~ msgid "Niceness" #~ msgstr "Niceness" #~ msgid "Priority Type" #~ msgstr "Soort prioriteit" #~ msgid "Priority" #~ msgstr "Prioriteit" #~ msgid "About" #~ msgstr "Over" #~ msgid "Protocol" #~ msgstr "Protocol" #~ msgid "Default Sample Format" #~ msgstr "Standaard sampleformaat" #~ msgid "Resamplers" #~ msgstr "Hersamplers" #~ msgid "Pipeline Input" #~ msgstr "Invoerpijplijn" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Pipeline Output" #~ msgstr "Uitvoerpijplijn" #~ msgid "Block Size" #~ msgstr "Blokgrootte" #~ msgid "Maximum Frequency" #~ msgstr "Maximale frequentie" easyeffects-7.1.7/po/nn.po000066400000000000000000001667311463533416400154470ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-06-03 20:51+0000\n" "Last-Translator: Daniel Svindseth \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.18-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizer, kompressor og andre lydeffektar" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Lydeffektar for PipeWire-applikasjonar" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;compressor;reverbation;equalizer;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Slå på/av denne applikasjonen" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Slå på" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Liste over uteletne appar: Legg til/fjern denne applikasjonen" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Ekskluder" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Demp applikasjonen" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Endre volumet for denne applikasjonen" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Applikasjons-volum" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Hjelp" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Resett innstillingar" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Innstillingar" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Snarvegar" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Om Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Førehandsinnstillingar" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Førehandsinnstilling-meny" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Slå på/av global omveg" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Global forbipassering" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Hovudmeny" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects-vindauge" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Applikasjonsliste" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Tom liste" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Ingen lyd-applikasjonar funne" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Mål" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Tystnad" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Maksimal historie" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referanse" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Mellombels" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kortvarig" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrert" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Geometrisk median (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Geometrisk median (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Geometrisk median (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Geometrisk median (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Resett historikk" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Resett" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Ljodstyrke" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Omfang" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Utgangsstyrke" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Inngang" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Plugin-inngangsstyrke" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Utgang" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Plugin-utgangsstyrke" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Eining" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Namn" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Førehandsinnstilling" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Fjern denne auto-lasta førehandsinnstillinga" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Lytt" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Bland harmonikkar" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Mengd" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Overtonar" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Omfang" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Golv" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Golvverdi" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Lenkje" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Appliasjonsnamn" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Legg til i utelatne applikasjonar" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Utelatne applikasjonar" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Vis utelatne applikasjonar" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompressor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Nedover" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Oppover" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Auking" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Kompresjonsmodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Grense for auking" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Aukemengd" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Åtak" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tid" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Terskel" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Åtakstid" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Åtaksgrense" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Frågang" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Frågangstid" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Frågangsgrense" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Forhold" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Kne" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Tørrnivå" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Våtnivå" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Sidekjede" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Stereovidde" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Kjelde" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Mellom" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Side" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Venstre" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Høgre" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min." #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Max." #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Sidekjede-kjelde" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Høgre" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Høgre" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Side" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Side" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Topp" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Lågpassfilter" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Sidekjede-modus" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Ekstern sidekjede" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Respons" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Ekstern" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Sidekjede-type" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Inndataeining" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Førforsterking" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reaktivitet" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Framomsjåing" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Sidekjede-filter" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Høgpass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekvens" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Av" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Høgpassfilter-modus" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Høgpassfilter-frekvens" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Lågpass" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Lågpassfilter-modus" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Styrke" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "V" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Venstre kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "H" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Høgre kanal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsar" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Kombiner" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereovidde" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Log-skala" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autostyrke" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Takt" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Varigheit" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Kombiner impuls-responsar" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Fyrste kjerne" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Andre kjerne" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Utdata-filnamn" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Kombinert kjernenamn" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importer impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Søk" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Søk impulsfiler" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Impulsfil-liste" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Standard" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Avskjering" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Mat" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Forbipassering" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Demp" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlengd" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Oppdaging" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Vid" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Del" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 del" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frekvens 1 del" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 topp" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frekvens 2 topp" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 styrke" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frekvens 1 styrke" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 nivå" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frekvens 2 nivå" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 topp Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frekvens 2 topp Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Kraftløyse" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Funne" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Reduksjon" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Forseinking" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlengd" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Uteletne appar" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Slå på/av denne applikasjonen" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Band" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balanse" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Tonehøgd venstre" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Tonehøgd høgre" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Delte kanalar" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Flat respons" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Rekn ut frekvensar" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Sorter band" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importer førehandsinnstillingar" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importer førehandsinnstillingar" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Helling" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Vidd" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Tak" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Takverdi" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Bandmodus" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Intern" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Tilgjenge" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Skildring" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Fjern denne modellfila" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Høgpass" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Band" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Resonans" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Lågpass" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Lågpass" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Bandmodus" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Gate" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Sone" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Miks" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Åtaksone start" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Frågongssone start" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Sann topp" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Resett historikk" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Oversampling" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Linje tynn" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Linje vid" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Linje hale" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Ingen" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Halv x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Halv x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Halv x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Halv x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Halv x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Halv x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Halv x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Halv x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Halv x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Halv x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Full x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Full x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Full x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Full x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Full x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Full x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Full x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Full x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Full x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Full x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Forsterking" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereolenkje" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Ekstern sidekjede" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Flat" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT-storleik" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Utgangsvolum" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Klipping" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klassisk" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderne" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Bandliste" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereovidde" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Intern" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frekvens" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Førehandsinnstilling" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importer førehandsinnstillingar" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Førehandsinnstilling" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Førehandsinnstillingar" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Førehandsinnstilling" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Førehandsinnstillingar" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Bandmodus" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importer førehandsinnstillingar" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Utelatne applikasjonar" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Førehandsinnstillingar" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importer førehandsinnstillingar" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Tak" #~ msgid "\"Presets\"" #~ msgstr "\"Førehandsinnstillingar\"" #~ msgid "Uniform" #~ msgstr "Einsarta" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Forhold" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Terskel" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Lågpass" #, fuzzy #~ msgid "High-pass" #~ msgstr "Høgpass" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt lågpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt lågpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt lågpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt høgpass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt høgpass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt høgpass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt bandpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt bandpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt bandpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/okt bandsperre" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/okt bandsperre" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/okt bandsperre" #~ msgid "Inertia" #~ msgstr "Tregleik" #~ msgid "Band Type" #~ msgstr "Bandtype" #~ msgid "Band Mode" #~ msgstr "Bandmodus" #~ msgid "Band Slope" #~ msgstr "Bandhelling" easyeffects-7.1.7/po/pl.po000066400000000000000000002443201463533416400154360ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the EasyEffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-06 23:01+0000\n" "Last-Translator: marcin mikołajczak \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Korektor, kompresor i inne efekty audio" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Efekty dźwiękowe dla aplikacji PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;kompresor;pogłos;korektor;autogłośność;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Włącz/wyłącz tę aplikację" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Włącz" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Lista wykluczonych aplikacji: Dodaj/usuń tę aplikację" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Wyklucz" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Wycisz aplikację" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Zmień głośność tej aplikacji" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Głośność aplikacji" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Pomoc" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Resetuj Ustawienia" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Ustawienia" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Skróty" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_O EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Wyjdź" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Profile" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menu Profili" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Włącz/wyłącz globalne pomijanie" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Pomiń globalnie" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menu główne" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Okno EasyEffects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Lista aplikacji" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Pusta lista" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Brak aplikacji audio" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Cel" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Cisza" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Maksymalna historia" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Odnośnik" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Tymczasowe" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Krótkie" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Zintegrowane" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Średnia geometryczna (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Średnia geometryczna (MSI)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "Historia" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Zresetuj" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Głośność" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatywne" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Zakres" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Wzmocnienie wyjścia" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Wejście" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Wzmocnienie wej." #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Wyjście" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Wzmocnienie wej." #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Urządzenie" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nazwa" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Szablon" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Usuń ten plik szablonu" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Słuchaj" # Wpleć/wmieszaj/dodaj #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Wprowadź harmoniczne" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "Trzecie" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "Drugie" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Ilość" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmoniczne" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Zakres" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Podłoga" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Podłoga" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Odnośnik" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Nazwa Aplikacji" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Programy" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Lista wykluczonych programów" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Pokazuj wykluczone programy" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Pokazuj natytwne okno" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Tryb" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "W dół" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "W górę" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Wzmacniania" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Tryb kompresji" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Próg wzmocnienia" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Siła wzmocnienia" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Atak" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Czas" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Próg" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Czas ataku" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Próg" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Wyzwolenie" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Czas wybrzmiewania" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Próg wybrzmiewania" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Stosunek" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Kolano" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Wzmocnienie" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Poziom" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Poziom docelowy" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Tryb rozdzielonego stereo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Źródło" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Środek" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Strona" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Lewy" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Prawy" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Maks" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Lewy/Prawy" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Prawy/Lewy" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Strona" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Strona" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Domyślne" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Szczyt" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Filtr dolnoprzepustowy" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Tryb łańcucha bocznego" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Rodzaj" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Przekazywanie danych" # Wejście? #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Odbicie" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Zewnętrzne" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Typ łańcucha bocznego" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Urządzenie wejściowe" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Wzmocnienie wstępne" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reaktywność" # Podgląd, albo "patrz w przód", zapas #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Lookahead" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Górnoprzepustowy" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Częstotliwość" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Wyłącz" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Tryb filtru górnoprzepustowego" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Częstotliwość filtru górnoprzepustowego" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Dolnoprzepustowy" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Tryb filtru dolnoprzepustowego" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Wzmocnienie" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Obwiednia" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Krzywa" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Kanał lewy" #: data/ui/convolver.ui:53 msgid "R" msgstr "P" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Kanał prawy" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsy" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Połącz" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Szerokość stereo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Widmo" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Skala logarytmiczna" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autowzmocnienie" # Próbkowanie? #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Częstotliwość" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Sample" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Czas trwania" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Płaska odpowiedź" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Pierwsze jądro" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Drugie jądro" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Nazwa pliku wyjściowego" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Nazwa połączonego jądra" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importuj impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Wyszukaj" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Płaska odpowiedź" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Płaska odpowiedź" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Domyślne" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Odcięcie" # Wejście? #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Feed" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Pomiń" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Wycisz" # Tłumienie? #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Tłumienie" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Długość filtra" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Wykrycie" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Szeroki" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Podzielony" #: data/ui/deesser.ui:96 #, fuzzy msgid "F1 Split" msgstr "Podzielony" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Częstotliwość" #: data/ui/deesser.ui:128 #, fuzzy msgid "F2 Peak" msgstr "Szczyt" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Częstotliwość" #: data/ui/deesser.ui:165 #, fuzzy msgid "F1 Gain" msgstr "Wzmocnienie" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Częstotliwość" #: data/ui/deesser.ui:199 #, fuzzy msgid "F2 Level" msgstr "Poziom" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Częstotliwość" #: data/ui/deesser.ui:233 #, fuzzy msgid "F2 Peak Q" msgstr "Szczyt Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Częstotliwość" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Swoboda" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Wykryto" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Redukcja" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Opóźnienie" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Odwróć fazę" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Długość filtra" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Tłumienie szumu" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Tłumienie szumu" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Wykluczone aplikacje" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Włącz/wyłącz monitorowanie wejścia" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Pasma" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Łańcuch boczny" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Łańcuch boczny" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Rozłącz kanały" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Płaska odpowiedź" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Przelicz częstotliwości" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Pasma" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importuj szablony" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Eksportuj profil" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Jakość" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Szerokość" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Sufit" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Wartość sufitu" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Tryb pasma" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Wewnętrzne" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Dostęp" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Opis" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Usuń ten plik modela" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Dolna Wartość" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Górna wartość" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Pominięcie pasma" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Rezonans" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Dolnoprzepustowy" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Redukcja pasma" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Dolnoprzepustowy" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Tryb korektora" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtr" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Bramka" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Strefa" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Histereza" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Miks" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Wyzwolenie" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Częstotliwość" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Wyczyść historię" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Nadpróbkowanie" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Szeroki" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Szeroki" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Szerokość" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Szerokość" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Szerokość" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Brak" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Połowa x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Połowa x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Połowa x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Połowa x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Połowa x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Połowa x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Połowa x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Połowa x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Połowa x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Połowa x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Pełne x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Pełne x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Pełne x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Pełne x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Pełne x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Pełne x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Pełne x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Pełne x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Pełne x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Pełne x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "Przedwzmacniacz SC" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Programy" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Wzmocnienie" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Powiązanie stereo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Łańcuch boczny" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Automatyczne poziomowanie" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Wzmocnienie wej." #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Wzmocnienie wej." #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Wzmocnienie wej." #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Lewy" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Prawy" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Lewy łańcuch boczny" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Łańcuch boczny" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standardowe" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Płaskie" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Rozmiar FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Głośność wyjścia" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Kanały" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Łańcuch boczny wzmocnienia" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Pokazuj natywny interfejs użytkownika" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Importuj profile" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klasyczne" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Nowoczesne" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Odwróć fazę" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Lista pasm" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Pasmo 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Pasmo 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Pasmo 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Pasmo 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Pasmo 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Pasmo 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Pasmo 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Pasmo 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Koniec pasma" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Kompresor" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Pominięcie pasma" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 #, fuzzy msgid "Band Sidechain Options" msgstr "Łańcuch boczny" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Tryb sterep" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Filtr" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Filtr" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filtr górnoprzepustowy" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Filtr górnoprzepustowy" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Przedwzmacniacz" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Wzmocnienie wej." #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Obwiednia pasma" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Redukcja pasma" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Ogólne" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Zarządzanie urządzeniami" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "NIE jest zalecane ustawiania Easy Effects Sink/Siurce jako domyślne " "urządzenie w zewnętrznych aplikacjach (np. Ustawienia Gnome lub Ustawienia " "systemowe Plasmy)." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Użyj domyślnego wejścia" #: data/ui/pipe_manager_box.ui:65 #, fuzzy msgid "Custom Input Device" msgstr "Urządzenie wejściowe" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Użyj domyślnego wyjścia" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Własne urządzenie wyjściowe" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Informacje o serwerze" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Wersja nagłówka" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Wersja biblioteki" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Próbkowanie" #: data/ui/pipe_manager_box.ui:149 #, fuzzy msgid "Minimum Quantum" msgstr "Częstotliwość" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Maksymalne wzmocnienie" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Domyślne" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Autoładowanie profili" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Urządzenia wyjściowe" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Szablony wyjściowe" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Utwórz powiązanie" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Profile: " #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Urządzenia wejściowe" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Profile wejścia" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Importuj profile" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduły" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Lista modułów" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Klienci" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Lista klientów" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Testuj sygnał" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stan" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Włączono" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Właściwości" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanały" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Oba" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Oba kanały" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Przebieg fali" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Biały szum" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Szybkie wyszukiwanie" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Wygładzanie" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Częstotliwość" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Okno" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Długość filtra" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Wysokość" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Półtony" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Odnośnik" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Odnośnik" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Usuń ten efekt" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Włącz/wyłącz ten efekt" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Zmień pozycję tego efektu" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Dodaj efekt" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Usuń ten efekt" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Lista używanych wtyczek" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Brak efektów" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Wyszukaj wtyczki" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Lista wtyczek" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "O_gólne" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Usługa" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Uruchom usługę systemową podczas uruchamiania" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Wyłącz przy zamknięciu okna" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Audio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Przetwarzaj wszystkie strumienie wyjściowe" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Przetwarzaj wszystkie strumienie wejściowe" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Limit czasu braku aktywności" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Uaktualnione tłumaczenia" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Częstotliwość" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "Powiązane z wtyczkami LV2" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Styl" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Używaj ciemnego motywu" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Funkcje eksperymentalne" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Natywne okno wtyczki" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "Pozwala na wyświetlenie/ukrycie natywnego okna wtyczki" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "Widmo (_S)" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Kształt" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linie" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Kropki" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Punkty" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Wysokość" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Szerokość linii" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Wypełnienie" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Pokazuj obramowanie pasków" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Zaokrąglone rogi" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Skala dynamiczna" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Kolor" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Linie i paski" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Podpisy osi" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Zakres częstotliwości" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Załaduj" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Porzuć obecne ustawienia i załaduj ten profil" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Zapisz obecne ustawienia do tego pliku profilu" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Usuń ten plik szablonu" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Suchy" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Profile: " #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importuj modele" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Nazwa nowego profilu" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Utwórz profil" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Szukaj profilu" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Lista profili" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Profile: " #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Profile: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Tłumienie wysokich tonów" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Rozmiar pomieszczenia" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Mały" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Średni" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Duży" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Duży/gładki" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Eksperymentalne" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Rozproszenie" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Przedopóźnienie" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Czas zaniku" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Odcięcie basu" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Odcięcie sopranu" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Otoczenie" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Gołe ściany" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Pokój" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Duża pusta sala" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Duża pełna sala" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importuj modele" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Wykrywanie głosu" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modele" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Standardowy model" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Lista modeli RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Model nie jest załadowany" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktywny model" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Standardowy model RNNoise" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Przegląd" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Pokaż pomoc" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Pełny ekran/Przywracanie z trybu pełnoekranowego" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Zamknij okno" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Wyjdź z EasyEffects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Odszumianie" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Kontroler wzmocnienia" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Usuwanie pogłosu" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "Start" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Kontynuuj" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Tłumienie szumu" #: data/ui/speex.ui:145 msgid "Level" msgstr "Poziom" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Balans wejścia" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Poziom" #: data/ui/stereo_tools.ui:126 #, fuzzy msgid "Stereo Matrix" msgstr "Powiązanie stereo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (domyślne stereo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Tryb sterep" #: data/ui/stereo_tools.ui:234 #, fuzzy msgid "Side Level" msgstr "Poziom" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balans boczny" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Środkowy poziom" #: data/ui/stereo_tools.ui:339 #, fuzzy msgid "Middle Panorama" msgstr "Panorama" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Wzmocnienie wej." #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Opóźnienie L/R" #: data/ui/stereo_tools.ui:452 #, fuzzy msgid "Delay Left Right" msgstr "Opóźnienie" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Baza stereo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Faza stereo" #: src/app_info.cpp:100 msgid "Running" msgstr "Działające" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Zawieszone" #: src/app_info.cpp:104 msgid "Idle" msgstr "Spoczynek" #: src/app_info.cpp:106 msgid "Creating" msgstr "Tworzenie" #: src/app_info.cpp:108 msgid "Error" msgstr "Błąd" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Nieznane" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "kanały" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Wyjdź z EasyEffects. Przydatne przy pracy w trybie usługi." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Resetuj EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Schowaj okno." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "Pokaż dostępne profile." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Załaduj profil. Przykład: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "Wyjście (_O)" #: src/application_ui.cpp:345 msgid "_Input" msgstr "Wejście (_I)" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Płaska odpowiedź" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importuj plik Impulse" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otwórz" #: src/convolver_menu_impulses.cpp:166 #, fuzzy msgid "Impulse Response" msgstr "Płaska odpowiedź" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Wczytaj Impuls" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Usuń Impuls" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Płaska odpowiedź" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Nie udało się załadować pliku impulsu" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Rejestratory" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Odtwarzacze" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efekty" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importuj plik profilu APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Profile APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importuj plik profilu APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Zapisz" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Profile APO" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importuj plik profilu GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Profile GraphicEQ" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Usuń automatyczne wczytywanie szablonu" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Wzmocnienie wej." #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Usuń" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Urządzenie wyjściowe" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Dodaj" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importuj szablony" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Lista wykluczonych programów" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Zapisać?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Usunąć?" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Nazwa nowego profilu" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Lista profili" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importuj szablony" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importuj plik modelu" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Modele RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Wzmacniacz basów" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Głośność basu" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Krystalizator" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "De-Esser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Usuwanie echa" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Korektor" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Exciter" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Miernik poziomu" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limiter" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizer" #: src/tags_plugin_name.cpp:58 #, fuzzy msgid "Multiband Compressor" msgstr "Kompresor" #: src/tags_plugin_name.cpp:59 #, fuzzy msgid "Multiband Gate" msgstr "Kompresor" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Pogłos" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Redukcja szumu" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Procesor mowy" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Narzędzia stereo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} jest niedostępne" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "Do korzystania z efektu {} wymagane jest oprogramowanie „{}”, które nie jest " "zainstalowane. Skorzystaj z pakietu Flatpak Easy Effects lub zainstaluj " "wymagane oprogramowanie samodzielnie." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "Wykorzystuje {}" #~ msgid "Ceiling" #~ msgstr "Sufit" #~ msgid "\"Presets\"" #~ msgstr "Profile" #~ msgid "Import a preset" #~ msgstr "Importuj profil" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Filtr" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtr górnoprzepustowy" #~ msgid "Uniform" #~ msgstr "Równomierny" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Profile: " #~ msgid "infinity" #~ msgstr "nieskończoność" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Stosunek" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Dolnoprzepustowy" #, fuzzy #~ msgid "High-pass" #~ msgstr "Górnoprzepustowy" #~ msgid "Gating" #~ msgstr "Bramka" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/okt dolnoprzepustowy" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/okt dolnoprzepustowy" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/okt dolnoprzepustowy" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/okt górnoprzepustowy" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/okt górnoprzepustowy" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/okt górnoprzepustowy" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/okt środkowoprzepustowy" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/okt środkowoprzepustowy" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/okt środkowoprzepustowy" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/okt Środkowozaporowy" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/okt środkowozaporowy" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/okt środkowozaporowy" #~ msgid "Inertia" #~ msgstr "Inercja" #~ msgid "Band Type" #~ msgstr "Rodzaj pasma" #~ msgid "Band Mode" #~ msgstr "Tryb pasma" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pasma" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Głośność" #~ msgid "High Speed" #~ msgstr "Wysoka prędkość" #~ msgid "High Quality" #~ msgstr "Wysoka jakość" #~ msgid "Formant" #~ msgstr "Formant" #~ msgid "Shifted" #~ msgstr "Zmienione" #, fuzzy #~ msgid "Preserved" #~ msgstr "Profile" #~ msgid "Crisp" #~ msgstr "Czystość" #~ msgid "Mixed" #~ msgstr "Zmiksowane" #~ msgid "Smooth" #~ msgstr "Gładko" #~ msgid "Detector" #~ msgstr "Wykrywacz" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresor" #~ msgid "Soft" #~ msgstr "Miękkie" #~ msgid "Phase" #~ msgstr "Faza" #~ msgid "Independent" #~ msgstr "Niezależne" #~ msgid "Cents" #~ msgstr "Centy" #~ msgid "Octaves" #~ msgstr "Oktawy" #~ msgid "_Manual" #~ msgstr "_Instrukcja" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Otwórz przewodnik po EasyEffects" #, fuzzy #~ msgid "High Pass" #~ msgstr "Filtr górnoprzepustowy" #, fuzzy #~ msgid "Low Pass" #~ msgstr "Dolnoprzepustowy" #~ msgid "Cancel" #~ msgstr "Anuluj" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Programy" #~ msgid "Frame Size" #~ msgstr "Rozmiar ramki" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "Włącz/wyłącz globalne ominięcie" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Dolnoprzepustowy" #, fuzzy #~ msgid " Uniform" #~ msgstr "Równomierny" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Przedopóźnienie" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Kanały" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Poziom" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Poziom" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Poziom docelowy" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Poziom docelowy" #, fuzzy #~ msgid "Suppression" #~ msgstr "Poziom tłumienia" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efekty dźwiękowe dla aplikacji PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Redukcja szumu" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Profile" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Output Presets: " #~ msgstr "Presety wyjściowe: " #, fuzzy #~ msgid "Input Presets: " #~ msgstr "Presety wejściowe: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split 1/2" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split 2/3" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Split 3/4" #~ msgstr "Podzielony" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Sub Band" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Wzmocnienie" #~ msgid "Max Reduction" #~ msgstr "Redukcja" #, fuzzy #~ msgid "Low Band" #~ msgstr "Dolnoprzepustowy" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Mid Band" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "High Band" #~ msgstr "Górnoprzepustowy" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Wyzwolenie" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Próg" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Pasma" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Pasma" # Uzupełnienie wzmocnienia/ nadrobienie wzmocnienia, wypełnienie # czasem po prostu Output, więc Wyjście albo Wzmocnienie #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Wzmocnienie" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Ilość" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Ilość" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects to zaawansowane narzędzie do manipulacji dźwiękiem. Zawiera " #~ "między innymi korektor, limiter, kompresor i narzędzie do generowania " #~ "pogłosu. Uzupełnieniem tego jest wbudowany analizator widma." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects jest następcą PulseEffects. EasyEffects wspiera jedynie " #~ "serwer audio PipeWire. Użytkownicy PulseAudio powinni zamiast tego użyć " #~ "PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Ponieważ EasyEffects używa domyślnego serwera dźwięku PipeWire, będzie on " #~ "działał z większością, jeśli nie wszystkimi używanymi programami. " #~ "Wszystkie obsługiwane programy są prezentowane w oknie głównym, gdzie " #~ "każdy z nich może być aktywowany indywidualnie." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Oprócz sterowania wyjściem dźwiękowym, EasyEffects jest w stanie " #~ "zastosować efekty do urządzenia wejściowego, takiego jak mikrofon. Jest " #~ "to przydatne na przykład przy nagrywaniu dźwięku, ale sprawdza się " #~ "również podczas rozmów głosowych." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Po uruchomieniu programu EasyEffects zapamiętuje on konfigurację użytą " #~ "podczas ostatniej sesji. Możliwe jest także zapisanie wszystkich " #~ "bieżących ustawień w postaci profili." #~ msgid "The main page showing two audio output apps" #~ msgstr "Główna strona z widocznymi dwoma programami odtwarzającymi dźwięk" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "" #~ "Strona wzmacniacza basów z widocznymi elementami sterowania dźwiękiem" #~ msgid "The convolver page showing audio controls" #~ msgstr "Strona konwolwera przedstawiająca elementy sterujące dźwiękiem" #~ msgid "This release adds the following features:" #~ msgstr "W tym wydaniu dodano następujące funkcje:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Pasma" #, fuzzy #~ msgid "Many translation updates" #~ msgstr "Uaktualnione tłumaczenia" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Wprowadzono nowe ustawienie umożliwiające użytkownikowi wybranie limitu " #~ "czasu bezczynności dla odtwarzaczy. Jeśli żaden klient nie odtwarza " #~ "dźwięku" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "do lub nagrywanych z naszych urządzeń, których filtry zostaną usunięte po " #~ "upływie limitu czasu. Ma to na celu zapewnienie" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "" #~ "tego, że nie będziemy marnować mocy procesora na przetwarzanie ciszy." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "Wtyczka automatycznej regulacji wzmocnienia umożliwia teraz użytkownikowi " #~ "wybór, która z trzech głośności jest używana do obliczania średniej" #~ msgid "mean." #~ msgstr "geometrycznej." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "Wtyczka automatycznej regulacji wzmocnienia umożliwia teraz ustawienie " #~ "maksymalnej historii i nie używa już trybu histogramu `libebur128`." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Powinno to zapobiec przypadkom, gdy `Zintegrowana` głośność utknie na " #~ "zawsze w tej samej wartości." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "Ikona EasyEffects została uaktualniona w taki sposób, że powinna być " #~ "widoczna w pulpitach QT." #~ msgid "This release fixes the following bug:" #~ msgstr "To wydanie poprawia następujący błąd:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "Opcja wiersza poleceń, która zwraca stan globalnego obejścia, działa " #~ "ponownie." #~ msgid "This release adds the following feature:" #~ msgstr "W tym wydaniu dodano następującą funkcję:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Filtr krzyżowy powinien lepiej radzić sobie z dynamicznymi przełącznikami " #~ "opóźnień w systemie PipeWire. W takich sytuacjach nie powinny już " #~ "występować skoki poziomu głośności." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Naprawiono błąd, który uniemożliwiał prawidłowe działanie mikrofonów " #~ "monofonicznych z EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Wsparcie dla następnej wersji PipeWire `0.3.44`" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Filtr automatycznej regulacji wzmocnienia powinien lepiej radzić sobie z " #~ "dynamicznymi przełącznikami opóźnień w systemie PipeWire. W takich " #~ "sytuacjach nie powinny już występować skoki poziomu głośności." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Dodaliśmy opcję, która umożliwia zresetowanie głośności i stanu " #~ "wyciszenia naszych urządzeń wirtualnych podczas uruchamiania EasyEffects. " #~ "Powinno to pomóc w przypadkach, gdy z nieznanych przyczyn nasze " #~ "urządzenia są wyciszane przez serwer audio." #~ msgid "Better support for computer suspending." #~ msgstr "Lepsza obsługa uśpienia komputera." #~ msgid "Average" #~ msgstr "Średnia" #~ msgid "Failed" #~ msgstr "Niepowodzenie" #, fuzzy #~ msgid "Use Default" #~ msgstr "Użyj domyślnych" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Kompresor" #~ msgid "Import Presets" #~ msgstr "Importuj profile" #~ msgid "Start Service at Login" #~ msgstr "Uruchom usługę przy logowaniu" #, fuzzy #~ msgid "Activate" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibracja mikrofonu" #~ msgid "Plugins" #~ msgstr "Wtyczki" #, fuzzy #~ msgid "enabled" #~ msgstr "Włącz" #, fuzzy #~ msgid "disabled" #~ msgstr "Włącz" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Oczekiwanie" #~ msgid "Faster" #~ msgstr "Szybszy" #~ msgid "Preserve Formant" #~ msgstr "Zachowaj formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Wzmocnienie wej." #, fuzzy #~ msgid "Channel" #~ msgstr "Kanały" #, fuzzy #~ msgid "Value" #~ msgstr "Podłoga" #~ msgid "Output Effects" #~ msgstr "Efekty wyjściowe" #~ msgid "Settings" #~ msgstr "Ustawienia" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Ustawienia" #, fuzzy #~ msgid "Documentation" #~ msgstr "Kalibracja" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Sygnały testowe" #, fuzzy #~ msgid "Signal" #~ msgstr "Sygnały testowe" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Widmo" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Widmo" #~ msgid "Spectrum Color" #~ msgstr "Kolor widma" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Redukcja wzmocnienia" #, fuzzy #~ msgid "Wet" #~ msgstr "Wysokość" #, fuzzy #~ msgid "S/C Level" #~ msgstr "Poziom" #~ msgid "Input Limiter" #~ msgstr "Limiter wejścia" #~ msgid "Calibration" #~ msgstr "Kalibracja" #~ msgid "Limit" #~ msgstr "Limit" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Efekty dźwiękowe dla programu Pulseaudio" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Efekty dźwiękowe dla programu Pulseaudio" #~ msgid "Calibration Microphone" #~ msgstr "Kalibracja mikrofonu" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Prostokąt" #~ msgid "Saw" #~ msgstr "Piła" #~ msgid "Triangle" #~ msgstr "Trójkąt" #~ msgid "Pink Noise" #~ msgstr "Różowy szum" # tyknięcia, kliknięcia #~ msgid "Ticks" #~ msgstr "Działki" #~ msgid "Gaussian Noise" #~ msgstr "Szum Gaussa" #~ msgid "Blue Noise" #~ msgstr "Szum niebieski" #~ msgid "Violet Noise" #~ msgstr " Szum fioletowy" #~ msgid "Volume" #~ msgstr "Głośność" #~ msgid "Measure Noise" #~ msgstr "Mierz szum" #~ msgid "Subtract Noise" #~ msgstr "Odejmij szum" #~ msgid "Extended Filter" #~ msgstr "Rozszerzony Filtr" #~ msgid "Low" #~ msgstr "Nisko" #~ msgid "Moderate" #~ msgstr "Średni" #~ msgid "High" #~ msgstr "Wysoki" #~ msgid "Delay Agnostic" #~ msgstr "Niezależny od opóźnienia" #~ msgid "Very High" #~ msgstr "Bardzo wysokie" #~ msgid "Adaptive Digital" #~ msgstr "Cyfrowy adaptacyjny" #~ msgid "Fixed Digital" #~ msgstr "Cyfrowy ustalony" #~ msgid "Detection Likelihood" #~ msgstr "Szansa wykrycia" #~ msgid "Very Low" #~ msgstr "Bardzo niskie" #~ msgid "Use Custom Color" #~ msgstr "Użyj własnego koloru" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Kompresor" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Domyślne" #, fuzzy #~ msgid "Configuration" #~ msgstr "Kalibracja" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Przelicz częstotliwości" #, fuzzy #~ msgid "Advanced" #~ msgstr "Ustawienia zaawansowane" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Profile" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Wykrycie" #~ msgid "Muted" #~ msgstr "Wyciszony" #~ msgid "Distant Headphones" #~ msgstr "Odległe słuchawki" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Częstotliwość" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Resampler" #~ msgid "Buffer" #~ msgstr "Bufor" #, fuzzy #~ msgid "Block Size" #~ msgstr "Rozmiar pomieszczenia" #~ msgid "Resampler" #~ msgstr "Resampler" #~ msgid "paused" #~ msgstr "zatrzymany" #~ msgid "playing" #~ msgstr "gra" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Importuj profile" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Redukcja wzmocnienia" easyeffects-7.1.7/po/pt_BR.po000066400000000000000000002773421463533416400160430ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # Wellington Wallace Miguel Melo , 2017. # msgid "" msgstr "" "Project-Id-Version: EasyEffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-01-30 16:00+0000\n" "Last-Translator: marcelocripe \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.4-dev\n" "X-Poedit-SourceCharset: UTF-8\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "Equalizador de Áudio @APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizador, Compressor e Outros Efeitos de Áudio" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "" "O ‘Easy Effects’ é um aplicativo GTK gratuito e de código aberto que fornece " "uma grande variedade de efeitos sonoros e filtros para serem aplicados nos " "fluxos de áudio de entrada e saída que utiliza o servidor de áudio PipeWire, " "possui as funções de equalizador, compressor e efeitos de áudio" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" "limitador;compressor;reverberação;equalizador;volume automático;efeitos;" "sonoros;som;áudio;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Ativar ou desativar este aplicativo" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Ativar" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Lista de aplicativos excluídos: Adicionar ou remover este aplicativo" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Excluir" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Silenciar o Aplicativo" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Alterar o volume deste aplicativo" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Volume do Aplicativo" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Ajuda" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Redefinir as Configurações" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Preferências" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Atalhos" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Sobre o Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Sair" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Predefinições" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Menu das Predefinições" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Ativar ou desativar a utilização do aplicativo no sistema" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Ignorar Globalmente" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Menu Principal" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Janela do Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Lista de Aplicativos" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Lista vazia" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Nenhum aplicativo de áudio está disponível" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Controles" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Alvo" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Silêncio" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Histórico Máximo" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referência" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentâneo" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Curto Prazo" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrada" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Média Geométrica (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Média Geométrica (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Média Geométrica (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Média Geométrica (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Apagar o Histórico" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Reiniciar" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Intensidade" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativo" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Alcance" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Ganho de Saída" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Ganho de Entrada do Módulo de Extensão" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Saída" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Ganho de Saída do Módulo de Extensão" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Dispositivo" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nome" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Perfil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Predefinição" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Remover este arquivo de predefinição" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Ouvir" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Mistura de Harmônicos" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3º" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2º" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Quantidade" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmônico" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Escopo" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Mínimo" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Valor Mínimo" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Ligação" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Nome do Aplicativo" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Adicionar aos Aplicativos Excluídos" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Lista de Aplicativos Excluídos" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Exibir os Aplicativos Excluídos" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Exibir a Janela Nativa" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compressor de Áudio" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Para Baixo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Para Cima" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Impulsionando" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Modo de Compressão" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Limite do Impulso" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Valor do Impulso" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Tempo" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Limite" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Tempo de Ataque" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Limite do Ataque" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Lançamento" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Hora do Lançamento" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Limite do Lançamento" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Proporção" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Joelho" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Ganho de Saída" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Nível Seco" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Nível Molhado" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Cadeia Lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Modo de Divisão Estéreo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Fonte" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Meio" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Esquerda" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Direita" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Mínimo" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Fonte da Cadeia Lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Esquerda/Direita" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Direita/Esquerda" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Meio/Lado" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Lado/Meio" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Fonte Dividida Estéreo" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "Potência Real" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Filtro Passa-Baixo" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Média Móvel Simples" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Modo de Cadeia Lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Cadeia Lateral Externa" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Avançar" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Retornar" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Externo" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Tipo de Cadeia Lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Dispositivo de Entrada" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Pré-Amplificação" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reatividade" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Antevisão" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Filtros da Cadeia Lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Passa-Alta" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frequência" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Desligado" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Modo de Filtro Passa-Alta" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Frequência do Filtro Passa-Alta" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Passa-Baixa" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Modo de Filtro Passa-Baixa" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Ganho" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Modulação" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "E" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Canal Esquerdo" #: data/ui/convolver.ui:53 msgid "R" msgstr "D" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Canal Direito" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulsos" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Combinar" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Largura do Estéreo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Escala Logarítmica" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Ganho Automático" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Taxa" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Amostras" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Duração" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Combinar as Respostas de Impulso" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Primeiro Núcleo" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Segundo Núcleo" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Nome do Arquivo de Saída" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Nome do Núcleo Combinado" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importar o Impulso" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Buscar" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Importar o Arquivo com a Resposta de Impulso" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Lista de Arquivos com o Impulso" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Padrão" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Cortar" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Alimentação" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Ignorar" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Mudo" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Limite de Atenuação" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Limite Mínimo de Processamento" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Limite Máximo de Processamento do ERB" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Limite Máximo de Processamento do DF" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Transferência Mínima de Processamento" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Filtro Beta de Postagem" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detecção" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Amplo" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Separado" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "Divisão F1" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Divisão da Frequência 1" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "Pico F2" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Pico da Frequência 2" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "Ganho F1" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Ganho da Frequência 1" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "Nível F2" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Nível da Frequência 2" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "Pico Q F2" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Pico Q da Frequência 2" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Frouxidão" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Redução" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Atraso" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inverter a Fase" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Comprimento do Filtro" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Supressão de Eco Residual" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Supressão de Eco Próximo ao Fim" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Aplicativos Excluídos" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Ativar ou desativar este aplicativo" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bandas" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balanço" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Frequência da Esquerda" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Frequência da Direita" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Canais Separados" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Resposta Plana" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calcular as Frequências" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Ordenar as Bandas" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importar as Predefinições" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Exportar as Predefinições" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Inclinação" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Sozinho" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualidade" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Largura" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Teto" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Valor do Teto" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Expandir" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Modo de Banda Expandida" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Interno" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Acesso" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Descrição" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Remover este arquivo de modelo" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Cortar as Frequências Altas" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "Cortar as Frequências Baixas" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Sino" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Passa a Banda" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Rejeitar a Faixa" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Ressonância" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Passagem da Banda" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Redução da Banda" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "Passa-Tudo" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Equalizador" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtro" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Porta" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Atraso" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Mistura" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Início da Zona de Ataque" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Início da Zona de Liberação" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Pico Verdadeiro" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Apagar o Histórico" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Sobreamostragem" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Distorsão" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm Fino" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Amplo" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Final" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm do Pato" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp Fino" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Amplo" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Final do Exp" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp do Pato" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Linha Fina" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Linha Larga" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Final da Linha" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Linha do Pato" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Nenhuma" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Metade x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Metade x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Metade x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Metade x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Metade x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Metade x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Metade x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Metade x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Metade x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Metade x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Completa x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Completa x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Completa x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Completa x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Completa x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Completa x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Completa x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Completa x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Completa x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Completa x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "Pré-Amplificador SC" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Pré-Amplificação da Cadeia Lateral" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Impulso" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Ligação Estéreo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Cadeia Lateral Externa" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Fonte da Cadeia Lateral Externa" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Ganho Automático" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Ataque do Ganho Automático" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Liberação do Ganho Automático" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Joelho do Ganho Automático" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Ganho Esquerdo" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Ganho Direito" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Cadeia Lateral Esquerda" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Cadeia Lateral Direita" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Padrão" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plano" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Tamanho do FFT" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Volume da Saída" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Corte" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Impulso de Cadeia Lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Rosa BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Rosa MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Marrom BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Marrom MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Exibir a Interface do Usuário Nativa" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Modo Operacional" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Clássico" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Moderno" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Fase Linear" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Lista de Bandas" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Banda 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Início da Banda" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Fim da Banda" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Modo de Compressão das Bandas" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Ignorar a Banda" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Opções de Cadeia Lateral das Bandas" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Modo Estéreo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Filtro Corte-Baixo" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Frequência do Filtro Corte-Baixo" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "Filtro Corte-Alto" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Frequência do Filtro Corte-Alto" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Pré-Amplificador" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Ganho da Banda" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Modulação da Banda" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Curva da Banda" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Redução da Banda" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Geral" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Gerenciamento de Dispositivos" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "É recomendado NÃO definir a Coletor/Fonte (Sink/Source) do Easy Effects como " "dispositivo padrão para os aplicativos externos, por exemplo, para as " "Definições do Gnome ou para as Definições de Sistema do Plasma." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Utilizar a Entrada Padrão" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Dispositivo de Entrada Personalizado" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Utilizar a Saída Padrão" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Dispositivo de Saída Personalizado" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Informações do Servidor" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Versão do Cabeçalho" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Versão da Biblioteca" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Taxa de Amostragem" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Quântico Mínimo" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Quântico Máximo" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Quântico Padrão" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Carregamento Automático das Definições" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Dispositivos de Saída" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Predefinições de Saída" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Criar Associação" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Adicionar o Carregamento Automático das Definições de Saída" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Lista das Predefinições de Saída" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Dispositivos de Entrada" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Predefinições de Entrada" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Adicionar o Carregamento Automático das Definições de Entrada" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Lista das Predefinições de Entrada" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Lista de Módulos" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Lista de Clientes" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Sinal de Teste" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Ativado" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Propriedades" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canais" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Ambos os Canais" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Forma de Onda" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Onda Senoidal" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Ruído Branco" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Busca Rápida" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Anti-Distorção" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Escopo de Frequências" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Janela de Busca" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Comprimento do Filtro" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Altura" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitons" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Referência" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Referência" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Remover este efeito" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Ativar ou desativar este efeito" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Alterar a posição deste efeito" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Adicionar Efeito" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Remover este efeito" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Lista dos Módulo de Extensão Utilizados" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Sem Efeitos" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Fluxo de Áudio Não Alterado" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Procurar por Módulos de Extensão" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Lista dos Módulos de Extensão" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Geral" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Serviço" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Iniciar o Serviço na Inicialização do Sistema" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Desligar ao Fechar a Janela" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Áudio" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Processar Todas as Saídas" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Processar Todas as Entradas" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Ignorar os Fluxos do Monitor de Dispositivos" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Utilizar o Volume Cúbico" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Tempo Limite de Inatividade" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Traduções atualizadas" #: data/ui/preferences_general.ui:120 #, fuzzy msgid "Related to Level Meters and Spectrum" msgstr "Atualizar o Intervalo (Medidores de Nível e Espectro)" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frequência" #: data/ui/preferences_general.ui:143 #, fuzzy msgid "Related to LV2 Plugins" msgstr "Frequência de Atualização (Plug-ins LV2)" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Estilo" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Utilizar o Tema Escuro" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Ocultar os Menus com Cliques Externos" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Recursos Experimentais" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Exibir a Janela Nativa do Módulo de Extensão" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "Permite exibir ou oculta a janela nativa do módulo de extensão" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Espectro" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Forma" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Barras" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linhas" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Pontos" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Pontos" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Largura da Linha" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Preencher" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Exibir a Borda das Barras" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Cantos Arredondados" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Escala Dinâmica" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Cor" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Linhas e Barras" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Rótulos dos Eixos" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Escopo de Frequências" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Mínimo" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Carregar" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Descarte as definições atuais e carregue esta predefinição" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Salvar as configurações atuais para este arquivo de predefinição" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Remover este arquivo de predefinição" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Seco" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Pesquisa de Predefinições de Saída" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importar o Modelo" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Novo Nome de Entrada da Predefinição" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Criar uma nova predefinição" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Pesquisar as Predefinições de Entrada" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Lista de Predefinições de Entrada" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Pesquisa de Predefinições de Saída" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Lista de Predefinições de Saída" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortecimento de Alta Frequência" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Tamanho do Quarto" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Pequeno" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Médio" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Grande/Suave" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difusão" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pré Atraso" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Tempo de Decaimento" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Corte do Grave" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Corte do Agudo" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Paredes Vazias" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Quarto" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Grande Salão Vazio" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Discoteca" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Grande Salão Ocupado" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importar o Modelo" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Detecção da Voz" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modelos" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Modelo Padrão" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Lista de Modelos de Ruídos do RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "O Modelo Não Foi Carregado" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Modelo Ativo" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Modelo Padrão de Ruído do RNNoise" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Visão Geral" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Exibir a Ajuda" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Tela Cheia/Restaurar a Tela Cheia" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Fechar a Janela" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Sair do Easy Effects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Diminuir o Ruído" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Controle de Ganho Automático" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Diminuir a Reverberação" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Probabilidade de Atividade da Voz" #: data/ui/speex.ui:95 msgid "Start" msgstr "Iniciar" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Continuar" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Supressão de Ruído" #: data/ui/speex.ui:145 msgid "Level" msgstr "Nível" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Balanço de Entrada" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Corte Suave do Clipe" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Nível do Corte Suave" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "ED > ED (Estéreo Padrão)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "ED > ML (Estéreo para o Meio)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "ML > ED (Meio para o Estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "ED > EE (Canal Esquerdo Mono)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "ED > DD (Canal Direito Mono)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "ED > E+D (Soma Mono E+D)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "ED > DL (Alternar os Canais Estéreo)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Modo Estéreo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nível Lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balanço Lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nível do Meio" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panorama do Meio" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Ganho de Saída" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Atraso E/D" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Atraso na Esquerda e na Direita" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fase Estéreo" #: src/app_info.cpp:100 msgid "Running" msgstr "Executando" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Suspenso" #: src/app_info.cpp:104 msgid "Idle" msgstr "Parado" #: src/app_info.cpp:106 msgid "Creating" msgstr "Criando" #: src/app_info.cpp:108 msgid "Error" msgstr "Erro" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Desconhecido" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Nome Não Definido para o ID do Processo " #: src/app_info.cpp:292 msgid "channels" msgstr "canais" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" "Página eletrônica do Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Sair do Easy Effects. Esta opção é útil quando estiver sendo executado no " "modo de serviço." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Exibir a versão do Easy Effects" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Redefinir o Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Ocultar a Janela." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Ignorar Globalmente. Onde serve 1 para ativar, 2 para desativar e 3 para " "verificar o estado" #: src/application.cpp:615 msgid "Show available presets." msgstr "Exibir as predefinições que estão disponíveis." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Carregar uma predefinição. Por exemplo: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Saída" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Entrada" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "O Arquivo Não Está Normal" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "O Arquivo de Impulso Pode Estar Corrompido ou Não É Compatível" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Apenas Arquivos de Impulso Estéreo são Compatíveis" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "O Arquivo de Impulso Não foi Importado" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importar o Arquivo com a Resposta de Impulso" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Resposta de Impulso" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Carregar o Impulso" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Remover o Impulso" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Nenhum Arquivo de Impulso foi Carregado" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Não Foi Possível Carregar o Arquivo com o Impulso" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Gravadores" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Reprodutores" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efeitos" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importar o Arquivo com as Predefinições do APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Predefinições do APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "A predefinição do APO não foi carregada. Talvez o formato do arquivo não " "seja compatível. Por favor, verifique o conteúdo do arquivo." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "O canais divididos ainda não são suportados ao exportar as predefinições do " "APO." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "Importar o Arquivo com as Predefinições do APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Salvar" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "Predefinições do Equalizador do APO" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importar o Arquivo com as Predefinições do GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Predefinições do GraphicEQ" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "O arquivo de predefinição do GraphicEQ não foi carregado. Talvez o formato " "do arquivo não seja compatível. Por favor, verifique o conteúdo do arquivo." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Remover as Predefinições Carregadas Automaticamente" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Medidor do Nível de Saída" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Remover" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Dispositivo de Saída" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Adicionar" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importar as Predefinições" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Lista de Aplicativos Excluídos" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Você quer salvar?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Você quer excluir?" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Novo Nome de Entrada da Predefinição" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Lista de Predefinições de Entrada" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importar as Predefinições" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "O arquivo do modelo selecionado não foi carregado. Talvez o formato do " "arquivo não seja compatível. Será utilizado o modelo padrão." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importar o Arquivo de Modelo" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Modelos de Ruído do RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Amplificador dos Graves" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Intensidade dos Graves" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolução" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Alimentação Cruzada" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizador" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Removedor de Ruídos Áudio" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Sons Sibilantes Desessor (DeEsser)" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Cancelador de Eco" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Equalizador" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitador" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Medidor do Nível da Saída" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitador" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizador" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compressor de Multibanda" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Porta para Multibandas" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Reverberação" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Redução de Ruído" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Processador de Fala" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Ferramentas Estéreo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "O Efeito {} Não Está Disponível" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "O programa necessário para obter o efeito {}, é o \"{}\" que não está " "instalado no seu sistema operacional. Considere utilizar o pacote Flatpak do " "Easy Effects ou instalar o programa você mesmo.\n" "Observação: algumas distribuições GNU/Linux não são compatíveis com os " "pacotes no formato Flatpak." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "O efeito {} foi desativado quando o Easy Effects foi compilado. Talvez isso " "se deva ao fato de que o programa \"{}\", que é necessário para obter este " "efeito não esteja disponível. Considere utilizar o pacote Flatpak do Easy " "Effects ou construir o seu próprio pacote do Easy Effects.\n" "Observação: algumas distribuições GNU/Linux não são compatíveis com os " "pacotes no formato Flatpak." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "Utilizando o {}" #~ msgid "Ceiling" #~ msgstr "Teto" #~ msgid "\"Presets\"" #~ msgstr "\"Predefinições\"" #~ msgid "Import a preset" #~ msgstr "Importar uma predefinição" #~ msgid "Low-Cut Filter" #~ msgstr "Filtro Corte-Baixo" #~ msgid "High-Cut Filter" #~ msgstr "Filtro Corte-Alto" #~ msgid "Uniform" #~ msgstr "Uniforme" #~ msgid "New Output Preset Name" #~ msgstr "Novo Nome de Predefinição de Saída" #~ msgid "infinity" #~ msgstr "infinito" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Razão" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Passa-Baixa" #, fuzzy #~ msgid "High-pass" #~ msgstr "Passa-alta" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Passa-Baixa" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Passa-Baixa" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Passa-Baixa" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Passa-Alta" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Passa-Alta" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Passa-Alta" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Passa-Banda" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Passa-Banda" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Passa-Banda" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Rejeita-Faixa" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Rejeita-Faixa" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Rejeita-Faixa" #~ msgid "Inertia" #~ msgstr "Inércia" #~ msgid "Band Type" #~ msgstr "Tipo de banda" #~ msgid "Band Mode" #~ msgstr "Modo de Banda" #~ msgid "Band Slope" #~ msgstr "Inclinação da banda" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Sonoridade" #~ msgid "High Speed" #~ msgstr "Alta Velocidade" #~ msgid "High Quality" #~ msgstr "Alta Qualidade" #~ msgid "High Consistency" #~ msgstr "Alta Consistência" #~ msgid "Formant" #~ msgstr "Formante" #~ msgid "Shifted" #~ msgstr "Deslocado" #~ msgid "Preserved" #~ msgstr "Preservado" #~ msgid "Transients" #~ msgstr "Transientes" #~ msgid "Crisp" #~ msgstr "Nítido" #~ msgid "Mixed" #~ msgstr "Misturado" #~ msgid "Smooth" #~ msgstr "Suave" #~ msgid "Detector" #~ msgstr "Detector" #~ msgid "Compound" #~ msgstr "Composto" #~ msgid "Percussive" #~ msgstr "Percussivo" #~ msgid "Soft" #~ msgstr "Suave" #~ msgid "Phase" #~ msgstr "Estágio" #~ msgid "Laminar" #~ msgstr "Laminar" #~ msgid "Independent" #~ msgstr "Independente" #~ msgid "Cents" #~ msgstr "Centavos" #~ msgid "Octaves" #~ msgstr "Oitavas" #~ msgid "_Manual" #~ msgstr "_Manual" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Abrir o Manual do Easy Effects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} Não Está Instalado no Sistema" #~ msgid "High Pass" #~ msgstr "Passa Altas" #~ msgid "Low Pass" #~ msgstr "Passa-Baixa" #~ msgid "Cancel" #~ msgstr "Cancelar" #~ msgid " PreAmplification" #~ msgstr " PréAmplificação" #~ msgid "Close (Press ESC)" #~ msgstr "Fechar (Pressione ESC)" #~ msgid "Frame Size" #~ msgstr "Tamanho do Quadro" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "" #~ "Habilitar/desabilitar\n" #~ " todos os efeitos" #~ msgid " Low-Pass" #~ msgstr " Passagem Baixa" #~ msgid " Uniform" #~ msgstr " Uniforme" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pré Atraso" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Canal direito" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Nível" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Nível" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Nível Alvo" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Nível Alvo" #, fuzzy #~ msgid "Suppression" #~ msgstr "Nível de Supressão" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efeitos de audio para Programas que utilizam PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Redução de Ruído" #~ msgid "Load APO Preset" #~ msgstr "Carregar Predefinições APO" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Separado" #~ msgid "Split 1/2" #~ msgstr "Disivão 1/2" #~ msgid "Split 2/3" #~ msgstr "Disivão 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frequência" #~ msgid "Split 3/4" #~ msgstr "Disivão 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frequência" #~ msgid "Sub Band" #~ msgstr "Banda" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Ganho de Saída" #~ msgid "Max Reduction" #~ msgstr "Redução" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "Low Band" #~ msgstr "Banda Baixa" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Ganho de Saída" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "Mid Band" #~ msgstr "Banda Média" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Ganho de Saída" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "High Band" #~ msgstr "Banda Alta" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Ignorar" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Ataque" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Liberação" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Limiar" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Bandas" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Ganho de Saída" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redução de Ganho" #~ msgid "Output Presets: " #~ msgstr "Predefinições de Saída: " #~ msgid "Input Presets: " #~ msgstr "Predefinições de Entrada: " #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Quantidade" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Quantidade" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects é uma ferramenta avançada de edição de áudio. Ele inclui " #~ "equalizador, limitador, compressor e um plugin de reverberação. Estas " #~ "ferramentas são complementadas por um analisador de espectro." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects é o sucessor do PulseEffects. EasyEffects suporta apenas o " #~ "PipeWire como servidor de áudio. Os usuários do PulseAudio devem usar o " #~ "PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Como o EasyEffects usa o servidor de som PipeWire, ele funcionará com a " #~ "maioria, se não todos os aplicativos que você usa. Todos os aplicativos " #~ "suportados são apresentados na janela principal, onde cada um pode ser " #~ "ativado individualmente." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Além de manipular a saída de som, o EasyEffects é capaz de aplicar " #~ "efeitos a um dispositivo de entrada, como um microfone. Isso é, por " #~ "exemplo, útil na gravação de áudio, mas também funciona bem durante " #~ "conversas de voz." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Quando o EasyEffects for iniciado, ele lembrará convenientemente a " #~ "configuração usada na última sessão. Também é possível salvar todas as " #~ "configurações atuais como perfis." #~ msgid "The main page showing two audio output apps" #~ msgstr "A página principal mostrando dois aplicativos de saída de áudio" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "A página do aprimoramento de graves mostrando controles de áudio" #~ msgid "The convolver page showing audio controls" #~ msgstr "A página de convolução mostrando os controles de áudio" #~ msgid "This release adds the following features:" #~ msgstr "Esta versão adiciona os seguintes recursos:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Este lançamento corrige os seguintes bugs:" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "A interface do plugin de tom foi melhorada" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "" #~ "O ícone do nosso aplicativo é agora compatível com ambientes que usam QT" #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "Nosso código de lista de bloqueio usará a tag `application.id` se o fluxo " #~ "a definir" #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "Para evitar problemas com mouse, role as entradas na lista de aplicativos " #~ "mostrada em nossos `Reprodutores/Gravadores`" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "Tab não mostram mais uma escala de volume. Mais detalhes sobre o problema " #~ "e a solução para ele podem ser encontrados em #1211" #~ msgid "and #1427" #~ msgstr "e #1427" #~ msgid "" #~ "When no application is available for display in the `Players/Recorders` a " #~ "message will be shown to the user" #~ msgstr "" #~ "Quando nenhum aplicativo estiver disponível para exibição em " #~ "`Reprodutores/Gravadores` uma mensagem será mostrada ao usuário" #~ msgid "Many translation updates" #~ msgstr "Muitas atualizações de tradução" #, fuzzy #~ msgid "" #~ "Fixed a bug where EasyEffects crashed when the number of points displayed " #~ "in the spectrum was changed while" #~ msgstr "" #~ "Corrigido um bug em que o EasyEffects travava quando o número de pontos " #~ "exibidos no espectro era alterado enquanto" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "nosso pipeline estava ativo e o widget de espectro estava visível" #~ msgid "" #~ "The pipeline latency value displayed in our window could be wrong in some " #~ "situations. This was fixed." #~ msgstr "" #~ "O valor de latência do pipeline exibido em nossa janela pode estar errado " #~ "em algumas situações. Isso foi corrigido." #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Há uma nova configuração que permite ao usuário selecionar um tempo " #~ "limite de inatividade para o pipeline. Quando nenhum cliente está " #~ "reproduzindo" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "ou gravando de nossos dispositivos, os filtros serão desconectados após o " #~ "tempo limite ser alcançado. Isso é feito para garantir que" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "não desperdiçamos energia da CPU processando silêncio." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "O plugin de ganho automático agora permite que o usuário selecione quais " #~ "dos três tipos de sonoridade são usados para calcular a" #~ msgid "mean." #~ msgstr "média geométrica." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "O plugin de ganho automático agora permite que o histórico máximo seja " #~ "definido e não usa mais o modo de histograma `libebur128`." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Isto deve evitar os casos em que o ruído \"Integrado\" fica preso para " #~ "sempre no mesmo valor." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "O ícone do EasyEffects foi atualizado de uma forma que deve torná-lo " #~ "visível nos desktops QT." #~ msgid "This release fixes the following bug:" #~ msgstr "Esta versão corrige o seguinte bug:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "A opção de linha de comando que retorna o estado de desvio global está " #~ "funcionando novamente." #~ msgid "This release adds the following feature:" #~ msgstr "Esse lançamento adiciona o seguinte recurso:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "O filtro de alimentação cruzada deve lidar melhor com os interruptores de " #~ "latência dinâmica PipeWire's. Os saltos no nível de volume não devem mais " #~ "acontecer nestas situações." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Corrigido um bug que impedia que os microfones mono funcionassem " #~ "corretamente com o EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Suporte à próxima versão do PipeWire `0.3.44`" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "O filtro de ganho automático deve lidar melhor com as opções de latência " #~ "dinâmica do PipeWire. Saltos no nível de volume não devem mais acontecer " #~ "nessas situações." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Adicionamos uma opção que permite os estados de volume e mudo de nossos " #~ "dispositivos virtuais serem reiniciados quando EasyEffects inicia. Isto " #~ "deve ajudar nos casos em que nossos dispositivos são silenciados pelo " #~ "servidor de áudio por razões desconhecidas." #~ msgid "Better support for computer suspending." #~ msgstr "Melhor suporte para suspensão do computador." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Corrigido um bug em que tentar criar um perfil de carregamento automático " #~ "sem ter predefinições causava o travamento do aplicativo." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "Corrigido um bug em que definir uma banda de equalizador `qualidade` para " #~ "`zero` levaria a uma falha do aplicativo." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita é usado para criar algumas partes de nossa janela e para lidar " #~ "com a alternância entre temas claros e escuros." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "O menu de configurações foi redesenhado usando widgets LibAdwaita." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "O recurso de importação predefinida do equalizador APO foi aprimorado " #~ "para aplicar não apenas o filtro Bell, mas também outros suportados" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "A função `Redefinir todas as configurações` em nosso menu deve funcionar " #~ "no Flatpak agora." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Temos uma nova opção que permite ao usuário desabilitar nossos menus " #~ "`auto-ocultar`. Isso pode ajudar a solucionar alguns bugs que os menus " #~ "popover têm atualmente no gtk4." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "Análise mais robusta para importar predefinições de APO salvas com " #~ "vírgula como separador de milhares na banda de frequência central." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "A biblioteca fmt é uma nova dependência, pelo menos enquanto os " #~ "compiladores c++ não implementarem seus recursos. A expectativa é que " #~ "isso aconteça nos próximos anos." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM e GLIBMM não são mais uma dependência. Agora usamos gtk4 " #~ "diretamente." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Agora é possível combinar respostas de impulso na interface Convolução. " #~ "Um novo arquivo de impulso é gerado e deve estar visível na lista de " #~ "impulsos." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "Aprimorados os desenhos de `eixo x` aprimorados em nossas plotagens. " #~ "Agora o número de rótulos é ajustado dinamicamente dependendo da largura " #~ "da nossa janela." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "A documentação foi atualizada refletindo os novos recursos do " #~ "EasyEffects. Referências antigas sobre PulseEffects foram removidas. O " #~ "botão de documentação foi adicionado na seção de menu." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Quando um botão giratório é preenchido com um valor fora do intervalo, " #~ "agora ele é atualizado com o valor mais baixo/mais alto em vez de " #~ "redefinir para o anterior." #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "A janela do aplicativo agora lembra o estado maximizado e o restaura no " #~ "próximo evento de abertura." #~ msgid "The `tbb` library is a new dependency" #~ msgstr "A biblioteca `tbb` é uma nova dependência" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "Os plugins limitador e compressor multibanda agora podem usar uma cadeia " #~ "lateral externa opcional." #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "O plugin Ganho Automático agora permite que o usuário selecione qual " #~ "volume que é utilizado como referência para a correção do volume." #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "O Volume Cúbico opcional pode ser ativado em Configurações Gerais." #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "Impediu um caso em que o Spectrum estava travando." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "O Pavucontrol não é mais adicionado à lista de aplicativos de entrada em " #~ "sistemas com localização diferente do inglês." #~ msgid "" #~ "The convolver impulse response menu was improved to workaround an issue " #~ "where the impulse files was not loaded when only one was available in the " #~ "menu" #~ msgstr "" #~ "O menu de resposta ao impulso de convolução foi aprimorado para " #~ "solucionar um problema em que os arquivos de impulso não eram carregados " #~ "quando apenas um estava disponível no menu" #~ msgid "Average" #~ msgstr "Médio" #~ msgid "Failed" #~ msgstr "Falhou" #, fuzzy #~ msgid "Use Default" #~ msgstr "Usar Padrão" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Remover este arquivo de predefinição" #~ msgid "Import Presets" #~ msgstr "Importar Predefinições" #~ msgid "Start Service at Login" #~ msgstr "Inicializar Serviço no Login" #, fuzzy #~ msgid "Activate" #~ msgstr "Modo Agressivo" #~ msgid "Add to Blocklist" #~ msgstr "Adicionar à Lista de Bloqueio" #~ msgid "Blocklist" #~ msgstr "Lista Negra" #, fuzzy #~ msgid "Microphone" #~ msgstr "Microfone de Calibração" #, fuzzy #~ msgid "enabled" #~ msgstr "Habilitar" #, fuzzy #~ msgid "disabled" #~ msgstr "Habilitar" #~ msgid "Format" #~ msgstr "Formato" #~ msgid "Latency" #~ msgstr "Latência" #~ msgid "Faster" #~ msgstr "Mais Rápido" #~ msgid "Preserve Formant" #~ msgstr "Preservar Formante" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Ganho de Entrada" #, fuzzy #~ msgid "Channel" #~ msgstr "Canais" #, fuzzy #~ msgid "Value" #~ msgstr "Piso" #~ msgid "Output Effects" #~ msgstr "Efeitos de Saída" #~ msgid "Settings" #~ msgstr "Configurações" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Configurações" #, fuzzy #~ msgid "Documentation" #~ msgstr "Duração" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Sinais de Teste" #, fuzzy #~ msgid "Signal" #~ msgstr "Sinais de Teste" #~ msgid "Show Spectrum" #~ msgstr "Mostrar Espectro" #~ msgid "Border" #~ msgstr "Borda" #~ msgid "Spectrum Type" #~ msgstr "Tipo de Espectro" #~ msgid "Spectrum Color" #~ msgstr "Cor do Espectro" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Modo Agressivo" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Redução de Ganho" #, fuzzy #~ msgid "Wet" #~ msgstr "Pesos" #~ msgid "S/C Level" #~ msgstr "Nível de S/C" #~ msgid "Short Term" #~ msgstr "Curto Prazo" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Definir o volume e ligar / desligar efeitos" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Inclui um equalizador com predefinições incorporadas" #~ msgid "Input Limiter" #~ msgstr "Limitador de Entrada" #~ msgid "Calibration" #~ msgstr "Calibração" #~ msgid "Limit" #~ msgstr "Limite" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Efeitos de Áudio para Programas que Utilizam Pulseaudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Efeitos de áudio para programas que Utilizam Pulseaudio" #~ msgid "Calibration Microphone" #~ msgstr "Microfone de Calibração" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Aplique automaticamente esta predefinição sempre que o dispositivo usado " #~ "atualmente for conectado no sistema" #, fuzzy #~ msgid "Version" #~ msgstr "Versão" #~ msgid "Sine" #~ msgstr "Seno" #~ msgid "Square" #~ msgstr "Quadrada" #~ msgid "Saw" #~ msgstr "Serra" #~ msgid "Triangle" #~ msgstr "Triângulo" #~ msgid "Pink Noise" #~ msgstr "Ruído Rosa" #~ msgid "Ticks" #~ msgstr "Tique-Taque" #~ msgid "Gaussian Noise" #~ msgstr "Ruído Gaussiano" #~ msgid "Blue Noise" #~ msgstr "Ruído Azul" #~ msgid "Violet Noise" #~ msgstr "Ruído Violeta" #~ msgid "Volume" #~ msgstr "Volume" #~ msgid "Measure Noise" #~ msgstr "Medir Ruído" #~ msgid "Subtract Noise" #~ msgstr "Subtrair Ruído" #~ msgid "Extended Filter" #~ msgstr "Filtro Estendido" #~ msgid "Low" #~ msgstr "Baixo" #~ msgid "Moderate" #~ msgstr "Moderado" #~ msgid "High" #~ msgstr "Alto" #~ msgid "Delay Agnostic" #~ msgstr "Atraso Agnóstico" #~ msgid "Very High" #~ msgstr "Muito Alto" #~ msgid "Adaptive Digital" #~ msgstr "Digital Adaptativo" #~ msgid "Fixed Digital" #~ msgstr "Digital Fixo" #~ msgid "Detection Likelihood" #~ msgstr "Probabilidade de Detecção" #~ msgid "Very Low" #~ msgstr "Muito Baixo" #~ msgid "Use Custom Color" #~ msgstr "Usar Cor Customizada" #~ msgid "Use Gradient" #~ msgstr "Usar Gradiente" #~ msgid "Gradient Color" #~ msgstr "Cor do Gradiente" #~ msgid "Import Impulse Response File" #~ msgstr "Arquivo da Resposta de Impulso" #~ msgid "Select the impulse Response File" #~ msgstr "Selecione o Arquivo com a Resposta de Impulso" #~ msgid "Aggressive Mode" #~ msgstr "Modo Agressivo" #~ msgid "Before" #~ msgstr "Antes" #~ msgid "After" #~ msgstr "Depois" #~ msgid "Loudness Range" #~ msgstr "Faixa de Sonoridade" #~ msgid "Apply" #~ msgstr "Aplicar" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Taxa de Amostragem Padrão" #~ msgid "Server" #~ msgstr "Servidor" #~ msgid "File" #~ msgstr "Arquivo" #~ msgid "Configuration" #~ msgstr "Configuração" #, fuzzy #~ msgid "server" #~ msgstr "Servidor" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Frequências Mais Baixas" #, fuzzy #~ msgid "Advanced" #~ msgstr "Configurações Avançadas" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Predefinições" #~ msgid "Detect Silence" #~ msgstr "Detectar Silêncio" #~ msgid "Muted" #~ msgstr "Mudo" #~ msgid "Distant Headphones" #~ msgstr "Fones de Ouvido Distantes" #~ msgid "Priority Type" #~ msgstr "Tipo de Prioridade" #~ msgid "Niceness" #~ msgstr "Gentileza" #~ msgid "Priority" #~ msgstr "Prioridade" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frequência" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Frequência" #~ msgid "About" #~ msgstr "Sobre" #~ msgid "Protocol" #~ msgstr "Protocolo" #~ msgid "Default Sample Format" #~ msgstr "Formato de Amostra Padrão" #~ msgid "Resamplers" #~ msgstr "Resamplers" #~ msgid "Pipeline Input" #~ msgstr "Entrada da Pipeline" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Pipeline Output" #~ msgstr "Saída da Pipeline" #~ msgid "Block Size" #~ msgstr "Tamanho do Bloco" #~ msgid "Resampler" #~ msgstr "Resampler" #~ msgid "paused" #~ msgstr "pausado" #~ msgid "playing" #~ msgstr "tocando" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Importar Predefinições" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Redução de Ganho" #~ msgid "Exponent" #~ msgstr "Expoente" easyeffects-7.1.7/po/ro.po000066400000000000000000002273721463533416400154530ustar00rootroot00000000000000# Romanian translation for EasyEffects # Copyright (C) 2021 # This file is distributed under the same license as the easyeffects package. # Andrei Dobrete , 2021. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-08-17 04:16+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" "X-Generator: Weblate 4.14-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Egalizator, compresor și Alte Efecte Audio" #: data/com.github.wwmm.easyeffects.desktop.in:6 #, fuzzy msgid "Audio Effects for PipeWire Applications" msgstr "Efecte Audio pentru Aplicații PulseAudio" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limitator;compresor;reverberație;egalizator;autovolum" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Activează" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 #, fuzzy msgid "Mute Application" msgstr "Aplicații" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 #, fuzzy msgid "Application Volume" msgstr "Aplicații" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Ajutor" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Setări" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "EasyEffects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Presetări" #: data/ui/application_window.ui:61 #, fuzzy msgid "Presets Menu" msgstr "Presetări" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Evitare Globală" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "EasyEffects" #: data/ui/apps_box.ui:17 #, fuzzy msgid "Applications List" msgstr "Aplicații" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Pereți Goi" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Aplicații" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 #, fuzzy msgid "Controls" msgstr "Controlor de Gain" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Țintă" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Liniște" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Maxim" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentar" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Pe Termen Scurt" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrat" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Resetare Istoric" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Resetare" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Intensitate" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Gamă" #: data/ui/autogain.ui:383 #, fuzzy msgid "Output Gain" msgstr "Output" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Input" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Input Pipeline" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Output" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Output Pipeline" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Nume" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Presetări" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Șterge fișierul de presetări" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Ascultă" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Blend Harmonics" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "Al treilea" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "Al doilea" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Cantitate" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonics" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Scop" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Podea" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Podea" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Aplicații" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Arată programele din Lista de Blocare în Fila Principală" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Arată programele din Lista de Blocare în Fila Principală" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Arată programele din Lista de Blocare în Fila Principală" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Ascunde Fereastra." #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Compresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Mod" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "În Jos" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "În Sus" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Mod de Compresie" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Prag de Boost" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Cantitate" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Atac" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 #, fuzzy msgid "Time" msgstr "În Timp Real" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Prag" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Atac" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Prag" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Eliberare" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "În Timp Real" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Prag Relativ de Eliberare" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Raport" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Genunchi" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Compoziție" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "F2 Nivel" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Nivelul Țintă" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Lanț Lateral" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Bază Stereo" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Sursă" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Mijloc" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Parte" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Stânga" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Dreapta" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Maxim" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Maxim" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Lanț Lateral" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Întârziere L/R" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Dreapta" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Parte" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Parte" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Sursa Prestabilită" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Vârf" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Mod Filtru Low-pass" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Lanț Lateral" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Lanț Lateral" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Scrie" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Feed-back" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Lanț Lateral" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Nivel Input" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Preamplificare" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reactivitate" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Privire Înainte" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Lanț Lateral" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "High Pass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frecvență" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Oprit" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Mod Filtru High-pass" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frecvență High-pass" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Low-Pass" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Mod Filtru Low-pass" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Pantă" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Curbă" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Canale" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Despică Canalele" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Răspuns Impuls" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Lățime Stereo" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spectru " #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Auto Gain" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Rată" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Probe" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Durație" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Răspuns Impuls" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importă Impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Importă Fișier Impulse" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Importă Fișier Impulse" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Prestablilt" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Cutoff" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Feed" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Evitare" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Mut" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Atenuare" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filtru" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detectare" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Lat" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Despică" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 Despică" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecvență" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 Vârf" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecvență" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Gain" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecvență" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 Nivel" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecvență" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Vârf Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecvență" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Laxitate" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Detectat" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Reducere" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Întârziere" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Inversează Faza" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtru" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Zgomot" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Supresor de Zgomot" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Benzi" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Lanț Lateral" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Lanț Lateral" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Despică Canalele" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Răspuns Plat" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Calculează Frecvențele" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Benzi" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 #, fuzzy msgid "Import Preset" msgstr "Importă Presetări" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importă Presetări" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Pantă" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calitate" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Lățime" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Tavan" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Mod" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Integrat" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Detectare" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Șterge fișierul de presetări" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Low Shelf" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "High Shelf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Clopot" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Evitare" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Crestătură" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Rezonanță" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Low-Pass" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Reducere Gain" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "All Pass" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Egalizator" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filtru" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Gate" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "În Timp Real" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frecvență" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Resetare Istoric" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Supraprelevare" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Lat" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Lat" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Lățime Linie" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Lățime Linie" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Masă Sinusoidală" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Niciunul" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Preamplificare" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Link Stereo" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Lanț Lateral" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Nivelare Automată" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Nivelare Automată" #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Nivelare Automată" #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Nivelare Automată" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Gain" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Dreapta" #: data/ui/limiter.ui:678 #, fuzzy msgid "Sidechain Left" msgstr "Lanț Lateral" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Lanț Lateral" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standard" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Plat" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Dimensiune FFT" #: data/ui/loudness.ui:82 #, fuzzy msgid "Output Volume" msgstr "Output" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Mapping-ul Canalelor" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Lanț Lateral" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Importă Model" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 #, fuzzy msgid "Modern" msgstr "Mod" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Inversează Faza" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 #, fuzzy msgid "Bands List" msgstr "Benzi" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 #, fuzzy msgid "Band 1" msgstr "Benzi" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 #, fuzzy msgid "Band 2" msgstr "Benzi" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 #, fuzzy msgid "Band 3" msgstr "Benzi" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 #, fuzzy msgid "Band 4" msgstr "Benzi" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 #, fuzzy msgid "Band 5" msgstr "Benzi" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 #, fuzzy msgid "Band 6" msgstr "Benzi" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 #, fuzzy msgid "Band 7" msgstr "Benzi" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 #, fuzzy msgid "Band 8" msgstr "Benzi" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 #, fuzzy msgid "Band End" msgstr "Benzi" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Mod de Compresie" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Evitare" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Bază Stereo" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Mod Filtru Low-pass" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Frecvență Low-pass" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Filtru High Pass" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Frecvență High-pass" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "F1 Gain" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Curbă" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Reducere Gain" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "General" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Folosește Prestabilit" #: data/ui/pipe_manager_box.ui:65 #, fuzzy msgid "Custom Input Device" msgstr "Nivel Input" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Folosește Prestabilit" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Reverberație" #: data/ui/pipe_manager_box.ui:116 #, fuzzy msgid "Header Version" msgstr "Versiune" #: data/ui/pipe_manager_box.ui:127 #, fuzzy msgid "Library Version" msgstr "Versiune" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Rata de Sample Prestabilită" #: data/ui/pipe_manager_box.ui:149 #, fuzzy msgid "Minimum Quantum" msgstr "Frecvență Minimă" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Gain-ul Maxim" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Sink-ul Prestabilit" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Efecte Output" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 #, fuzzy msgid "Output Presets" msgstr "Presetări pentru Output:" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Presetări pentru Output:" #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Nivel Input" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Presetări pentru Input:" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Presetări pentru Input:" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Module" #: data/ui/pipe_manager_box.ui:495 #, fuzzy msgid "Modules List" msgstr "Module" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Clienți" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Clienți" #: data/ui/pipe_manager_box.ui:541 #, fuzzy msgid "Test Signal" msgstr "Semnale de Testare" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stare" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Activează" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Canale" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 #, fuzzy msgid "Both Channels" msgstr "Canale" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Masă Sinusoidală" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Zgomot Alb" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frecvență" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Fereastră" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filtru" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Pitch" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Semitonuri" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Șterge fișierul de presetări" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 #, fuzzy msgid "Add Effect" msgstr "Efecte Input" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Șterge fișierul de presetări" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 #, fuzzy msgid "_General" msgstr "General" #: data/ui/preferences_general.ui:10 #, fuzzy msgid "Service" msgstr "Server" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Procesează Toate Output-urile" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Procesează Toate Input-urile" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 #, fuzzy msgid "Inactivity Timeout" msgstr "Expirarea Activității" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Integrat" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frecvență" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Folosește Tema Întunecată" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Ascunde Fereastra." #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 #, fuzzy msgid "_Spectrum" msgstr "Spectru " #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Bări " #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Linii" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Puncte" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Înălțime" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Lățime Linie" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Umple" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 #, fuzzy msgid "Color" msgstr "Culoare Axă" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 #, fuzzy msgid "Frequency Range" msgstr "Frecvență" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Minimum" msgstr "Maxim" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maxim" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Încarcă" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Salvează setările curente în acest fișier cu presetări" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Salvează setările curente în acest fișier cu presetări" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Șterge fișierul de presetări" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Uscat" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Presetări pentru Output:" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importă Model" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Presetări pentru Input:" #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Creează Presetare" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Presetări pentru Input:" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Presetări pentru Input:" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Presetări pentru Output:" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Presetări pentru Output:" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortizare Frecvențe Înalte" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Dimensiunea Camerei" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Mic" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Mediu" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Mare" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Mare/neted" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Difuzie" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Pre Întârziere" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Timp Decay" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Bass Tăiat" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Treble Tăiat" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ambianță" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Pereți Goi" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Cameră" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Hol Gol Mare" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Hol Plin Mare" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importă Model" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detector de Voce" #: data/ui/rnnoise.ui:151 #, fuzzy msgid "Models" msgstr "Mod" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 #, fuzzy msgid "Standard Model" msgstr "Model Standard RNNoise" #: data/ui/rnnoise.ui:204 #, fuzzy msgid "RNNoise Models List" msgstr "Model Standard RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Model Activ" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Model Standard RNNoise" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 #, fuzzy msgid "Close the Window" msgstr "Ascunde Fereastra." #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "EasyEffects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Zgomot Roșu" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Control Automatic de Smoothing" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Reverberație" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Zgomot" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "F2 Nivel" #: data/ui/stereo_tools.ui:78 #, fuzzy msgid "Input Balance" msgstr "Balans" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Softclip" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Matrice Stereo" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Prestabilit Stereo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo către Mijloc)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Mijloc către Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono Canal Stânga)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono Canal Dreapta)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Canalele Stereo Inversate)" #: data/ui/stereo_tools.ui:149 #, fuzzy msgid "Stereo Mode" msgstr "Bază Stereo" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Balans Lateral" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Nivel Mijloc" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Panoramă Mijloc" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Balans" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Întârziere L/R" #: data/ui/stereo_tools.ui:452 #, fuzzy msgid "Delay Left Right" msgstr "Întârziere L/R" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Bază Stereo" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fază Stereo" #: src/app_info.cpp:100 #, fuzzy msgid "Running" msgstr "rulează" #: src/app_info.cpp:102 #, fuzzy msgid "Suspended" msgstr "suspendat" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "se creează" #: src/app_info.cpp:108 #, fuzzy msgid "Error" msgstr "eroare" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Canale" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Închideți EasyEffects. Folositor când este folosit în modul de serviciu." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Resetează EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Ascunde Fereastra." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Ocolire Globală. 1 pentru a activa, 2 pentru a dezactiva și 3 pentru a afla " "statusul" #: src/application.cpp:615 msgid "Show available presets." msgstr "Arată presetările valabile." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Încarcă o presetare. Exemplu: easyeffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Output" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Input" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importă Fișier Impulse" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importă Fișier Impulse" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Deschide" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Răspuns Impuls" #: src/convolver_menu_impulses.cpp:293 #, fuzzy msgid "Load Impulse" msgstr "Importă Impuls" #: src/convolver_menu_impulses.cpp:296 #, fuzzy msgid "Remove Impulse" msgstr "Importă Impuls" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importă Fișier Impulse" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Nu s-a putut Încărca Fișierul Impulse" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 #, fuzzy msgid "Recorders" msgstr "Bordură" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importă Fișierul de Presetare APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Presetări APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importă Fișierul de Presetare APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Presetări APO" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importă Fișierul de Presetare APO" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Presetări pentru Input:" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 #, fuzzy msgid "Remove Autoloading Preset" msgstr "Șterge fișierul de presetări" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Efecte Output" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Efecte Output" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importă Presetări" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Arată programele din Lista de Blocare în Fila Principală" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Presetări pentru Input:" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Presetări pentru Input:" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importă Presetări" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importă Fișier de Model" #: src/rnnoise_ui.cpp:172 #, fuzzy msgid "RNNoise Models" msgstr "Model Standard RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Amplificator Bass" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Intensitate" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Convolver" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Crossfeed" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Cristalizator" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Anulator de Ecou" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Egalizator" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Excitator" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Efecte Output" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Limitator" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Maximizator" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Compresor Multiband" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Multiband Gate" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Reverberație" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Reducere Zgomot" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Unelte Stereo" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Tavan" #~ msgid "\"Presets\"" #~ msgstr "”Presetări”" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Importă Presetări" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Mod Filtru Low-pass" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Filtru High Pass" #~ msgid "Uniform" #~ msgstr "Uniform" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Presetări pentru Output:" #~ msgid "infinity" #~ msgstr "infinit" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Raport" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Low-Pass" #, fuzzy #~ msgid "High-pass" #~ msgstr "High Pass" #~ msgid "Gating" #~ msgstr "Gating" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Lowpass" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Lowpass" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Lowpass" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Highpass" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Highpass" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Highpass" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Bandpass" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Bandpass" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Bandpass" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Bandreject" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Bandreject" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct Bandreject" #~ msgid "Inertia" #~ msgstr "Inerție" #, fuzzy #~ msgid "Band Type" #~ msgstr "Scrie" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Mod" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Pantă" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Intensitate" #, fuzzy #~ msgid "High Speed" #~ msgstr "High Shelf" #, fuzzy #~ msgid "High Quality" #~ msgstr "Calitate" #, fuzzy #~ msgid "Formant" #~ msgstr "Format" #, fuzzy #~ msgid "Preserved" #~ msgstr "Presetări" #, fuzzy #~ msgid "Crisp" #~ msgstr "Claritate" #, fuzzy #~ msgid "Detector" #~ msgstr "Detectare" #, fuzzy #~ msgid "Compound" #~ msgstr "Compresie" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Cents" #~ msgid "Octaves" #~ msgstr "Octave" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Resetează EasyEffects." #~ msgid "High Pass" #~ msgstr "High Pass" #~ msgid "Low Pass" #~ msgstr "Low Pass" #~ msgid "Cancel" #~ msgstr "Anulare" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Preamplificare" #~ msgid "Frame Size" #~ msgstr "Dimensiune Cadru" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Low-Pass" #, fuzzy #~ msgid " Uniform" #~ msgstr "Uniform" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Pre Întârziere" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Despică Canalele" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "F2 Nivel" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "F2 Nivel" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Nivelul Țintă" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Nivelul Țintă" #, fuzzy #~ msgid "Suppression" #~ msgstr "Nivel de Suprimare" #, fuzzy #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Efecte audio pentru aplicații PulseAudio" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Reducere Zgomot" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "Presetări APO" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Presetări pentru Output:" #~ msgid "Input Presets: " #~ msgstr "Presetări pentru Input:" #, fuzzy #~ msgid "Split Mode" #~ msgstr "Despică" #~ msgid "Split 1/2" #~ msgstr "Despicare 1/2" #~ msgid "Split 2/3" #~ msgstr "Despicare 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frecvență" #~ msgid "Split 3/4" #~ msgstr "Despicare 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frecvență" #~ msgid "Sub Band" #~ msgstr "Sub Band" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Compoziție" #~ msgid "Max Reduction" #~ msgstr "Reducere" #, fuzzy #~ msgid "Band 1 Max Reduction" #~ msgstr "Reducere" #~ msgid "Low Band" #~ msgstr "Low Band" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Compoziție" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Reducere" #~ msgid "Mid Band" #~ msgstr "Mid Band" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Compoziție" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Reducere" #~ msgid "High Band" #~ msgstr "High Band" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Evitare" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Detectare" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Atac" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Eliberare" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Prag" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Compoziție" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Reducere" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Cantitate" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Cantitate" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, fuzzy #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects este un set avansat de unelte pentru manipularea audio. " #~ "Numind doar câteva din uneltele din acesta, sunt incluse un egalizator, " #~ "limitator, compresor și o unealtă pentru reverberație." #, fuzzy #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Pentru că EasyEffects utilizează serverul de sunet prestabilit " #~ "PulseAudio, acesta va funcționa cu majoritatea, dacă nu cumva chiar toate " #~ "programele pe care le folosiți. Toate programele suportate sunt " #~ "prezentate în fereastra principală, unde fiecare poate fi activată " #~ "individual." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Pe lângă faptul că EasyEffects poate manipula output-ul de sunet, se " #~ "poate folosi și pentru a aplica efecte pe un dispozitiv de input, ca un " #~ "microfon. Acest lucru este util, spre exemplu, în înregistrarea audio, " #~ "dar funcționează bine și în timpul conversațiilor voce." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Când EasyEffects este pornit, acesta va reține configurația din sesiunea " #~ "anterioară. Este de asemenea posibil să salvați setările curente ca și " #~ "profile." #, fuzzy #~ msgid "and #1427" #~ msgstr "Benzi" #~ msgid "Average" #~ msgstr "În Medie" #~ msgid "Failed" #~ msgstr "A Eșuat" #~ msgid "Use Default" #~ msgstr "Folosește Prestabilit" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Șterge fișierul de presetări" #~ msgid "Import Presets" #~ msgstr "Importă Presetări" #~ msgid "Start Service at Login" #~ msgstr "Începe Serviciul la Login" #, fuzzy #~ msgid "Activate" #~ msgstr "Model Activ" #~ msgid "Add to Blocklist" #~ msgstr "Adaugă la Lista de Blocare" #~ msgid "Blocklist" #~ msgstr "Lista de Blocare" #, fuzzy #~ msgid "Microphone" #~ msgstr "Calibrare Microfon" #, fuzzy #~ msgid "enabled" #~ msgstr "Activează" #, fuzzy #~ msgid "disabled" #~ msgstr "Activează" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latență" #~ msgid "idle" #~ msgstr "inactiv" #~ msgid "Faster" #~ msgstr "Mai Repede " #~ msgid "Preserve Formant" #~ msgstr "Păstrează Formant" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Setează volumul și pornește/oprește efectele" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Include un egalizator cu presetări încorporate." #~ msgid "Input Limiter" #~ msgstr "Limitator de Input" #~ msgid "Calibration" #~ msgstr "Calibrare" #~ msgid "Based on" #~ msgstr "Bazat pe" #~ msgid "Detect Silence" #~ msgstr "Detectează Tăcerea" #~ msgid "Weights" #~ msgstr "Greutăți" #~ msgid "Provided by" #~ msgstr "Furnizat de" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Reconectați microfonul pentru a aplica noile schimbări la Lista de Blocare" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "" #~ "Reporniți playerul pentru a aplica schimbările noi la Lista de Blocare" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Pătrat" #~ msgid "Saw" #~ msgstr "Ferăstrău" #~ msgid "Triangle" #~ msgstr "Triunghi" #~ msgid "Pink Noise" #~ msgstr "Zgomot Roz" #~ msgid "Ticks" #~ msgstr "Ticăituri" #~ msgid "Gaussian Noise" #~ msgstr "Zgomot Gaussian" #~ msgid "Blue Noise" #~ msgstr "Zgomot Albastru" #~ msgid "Violet Noise" #~ msgstr "Zgomot Violet" #~ msgid "Volume" #~ msgstr "Volum" #~ msgid "Measure Noise" #~ msgstr "Măsoară Zgomotul" #~ msgid "Subtract Noise" #~ msgstr "Scade Zgomotul" #~ msgid "Advanced" #~ msgstr "Avansat" #~ msgid "Import Impulse Response File" #~ msgstr "Importă Fișier de Răspuns Impuls" #~ msgid "Select the impulse Response File" #~ msgstr "Selectează Fișierul de Răspuns Impuls" #~ msgid "Aggressive Mode" #~ msgstr "Mod Agresiv" #~ msgid "Before" #~ msgstr "Înainte" #~ msgid "After" #~ msgstr "După" #~ msgid "Loudness Range" #~ msgstr "Gama de Sunet" #~ msgid "Apply APO Preset" #~ msgstr "Aplică Presetare APO" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "Apply" #~ msgstr "Aplică" #~ msgid "Muted" #~ msgstr "Mut" #~ msgid "Distant Headphones" #~ msgstr "Căști Departe" #~ msgid "Niceness" #~ msgstr "Niceness" #~ msgid "Priority Type" #~ msgstr "Tipul Priorității" #~ msgid "Priority" #~ msgstr "Prioritate" #~ msgid "About" #~ msgstr "Despre" #~ msgid "Maximum Gain Reduction" #~ msgstr "Reducere Maximă a Gain-ului" #~ msgid "Limit" #~ msgstr "Limită" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "Loudness Compensator" #~ msgstr "Compensator de Intensitate" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Aplică automat această presetare oricând dispozitivul folosit acum este " #~ "conectat la sistem" #~ msgid "Protocol" #~ msgstr "Protocol" #~ msgid "Default Sample Format" #~ msgstr "Formatul de Sample Prestabilit" #~ msgid "File" #~ msgstr "Fișier" #~ msgid "Configuration" #~ msgstr "Configurare" #~ msgid "Resamplers" #~ msgstr "Resampleri" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "Block Size" #~ msgstr "Dimensiune Bloc" #~ msgid "Show Spectrum" #~ msgstr "Arată Spectrul" #~ msgid "Use Custom Color" #~ msgstr "Folosește Culoare Personalizată" #~ msgid "Use Gradient" #~ msgstr "Folosește Gradient" #~ msgid "Sampling" #~ msgstr "Sampling" #~ msgid "Maximum Frequency" #~ msgstr "Frecvență Maximă" #~ msgid "Spectrum Type" #~ msgstr "Tip Spectru" #~ msgid "Spectrum Color" #~ msgstr "Culoare Spectru" #~ msgid "Gradient Color" #~ msgstr "Culoare Gradient" #~ msgid "S/C Level" #~ msgstr "Nivel S/C" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Extended Filter" #~ msgstr "Filtru Extins" #~ msgid "Low" #~ msgstr "Jos" #~ msgid "Moderate" #~ msgstr "Moderat" #~ msgid "High" #~ msgstr "Înalt" #~ msgid "Delay Agnostic" #~ msgstr "Întârziere Agnostică" #~ msgid "Very High" #~ msgstr "Foarte Înalt" #~ msgid "Adaptive Digital" #~ msgstr "Digital Adaptiv" #~ msgid "Fixed Digital" #~ msgstr "Digital Fix" #~ msgid "Detection Likelihood" #~ msgstr "Probabilitatea Detecției" #~ msgid "Very Low" #~ msgstr "Foarte Jos" easyeffects-7.1.7/po/ru.po000066400000000000000000004145551463533416400154620ustar00rootroot00000000000000# EasyEffects Russian translation # This file is distributed under the same license as the EasyEffects package. # ⓒ Mikhail Novosyolov [mikhailnov] , 2017-2019 # ⓒ Georgiy Starodubtsov [Mewsimka] , 2018 # ⓒ Denis Goncharov, 2018 # ⓒ Vladimir Penchikov , 2018 msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-13 17:18+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Weblate 5.5.5\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Эквалайзер, компрессор и прочие звуковые эффекты" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Звуковые эффекты для приложений PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "лимитер;компрессор;ревербератор;эквалайзер;автогромкость;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Включить/отключить это приложение" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Включить" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Исключённые приложения: Добавить/убрать это приложение" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Исключить" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Заглушить приложение" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Изменить громкость этого приложения" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Громкость приложения" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Справка" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "Сбросить настрой_ки" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Настройки" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Горячие клавиши" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_О программе Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Выйти" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Предустановки" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Меню предустановок" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Включить/отключить общий обход" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Общий обход" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Главное меню" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Окно Easy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Список приложений" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Список пуст" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Нет доступных звуковых приложений" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Элементы управления" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Целевая громкость" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Тишина" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Исторический максимум" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "База" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Моментальный замер" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Краткосрочный замер" # Время интеграции — это величина, характеризующая быстродействие измерителя. # https://tech.ebu.ch/docs/factsheets/Factsheet-R128-2011-RUS.pdf # В документе выше переводчик перевел 'Integrated' как 'Интегрированные', # хотя сам же написал, что это "измерения от начала до конца" # Яндекс.Переводчик перевел лучше — "Комплексные измерения" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Комплексный замер" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Среднее геометрическое (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Среднее геометрическое (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Среднее геометрическое (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Среднее геометрическое (SI)" # #, fuzzy #: data/ui/autogain.ui:124 msgid "History" msgstr "История" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Сброс" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Громкость" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Относительный замер" # ??? Не уверен в переводе #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Диапазон" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Усиление выхода" # ############################################### # https://github.com/wwmm/easyeffects/pull/289 # Left here for future thinking # msgid "Influence of measurements with momentary integration time" # msgstr "Влияние измерений с моментальным временем интеграции" # msgid "Influence of measurements with short integration time" # msgstr "Влияние измерений с малым временем интеграции" # msgid "Influence of integrated measurements" # msgstr "Влияние комплексных измерений" # ############################################### #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Вход" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Плагин усиления входа" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Выход" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Плагин усиления выхода" # #, fuzzy #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Устройство" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Название" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Профиль" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Предустановка" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Убрать эту предустановку из автозагрузки" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Прослушать" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Смешение гармоник" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3-ий" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2-ой" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Величина" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Гармоники" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Диапазон частот" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Нижний порог" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Величина нижнего порога" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Указатель" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Название приложения" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Добавить в исключённые приложения" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Исключённые приложения" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Показать исключённые приложения" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Показать родное окно" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Компрессор" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Режим" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Нисходящий" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Восходящий" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Усиление" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Режим сжатия" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Порог усиления" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Величина усиления" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Атака" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Время" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Порог" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Время атаки" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Порог атаки" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Восстановление" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Время восстановления" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Порог восстановления" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Соотношение" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Колено" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Усиление вверх" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Ур. оригинала" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Ур. обработки" # #, fuzzy #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Боковая цепь" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Режим разделения стерео" # #, fuzzy #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Источник" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Средний" # #, fuzzy #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Боковой" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Левый" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Правый" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Мин." #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Макс." # #, fuzzy #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Источник боковой цепи" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Левый/правый" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Правый/левый" # #, fuzzy #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Середина/бок" # #, fuzzy #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Бок/середина" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Источник разделения стерео" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Пик" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "Среднеквадратично" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Фильтр нижних частот" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Простая скользящая средняя" # #, fuzzy #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Режим боковой цепи" # #, fuzzy #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Слушать боковую цепь" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Тип" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "Прямая связь" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Обратная связь" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Внешний" # #, fuzzy #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Тип боковой цепи" # #, fuzzy #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Устройство ввода" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Предусиление" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Скорость реакции" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Упреждение" # #, fuzzy #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Фильтры боковой цепи" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Фильтр ВЧ" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Частота" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Откл" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 дБ/окт" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 дБ/окт" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 дБ/окт" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Режим высокочастотного фильтра" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Частота высокочастотного фильтра" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Фильтр НЧ" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Режим низкочастотного фильтра" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Усиление" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Огибающая" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Кривая" #: data/ui/convolver.ui:40 msgid "L" msgstr "Л" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Левый канал" #: data/ui/convolver.ui:53 msgid "R" msgstr "П" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Правый канал" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Импульсы" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Объединить" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Ширина стерео" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Спектр" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Логарифмическая шкала" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Авторегулятор" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Частота" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Образцы" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Длительность" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Объединить импульсные характеристики" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Первое ядро" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Второе ядро" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Имя файла на выходе" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Имя суммарного ядра" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Импортировать импульс" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Поиск" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Поиск файла импульса" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Список файлов импульса" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "По умолчанию" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Усечение" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Подача" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Обход" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Приглушить" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Предел затухания" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Минимальный порог обработки" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Максимальный порог обработки ERB" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Максимальный порог обработки DF" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Минимальный буфер обработки" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Бета постфильтра" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Выявление" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Широкий" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Частота раздела" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "Ч1 раздела" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Частота 1 раздела" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "Ч1 пик" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Частота 2 пик" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "Ч1 усиление" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Частота 1 усиление" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "Ч2 уровень" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Частота 2 уровень" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "Ч2 пик добротности" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Частота 2 пик добротности" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Допуск" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Выявлено" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Ослабление" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Задержка" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Обратить фазу" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Длина фильтра" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Подавление остаточного эха" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Подавление эха ближнего конца" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Исключённые приложения" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Включить/отключить монитор ввода" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Число полос" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Баланс" # #, fuzzy #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Высота тона левого" # #, fuzzy #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Высота тона правого" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Разделить каналы" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Плоская АЧХ" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Подсчитать частоты" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Сортировать полосы" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Импорт предустановки" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Экспорт предустановки" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Наклон" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Соло" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Качество" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Ширина" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Потолок" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Величина потолка" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Расширитель" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Режим расширителя" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Внутренний" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Доступ" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Описание" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Удалить этот файл модели" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Низкочастотный полочный фильтр" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "Высокочастотный полочный фильтр" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Колокол" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Полосовой фильтр" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Вырез" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Резонансы" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Лестничный фильтр" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Лестнично-заграждающий фильтр" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "Фазовый фильтр" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Режим эквалайзера" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Фильтр" # http://wikisound.org/Гейт: шумовой гейт или просто гейт — это электронное устройство или плагин динамической обработки, который используется для контроля уровня звукового сигнала. Гейт пропускает или глушит сигнал в зависимости от установленного порогового значения. Он очень часто используется для подавления шума в паузах. #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Пропускной уровень (гейт)" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Зона" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Отставание" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Сведение" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Зона атаки" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Зона восстановления" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Истинный пик" # #, fuzzy #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Сброс истории" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Передискретизация" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Подмешивать шум" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Эрмит узкий" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Эрмит широкий" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Эрмит хвост" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Эрмит нос" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Эксп. узкий" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Эксп. широкий" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Эксп. хвост" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Эксп. нос" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Лин. узкий" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Лин. широкий" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Лин. хвост" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Лин. нос" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Нет" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Половинный x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Половинный x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Половинный x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Половинный x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Половинный x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Половинный x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Половинный x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Половинный x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Половинный x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Половинный x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Полный x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Полный x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Полный x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Полный x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Полный x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Полный x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Полный x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Полный x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Полный x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Полный x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "Предусил. бок. цепи" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Предусиление боковой цепи" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Усиление" # В данном режиме «Компрессор» обрабатывает сигналы сразу двух каналов (стерео), уравнивая их уровни. #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Стереосвязка" # #, fuzzy #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Внешняя боковая цепь" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Источник внешней боковой цепи" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Автовыравнивание" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Атака автовыравнивания" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Восстановление автовыравнивания" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Колено автовыравнивания" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Усиление левого" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Усиление правого" # #, fuzzy #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Боковая цепь левая" # #, fuzzy #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Боковая цепь правая" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Стандарт" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Плоский" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Размер БПФ" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Громкость на выходе" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Клиппинг" # #, fuzzy #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Усиление боковой цепи" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "БП розового" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "СП розового" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "БП коричневого" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "СП коричневого" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Показать родной интерфейс пользователя" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Режим работы" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Классический" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Современный" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Линейная фаза" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Полосы" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Полоса 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Полоса 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Полоса 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Полоса 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Полоса 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Полоса 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Полоса 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Полоса 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Начало полосы" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Конец полосы" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Режим компрессии полосы" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Обход полосы" # #, fuzzy #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Параметры боковой цепи полосы" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Разделение стерео" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Фильтр среза НЧ" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Частота фильтра среза НЧ" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "Фильтр среза ВЧ" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Частота фильтра среза ВЧ" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Предусиление" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Усиление полосы" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Огибающая полосы" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Кривая полосы" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Уменьшение полосы" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Общие" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Управление устройством" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "Рекомендуется НЕ устанавливать источники Easy Effects в качестве " "стандартного устройства во внешних приложениях (таких как Настройки Gnome и " "Параметры системы Plasma)." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Использовать стандартный вход" # #, fuzzy #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Выбрать устройство ввода" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Использовать стандартный выход" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Выбрать устройство вывода" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Сведения о сервере" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Версия оболочки" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Версия библиотеки" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Частота дискретизации" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Минимальное квантование" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Максимальное квантование" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Стандартное квантование" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Автозагрузка предустановок" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" "Автозагрузка работает только для локальных предустановок. Предустановки от " "сообщества необходимо сначала импортировать локально, а затем уже выбрать и " "привязать к конкретному устройству." #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Устройства вывода" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Предустановки выхода" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Создать ассоциацию" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Добавить в автозагрузку предустановку выхода" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Список автозагружаемых предустановок выхода" # #, fuzzy #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Устройства ввода" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Предустановки входа" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Добавить в автозагрузку предустановку входа" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Список автозагружаемых предустановок входа" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Модули" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Список модулей" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Клиенты" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "Список клиентов" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Проверочный сигнал" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Состояние" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Включено" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Свойства" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Каналы" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Оба" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Оба канала" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Форма волны" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Синусоида" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Белый шум" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Быстрая перемотка" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Сглаживание" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Длина последовательности" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Окно перемотки" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Длина перекрытия" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Высота тона" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Полутона" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Разница в темпе" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Разница в частоте" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Удалить этот эффект" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Включить/отключить эффект" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Изменить позицию эффекта" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "Показать/скрыть список эффектов" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Добавить эффект" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "Перейти к предыдущему эффекту" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "Перейти к следующему эффекту" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Список используемых плагинов" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Без эффектов" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Аудиопоток не изменён" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Найти плагин" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Список плагинов" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Общие" # #, fuzzy #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Служба" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Запускать службу при старте системы" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Завершать работу по закрытии окна" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Аудио" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Обрабатывать все выходные потоки" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Обрабатывать все входные потоки" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Игнорировать потоки с монитора устройств" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Использовать кубическую громкость" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Тайм-аут бездействия" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "Период обновления" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "Связанное с уровнемерами и спектром" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "Частота обновления" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "Связанное с плагинами LV2" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Стиль" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Использовать тёмную тему" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Скрывать меню по щелчку вне фокуса" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Экспериментальные возможности" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Родное окно плагина" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "Позволяет показывать/скрывать родное окно плагина" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Спектр" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Форма" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Полосы" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Линии" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Точки" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Пункты" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Высота" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Ширина линии" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Заливка" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Отобразить границы полос" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Скруглённые углы" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Динамический масштаб" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Цвет" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Линии и полосы" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Разметка осей" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Диапазон частот" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Минимум" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Максимум" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Загрузить" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Отменить текущие настройки и загрузить эту предустановку" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Сохранить текущие настройки в этот файл предустановки" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Удалить этот файл предустановки" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "Попробовать" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "Попробовать эту предустановку от сообщества" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "Импорт" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" "Импортировать эту предустановку от сообщества в список локальных " "предустановок" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "Локально" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Имя новой предустановки" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Создать новую предустановку" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "Импорт предустановки из локального хранилища" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "Поиск локальной предустановки" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "Список локальных предустановок" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "Сообщество" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "Поиск предустановки от сообщества" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "Список предустановок от сообщества" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "Предустановки от сообщества не установлены" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" "Пакеты Предустановок от сообщества можно установить из репозитория вашего " "любимого дистрибутива." #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "Обновить" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "Обновить для показа новых установленных предустановок от сообщества" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Высокочастотное демпфирование" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Размер комнаты" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Малый" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Средний" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Большой" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Туннель" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Большой/гладкий" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Опытный" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Диффузия" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Предзадержка" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Время распада" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Срез басов" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Срез тембра" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Атмосфера" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Голые стены" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/reverb.ui:588 msgid "Room" msgstr "Комната" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Большой пустой зал" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Танцзал" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Большой занятый зал" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Импортировать модель" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Распознаватель голоса" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Модели" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Стандартная модель" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "Список моделей RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Модель Не Загружена" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Активная модель" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Стандартная модель RNNoise" # #, fuzzy #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Описание" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Показать справку" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Полноэкраный/неполноэкраный режим" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Закрыть окно" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Выход из Easy Effects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Шумоподавление" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Регулятор автоусиления" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Дереверберация" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Вероятность голосовой активности" #: data/ui/speex.ui:95 msgid "Start" msgstr "Начало" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Продолжение" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Шумоглушитель" #: data/ui/speex.ui:145 msgid "Level" msgstr "Уровень" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Баланс входа" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Мягкое усечение" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Уровень мягкого усечения" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Матрица стерео" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "ЛП > ЛП (стерео по умолчанию)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "Стерео > Моно-раздельно" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "Моно-раздельно > Стерео" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "Стерео > Моно левый канал" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "Стерео > Моно правый канал" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "Стерео > Моно левый+правый каналы" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "ЛП > ПЛ (обратить каналы стерео)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Режим стерео" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Боковой уровень" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Боковой баланс" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Средний уровень" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Срединная панорама" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Баланс выхода" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Задержка Л/П" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Задержка левый правый" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "База стерео" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Фаза стерео" #: src/app_info.cpp:100 msgid "Running" msgstr "Работает" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Приостановлено" #: src/app_info.cpp:104 msgid "Idle" msgstr "Простаивает" #: src/app_info.cpp:106 msgid "Creating" msgstr "Создание" #: src/app_info.cpp:108 msgid "Error" msgstr "Ошибка" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Неизвестно" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Неопределённое имя — идентификатор процесса " #: src/app_info.cpp:292 msgid "channels" msgstr "канала(-ов)" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Выход из Easy Effects. Полезно при работе в режиме службы." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Вывод версии easyeffects" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Сбросить Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Скрыть окно." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "Глобальный обход. 1 — включить, 2 — отключить, 3 — получить статус" #: src/application.cpp:615 msgid "Show available presets." msgstr "Показать доступные предустановки." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Загрузить предустановку. Пример: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "Выхо_д" # ############################################### # https://github.com/wwmm/easyeffects/pull/289 # Left here for future thinking # msgid "Influence of measurements with momentary integration time" # msgstr "Влияние измерений с моментальным временем интеграции" # msgid "Influence of measurements with short integration time" # msgstr "Влияние измерений с малым временем интеграции" # msgid "Influence of integrated measurements" # msgstr "Влияние комплексных измерений" # ############################################### #: src/application_ui.cpp:345 msgid "_Input" msgstr "Вх_од" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Нестандартный файл" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Возможно, файл импульса повреждён или не поддерживается" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Поддерживаются только файлы импульса стерео" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Файл импульса не импортирован" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Импортировать файл импульса" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Открыть" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Импульсная реакция" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Загрузить импульс" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Удалить Импульс" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Нет загруженного файла импульса" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Не удалось загрузить файл импульса" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Рекордеры" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Проигрыватели" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Эффекты" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Импортировать файл предустановки APO" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "Предустановки APO" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "Предустановка APO не загружена. Возможно, формат файла не поддерживается. " "Пожалуйста, проверьте его содержимое." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "Разделение каналов при экспорте предустановок APO пока не поддерживается." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "Экспортировать файл предустановки APO" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Сохранить" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "Предустановки EqualizerAPO" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Импортировать файл предустановки GraphicEQ" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "Предустановки GraphicEQ" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "Предустановка GraphicEQ не загружена. Возможно, формат файла не " "поддерживается. Пожалуйста, проверьте его содержимое." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Удалить автозагрузку предустановки" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Уровнемер выхода" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Удалить" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Устройство вывода" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Добавить" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "Предустановка от сообщества" #: src/presets_manager.cpp:439 msgid "Package" msgstr "Пакет" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "Предустановка загружена неправильно" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "Неверный формат в списке исключённых приложений" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "Общая ошибка при загрузке списка исключённых приложений" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "Неверный формат в списке эффектов" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "Общая ошибка при загрузке списка эффектов" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "Один или несколько параметров неверного формата" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "Общая ошибка при нагрузке эффекта" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Сохранить?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Удалить?" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "Предустановка не загружена" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "Последняя загруженная локальная предустановка" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "Последняя загруженная предустановка от сообщества" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Выбранная модель не загружена. Её формат может быть не поддерживаемым. " "Возвращение на стандартную модель." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Импорт файла модели" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "Модели RNNoise" # Энхансер (он же Эксайтер) — это прибор, который генерирует высшие гармоники низких частот, благодаря чему повышается локализация низких частот и их «читаемость». # «Бас-Энхансер» или «Глубокий бас» #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Насыщение басов" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Громкость баса" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Конвольвер" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Перекрёстная подача" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Кристаллизатор" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Глубокий шумоподавитель" # http://wikisound.org/Деэссер; предназначен для уменьшения или устранения избыточно шипящих звуков в записи человеческого голоса #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Антишипение (деэссер)" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Эхоподавитель" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Эквалайзер" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Гармонический возбудитель" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Уровнемер" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Ограничитель (лимитер)" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Максимизатор" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Многополосный компрессор" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Многополосный пропускной уровень" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Реверберация" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Подавление шума" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Речевой процессор" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Наладчики стерео" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "Эффект «{}» недоступен" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "Программное обеспечение, необходимое для эффекта {}, «{}», не установлено. " "Рассмотрите возможность использования пакета Flatpak для Easy Effects или " "установите программное обеспечение самостоятельно." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "Эффект {} был отключён при компиляции Easy Effects. Возможно, это произошло " "потому, что программное обеспечение, необходимое для этого эффекта, «{}», " "было недоступно. Рассмотрите возможность использования пакета Easy Effects " "Flatpak или сборки собственного пакета Easy Effects." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "∞" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "Используется {}" #~ msgid "Ceiling" #~ msgstr "Верхний порог" #~ msgid "\"Presets\"" #~ msgstr "«Предустановки»" #~ msgid "Import a preset" #~ msgstr "Импорт предустановки" #~ msgid "Low-Cut Filter" #~ msgstr "Фильтр среза НЧ" #~ msgid "High-Cut Filter" #~ msgstr "Фильтр среза ВЧ" #~ msgid "Uniform" #~ msgstr "Равномерно" #~ msgid "New Output Preset Name" #~ msgstr "Имя новой предустановки выхода" #~ msgid "Search Output Preset" #~ msgstr "Поиск предустановки выхода" #~ msgid "Output Presets List" #~ msgstr "Список предустановок выхода" #~ msgid "New Input Preset Name" #~ msgstr "Имя новой предустановки входа" #~ msgid "infinity" #~ msgstr "бесконечно" #~ msgid "IIR" #~ msgstr "БИХ (IIR)" #~ msgid "FIR" #~ msgstr "КИХ (FIR)" #~ msgid "FFT" #~ msgstr "БПФ (FFT)" #~ msgid "SPM" #~ msgstr "ФСМ (SPM)" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Соотношение" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Порог" #~ msgid "Low-pass" #~ msgstr "Низкочастотный фильтр" #, fuzzy #~ msgid "High-pass" #~ msgstr "Фильтр ВЧ" #~ msgid "Gating" #~ msgstr "Гейтирование" #~ msgid "12dB/oct Lowpass" #~ msgstr "12 дБ/окт фильтр НЧ" #~ msgid "24dB/oct Lowpass" #~ msgstr "24 дБ/окт фильтр НЧ" #~ msgid "36dB/oct Lowpass" #~ msgstr "36 дБ/окт фильтр НЧ" #~ msgid "12dB/oct Highpass" #~ msgstr "12 дБ/окт фильтр ВЧ" #~ msgid "24dB/oct Highpass" #~ msgstr "24 дБ/окт фильтр ВЧ" #~ msgid "36dB/oct Highpass" #~ msgstr "36 дБ/окт фильтр ВЧ" #~ msgid "6dB/oct Bandpass" #~ msgstr "6 дБ/окт полосовой" #~ msgid "12dB/oct Bandpass" #~ msgstr "12 дБ/окт полосовой" #~ msgid "18dB/oct Bandpass" #~ msgstr "18 дБ/окт полосовой" #~ msgid "6dB/oct Bandreject" #~ msgstr "6 дБ/окт полосно-заграждающий" #~ msgid "12dB/oct Bandreject" #~ msgstr "12 дБ/окт полосно-заграждающий" #~ msgid "18dB/oct Bandreject" #~ msgstr "18 дБ/окт полосно-заграждающий" #~ msgid "Inertia" #~ msgstr "Инертность" #~ msgid "Band Type" #~ msgstr "Тип полосы" #~ msgid "Band Mode" #~ msgstr "Режим полосы" #~ msgid "Band Slope" #~ msgstr "Наклон полосы" #~ msgid "Loudness List" #~ msgstr "Список громкости" #~ msgid "High Speed" #~ msgstr "Высокая скорость" #~ msgid "High Quality" #~ msgstr "Высокое качество" #~ msgid "High Consistency" #~ msgstr "Высокая согласованность" #~ msgid "Formant" #~ msgstr "Форманта" #~ msgid "Shifted" #~ msgstr "Смещённый" #~ msgid "Preserved" #~ msgstr "Сохраняемый" #~ msgid "Transients" #~ msgstr "Переходные звуки" #~ msgid "Crisp" #~ msgstr "Чёткий" #~ msgid "Mixed" #~ msgstr "Смешанный" #~ msgid "Smooth" #~ msgstr "Гладкий" #~ msgid "Detector" #~ msgstr "Детектор" #~ msgid "Compound" #~ msgstr "Составной" #~ msgid "Percussive" #~ msgstr "Ударный" #~ msgid "Soft" #~ msgstr "Мягкий" #~ msgid "Phase" #~ msgstr "Фаза" #~ msgid "Laminar" #~ msgstr "Ламинарный" #~ msgid "Independent" #~ msgstr "Независимый" #~ msgid "Cents" #~ msgstr "Центы" #~ msgid "Octaves" #~ msgstr "Октавы" #~ msgid "_Manual" #~ msgstr "_Руководство" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Открыть руководство Easy Effects" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} не установлено в системе" #~ msgid "High Pass" #~ msgstr "Высокочастотный фильтр" #~ msgid "Low Pass" #~ msgstr "Фильтр низких частот" #~ msgid "Cancel" #~ msgstr "Отмена" #~ msgid " PreAmplification" #~ msgstr " Предусиление" #~ msgid "Close (Press ESC)" #~ msgstr "Закрыть (нажмите ESC)" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Frame Size" #~ msgstr "Размер кадра" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "" #~ "Включить/отключить\n" #~ " общий обход" #~ msgid " Low-Pass" #~ msgstr " Фильтр НЧ" #~ msgid " Uniform" #~ msgstr " Равномерно" #~ msgid "Left Delay" #~ msgstr "Задержка левого" #~ msgid "Right Delay" #~ msgstr "Задержка правого" #~ msgid "Left Dry Level" #~ msgstr "Уровень ориг. левого" #~ msgid "Right Dry Level" #~ msgstr "Уровень ориг. правого" #~ msgid "Left Wet Level" #~ msgstr "Уровень обраб. левого" #~ msgid "Right Wet Level" #~ msgstr "Уровень обраб. правого" #~ msgid "Fast Fourier Transform Size" #~ msgstr "Размер быстрого преобразования Фурье" #~ msgid "Clipping Range" #~ msgstr "Диапазон клиппинга" #~ msgid "Suppression" #~ msgstr "Подавление" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Звуковые эффекты для приложений PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Подавление шума" #~ msgid "Load APO Preset" #~ msgstr "Загрузить предустановку APO" #~ msgid "Reset Volume of EasyEffects Virtual Devices at Startup" #~ msgstr "Сбрасывать громкость виртуальных устройств EasyEffects при запуске" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Предустановки выхода: " #~ msgid "Input Presets: " #~ msgstr "Предустановки входа: " #~ msgid "Split Mode" #~ msgstr "Режим раздела" #~ msgid "Split 1/2" #~ msgstr "Разделение 1/2" #~ msgid "Split 2/3" #~ msgstr "Разделение 2/3" #~ msgid "Split Frequency 2" #~ msgstr "Частота раздела 2" #~ msgid "Split 3/4" #~ msgstr "Разделение 3/4" #~ msgid "Split Frequency 3" #~ msgstr "Частота раздела 3" #~ msgid "Sub Band" #~ msgstr "Подполоса" #~ msgid "Band 1 Bypass" #~ msgstr "Полоса 1 обход" #~ msgid "Band 1 Solo" #~ msgstr "Полоса 1 соло" #~ msgid "Band 1 Detection" #~ msgstr "Полоса 1 обнаружение" #~ msgid "Band 1 Attack" #~ msgstr "Полоса 1 атака" #~ msgid "Band 1 Release" #~ msgstr "Полоса 1 восстановление" #~ msgid "Band 1 Threshold" #~ msgstr "Полоса 1 порог" #~ msgid "Band 1 Ratio" #~ msgstr "Полоса 1 соотношение" #~ msgid "Band 1 Knee" #~ msgstr "Полоса 1 колено" #~ msgid "Band 1 Makeup" #~ msgstr "Полоса 1 усиление вверх" #~ msgid "Max Reduction" #~ msgstr "Максимум подавления" #~ msgid "Low Band" #~ msgstr "Низкие частоты" #~ msgid "Band 2 Bypass" #~ msgstr "Полоса 2 обход" #~ msgid "Band 2 Solo" #~ msgstr "Полоса 2 соло" #~ msgid "Band 2 Detection" #~ msgstr "Полоса 2 обнаружение" #~ msgid "Band 2 Attack" #~ msgstr "Полоса 2 атака" #~ msgid "Band 2 Release" #~ msgstr "Полоса 2 восстановление" #~ msgid "Band 2 Threshold" #~ msgstr "Полоса 2 порог" #~ msgid "Band 2 Ratio" #~ msgstr "Полоса 2 соотношение" #~ msgid "Band 2 Knee" #~ msgstr "Полоса 2 колено" #~ msgid "Band 2 Makeup" #~ msgstr "Полоса 2 усиление вверх" #~ msgid "Band 2 Max Reduction" #~ msgstr "Полоса 2 макс. подавление" #~ msgid "Mid Band" #~ msgstr "Средние частоты" #~ msgid "Band 3 Bypass" #~ msgstr "Полоса 3 обход" #~ msgid "Band 3 Solo" #~ msgstr "Полоса 3 соло" #~ msgid "Band 3 Detection" #~ msgstr "Полоса 3 обнаружение" #~ msgid "Band 3 Attack" #~ msgstr "Полоса 3 атака" #~ msgid "Band 3 Release" #~ msgstr "Полоса 3 восстановление" #~ msgid "Band 3 Threshold" #~ msgstr "Полоса 3 порог" #~ msgid "Band 3 Ratio" #~ msgstr "Полоса 3 соотношение" #~ msgid "Band 3 Knee" #~ msgstr "Полоса 3 колено" #~ msgid "Band 3 Makeup" #~ msgstr "Полоса 3 усиление вверх" #~ msgid "Band 3 Max Reduction" #~ msgstr "Полоса 3 макс. подавление" #~ msgid "High Band" #~ msgstr "Высокие частоты" #~ msgid "Band 4 Bypass" #~ msgstr "Полоса 4 обход" #~ msgid "Band 4 Solo" #~ msgstr "Полоса 4 соло" #~ msgid "Band 4 Detection" #~ msgstr "Полоса 4 обнаружение" #~ msgid "Band 4 Attack" #~ msgstr "Полоса 4 атака" #~ msgid "Band 4 Release" #~ msgstr "Полоса 4 восстановление" #~ msgid "Band 4 Threshold" #~ msgstr "Полоса 4 порог" #~ msgid "Band 4 Ratio" #~ msgstr "Полоса 4 соотношение" #~ msgid "Band 4 Knee" #~ msgstr "Полоса 4 колено" #~ msgid "Band 4 Makeup" #~ msgstr "Полоса 4 усиление вверх" #~ msgid "Band 4 Max Reduction" #~ msgstr "Полоса 4 макс. подавление" #~ msgid "Wet Amount" #~ msgstr "Влажность" #~ msgid "Dry Amount" #~ msgstr "Сухость" #~ msgid "Wellington Wallace" #~ msgstr "Веллингтон Уоллис" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects — это продвинутый набор инструментов для работы со звуком. " #~ "Приложение включает в себя эквалайзер, ограничитель (лимитер), " #~ "компрессор, утилиту для реверберации и многое другое. Более того, имеется " #~ "встроенный анализатор аудиоспектра." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects является наследником PulseEffects. EasyEffects поддерживает " #~ "только PipeWire в качестве аудио-сервера. Пользователи PulseAudio должны " #~ "продолжать использовать PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Так как EasyEffects использует стандартный сервер PipeWire, программа " #~ "будет работать с большинством используемых вами приложений. Все " #~ "поддерживаемые приложения представлены в главном окне, где каждое может " #~ "быть настроено индивидуально." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Помимо изменения звука на выходе, EasyEffects также может использовать " #~ "звуковые эффекты для входных аудио-потоков, таких как микрофон. К " #~ "примеру, это может быть полезно во время аудиозаписи или голосовой " #~ "конференции." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "При запуске, EasyEffects автоматически подгрузит ваши настройки из " #~ "предыдущей сессии. Также вы можете сохранить ваши текущие настройки в " #~ "качестве загружаемого профиля." #~ msgid "The main page showing two audio output apps" #~ msgstr "Главная страница отображает приложения с выходными аудио-потоками" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "Страница усиления басов отображает настройки аудио" #~ msgid "The convolver page showing audio controls" #~ msgstr "Страница конвольвера отображает настройки аудио" #~ msgid "This release adds the following features:" #~ msgstr "Этот выпуск привносит следующие возможности:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Этот выпуск исправляет следующие ошибки:" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "Улучшен интерфейс плагина высоты тона" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "" #~ "Значок нашего приложения теперь совместим с рабочими столами, " #~ "использующими QT" #~ msgid "" #~ "Our blocklist code will use the `application.id` tag if the stream sets it" #~ msgstr "" #~ "Наш код чёрного списка будет использовать тег `application.id`, если " #~ "поток укажет его" #~ msgid "" #~ "In order to avoid problems with the mouse scroll the entries in the " #~ "applications list shown in our `Players/Recorders`" #~ msgstr "" #~ "Во избежание проблем с колесом мыши записи в списке приложений " #~ "отображаются в `Проигрыватели/Рекордеры`" #~ msgid "" #~ "tab do not show a volume scale anymore. More details about the problem " #~ "and the solution for it can be found on #1211" #~ msgstr "" #~ "вкладка больше не показывает шкалу громкости. Подробнее о проблеме и её " #~ "решении можно узнать в #1211" #~ msgid "and #1427" #~ msgstr "и #1427" #~ msgid "" #~ "When no application is available for display in the `Players/Recorders` a " #~ "message will be shown to the user" #~ msgstr "" #~ "Когда ни одно приложение не доступно для отображения в `Проигрывателях/" #~ "Рекордерах`, пользователю будет показано сообщение" #~ msgid "Many translation updates" #~ msgstr "Крупное обновление переводов" #, fuzzy #~ msgid "" #~ "Fixed a bug where EasyEffects crashed when the number of points displayed " #~ "in the spectrum was changed while" #~ msgstr "" #~ "Исправлена ошибка, при которой EasyEffeects аварийно завершал работу, " #~ "когда изменялось количество точек, отображаемых в спектре, в то время как" #~ msgid "our pipeline was active and the spectrum widget was visible" #~ msgstr "наш канал обработки был активен, и виджет спектра отображался" #~ msgid "" #~ "The pipeline latency value displayed in our window could be wrong in some " #~ "situations. This was fixed." #~ msgstr "" #~ "Значение задержки канала обработки, отображаемое в нашем окне, могло быть " #~ "неверным в некоторых ситуациях. Это было исправлено." #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "" #~ "Появился новый параметр, позволяющая пользователю выбирать тайм-аут " #~ "бездействия для канала обработки. Когда ни один клиент не играет" #~ msgid "" #~ "to or recording from our devices the filters will be unlinked after the " #~ "timeout is reached. This is done to make sure" #~ msgstr "" #~ "или записывает с наших устройств, фильтры будут отключены после " #~ "достижения тайм-аута. Это делается для уверенности в том, что" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "не тратится мощность процессора на обработку тишины." #~ msgid "" #~ "The autogain plugin now allows the user to select which of the three " #~ "loudness are used to calculate the geometric" #~ msgstr "" #~ "Плагин нормализации громкости теперь позволяет пользователю выбрать один " #~ "из трёх уровней для расчета среднего" #~ msgid "mean." #~ msgstr "геометрического." #~ msgid "" #~ "The autogain plugin now allows the maximum history to be set and does not " #~ "use `libebur128` histogram mode anymore." #~ msgstr "" #~ "Плагин нормализации громкости теперь позволяет устанавливать максимальную " #~ "историю и больше не использует режим гистограммы «libebur128»." #~ msgid "" #~ "This should avoid the cases where the `Integrated` loudness gets stuck " #~ "forever in the same value." #~ msgstr "" #~ "Это поможет избегать случаев, когда «встроенная» громкость навсегда " #~ "застревает на одном и том же значении." #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "Значок EasyEffects был обновлён таким образом, чтобы сделать его видимым " #~ "на рабочих столах QT." #~ msgid "This release fixes the following bug:" #~ msgstr "В этом выпуске исправлены следующие ошибки:" #~ msgid "" #~ "The command line option that returns the global bypass state is working " #~ "again." #~ msgstr "" #~ "Параметр командной строки, возвращающий состояние глобального обхода, " #~ "снова работает." #~ msgid "This release adds the following feature:" #~ msgstr "Этот выпуск добавляет следующие возможности:" #~ msgid "" #~ "The crossfeed filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Фильтр перекрестной подачи должен лучше работать с динамическим " #~ "изменением задержек PipeWire. Больше не должны возникать ситуации, " #~ "приводящие к скачкам громкости." #~ msgid "" #~ "Fixed a bug that prevented mono microphones from properly working with " #~ "EasyEffects" #~ msgstr "" #~ "Исправлена ошибка, не дававшая моно-микрофонам корректно работать с " #~ "EasyEffects" #~ msgid "Support for the next PipeWire release `0.3.44`" #~ msgstr "Поддержка PipeWire версии `0.3.44`" #~ msgid "" #~ "The autogain filter should deal better with PipeWire's dynamic latency " #~ "switches. Jumps in volume level should not happen anymore in these " #~ "situations." #~ msgstr "" #~ "Фильтр автогейн должен лучше работать с динамическим изменением задержек " #~ "PipeWire. Теперь ситуации со скачками уровня громкости больше не должны " #~ "возникать." #~ msgid "" #~ "We added an option that allows the volume and mute state of our virtual " #~ "devices to be reset when EasyEffects starts. It should help with the " #~ "cases were our devices are muted by the audio server for unknown reasons." #~ msgstr "" #~ "Мы добавили опцию, позволяющую сбрасывать уровень громкости и заглушение " #~ "устройства во время запуска EasyEffects. Это должно помочь в случае, " #~ "когда ваши устройства по неизвестным причинам заглушаются аудио-сервером." #~ msgid "Better support for computer suspending." #~ msgstr "Улучшена поддержка спящего режима." #~ msgid "" #~ "Fixed a bug where trying to create an autoloading profile without having " #~ "presets caused the application to crash." #~ msgstr "" #~ "Исправлена ошибка, при которой попытка создать профиль для автозагрузки, " #~ "не имеющий предустановок, приводила к вылету приложения." #~ msgid "" #~ "Fixed a bug where setting a equalizer band `quality` to `zero` would lead " #~ "to an application crash." #~ msgstr "" #~ "Исправлена ошибка, при которой установка полосы эквалайзера в \"ноль\" " #~ "приводила к аварийному завершению приложения." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita используется для создания некоторых частей окна приложения и " #~ "управления переключением между тёмной и светлой темами." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "Дизайн меню настроек приложения был изменен с использованием виджетов " #~ "LibAdwaita." #~ msgid "" #~ "Equalizer APO preset import feature has been improved to apply not only " #~ "the Bell filter, but also other supported ones" #~ msgstr "" #~ "Функция импорта предустановок для Equalizer APO была улучшена: теперь " #~ "возможно применить не только \"Bell\", но и другие поддерживаемые фильтры" #~ msgid "" #~ "The `Reset All Settings` function in our menu should work in Flatpak now." #~ msgstr "" #~ "Функция «Сброс всех настроек» в меню теперь должна работать и с Flatpak." #~ msgid "" #~ "We have a new option that allows the user to disable our menus " #~ "`autohide`. This may help to workaround some bugs Popover menus currently " #~ "have on gtk4." #~ msgstr "" #~ "Теперь у нас есть новая опция, которая позволяет пользователю отключить " #~ "\"автоскрытие\" меню. Это должно помочь обойти некоторые ошибки " #~ "наложения, имеющиеся в gtk4." #~ msgid "" #~ "More robust parsing to import APO presets saved with comma as thousands " #~ "separator in central frequency band." #~ msgstr "" #~ "Большинство сложных для обработки при импорте предустановок APO, " #~ "сохранены с использованием запятой в качестве разделителя в центральный " #~ "полосе частот." #~ msgid "" #~ "The fmt library is a new dependency At least while the c++ compilers do " #~ "not implement its features. This is expected to happen in the next years." #~ msgstr "" #~ "Библиотека fmt является новой зависимостью, поскольку компилятор C++ на " #~ "данный момент не может реализовать ее возможности. Поддержка ожидается в " #~ "ближайшие несколько лет." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM и GLIBMM больше не являются зависимостями. Теперь мы используем " #~ "gtk4 напрямую." #~ msgid "" #~ "It is now possible to combine impulse responses in the Convolver " #~ "interface. A new impulse file is generated and it should be visible in " #~ "the impulse list." #~ msgstr "" #~ "Теперь вы можете объединять характеристики импульсов в интерфейсе " #~ "Конвольвера. Новые файлы импульсов созданы и должны быть видны в списке." #~ msgid "" #~ "Improved `x axis` drawings in our plots. Now the number of labels is " #~ "adjusted dynamically depending on our window width." #~ msgstr "" #~ "Улучшена горизонтальная отрисовка внутри окна приложения. Теперь " #~ "количество элементов изменяется динамически в зависимости от ширины окна." #~ msgid "" #~ "The documentation has been updated reflecting the new EasyEffects " #~ "features. Old references about PulseEffects have been removed. The " #~ "documentation button has been added in the menu section." #~ msgstr "" #~ "Была обновлена пользовательская документация в связи с добавлением в " #~ "EasyEffects новых возможностей. Старые отсылки к PulseEffects были " #~ "удалены. Кнопка для вызова документации была добавлена в качестве секции " #~ "Меню." #~ msgid "" #~ "When a spinbutton is filled with an out of range value, now it is updated " #~ "with the lowest/highest value rather than resetting to the previous one." #~ msgstr "" #~ "Когда регулятор установлен в положение, превышающее возможное значение, " #~ "он будет обновлен до наименьшего/высшего значения, наиболее " #~ "соответствующего предыдущему." #~ msgid "" #~ "The application window now remembers the maximized state and restores it " #~ "on the next opening event." #~ msgstr "" #~ "Окно приложения теперь запоминает свое состояние, и будет восстановлено " #~ "при его следующем открытии." #~ msgid "The `tbb` library is a new dependency" #~ msgstr "Библиотека tbb теперь является новой зависимостью" #~ msgid "" #~ "The Limiter and the Multiband Compressor plugins can now use an optional " #~ "external sidechain." #~ msgstr "" #~ "Плагины Лимитер и Многополосный компрессор теперь могут использоваться в " #~ "качестве опционального внешнего сайдчейна." #~ msgid "" #~ "The Autogain plugin now allows the user to select which Loudness is used " #~ "as reference for the volume correction." #~ msgstr "" #~ "Плагин Автогейн теперь позволяет пользователям выбрать, какая громкость " #~ "будет использоваться в качестве значения для коррекции её уровня." #~ msgid "" #~ "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " #~ "Amplification\" parameter." #~ msgstr "" #~ "Функция импорта предустановок APO для плагина Эквалайзера, теперь " #~ "считывает параметры Предусиления." #~ msgid "Optional Cubic Volume can be enabled in General Settings." #~ msgstr "" #~ "Теперь в главных настройках можно выбрать Кубический Уровень в качестве " #~ "опции." #~ msgid "" #~ "PipeWire monitor streams are now excluded and removed from the " #~ "applications list." #~ msgstr "" #~ "Монитор источников PipeWire был исключён и удалён из списка приложений." #~ msgid "Hopefully crashes like the one reported at [1172]( are fixed." #~ msgstr "" #~ "Надеемся, что ошибки вылета приложения, указанные в отчете [1172] были " #~ "исправлены." #~ msgid "Prevented a case in which Spectrum was crashing." #~ msgstr "" #~ "Предотвращена ошибка, связанная со Спектром, приводящая к аварийному " #~ "завершению приложения." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "Pavucontrol больше не указывается в списке приложений с источниками " #~ "аудиопотоков в системах, локализация которых отличается от английской." #~ msgid "" #~ "Improved compatibility with WirePlumber. This is needed to run on systems " #~ "that decided to use it instead of the" #~ msgstr "" #~ "Улучшена совместимость с WirePlumber, необходимая для работы в системах, " #~ "использующих го в качестве основного" #~ msgid "built-in PipeWire session manager. More information at issue [1144](" #~ msgstr "" #~ "менеджера управления сессиями PipeWire. Больше информации в отчете [1144]" #~ msgid "" #~ "When trying to add an autoloading profile for a device already in the " #~ "list its target preset will be updated. This way we can change the " #~ "profile preset without having to remove and recreating it." #~ msgstr "" #~ "При попытке добавить профиль для автозагрузки для устройства, " #~ "находящегося в списке, его цель будет обновлена. С помощью этого, мы " #~ "сможем изменять предустановки профиля без необходимости удалять и " #~ "пересоздавать его заново." #~ msgid "" #~ "The preset autoloading support implementation was redesigned again. It " #~ "should work on more hardware now. For more information see issue [1051](" #~ msgstr "" #~ "Реализация поддержки автозагрузки профилей была заново переписана. Теперь " #~ "она должна работать с большим количеством оборудования. Более детальная " #~ "информация в отчете [1051]" #~ msgid "" #~ "If the Limiter or the Maximizer are set in the last position of the " #~ "plugin stack, new plugins are added at the second to last position in " #~ "order to prevent hardware damage on eventually high output level." #~ msgstr "" #~ "Лимитер и Максимизатор теперь устанавливаются в последнюю позицию цепочки " #~ "плагинов. Новые плагины добавляются в предыдущую секцию с целью " #~ "предотвращения порчи оборудования чрезмерным выходным уровнем громкости." #~ msgid "" #~ "Removing an application from the blocklist, its previous enabled state is " #~ "restored." #~ msgstr "" #~ "При удалении приложения из черного списка, его предшествующее состояние " #~ "будет восстановлено." #~ msgid "" #~ "Sometimes when removing imported models from the noise reduction plugin " #~ "the current used model was not properly updated. This should be fixed now." #~ msgstr "" #~ "Иногда, во время удаления импортированной модели в плагине " #~ "шумоподавления, текущая используемая модель не обновлялась корректно. " #~ "Теперь должно работать как положено." #~ msgid "" #~ "When editing presets files in an external editor, duplicated entries " #~ "won't be shown in our presets menu." #~ msgstr "" #~ "Во время правки файла предустановок во внешнем редакторе, повторяющиеся " #~ "параметры не будут отображаться в меню." #~ msgid "Now the blocklist is correctly set when switching presets." #~ msgstr "" #~ "Теперь чёрный список правильно устанавливается при смене предустановок." #~ msgid "" #~ "Now the status of the global bypass button is correctly updated when " #~ "changing plugin stack." #~ msgstr "" #~ "Теперь статус при нажатии на кнопку глобального обхода корректно " #~ "отображается при смене набора плагинов." #~ msgid "" #~ "Missing icons on the system should not be shown inside the application " #~ "info UI" #~ msgstr "" #~ "Потерянные системные значки теперь не должны отображаться внутри " #~ "пользовательского интерфейса приложения" #~ msgid "" #~ "Some icons not showing in Plasma DE with Breeze icon theme should appear " #~ "now." #~ msgstr "" #~ "Некоторые значки, которые не отображались в окружении рабочего стола " #~ "Plasma с темой Breeze, теперь должны отображаться." #~ msgid "Updated Chinese translation." #~ msgstr "Обновлен Китайский перевод." #~ msgid "Updated Italian translation." #~ msgstr "Обновлен перевод на Итальянский." #~ msgid "Added support for the compressor parameter `Boost Amount`" #~ msgstr "В компрессор добавлена поддержка параметра `Boost Amount`" #~ msgid "" #~ "The multiband compressor plugin now uses the stereo multiband compressor " #~ "plugin from Linux Studio Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Плагин многополосного компрессора теперь использует плагин стерео " #~ "многополосного компрессора из набора плагинов Linux Studio Plugins взамен " #~ "Calf Studio." #~ msgid "" #~ "The limiter plugin now uses the stereo limiter plugin from Linux Studio " #~ "Plugins instead of the one from Calf Studio." #~ msgstr "" #~ "Плагин лимитера теперь использует стерео плагин лимитера из набора Linux " #~ "Studio Plugins взамен Calf Studio." #~ msgid "" #~ "LV2 filters now are spawned in PipeWire graph only when loaded the first " #~ "time. Once loaded, they remain connected until EasyEffects shutdown." #~ msgstr "" #~ "Наборы LV2 фильтров отображаются в графе PipeWire только во время первой " #~ "загрузки. Однажды загруженные, они останутся включёнными до тех пор пока " #~ "EasyEffects продолжает работу." #~ msgid "The echo canceller sampling rate is now properly set." #~ msgstr "" #~ "Теперь для модуля эхоподавления возможно установить частотный спектр." #~ msgid "" #~ "The threshold parameter from the deesser plugin is now saved to the " #~ "preset file." #~ msgstr "" #~ "Уровень порогового значения в плагине антишипения (деэссера) теперь " #~ "сохраняется в файле предустановки." #~ msgid "" #~ "Improved band splitting for crystalizer with new default intensity values." #~ msgstr "" #~ "Улучшено полосное разделение для кристаллизатора с новыми значениями " #~ "интенсивности по умолчанию." #~ msgid "" #~ "Depending on the input gain or output gain values the corresponding level " #~ "bars could not be aligned." #~ msgstr "" #~ "Зависимости во входных и выходных уровнях громкости теперь коррелируют со " #~ "значениями регулятора, которые ранее нельзя было выровнять." #~ msgid "" #~ "When adding more equalizer bands they are set to `Bell` instead of `Off`." #~ msgstr "" #~ "При добавлении новых полос в эквалайзер их значение равно «Bell» вместо " #~ "«Отключено»." #~ msgid "" #~ "Equalizer APO presets loading is now working properly on locales " #~ "different than C." #~ msgstr "" #~ "Предустановки для Эквалайзера APO теперь работают корректно с языками, " #~ "отличными от С." #~ msgid "Improved linking management between port filter nodes in PipeWire." #~ msgstr "" #~ "Улучшено взаимодействие между точками пересечения портов фильтров в " #~ "PipeWire." #~ msgid "" #~ "The crystalizer plugin signal amplification was too high before. It " #~ "should be within more reasonable levels now." #~ msgstr "" #~ "Ранее, усиление сигнала в плагине кристаллизатора было слишком высоким. " #~ "Установлены более адекватные значения." #~ msgid "" #~ "Improved the resampler used in the plugins that require one(like the " #~ "rnnoise plugin)" #~ msgstr "Улучшена работа ресемлера с некоторыми плагинами (rnnoise и пр.)" #~ msgid "Setting multiple autoloading presets should be fine now" #~ msgstr "" #~ "Установка множества предустановок для автозагрузки теперь должно работать " #~ "корректно" #~ msgid "Transient windows are now properly set for some plugins dialogs" #~ msgstr "" #~ "Временные окна для взаимодействия с некоторыми плагинами теперь работают " #~ "корректно" #~ msgid "" #~ "The convolver impulse response menu was improved to workaround an issue " #~ "where the impulse files was not loaded when only one was available in the " #~ "menu" #~ msgstr "" #~ "Была исправлена ошибка меню конвольвера, при которой файлы импульсов не " #~ "подгружались, если на выбор доступна только одна опция" #~ msgid "" #~ "Fixed a bug that could make the pitch plugin to not be properly " #~ "initialized" #~ msgstr "" #~ "Исправлена ошибка, при которой плагин высоты тона не мог правильно " #~ "инициализироваться" #~ msgid "" #~ "The saturation warning should not displace its neighbor widgets anymore" #~ msgstr "" #~ "Предупреждение о переполнении больше не должно менять расположение " #~ "соседних виджетов" #~ msgid "Fixed the locale in a few widgets" #~ msgstr "Исправлен перевод некоторых виджетов" #~ msgid "Fixed wrong alignment in a few widgets" #~ msgstr "Исправлено неправильное выравнивание некоторых виджетов" #~ msgid "" #~ "The Loudness plugin is being used again for the reasons described at This " #~ "means that is an optional dependency again." #~ msgstr "" #~ "По указаным выше причинам, лагин работы с громкостью теперь снова " #~ "доступен. Это значит, что он снова добавлен в список опциональных " #~ "зависимостей." #~ msgid "" #~ "Fixed a segmentation fault that happened when optional dependencies were " #~ "not installed" #~ msgstr "" #~ "Исправлена ошибка сегментирования, возникавшая в случае, когда " #~ "опциональные зависимости не были установлены" #~ msgid "Improved equalizer interface." #~ msgstr "Улучшен интерфейс эквалайзера." #~ msgid "" #~ "Now we use a sidechain LSP compressor that allows the user to select and " #~ "external source as the sidechain input." #~ msgstr "" #~ "Теперь используется компрессор LSP, что позволяет пользователю выбрать " #~ "внешний источник в качестве входного сайдчейна." #~ msgid "We now support the LSP compressor `Boosting` mode." #~ msgstr "Теперь компрессор LSP поддерживает режим 'Усиление'." #~ msgid "" #~ "When `split-channels` is enabled in the equalizer the imported APO preset " #~ "will be applied only to the channel being visualized in the window. This " #~ "will allow to import different presets for each channel instead of just " #~ "settings the same values to both." #~ msgstr "" #~ "Когда 'смещение каналов' активировано в эквалайзере, предустановки " #~ "импортированные из APO будут применены только к каналу, отображаемому в " #~ "окне. Это позволяет применять различные предустановки для каждого канала " #~ "вместо установки одинакового значения в обоих каналах." #~ msgid "" #~ "Fixed some segmentation faults that could happen when creating a preset " #~ "autoloading profile or removing presets" #~ msgstr "" #~ "Исправлены ошибки сегментирования, возникавшие при создании или удалении " #~ "предустановок, используемых для автозагрузки" #~ msgid "" #~ "This is one of the biggest releases that I have ever made. The amount of " #~ "changes is so big that it is hard to talk about everything here." #~ msgstr "" #~ "Этот выпуск является одним из самых крупных, что мы делали за всё время. " #~ "Объём изменений обширен, поэтому очень трудно описать их все." #~ msgid "" #~ "The following are just the most import ones. People interested on the " #~ "journey that got us here can take" #~ msgstr "" #~ "Перечисленные изменения являются самыми важными на наш взгляд. Если вам " #~ "интересны возможности, предоставляемые приложением, просто возьмите" #~ msgid "a look at and" #~ msgstr "и опробуйте их" #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "Приложение и его репозиторий были переименованы в 'EasyEffects'" #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "gtkmm3 был заменен на gtkmm4" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "Фильтры GStreamer были заменены на собственные фильтры PipeWire." #~ msgid "" #~ "Many features were reimplemented from scratch. The preset autoloading is " #~ "one example. Another remarkable change will be seen in the plugins " #~ "selection menu. Now the user can show in the window only the plugins that " #~ "he/she wants to use." #~ msgstr "" #~ "Множество возможностей былы переписаны с нуля. Например предустановки для " #~ "автозагрузки. Другие изменения, которые стоит упомянуть, можно увидеть в " #~ "меню выбора плагинов. Теперь пользователь может отобразить в окне только " #~ "те плагины, которые посчитает необходимыми." #~ msgid "" #~ "Boost is no longer a dependency. The price paid for that was a little " #~ "change in our presets structures. With some patience it is possible to " #~ "edit PulseEffects presets in a text editor and make them work in " #~ "EasyEffects. Hopefully someone will come up with a script for this in the " #~ "feature." #~ msgstr "" #~ "Библиотека Boost более не является зависимостью. Ценой данного решения " #~ "является небольшое изменение структуры предустановок. Имея немного " #~ "терпения, можно отредактировать предустановки PulseEffects в любом " #~ "текстовом редакторе, чтобы сделать их совместимыми с EasyEffects. " #~ "Надеемся, кто нибудь создаст скрипт для автоматизации данной возможности." #~ msgid "" #~ "New libraries are being used and some of the librarires that were " #~ "optional before are now required" #~ msgstr "" #~ "Наличие некоторых новых библиотек, ранее считавшиеся опциональными, " #~ "теперь является обязательным" #~ msgid "Average" #~ msgstr "Средняя" #~ msgid "Failed" #~ msgstr "Не удалось" #~ msgid "Use Default" #~ msgstr "Установить по умолчанию" #~ msgid "Remove this plugin" #~ msgstr "Удалить этот плагин" #~ msgid "Import Presets" #~ msgstr "Импорт предустановок" #~ msgid "Start Service at Login" #~ msgstr "Запуск службы при запуске" #~ msgid "Reset Our Devices Volume on Startup" #~ msgstr "Сброс громкости устройств при запуске" #~ msgid "Activate" #~ msgstr "Активировать" #~ msgid "Add to Blocklist" #~ msgstr "Добавить в чёрный список" #~ msgid "Blocklist" #~ msgstr "Чёрный список" #~ msgid "Add Plugin" #~ msgstr "Добавить плагин" #~ msgid "Speakers" #~ msgstr "Динамики" #~ msgid "Microphone" #~ msgstr "Микрофон" #~ msgid "Plugins" #~ msgstr "Плагины" #, fuzzy #~ msgid "enabled" #~ msgstr "Включено" #, fuzzy #~ msgid "disabled" #~ msgstr "Включено" #~ msgid "Format" #~ msgstr "Формат" #~ msgid "Latency" #~ msgstr "Задержка" #~ msgid "idle" #~ msgstr "простаивание" #~ msgid "Faster" #~ msgstr "Быстрее" #~ msgid "Preserve Formant" #~ msgstr "Сохранить формат" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Усиление выхода" #~ msgid "Channel" #~ msgstr "Канал" #, fuzzy #~ msgid "Value" #~ msgstr "Нижний порог" #~ msgid "Output Effects" #~ msgstr "Эффекты для вывода звука" #~ msgid "Settings" #~ msgstr "Настройки" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Настройки" #, fuzzy #~ msgid "Documentation" #~ msgstr "Продолжительность" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Проверочный сигнал" #~ msgid "Signal" #~ msgstr "Сигнал" #~ msgid "Show Spectrum" #~ msgstr "Показывать спектр" #~ msgid "Border" #~ msgstr "Граница" #~ msgid "Spectrum Type" #~ msgstr "Тип спектра" #~ msgid "Spectrum Color" #~ msgstr "Цвет спектра" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Активная модель" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Увеличение ослабления" #, fuzzy #~ msgid "Wet" #~ msgstr "Вес в расчете громкости" #~ msgid "S/C Level" #~ msgstr "Уровень Раздельный/Центр" #~ msgid "Phase Correlation" #~ msgstr "Корреляция фазы" #~ msgid "Short Term" #~ msgstr "Короткие измерения" #~ msgid "Id" #~ msgstr "Id" #~ msgid "Preamp" #~ msgstr "Предусилитель" #~ msgid "Run in Background" #~ msgstr "Запускать в фоновом режиме" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Настройка громкости и вкл/откл эффектов" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Содержит эквалайзер с предустановками" #~ msgid "Input Limiter" #~ msgstr "Ограничитель ввода" #~ msgid "Calibration" #~ msgstr "Калибровка" #~ msgid "Limit" #~ msgstr "Ограничение" #~ msgid "ASC" #~ msgstr "Адаптивное управление наклоном" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Аудиоэффекты для приложений PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Аудиоэффекты для приложений PulseAudio" #~ msgid "Calibration Microphone" #~ msgstr "Калибровка корректировки микрофона" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Автоматически применять этот набор предустановок, когда текущее звукое " #~ "устройство подключают к системе" #, fuzzy #~ msgid "Version" #~ msgstr "Версия" #~ msgid "Sine" #~ msgstr "Синусоида" #~ msgid "Square" #~ msgstr "Квадратный" #~ msgid "Saw" #~ msgstr "Пилообразный" #~ msgid "Triangle" #~ msgstr "Треугольный" #~ msgid "Pink Noise" #~ msgstr "Розовый шум" #~ msgid "Ticks" #~ msgstr "Тики" #~ msgid "Gaussian Noise" #~ msgstr "Гауссовский шум" #~ msgid "Blue Noise" #~ msgstr "Голубой шум" #~ msgid "Violet Noise" #~ msgstr "Фиолетовый шум" #~ msgid "Volume" #~ msgstr "Громкость" #~ msgid "Measure Noise" #~ msgstr "Измерение шума" #~ msgid "Subtract Noise" #~ msgstr "Вычетание шума" #~ msgid "Extended Filter" #~ msgstr "Расширенный фильтр" #~ msgid "Low" #~ msgstr "Низкочастотный фильтр" #~ msgid "Moderate" #~ msgstr "Средний" #~ msgid "High" #~ msgstr "Высокий" #~ msgid "Delay Agnostic" #~ msgstr "Задержка" #~ msgid "Very High" #~ msgstr "Очень высокий" # # TODO: Mode/Режим заменить на "Режим сжатия" #~ msgid "Adaptive Digital" #~ msgstr "Адаптивное цифровое сжатие" #~ msgid "Fixed Digital" #~ msgstr "Фиксированное цифровое сжатие" #~ msgid "Detection Likelihood" #~ msgstr "Вероятность обнаружения" #~ msgid "Very Low" #~ msgstr "Очень низкий" #~ msgid "Use Custom Color" #~ msgstr "Использовать свой цвет" #~ msgid "Use Gradient" #~ msgstr "Использовать градиент" #~ msgid "Gradient Color" #~ msgstr "Цвет градиента" #~ msgid "Import Impulse Response File" #~ msgstr "Импортировать файл импульсной реакции" #~ msgid "Select the impulse Response File" #~ msgstr "Выбрать файл с импульсной реакцией" #~ msgid "Aggressive Mode" #~ msgstr "Агрессивный режим" #~ msgid "Before" #~ msgstr "До" #~ msgid "After" #~ msgstr "После" #~ msgid "Loudness Range" #~ msgstr "Диапазон громкости" #~ msgid "Apply" #~ msgstr "Применить" #, fuzzy #~ msgid "Default Clock Rate" #~ msgstr "Частота дискретизации по умолчанию" #~ msgid "Server" #~ msgstr "Сервер" #~ msgid "File" #~ msgstr "Файл" #~ msgid "Configuration" #~ msgstr "Параметры" #, fuzzy #~ msgid "server" #~ msgstr "Сервер" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Подсчитать частоты" # #, fuzzy #, fuzzy #~ msgid "Advanced" #~ msgstr "Параметры" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Предустановки" #~ msgid "Detect Silence" #~ msgstr "Определять тишину" #~ msgid "Muted" #~ msgstr "Приглушенный" #~ msgid "Distant Headphones" #~ msgstr "Находящиеся далеко наушники" #~ msgid "Priority Type" #~ msgstr "Тип приоритета процесса" #~ msgid "Niceness" #~ msgstr "Приоритет процесса (nice)" #~ msgid "Priority" #~ msgstr "Приоритет" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Частота" #, fuzzy #~ msgid "Maximum Frequency" #~ msgstr "Частота" #~ msgid "About" #~ msgstr "О программе" #~ msgid "Protocol" #~ msgstr "Версия протокола сервера" #~ msgid "Default Sample Format" #~ msgstr "Спецификация отсчётов по умолчанию" #~ msgid "Resamplers" #~ msgstr "Ресемплеры" #~ msgid "Buffer" #~ msgstr "Буфер" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Эквалайзер - Выход" # Taking lingual shortcuts to squeeze it in the text box #~ msgid "Block Size" #~ msgstr "Размер блока" #~ msgid "Resampler" #~ msgstr "Ресемплер" #~ msgid "paused" #~ msgstr "на паузе" #~ msgid "playing" #~ msgstr "воспроизводится" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Импортировать предустановки" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Увеличение ослабления" #~ msgid "Exponent" #~ msgstr "Степень" #~ msgid "Red Noise" #~ msgstr "Красный шум" #~ msgid "Noise Suppressor" #~ msgstr "Простой шумодав" #~ msgid "Voice Detector" #~ msgstr "Обнаруживатель голоса" #~ msgid "Gain Controller" #~ msgstr "Автоконтроль усиления (AGC)" easyeffects-7.1.7/po/sk.po000066400000000000000000002373251463533416400154470ustar00rootroot00000000000000# Slovak translation for Pulseeffects. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Mlocik97 , 2020. # Jose Riha , 2021. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-08-09 14:07+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ekvalizér, kompresor a ďalšie audio efekty" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Zvukové efekty pre aplikácie využívajúce PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "obmedzovač;kompresor;ozvena;ekvalizér;automatická hlasitosť;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 #, fuzzy msgid "Enable" msgstr "Povolené" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 #, fuzzy msgid "Mute Application" msgstr "Aplikácie" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 #, fuzzy msgid "Application Volume" msgstr "Aplikácie" #: data/ui/application_window.ui:6 #, fuzzy msgid "_Help" msgstr "Pomocník" #: data/ui/application_window.ui:12 #, fuzzy msgid "_Reset Settings" msgstr "Nastavenia" #: data/ui/application_window.ui:18 #, fuzzy msgid "_Preferences" msgstr "Referenčný Signál" #: data/ui/application_window.ui:22 #, fuzzy msgid "_Shortcuts" msgstr "Krátkodobá" #: data/ui/application_window.ui:26 #, fuzzy msgid "_About Easy Effects" msgstr "Vstupné efekty" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Predvoľby" #: data/ui/application_window.ui:61 #, fuzzy msgid "Presets Menu" msgstr "Predvoľby" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Globálne premostenie" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 #, fuzzy msgid "Easy Effects Window" msgstr "PulseEffects" #: data/ui/apps_box.ui:17 #, fuzzy msgid "Applications List" msgstr "Aplikácie" #: data/ui/apps_box.ui:27 #, fuzzy msgid "Empty List" msgstr "Prázdne steny" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Aplikácie" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 #, fuzzy msgid "Controls" msgstr "Ovládač zosilnenia" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Cieľ" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Ticho" #: data/ui/autogain.ui:80 #, fuzzy msgid "Maximum History" msgstr "Maximálna" #: data/ui/autogain.ui:103 #, fuzzy msgid "Reference" msgstr "Referenčný Signál" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Okamžitá" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Krátkodobá" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrovaná" #: data/ui/autogain.ui:112 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Vymazať históriu" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Obnoviť pôvodné hodnoty" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Hlasitosť" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatívna" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rozsah" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Výstupný Zisk" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Vstup" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 #, fuzzy msgid "Plugin Input Gain" msgstr "Výstupný Zisk" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Výstup" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 #, fuzzy msgid "Plugin Output Gain" msgstr "Výstupný Zisk" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Názov" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Predvoľby" #: data/ui/autoload_row.ui:114 #, fuzzy msgid "Remove this autoload preset" msgstr "Odstrániť predvoľbu" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Počúvať" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Miešať harmonické kmity" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Množstvo" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonickosť" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Rozsah" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Spodná hranica" #: data/ui/bass_enhancer.ui:236 #, fuzzy msgid "Floor Value" msgstr "Spodná hranica" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 #, fuzzy msgid "Application Name" msgstr "Aplikácie" #: data/ui/blocklist_menu.ui:42 #, fuzzy msgid "Add to Excluded Applications" msgstr "Zobraziť aplikácie zo zoznamu blokovaných na hlavnej karte" #: data/ui/blocklist_menu.ui:86 #, fuzzy msgid "Excluded Applications List" msgstr "Aplikácie" #: data/ui/blocklist_menu.ui:99 #, fuzzy msgid "Show Excluded Applications" msgstr "Zobraziť aplikácie zo zoznamu blokovaných na hlavnej karte" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Skryť okno" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompresor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Režim" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Dole" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Hore" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Mód kompresora" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Zvýrazniť prah" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 #, fuzzy msgid "Boost Amount" msgstr "Množstvo" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Nábeh" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 #, fuzzy msgid "Time" msgstr "V reálnom čase" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Prah" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 #, fuzzy msgid "Attack Time" msgstr "Nábeh" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 #, fuzzy msgid "Attack Threshold" msgstr "Prah" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Uvoľnenie" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 #, fuzzy msgid "Release Time" msgstr "Uvoľnenie" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 #, fuzzy msgid "Release Threshold" msgstr "Relatívny prah uvoľnenia" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Pomer" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Prechod" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Pozdvihnutie" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 #, fuzzy msgid "Dry Level" msgstr "Úroveň F2" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 #, fuzzy msgid "Wet Level" msgstr "Cieľová úroveň" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Postranný reťazec" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Režim sterea" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Zdroj" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Stredný" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Postranný" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Ľavý" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Pravý" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Maximálna" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 #, fuzzy msgid "Max" msgstr "Maximálna" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Postranný reťazec" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Oneskorenie Ľavo/Pravo" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Pravý" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Postranný" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Postranný" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Predvolený bdroj" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Vrchol" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 #, fuzzy msgid "Low-Pass Filter" msgstr "Režim filtra vysokej priepuste" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Postranný reťazec" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Postranný reťazec" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Typ" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Kanál-Vpred" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Kanál-Vzad" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Postranný reťazec" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 #, fuzzy msgid "Input Device" msgstr "Obmedzovač na vstupe" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 #, fuzzy msgid "PreAmplification" msgstr "Predzosilnenie" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Reaktivita" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "Výhľad" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Postranný reťazec" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "Horné pásmo" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekvencia" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Vyp" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Režim filtra vysokej priepuste" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frekvencia vysokej priepuste" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Dolná priepusť" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Režim filtra vysokej priepuste" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Zisk" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Sklon" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Krivka" #: data/ui/convolver.ui:40 msgid "L" msgstr "Ľ" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 #, fuzzy msgid "Left Channel" msgstr "Kanály" #: data/ui/convolver.ui:53 msgid "R" msgstr "P" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 #, fuzzy msgid "Right Channel" msgstr "Rozdeliť kanály" #: data/ui/convolver.ui:71 #, fuzzy msgid "Impulses" msgstr "Odpoveď impulzu" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Šírka sterea" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 #, fuzzy msgid "Log Scale" msgstr "Mierka" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Automatická hlasitosť" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Kmitočet" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Vzorky" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Trvanie" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Odpoveď impulzu" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 #, fuzzy msgid "Output File Name" msgstr "Výstup" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importovať impulz" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Načítať súbor impulzu" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Načítať súbor impulzu" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Predvolený" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Zrezanie" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Kanál" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Premostiť" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Stíšený" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Zoslabenie" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filter" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Detekcia" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Široký" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Rozdeliť" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "Rozdeliť F1" #: data/ui/deesser.ui:115 #, fuzzy msgid "Frequency 1 Split" msgstr "Frekvencia" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "Vrchol F2" #: data/ui/deesser.ui:147 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frekvencia" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "Zisk F1" #: data/ui/deesser.ui:192 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frekvencia" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "Úroveň F2" #: data/ui/deesser.ui:226 #, fuzzy msgid "Frequency 2 Level" msgstr "Frekvencia" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 vrchol Q" #: data/ui/deesser.ui:260 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frekvencia" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Nedbanlivosť" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Zistené" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 #, fuzzy msgid "Reduction" msgstr "Redukcia" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Oneskorenie" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Preklopiť fázu" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filter" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Potlačenie šumu" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Potlačenie šumu" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Pásma" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Vyváženie" #: data/ui/equalizer.ui:125 #, fuzzy msgid "Pitch Left" msgstr "Postranný reťazec" #: data/ui/equalizer.ui:157 #, fuzzy msgid "Pitch Right" msgstr "Postranný reťazec" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Rozdeliť kanály" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Vyhladiť" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Vypočítať frekvencie" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Pásma" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 #, fuzzy msgid "Import Preset" msgstr "Načítať predvoľbu" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Načítať predvoľbu" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Sklon" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Sólo" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalita" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Šírka" #: data/ui/exciter.ui:208 #, fuzzy msgid "Ceil" msgstr "Strop" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Pásma" #: data/ui/expander.ui:609 data/ui/gate.ui:822 #, fuzzy msgid "Internal" msgstr "Integrovaná" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 #, fuzzy msgid "Description" msgstr "Detekcia" #: data/ui/factory_rnnoise_listview.ui:24 #, fuzzy msgid "Remove this model file" msgstr "Odstrániť predvoľbu" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Spodný prah" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Horný prah" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Zvonček" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Premostiť" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Zárez" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Rezonancia" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Dolná priepusť" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Redukcia zosilnenia" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Dolné Pásmo" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Ekvalizér" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Brána" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 #, fuzzy msgid "Release Zone Start" msgstr "Uvoľnenie" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frekvencia" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Vymazať históriu" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Prevzorkovanie" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 #, fuzzy msgid "Herm Wide" msgstr "Široký" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 #, fuzzy msgid "Exp Wide" msgstr "Široký" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 #, fuzzy msgid "Line Thin" msgstr "Šírka čiary" #: data/ui/limiter.ui:103 #, fuzzy msgid "Line Wide" msgstr "Šírka čiary" #: data/ui/limiter.ui:104 #, fuzzy msgid "Line Tail" msgstr "Šírka čiary" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Žiadny" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Predzosilnenie" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Spojenie sterea" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 #, fuzzy msgid "External Sidechain" msgstr "Postranný reťazec" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 #, fuzzy msgid "Auto Leveling" msgstr "Automatické úrovne" #: data/ui/limiter.ui:530 #, fuzzy msgid "Auto Leveling Attack" msgstr "Automatické úrovne" #: data/ui/limiter.ui:565 #, fuzzy msgid "Auto Leveling Release" msgstr "Automatické úrovne" #: data/ui/limiter.ui:599 #, fuzzy msgid "Auto Leveling Knee" msgstr "Automatické úrovne" #: data/ui/limiter.ui:624 #, fuzzy msgid "Gain Left" msgstr "Ľavý" #: data/ui/limiter.ui:651 #, fuzzy msgid "Gain Right" msgstr "Pravý" #: data/ui/limiter.ui:678 #, fuzzy msgid "Sidechain Left" msgstr "Postranný reťazec" #: data/ui/limiter.ui:705 #, fuzzy msgid "Sidechain Right" msgstr "Postranný reťazec" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Štandardný" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Rovný" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "Veľkosť FFT" #: data/ui/loudness.ui:82 #, fuzzy msgid "Output Volume" msgstr "Výstup" #: data/ui/loudness.ui:103 #, fuzzy msgid "Clipping" msgstr "Priradenie kanála" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 #, fuzzy msgid "Sidechain Boost" msgstr "Postranný reťazec" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 #, fuzzy msgid "Operating Mode" msgstr "Importovať model" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 #, fuzzy msgid "Modern" msgstr "Režim" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Preklopiť fázu" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 #, fuzzy msgid "Bands List" msgstr "Pásma" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 #, fuzzy msgid "Band 1" msgstr "Pásma" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 #, fuzzy msgid "Band 2" msgstr "Pásma" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 #, fuzzy msgid "Band 3" msgstr "Pásma" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 #, fuzzy msgid "Band 4" msgstr "Pásma" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 #, fuzzy msgid "Band 5" msgstr "Pásma" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 #, fuzzy msgid "Band 6" msgstr "Pásma" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 #, fuzzy msgid "Band 7" msgstr "Pásma" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 #, fuzzy msgid "Band 8" msgstr "Pásma" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 #, fuzzy msgid "Band End" msgstr "Pásma" #: data/ui/multiband_compressor_band.ui:111 #, fuzzy msgid "Band Compression Mode" msgstr "Mód kompresora" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 #, fuzzy msgid "Band Bypass" msgstr "Premostiť" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 #, fuzzy msgid "Band Sidechain Options" msgstr "Postranný reťazec" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Režim sterea" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Režim filtra nízkej priepuste" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Režim filtra nízkej priepuste" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Horný prechod" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Horný prechod" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 #, fuzzy msgid "Band Gain" msgstr "Vstupné Zosilnenie" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 #, fuzzy msgid "Band Curve" msgstr "Krivka" #: data/ui/multiband_gate_band.ui:836 #, fuzzy msgid "Band Reduction" msgstr "Redukcia zosilnenia" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Všeobecné" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 #, fuzzy msgid "Use Default Input" msgstr "Použiť predvolený" #: data/ui/pipe_manager_box.ui:65 #, fuzzy msgid "Custom Input Device" msgstr "Obmedzovač na vstupe" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 #, fuzzy msgid "Use Default Output" msgstr "Použiť predvolený" #: data/ui/pipe_manager_box.ui:101 #, fuzzy msgid "Custom Output Device" msgstr "Výstupné efekty" #: data/ui/pipe_manager_box.ui:112 #, fuzzy msgid "Server Information" msgstr "Ozvena (reverb)" #: data/ui/pipe_manager_box.ui:116 #, fuzzy msgid "Header Version" msgstr "Verzia" #: data/ui/pipe_manager_box.ui:127 #, fuzzy msgid "Library Version" msgstr "Verzia" #: data/ui/pipe_manager_box.ui:138 #, fuzzy msgid "Sampling Rate" msgstr "Predvolená rýchlosť vzorkovania" #: data/ui/pipe_manager_box.ui:149 #, fuzzy msgid "Minimum Quantum" msgstr "Minimálna frekvencia" #: data/ui/pipe_manager_box.ui:160 #, fuzzy msgid "Maximum Quantum" msgstr "Maximálny zisk" #: data/ui/pipe_manager_box.ui:171 #, fuzzy msgid "Default Quantum" msgstr "Predvolené Zoslabnutie" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 #, fuzzy msgid "Output Devices" msgstr "Výstupné efekty" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Výstupné predvoľby:" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Výstupné predvoľby:" #: data/ui/pipe_manager_box.ui:396 #, fuzzy msgid "Input Devices" msgstr "Obmedzovač na vstupe" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 #, fuzzy msgid "Input Presets" msgstr "Vstupné predvoľby: " #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Vstupné predvoľby: " #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Moduly" #: data/ui/pipe_manager_box.ui:495 #, fuzzy msgid "Modules List" msgstr "Moduly" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "Klienti" #: data/ui/pipe_manager_box.ui:527 #, fuzzy msgid "Clients List" msgstr "Klienti" #: data/ui/pipe_manager_box.ui:541 #, fuzzy msgid "Test Signal" msgstr "Skúšobné signály" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stav" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Povolené" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanály" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 #, fuzzy msgid "Both Channels" msgstr "Kanály" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 #, fuzzy msgid "Sine Wave" msgstr "Sínusová tabuľka" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Biely šum" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frekvencia" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Okno" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filter" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Výška tónu" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Poltóny" #: data/ui/pitch.ui:156 #, fuzzy msgid "Tempo Difference" msgstr "Referenčný Signál" #: data/ui/pitch.ui:178 #, fuzzy msgid "Rate Difference" msgstr "Referenčný Signál" #: data/ui/plugin_row.ui:50 #, fuzzy msgid "Remove this effect" msgstr "Odstrániť predvoľbu" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 #, fuzzy msgid "Add Effect" msgstr "Vstupné predvoľby: " #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Odstrániť predvoľbu" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 #, fuzzy msgid "_General" msgstr "Všeobecné" #: data/ui/preferences_general.ui:10 #, fuzzy msgid "Service" msgstr "Server" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 #, fuzzy msgid "Process All Output Streams" msgstr "Spracovať všetky výstupy" #: data/ui/preferences_general.ui:54 #, fuzzy msgid "Process All Input Streams" msgstr "Spracovať všetky vstupy" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 #, fuzzy msgid "Inactivity Timeout" msgstr "Čas. limit aktivity" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "Aktualizované preklady" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Frekvencia" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Použiť tmavý motív" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 #, fuzzy msgid "Experimental Features" msgstr "Experimentálna" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Skryť okno" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 #, fuzzy msgid "_Spectrum" msgstr "Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Pruhy" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Čiary" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Body" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Výška" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Šírka čiary" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Výplň" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 #, fuzzy msgid "Color" msgstr "Farba osi" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 #, fuzzy msgid "Frequency Range" msgstr "Frekvencia" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Minimum" msgstr "Maximálna" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Maximálna" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Načítať" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Uložiť aktuálne nastavenia do tejto predvoľby" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Uložiť aktuálne nastavenia do tejto predvoľby" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Odstrániť predvoľbu" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "Skúšobný" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Výstupné predvoľby: " #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importovať model" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Vstupné predvoľby: " #: data/ui/presets_menu.ui:56 #, fuzzy msgid "Create a new preset" msgstr "Vytvoriť predvoľbu" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Vstupné predvoľby: " #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Vstupné predvoľby: " #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Výstupné predvoľby: " #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Výstupné predvoľby: " #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Vysokofrekvenčné tlmenie" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Veľkosť miestnosti" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Malá" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Stredná" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Veľká" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Veľká/hladká" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Experimentálna" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Rozptyl" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Predoneskorenie" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Čas dozvuku" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Odrezanie basov" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Odrezanie výšok" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Okolie" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Prázdne steny" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Miestnosť" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Veľká miestnosť (prázdna)" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Veľká miestnosť (plná)" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importovať model" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Detekcia reči" #: data/ui/rnnoise.ui:151 #, fuzzy msgid "Models" msgstr "Režim" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 #, fuzzy msgid "Standard Model" msgstr "Štandardný model RNNoise" #: data/ui/rnnoise.ui:204 #, fuzzy msgid "RNNoise Models List" msgstr "Štandardný model RNNoise" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktívny model" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Štandardný model RNNoise" #: data/ui/shortcuts.ui:11 #, fuzzy msgid "Overview" msgstr "Server" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 #, fuzzy msgid "Close the Window" msgstr "Skryť okno" #: data/ui/shortcuts.ui:37 #, fuzzy msgid "Quit Easy Effects" msgstr "Vstupné efekty" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Červený šum" #: data/ui/speex.ui:46 #, fuzzy msgid "Automatic Gain Control" msgstr "Automatické vyhladenie" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Ozvena (reverb)" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Potlačenie šumu" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "Úroveň F2" #: data/ui/stereo_tools.ui:78 #, fuzzy msgid "Input Balance" msgstr "Vyváženie" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:114 #, fuzzy msgid "Softclip Level" msgstr "Softclip" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Stereo matica" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "ĽP > PĽ (štandardné Stereo)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "ĽP > SS (stereo ku strednej strane)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "SS > ĽP (stredná strana ku stereu)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "ĽP > ĽĽ (mono ľavý kanál)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "ĽP > PP (mono pravý kanál)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "ĽP > Ľ+P (mono sčítanie Ľ+P)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "ĽP > PĽ (stereo preklopené Kanály)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Režim sterea" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Úroveň strán" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Vyváženie strán" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Stredová úroveň" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Stredná paronáma" #: data/ui/stereo_tools.ui:417 #, fuzzy msgid "Output Balance" msgstr "Výstupný Zisk" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Oneskorenie Ľ/P" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Oneskorenie Ľavo/Pravo" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Základ sterea" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Fáza sterea" #: src/app_info.cpp:100 #, fuzzy msgid "Running" msgstr "beží" #: src/app_info.cpp:102 #, fuzzy msgid "Suspended" msgstr "pozastavené" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 #, fuzzy msgid "Creating" msgstr "vytváram" #: src/app_info.cpp:108 #, fuzzy msgid "Error" msgstr "chyba" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 #, fuzzy msgid "channels" msgstr "Kanály" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Ukončiť PulseEffect. Užitočné pre beh v režime služby." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 #, fuzzy msgid "Reset Easy Effects." msgstr "Obnoviť EasyEffects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Skryť okno." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Globálne premostenie. 1 pre zapnutie, 2 pre vypnutie, 3 pre získanie stavu" #: src/application.cpp:615 msgid "Show available presets." msgstr "Zobraziť dostupné predvoľby." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Načítať predvoľby. Napr.: easyffects -l music" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Výstup" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Vstup" #: src/application_ui.cpp:346 #, fuzzy msgid "_PipeWire" msgstr "PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 #, fuzzy msgid "Impulse File Not Imported" msgstr "Načítať súbor impulzu" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Načítať súbor impulzu" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otvoriť" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Odpoveď impulzu" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Načítať impulz" #: src/convolver_menu_impulses.cpp:296 #, fuzzy msgid "Remove Impulse" msgstr "Importovať impulz" #: src/convolver_ui.cpp:382 #, fuzzy msgid "No Impulse File Loaded" msgstr "Načítať súbor impulzu" #: src/convolver_ui.cpp:408 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Nedá sa načítať súbor s impulzom" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 #, fuzzy msgid "Recorders" msgstr "Okraj" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Prehrávače" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Načítať APO predvoľbu" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO predvoľby" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Načítať APO predvoľbu" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO predvoľby" #: src/equalizer_ui.cpp:853 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Načítať APO predvoľbu" #: src/equalizer_ui.cpp:861 #, fuzzy msgid "GraphicEQ Presets" msgstr "Vstupné predvoľby: " #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 #, fuzzy msgid "Remove Autoloading Preset" msgstr "Odstrániť predvoľbu" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Výstupné efekty" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 #, fuzzy msgid "Output Device" msgstr "Výstupné efekty" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Pridať" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Načítať predvoľbu" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplikácie" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Vstupné predvoľby: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Vstupné predvoľby: " #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Načítať predvoľbu" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importovať model zo súboru" #: src/rnnoise_ui.cpp:172 #, fuzzy msgid "RNNoise Models" msgstr "Štandardný model RNNoise" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Vylepšovač hĺbok" #: src/tags_plugin_name.cpp:40 #, fuzzy msgid "Bass Loudness" msgstr "Hlasitosť" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Zbaľovač" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Prelínanie kanálov" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Kryštalizátor" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Rušenie ozveny" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ekvalizér" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Budič" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Výstupné efekty" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Obmedzovač" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Zosilňovač" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Viacpásmový kompresor" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Viacpásmová brána" #: src/tags_plugin_name.cpp:61 #, fuzzy msgid "Reverberation" msgstr "Ozvena (reverb)" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Redukcia šumu" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Stereo nástroje" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "Ceiling" #~ msgstr "Strop" #~ msgid "\"Presets\"" #~ msgstr "\"Predvoľby\"" #, fuzzy #~ msgid "Import a preset" #~ msgstr "Načítať predvoľbu" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Režim filtra nízkej priepuste" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Horný prechod" #~ msgid "Uniform" #~ msgstr "Rovnomerný" #, fuzzy #~ msgid "New Output Preset Name" #~ msgstr "Výstupné predvoľby: " #~ msgid "infinity" #~ msgstr "nekonečno" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Pomer" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Dolná priepusť" #, fuzzy #~ msgid "High-pass" #~ msgstr "Horné pásmo" #~ msgid "Gating" #~ msgstr "Hradlo" #~ msgid "12dB/oct Lowpass" #~ msgstr "Nízka pásmová priepusť 12dB/okt" #~ msgid "24dB/oct Lowpass" #~ msgstr "Nízka pásmová priepusť 24dB/okt" #~ msgid "36dB/oct Lowpass" #~ msgstr "Nízka pásmová priepusť 36dB/okt" #~ msgid "12dB/oct Highpass" #~ msgstr "Vysoká pásmová priepusť 12dB/okt" #~ msgid "24dB/oct Highpass" #~ msgstr "Vysoká pásmová priepusť 24dB/okt" #~ msgid "36dB/oct Highpass" #~ msgstr "Vysoká pásmová priepusť 36dB/okt" #~ msgid "6dB/oct Bandpass" #~ msgstr "Pásmová priepusť 6dB/okt" #~ msgid "12dB/oct Bandpass" #~ msgstr "Pásmová priepusť 12dB/okt" #~ msgid "18dB/oct Bandpass" #~ msgstr "Pásmová priepusť 18dB/okt" #~ msgid "6dB/oct Bandreject" #~ msgstr "Vylúčenie pásma 6dB/okt" #~ msgid "12dB/oct Bandreject" #~ msgstr "Vylúčenie pásma 12dB/okt" #~ msgid "18dB/oct Bandreject" #~ msgstr "Vylúčenie pásma 18dB/okt" #~ msgid "Inertia" #~ msgstr "Zotrvačnosť" #, fuzzy #~ msgid "Band Type" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band Mode" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band Slope" #~ msgstr "Sklon" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Hlasitosť" #, fuzzy #~ msgid "High Speed" #~ msgstr "Horný prah" #, fuzzy #~ msgid "High Quality" #~ msgstr "Kvalita" #, fuzzy #~ msgid "Formant" #~ msgstr "Formát" #, fuzzy #~ msgid "Preserved" #~ msgstr "Predvoľby" #, fuzzy #~ msgid "Crisp" #~ msgstr "Krehkosť" #, fuzzy #~ msgid "Detector" #~ msgstr "Detekcia" #, fuzzy #~ msgid "Compound" #~ msgstr "Kompresia" #, fuzzy #~ msgid "Soft" #~ msgstr "Softclip" #~ msgid "Cents" #~ msgstr "Centy" #~ msgid "Octaves" #~ msgstr "Oktávy" #, fuzzy #~ msgid "Open the Easy Effects Manual" #~ msgstr "Obnoviť PulseEffects" #~ msgid "High Pass" #~ msgstr "Horné pásmo" #~ msgid "Low Pass" #~ msgstr "Spodné pásmo" #~ msgid "Cancel" #~ msgstr "Zrušiť" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Predzosilnenie" #~ msgid "Frame Size" #~ msgstr "Veľkosť rámca" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Dolná priepusť" #, fuzzy #~ msgid " Uniform" #~ msgstr "Rovnomerný" #, fuzzy #~ msgid "Left Delay" #~ msgstr "Predoneskorenie" #, fuzzy #~ msgid "Right Delay" #~ msgstr "Rozdeliť kanály" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Úroveň F2" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Úroveň F2" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Cieľová úroveň" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Cieľová úroveň" #, fuzzy #~ msgid "Suppression" #~ msgstr "Redukcia zosilnenia" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Zvukové efekty pre aplikácie využívajúce PipeWire" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Redukcia šumu" #, fuzzy #~ msgid "Load APO Preset" #~ msgstr "APO predvoľby" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Výstupné predvoľby: " #~ msgid "Input Presets: " #~ msgstr "Vstupné predvoľby: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Rozdeliť" #~ msgid "Split 1/2" #~ msgstr "Rozdeliť 1/2" #~ msgid "Split 2/3" #~ msgstr "Rozdeliť 2/3" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Frekvencia" #~ msgid "Split 3/4" #~ msgstr "Rozdeliť 3/4" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Frekvencia" #~ msgid "Sub Band" #~ msgstr "Spodné pásmo" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 1 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 1 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Pozdvihnutie" #~ msgid "Max Reduction" #~ msgstr "Redukcia" #~ msgid "Low Band" #~ msgstr "Nízke pásmo" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 2 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 2 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Pozdvihnutie" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Redukcia zosilnenia" #~ msgid "Mid Band" #~ msgstr "Stredné pásmo" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 3 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Pozdvihnutie" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Redukcia zosilnenia" #~ msgid "High Band" #~ msgstr "Vysoké pásmo" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Premostiť" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Nábeh" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Uvoľnenie" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Prah" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Pásma" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Pozdvihnutie" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Redukcia zosilnenia" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Množstvo" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Množstvo" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects je pokročilý nástroj pre úpravu zvuku. Obsahuje ekvalizér, " #~ "obmedzovač, kompresor, nástroj ozveny a množstvo ďalších efektov. Pre " #~ "doplnenie je napríklad zabudovaný aj analyzátor spektra." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects je následovník PulseEffects. EasyEffects podporuje len " #~ "zvukový server PipeWire. Použivatelia PulseAudio by mali používať " #~ "PulseEffects." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Pretože EasyEffects štandardne používa zvukový server PulseWire, funguje " #~ "s väčšinou (ak nie so všetkými) aplikácií. Všetky podprované programy sú " #~ "zobrazené v hlavnom okne, kde je ich možné individuálne povoliť." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Popri práci s úpravou výstupného zvuku, EasyEffects je možné použiť aj na " #~ "úpravu vstupných zvukov z mikrofónu. To môžete využiť napríklad pri " #~ "nahrávaní, ale funguje to dobre aj pri audiohovoroch." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "Keď je EasyEffects spustený, zapamätá si posledné používané nastavenia. " #~ "Taktiež je možné uložiť všetky aktuálne nastavenia ako profily." #~ msgid "The main page showing two audio output apps" #~ msgstr "Hlavná stránka ukazujújca dve výstupové aplikácie." #, fuzzy #~ msgid "and #1427" #~ msgstr "Pásma" #, fuzzy #~ msgid "Many translation updates" #~ msgstr "Aktualizované preklady" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "neplýtvame výkonom procesora počas ticha." #~ msgid "mean." #~ msgstr "geometrický priemer." #~ msgid "This release adds the following feature:" #~ msgstr "Toto vydanie pridáva následujúcu vlastnosť:" #~ msgid "Average" #~ msgstr "Priemerná" #~ msgid "Failed" #~ msgstr "Zlyhalo" #, fuzzy #~ msgid "Use Default" #~ msgstr "Použiť predvolený" #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Odstrániť predvoľbu" #~ msgid "Import Presets" #~ msgstr "Načítať predvoľbu" #~ msgid "Start Service at Login" #~ msgstr "Spustiť službu pri prihlásení" #, fuzzy #~ msgid "Activate" #~ msgstr "Aktívny model" #~ msgid "Add to Blocklist" #~ msgstr "Pridať na zoznam blokovaných" #~ msgid "Blocklist" #~ msgstr "Zoznam blokovaných" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibrovať mikrofón" #, fuzzy #~ msgid "enabled" #~ msgstr "Povolené" #, fuzzy #~ msgid "disabled" #~ msgstr "Povolené" #~ msgid "Format" #~ msgstr "Formát" #~ msgid "Latency" #~ msgstr "Odozva" #~ msgid "idle" #~ msgstr "nečinné" #~ msgid "running" #~ msgstr "beží" #~ msgid "suspended" #~ msgstr "pozastavené" #~ msgid "creating" #~ msgstr "vytváram" #~ msgid "error" #~ msgstr "chyba" #~ msgid "unknown" #~ msgstr "neznáme" #~ msgid "Faster" #~ msgstr "Rýchlo" #~ msgid "Preserve Formant" #~ msgstr "Zachovať zložku rozhodujúcu o farbe zvuku" #~ msgid "Cmoy" #~ msgstr "Slúchadlový zosilňovač (CMoy)" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Výstupný Zisk" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanály" #, fuzzy #~ msgid "Value" #~ msgstr "Spodná hranica" #, fuzzy #~ msgid "Output Effects" #~ msgstr "Výstupné efekty" #~ msgid "Settings" #~ msgstr "Nastavenia" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Nastavenia" #, fuzzy #~ msgid "Documentation" #~ msgstr "Trvanie" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Skúšobné signály" #, fuzzy #~ msgid "Signal" #~ msgstr "Skúšobné signály" #~ msgid "Show Spectrum" #~ msgstr "Zobraziť spektrum" #~ msgid "Border" #~ msgstr "Okraj" #~ msgid "Spectrum Type" #~ msgstr "Typ spektra" #~ msgid "Spectrum Color" #~ msgstr "Farba spektra" #, fuzzy #~ msgid "Remove Model" #~ msgstr "Aktívny model" #~ msgid "Maximum Gain Reduction" #~ msgstr "Najvyššia redukcia zisku" #, fuzzy #~ msgid "Wet" #~ msgstr "Váhy" #~ msgid "S/C Level" #~ msgstr "S/C Úroveň" #~ msgid "Short Term" #~ msgstr "Krátkodobá" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Nastaviť hlasitosť a zapnúť/vypnúť efekty" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Zahŕňa ekvalizér s prednastavenými profilmi" #~ msgid "Input Limiter" #~ msgstr "Obmedzovač na vstupe" #~ msgid "Calibration" #~ msgstr "Kalibrácia" #~ msgid "Limit" #~ msgstr "Obmedzenie" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Zvukové efekty pre aplikácie využívajúce PulseAudio" #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Zvukové efekty pre aplikácie PulseAudio" #~ msgid "Calibration Microphone" #~ msgstr "Kalibrovať mikrofón" #~ msgid "Based on" #~ msgstr "Na základe" #~ msgid "Detect Silence" #~ msgstr "Detekcia ticha" #~ msgid "Provided by" #~ msgstr "Poskytuje" #~ msgid "Reconnect the microphone to apply new changes made to the Blocklist" #~ msgstr "" #~ "Znovu pripojiť mikrofón pre použitie zmien vykonaných v zozname " #~ "blokovaných" #~ msgid "Restart the player to apply new changes made to the Blocklist" #~ msgstr "Reštartovať prehrávač, aby sa uplatnili zmeny v zozname blokovaných" #~ msgid "Sine" #~ msgstr "Sínus" #~ msgid "Square" #~ msgstr "Štvorec" #~ msgid "Saw" #~ msgstr "Píla" #~ msgid "Triangle" #~ msgstr "Trojuholník" #~ msgid "Pink Noise" #~ msgstr "Ružový Šum" #~ msgid "Ticks" #~ msgstr "Tiky" #~ msgid "Gaussian Noise" #~ msgstr "Gaussový šum" #~ msgid "Blue Noise" #~ msgstr "Modrý šum" #~ msgid "Violet Noise" #~ msgstr "Fialový Šum" #~ msgid "Volume" #~ msgstr "Hlasitosť" #~ msgid "Measure Noise" #~ msgstr "Merať šum" #~ msgid "Subtract Noise" #~ msgstr "Odčítať šum" #~ msgid "Low-pass Frequency" #~ msgstr "Frekvencia nízkej priepuste" #~ msgid "Advanced" #~ msgstr "Pokročilé" #~ msgid "Import Impulse Response File" #~ msgstr "Importovať súbor s odpoveďou impulzu" #~ msgid "Select the impulse Response File" #~ msgstr "Vyberte súbor s odpoveďou impulzu" #~ msgid "Aggressive Mode" #~ msgstr "Agresívny režim" #~ msgid "Before" #~ msgstr "Pred" #~ msgid "After" #~ msgstr "Po" #~ msgid "Loudness Range" #~ msgstr "Dynamický Rozsah" #~ msgid "Apply APO Preset" #~ msgstr "Použiť APO predvoľby" #~ msgid "Apply" #~ msgstr "Použiť" #~ msgid "Muted" #~ msgstr "Stíšený" #~ msgid "Distant Headphones" #~ msgstr "Vzdialené slúchadlá" #~ msgid "Niceness" #~ msgstr "Hodnota nice" #~ msgid "Priority Type" #~ msgstr "Typ priority" #~ msgid "Priority" #~ msgstr "Priorita" #~ msgid "About" #~ msgstr "O programe" #~ msgid "Loudness Compensator" #~ msgstr "Kompenzácia hlasitosti" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Automaticky použiť toto nastavenie, ak je aktuálne používané zariadenie " #~ "pripojené" #~ msgid "Protocol" #~ msgstr "Protokol" #~ msgid "Default Sample Format" #~ msgstr "Predvolený formát vzorkovania" #~ msgid "File" #~ msgstr "Súbor" #~ msgid "Configuration" #~ msgstr "Konfigurácia" #~ msgid "Resamplers" #~ msgstr "Prevzorkovače" #~ msgid "Pipeline Input" #~ msgstr "Pipeline vstup" #~ msgid "Buffer" #~ msgstr "Vyrovnávacia pamäť" #~ msgid "Pipeline Output" #~ msgstr "Pipeline výstup" #~ msgid "Block Size" #~ msgstr "Veľkosť bloku" #~ msgid "Use Custom Color" #~ msgstr "Použiť vlastnú Farbu" #~ msgid "Use Gradient" #~ msgstr "Použiť tieňovanie" #~ msgid "Sampling" #~ msgstr "Vzorkovanie" #~ msgid "Maximum Frequency" #~ msgstr "Maximálna frekvencia" #~ msgid "Gradient Color" #~ msgstr "Farba prechodu" #~ msgid "WebRTC" #~ msgstr "WebRTC" #~ msgid "Extended Filter" #~ msgstr "Rozšírený filter" #~ msgid "Low" #~ msgstr "Nízky" #~ msgid "Moderate" #~ msgstr "Stredný" #~ msgid "High" #~ msgstr "Vysoký" #~ msgid "Delay Agnostic" #~ msgstr "Absolútne oneskorenie" #~ msgid "Very High" #~ msgstr "Veľmi vysoká" #~ msgid "Adaptive Digital" #~ msgstr "Prispôsobivý digitálny" #~ msgid "Fixed Digital" #~ msgstr "Pevný digitálny" #~ msgid "Detection Likelihood" #~ msgstr "Pravdepodobnosť zistenia" #~ msgid "Very Low" #~ msgstr "Veľmi nízka" #~ msgid "Resampler" #~ msgstr "Prevzorkovač" #~ msgid "paused" #~ msgstr "pozastavené" #~ msgid "playing" #~ msgstr "hrá" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "Import APO Presets" #~ msgstr "Načítať APO predvoľbu" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Redukcia zosilnenia" #~ msgid "Exponent" #~ msgstr "Exponent" easyeffects-7.1.7/po/sv.po000066400000000000000000002141301463533416400154470ustar00rootroot00000000000000# Swedish translation of EasyEffects application. # Copyright (C) 2017 # This file is distributed under the same license as the easyeffects package. # Patrik Nilsson , 2017. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2023-02-20 00:59+0000\n" "Last-Translator: Luna Jernberg \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.16-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Equalizer, kompressor och andra ljudeffekter" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Ljudeffekter för PipeWire-applikationer" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "begränsare;kompressor;eko;utjämnare;autovolym;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Aktivera/inaktivera detta program" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Aktivera" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Tysta applikationen" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Applikationsvolym" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Återställ inställningar" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Om Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Profiler" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Förinställningsmeny" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects-fönster" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Applikationslista" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Ingen ljudapplikation tillgänglig" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Målvärde (dB)" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Tystnad" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Maximal historik" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "Återställ historik" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Återställ" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Utgångsförstärkning (dB)" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Ingång" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Plugin ingångsförstärkning (dB)" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Utgång" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Plugin utgångsförstärkning (dB)" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Enhet" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Namn" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Förinställning" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Ta bort denna modellfil" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Lyssna" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Applikationsnamn" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Lägg till i exkluderade applikationer" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Lista över exkluderade applikationer" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Visa exkluderade applikationer" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 #, fuzzy msgid "Show Native Window" msgstr "Mellanrum (s)" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Kompressor" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Förstärkning" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Komprimeringsläge" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Tröskelvärde för förstärkning (dB)" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Förstärkningsmängd" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Attack (ms)" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Tröskelvärde (dB)" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Attacktid (ms)" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Tröskelvärde för attack (dB)" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Släpp (s)" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Tid för frisläppning (s)" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Tröskelvärde för frisläppning (dB)" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Förhållande (n:1)" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Knävärde (dB)" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Makeup (dB)" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Torrnivå" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Våtnivå" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Sidokedja" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 #, fuzzy msgid "Stereo Split Mode" msgstr "Stereoläge" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Mitten" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Sida" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 #, fuzzy msgid "Min" msgstr "Minst" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Sidokedjekälla" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 #, fuzzy msgid "Left/Right" msgstr "Fördröj vänster höger" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 #, fuzzy msgid "Right/Left" msgstr "Tonhöjd vänster" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 #, fuzzy msgid "Mid/Side" msgstr "Sida" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 #, fuzzy msgid "Side/Mid" msgstr "Sida" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Stereo Split Source" msgstr "Stereoläge" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Topp" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Lågpassfilter" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Sidokedjeläge" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Extern sidokedja" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Respons" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Typ av sidokedja" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Ingångsenhet" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Förförstärkning" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Sidokedjefilter" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Högpass" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Frekvens (Hz)" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Högpassfilterläge" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Högpassfilterfrekvens" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Lågpass" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Lågpassfilterläge" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Förstärkning" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "V" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Vänster kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "H" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Höger kanal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulser" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereobredd" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Automatisk förstärkning" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Takt" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Prover" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Varaktighet" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Kombinera impulssvar" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Utdatafilnamn" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Importera impuls" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Sök impulsfil" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Lista över impulsfiler" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Gräns (Hz)" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Mata (dB)" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 #, fuzzy msgid "Attenuation Limit" msgstr "Försvagning" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlängd" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Upptäckt" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frekvens 1 delning (Hz)" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 topp" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frekvens 2 topp (Hz)" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 förstärkning (dB)" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frekvens 1 förstärkning (Hz)" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 nivå" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frekvens 2 nivå (Hz)" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 topp Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frekvens 2 topp Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Upptäckt" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Reduktion" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Fördröjning" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlängd" #: data/ui/echo_canceller.ui:49 #, fuzzy msgid "Residual Echo Suppression" msgstr "Kompressor" #: data/ui/echo_canceller.ui:70 #, fuzzy msgid "Near End Echo Suppression" msgstr "Kompressor" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Aktivera/inaktivera detta program" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Tonhöjd vänster" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Tonhöjd höger" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Delade kanaler" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Platt respons" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 #, fuzzy msgid "Sort Bands" msgstr "Underband" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Importera förinställning" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Importera förinställning" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Bredd" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Tak (dB)" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "Bandläge" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Beskrivning" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Ta bort denna modellfil" #: data/ui/filter.ui:52 #, fuzzy msgid "Low-Shelf" msgstr "Låg hylla" #: data/ui/filter.ui:53 #, fuzzy msgid "High-Shelf" msgstr "Hög hylla" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "Förbikoppling av band 1" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "Lågpass" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "Bandreduktion" #: data/ui/filter.ui:60 #, fuzzy msgid "All-Pass" msgstr "Lågpass" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "Utjämnare" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Filter" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Start av frisläppande zon" #: data/ui/level_meter.ui:28 #, fuzzy msgid "True Peak" msgstr "Frekvens 2 topp (Hz)" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Återställ historik" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Linje tunn" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Linje bred" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Linje svans" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Sidokedjeförförstärkning" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Förstärkning" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereolänk" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Extern sidokedja" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Automatisk utjämning" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Automatisk utjämningsattack" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Automatisk utjämningsutlösning" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Automatisk knäutjämning" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Förstärkning vänster" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Sidokedja vänster" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Sidokedja höger" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT-storlek" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Utgångsvolym" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Klippning" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Sidokedjeförstärkning" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Driftläge" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "Stereofas" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Lista över band" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Bandkomprimeringsläge" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Alternativ för bandsidokedja" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 #, fuzzy msgid "Stereo Split" msgstr "Stereoläge" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "Lågklippt filter" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Lågklippt filterfrekvens" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "Högklippt filter" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Högklippt filterfrekvens" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Bandförstärkning" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Bandreduktion" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Allmänt" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Anpassad indataenhet" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Anpassad utdataenhet" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Serverinformation" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Samplingshastighet" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Minsta kvantum" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Största kvantum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Standardkvantum" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Utgångsenheter" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Utgångsförinställningar" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Lista över utgångsförinställningar" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Ingångsenheter" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Ingångsförinställningar" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Lista över ingångsförinställningar" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Testsignal" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktiverad" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanaler" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Båda kanalerna" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinusvåg" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Vitt brus" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 #, fuzzy msgid "Sequence Length" msgstr "Frekvensomfång" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "Mellanrum (s)" #: data/ui/pitch.ui:102 #, fuzzy msgid "Overlap Length" msgstr "Filterlängd" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Ta bort denna effekt" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Lägg till effekt" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "Ta bort denna effekt" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Inga effekter" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Allmänt" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Tjänst" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Delad frekvens 1" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Använd mörkt tema" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 #, fuzzy msgid "Native Plugin Window" msgstr "Mellanrum (s)" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Punkter" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Linjebredd" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Frekvensomfång" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Minst" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Spara dessa inställningar till fil" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Spara dessa inställningar till fil" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Sök utgångsförinställning" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Importmodell" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 #, fuzzy msgid "New Preset Name" msgstr "Nytt namn på förinställd ingång" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Skapa en ny förinställning" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Sök ingångsförinställning" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Lista över ingångsförinställningar" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Sök utgångsförinställning" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Lista över utgångsförinställningar" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Rumsstorlek" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Liten" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Stor" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Före fördröjning" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Omgivning" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Rum" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Importmodell" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 #, fuzzy msgid "Voice Detection" msgstr "Försvagning" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Aktiv modell" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Översikt" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Avsluta Easy Effects" #: data/ui/speex.ui:33 #, fuzzy msgid "Denoise" msgstr "Rött brus" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 #, fuzzy msgid "Dereverberation" msgstr "Eko" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 #, fuzzy msgid "Noise Suppression" msgstr "Kompressor" #: data/ui/speex.ui:145 #, fuzzy msgid "Level" msgstr "F2 nivå" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Ingångsbalans" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Softclipnivå" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Stereomatris" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono vänster kanal)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono höger kanal)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereoläge" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Sidonivå" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Sidobalans" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Mellannivå" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Mellanpanorama" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Utgångsbalans" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Fördröjning L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Fördröj vänster höger" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Stereobas" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Stereofas" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "Skapande" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "kanaler" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Återställ Easy Effects." #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 #, fuzzy msgid "_Output" msgstr "Utgång" #: src/application_ui.cpp:345 #, fuzzy msgid "_Input" msgstr "Ingång" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Impulsfilen har inte importerats" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Importera impulsfil" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Impulssvar" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Ladda impuls" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Ta bort impuls" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Ingen impulsfil laddad" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Det gick inte att ladda Impulsfilen" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effekter" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "Importera APO-förinställd fil" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO-förinställningar" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importera APO-förinställd fil" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO-förinställningar" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "Importera GraphicEQ-förinställd fil" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ-förinställningar" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 #, fuzzy msgid "Output Level Meter" msgstr "Utmatningsenhet" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Ta bort" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Utmatningsenhet" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Importera förinställning" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Lista över exkluderade applikationer" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "Nytt namn på förinställd ingång" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Lista över ingångsförinställningar" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Importera förinställning" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Importera modellfil" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise-modeller" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Basförstärkare" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Kristalliserare" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Ekosläckare" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Utjämnare" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 #, fuzzy msgid "Level Meter" msgstr "Utmatningsenhet" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Begränsare" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Flerbandskompressor" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Flerbandsport" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Eko" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Brusreducering" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Stereoverktyg" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Använder" #~ msgid "Ceiling" #~ msgstr "Tak" #~ msgid "\"Presets\"" #~ msgstr "\"Förinställningar\"" #~ msgid "Import a preset" #~ msgstr "Importera en förinställning" #~ msgid "Low-Cut Filter" #~ msgstr "Lågklippt filter" #~ msgid "High-Cut Filter" #~ msgstr "Högklippt filter" #~ msgid "New Output Preset Name" #~ msgstr "Nytt namn på förinställd utgång" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Förhållande (n:1)" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Tröskelvärde (dB)" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Lågpass" #, fuzzy #~ msgid "High-pass" #~ msgstr "Högpass" #~ msgid "Band Type" #~ msgstr "Bandtyp" #~ msgid "Band Mode" #~ msgstr "Bandläge" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Lista över band" #~ msgid "High Speed" #~ msgstr "Hög hastighet" #~ msgid "High Quality" #~ msgstr "Hög kvalitet" #~ msgid "Formant" #~ msgstr "Formant" #~ msgid "Preserved" #~ msgstr "Bevarad" #~ msgid "Detector" #~ msgstr "Detektor" #~ msgid "Compound" #~ msgstr "Förening" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Öppna Easy Effects Manual" #~ msgid "High Pass" #~ msgstr "Högpass" #~ msgid "Low Pass" #~ msgstr "Lågpass" #~ msgid "Cancel" #~ msgstr "Avbryt" #, fuzzy #~ msgid " PreAmplification" #~ msgstr "Förförstärkning" #~ msgid "Frame Size" #~ msgstr "Ramstorlek" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Lågpass" #~ msgid "Left Delay" #~ msgstr "Vänsterfördröjning" #~ msgid "Right Delay" #~ msgstr "Högerfördröjning" #~ msgid "Left Dry Level" #~ msgstr "Vänster torrnivå" #~ msgid "Right Dry Level" #~ msgstr "Höger torrnivå" #~ msgid "Left Wet Level" #~ msgstr "Vänster våtnivå" #~ msgid "Right Wet Level" #~ msgstr "Höger våtnivå" #, fuzzy #~ msgid "Suppression" #~ msgstr "Förstärkningsreducering" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "Ljudeffekter för PipeWire-applikationer" #, fuzzy #~ msgid "Noise Reduction (Fast)" #~ msgstr "Förstärkningsreducering" #~ msgid "Load APO Preset" #~ msgstr "Ladda APO-förinställning" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Utgångsförinställningar: " #~ msgid "Input Presets: " #~ msgstr "Ingångsförinställningar: " #~ msgid "Split Mode" #~ msgstr "Delat läge" #~ msgid "Split Frequency 2" #~ msgstr "Delad frekvens 2" #~ msgid "Split Frequency 3" #~ msgstr "Delad frekvens 3" #~ msgid "Band 1 Solo" #~ msgstr "Band 1 solo" #~ msgid "Band 1 Detection" #~ msgstr "Band 1-detektering" #~ msgid "Band 1 Attack" #~ msgstr "Band 1 attack" #~ msgid "Band 1 Release" #~ msgstr "Band 1 släpp" #~ msgid "Band 1 Threshold" #~ msgstr "Band 1 tröskel" #~ msgid "Band 1 Ratio" #~ msgstr "Band 1-förhållande" #~ msgid "Band 1 Knee" #~ msgstr "Band 1 knä" #~ msgid "Band 1 Makeup" #~ msgstr "Band 1 sammansättning" #~ msgid "Max Reduction" #~ msgstr "Maximal minskning" #~ msgid "Low Band" #~ msgstr "Lågt band" #~ msgid "Band 2 Bypass" #~ msgstr "Förbikoppling av band 2" #~ msgid "Band 2 Solo" #~ msgstr "Band 2 solo" #~ msgid "Band 2 Detection" #~ msgstr "Band 2-detektering" #~ msgid "Band 2 Attack" #~ msgstr "Band 2 attack" #~ msgid "Band 2 Release" #~ msgstr "Band 2 släpp" #~ msgid "Band 2 Threshold" #~ msgstr "Tröskelvärde för band 2" #~ msgid "Band 2 Ratio" #~ msgstr "Band 2-förhållande" #~ msgid "Band 2 Knee" #~ msgstr "Band 2 knä" #~ msgid "Band 2 Makeup" #~ msgstr "Band 2 sammansättning" #~ msgid "Band 2 Max Reduction" #~ msgstr "Band 2 max reduktion" #~ msgid "Mid Band" #~ msgstr "Mittband" #~ msgid "Band 3 Bypass" #~ msgstr "Förbikoppling av band 3" #~ msgid "Band 3 Solo" #~ msgstr "Band 3 solo" #~ msgid "Band 3 Detection" #~ msgstr "Band 3-detektering" #~ msgid "Band 3 Attack" #~ msgstr "Band 3 attack" #~ msgid "Band 3 Release" #~ msgstr "Band 3 släpp" #~ msgid "Band 3 Threshold" #~ msgstr "Band 3 tröskelvärde" #, fuzzy #~ msgid "Band 3 Ratio" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Makeup (dB)" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "High Band" #~ msgstr "Högpass" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Release (s)" #, fuzzy #~ msgid "Band 4 Solo" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Attack (ms)" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Release (s)" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Tröskelvärde (dB)" #, fuzzy #~ msgid "Band 4 Ratio" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Makeup (dB)" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Förstärkningsreducering" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects är ett avancerat verktyg för manipulation av ljud. Det " #~ "innehåller en ljudutjämnare (equalizer), ljudbegränsare (limiter), " #~ "kompressor och ett efterklangsverktyg (eko), för att bara nämna några få. " #~ "Där finns även en inbyggd frekvensanalysator som kompletterar dessa." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "Eftersom EasyEffects använder sig av standard PipeWire som ljudserver " #~ "stödjer den de flesta, om inte alla, program du använder. Alla " #~ "applikationer som stöds presenteras i huvudfönstret, där var och en kan " #~ "aktiveras individuellt." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Förutom att manipulera dina programs ljud kan EasyEffects tillämpa " #~ "effekter på en ingångsenhet, såsom en mikrofon. Detta är exempelvis " #~ "användbart vid ljudinspelning, men det fungerar även bra under röstsamtal." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "När EasyEffects startas kommer det ihåg konfigurationen som användes " #~ "under den senaste sessionen. Det är också möjligt att spara alla aktuella " #~ "inställningar som profiler." #, fuzzy #~ msgid "Remove this plugin" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Import Presets" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Activate" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Microphone" #~ msgstr "Kalibrering och mikrofon korrigering" #, fuzzy #~ msgid "enabled" #~ msgstr "Sinustabell" #, fuzzy #~ msgid "disabled" #~ msgstr "Sinustabell" #~ msgid "Format" #~ msgstr "Format" #~ msgid "Latency" #~ msgstr "Latens" #, fuzzy #~ msgid "Output Channel" #~ msgstr "Ingångsförstärkning (dB)" #, fuzzy #~ msgid "Channel" #~ msgstr "Kanaler" #, fuzzy #~ msgid "Output Effects" #~ msgstr "Ingångs-begränsning" #~ msgid "Settings" #~ msgstr "Inställningar" #, fuzzy #~ msgid "Settings Menu" #~ msgstr "Inställningar" #, fuzzy #~ msgid "Documentation" #~ msgstr "Kalibrering" #, fuzzy #~ msgid "Enable Test Signal" #~ msgstr "Testsignal" #, fuzzy #~ msgid "Signal" #~ msgstr "Testsignal" #, fuzzy #~ msgid "Show Spectrum" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Spectrum Type" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Spectrum Color" #~ msgstr "Spektrum" #, fuzzy #~ msgid "Maximum Gain Reduction" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "S/C Level" #~ msgstr "Nivå" #~ msgid "Input Limiter" #~ msgstr "Ingångs-begränsning" #~ msgid "Calibration" #~ msgstr "Kalibrering" #, fuzzy #~ msgid "Limit" #~ msgstr "Gränsvärde (dB)" #~ msgid "Audio Effects for PulseAudio Applications" #~ msgstr "Ljudeffekter för PulseAudio applikationer" #, fuzzy #~ msgid "Audio effects for PulseAudio applications" #~ msgstr "Ljudeffekter för PulseAudio applikationer" #, fuzzy #~ msgid "Calibration Microphone" #~ msgstr "Kalibrering och mikrofon korrigering" #~ msgid "Sine" #~ msgstr "Sinus" #~ msgid "Square" #~ msgstr "Fyrkant" #~ msgid "Saw" #~ msgstr "Sågtand" #~ msgid "Triangle" #~ msgstr "Triangel" #~ msgid "Pink Noise" #~ msgstr "Skärt brus" #~ msgid "Ticks" #~ msgstr "Tickande" #~ msgid "Gaussian Noise" #~ msgstr "Gaussiskt brus" #~ msgid "Blue Noise" #~ msgstr "Blått brus" #~ msgid "Violet Noise" #~ msgstr "Violett brus" #~ msgid "Volume" #~ msgstr "Volym" #~ msgid "Measure Noise" #~ msgstr "Mät brus" #~ msgid "Subtract Noise" #~ msgstr "Ta bort brus" #, fuzzy #~ msgid "High" #~ msgstr "Högpass" #, fuzzy #~ msgid "Very High" #~ msgstr "Högpass" #, fuzzy #~ msgid "Detection Likelihood" #~ msgstr "Försvagning" #, fuzzy #~ msgid "Select the impulse Response File" #~ msgstr "Platt respons" #, fuzzy #~ msgid "Aggressive Mode" #~ msgstr "Ingen komprimering" #, fuzzy #~ msgid "Configuration" #~ msgstr "Kalibrering" #, fuzzy #~ msgid "Low-pass Frequency" #~ msgstr "Återställ frekvens" #, fuzzy #~ msgid "Advanced" #~ msgstr "Inställningar" #, fuzzy #~ msgid "Apply APO Preset" #~ msgstr "Profiler" #, fuzzy #~ msgid "Detect Silence" #~ msgstr "Försvagning" #, fuzzy #~ msgid "Minimum Frequency" #~ msgstr "Frekvens (Hz)" #, fuzzy #~ msgid "Resamplers" #~ msgstr "Resampler" #, fuzzy #~ msgid "Buffer" #~ msgstr "Latens" #, fuzzy #~ msgid "Pipeline Output" #~ msgstr "Ljudutjämnare - Utgång" #, fuzzy #~ msgid "Block Size" #~ msgstr "Rumsstorlek" #~ msgid "Resampler" #~ msgstr "Resampler" #, fuzzy #~ msgid "Import APO Presets" #~ msgstr "Öppna förinställning" #, fuzzy #~ msgid "Gain Detection" #~ msgstr "Förstärkningsreducering" #, fuzzy #~ msgid "Suppression Level" #~ msgstr "Förstärkningsreducering" easyeffects-7.1.7/po/th.po000066400000000000000000001553711463533416400154450ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2022-08-17 04:16+0000\n" "Last-Translator: Giusy Digital \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.14-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.7/po/tr.po000066400000000000000000002443551463533416400154600ustar00rootroot00000000000000# EasyEffects Türkçe Çeviri Dosyası. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # Serdar Sağlam , 2019. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-05-13 08:00+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Ekolayzır, Sıkıştırıcı ve Diğer Ses Efektleri" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire Uygulamaları için Ses Efektleri" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" "sınırlayıcı,kompresör,yankı,ekolayzır,otomatikses;yükseltici;sıkıştırıcı;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Bu uygulamayı etkinleştir/devre dışı bırak" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Etkinleştir" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Hariç Tutulan Uygulama Listesi: Bu uygulamayı ekle/kaldır" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Hariç tut" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Uygulamayı Sessize Al" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Bu uygulamanın ses seviyesini değiştir" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Uygulama Ses Seviyesi" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Yardım" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "Ayarları _Sıfırla" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Tercihler" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "Kısa_yollar" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "Easy Effects _Hakkında" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Çık" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Ön Ayarlar" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Ön Ayarlar Menüsü" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "Genel atlatmayı etkinleştir/devre dışı bırak" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "Genel Atlama" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "Ana Menü" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Easy Effects Penceresi" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Uygulama Listesi" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Boş Liste" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "Ses Uygulaması Yok" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Denetimler" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Hedef" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Sessizlik" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Azami Geçmiş" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "Referans" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Anlık" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kısa Süreli" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Tümleşik" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Geometrik Ortalama (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "Geometrik Ortalama (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "Geometrik Ortalama (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "Geometrik Ortalama (SI)" #: data/ui/autogain.ui:124 msgid "History" msgstr "Geçmiş" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Sıfırla" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Yüksek Ses" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Göreceli" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Sınır" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Çıktı Kazancı" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Girdi" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Eklenti Girdi Kazancı" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Çıktı" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Eklenti Çıktı Kazancı" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Aygıt" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Ad" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Profil" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "Ön Ayar" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Bu otomatik yükleme ön ayarını kaldır" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Liste" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Harmonik Karışımları" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3." #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2." #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Miktar" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Harmonikler" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Kapsam" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Zemin" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Zemin Değeri" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Bağ" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Uygulama Adı" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Hariç Tutulan Uygulamalara Ekle" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Hariç Tutulan Uygulamalar Listesi" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Hariç Tutulan Uygulamaları Göster" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Yerel Pencereyi Göster" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Sıkıştırıcı" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Kip" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Aşağıya" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Yukarı doğru" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Yükseltme" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Sıkıştırma Kipi" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Yükseltme Eşiği" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Yükseltme Miktarı" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Atak" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Zaman" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Eşik" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Atak Zamanı" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Atak Eşiği" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Bırak" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Bırakma Zamanı" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Bırakma Eşiği" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Oran" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Oynak" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "Süs" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Kuru Düzey" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Islak Düzey" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "Yanzincir" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Stereo Bölme Kipi" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Kaynak" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Orta" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Yan" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "Sol" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "Sağ" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Asgari" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Azami" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "Yanzincir Kaynağı" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Sol/Sağ" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Sağ/Sol" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Orta/Yan" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Yan/Orta" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Stereo Bölme Kaynağı" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Doruk" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Düşük Geçiş Süzgeci" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "Basit Hareketli Ortalama" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "Yanzincir Kipi" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "Yanzincir Dinle" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Tür" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "İleri-besleme" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "Geri-besleme" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Harici" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "Yanzincir Türü" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Giriş Aygıtı" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Ön Yükseltme" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Tepkinirlik" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "İlerleme" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "Yanzincir Süzgeçleri" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "Yüksek Geçiş" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Sıklık" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Kapalı" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Yüksek Geçiş Süzgeci Kipi" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Yüksek Geçiş Süzgeci Frekansı" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "Düşük Geçiş" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Alçak Geçiş Süzgeci Kipi" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Kazanç" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "Eğim" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Eğri" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Sol Kanal" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Sağ Kanal" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Dürtüler" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "Birleştir" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Stereo Genişliği" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Günlük Ölçeği" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Otomatik Kazanç" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Oran" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Örnekler" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Süre" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "Dürtü Yanıtlarını Birleştir" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "İlk Çekirdek" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "İkinci Çekirdek" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Çıkış Dosyası Adı" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Birleşik Çekirdek Adı" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Dürtü Dosyasını İçeri Al" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Ara" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "Dürtü Dosyasını Ara" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "Dürtü Dosyaları Listesi" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "Öntanımlı" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Kesici" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "Akış" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Atla" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "Sessiz" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Zayıflama Sınırı" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Asgari İşleme Eşiği" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "Azami ERB İşleme eşiği" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "Azami DF İşleme Eşiği" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "Asgari İşleme Tamponu" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "Süzgeç Sonrası Beta" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "Keşif" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "Geniş" #: data/ui/deesser.ui:78 msgid "Split" msgstr "Böl" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F2 Bölme" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "Frekans 1 Bölme" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 Doruk" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "Frekans 2 Doruk" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 Kazancı" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "Frekans 1 Kazancı" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 Seviye" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "Frekans 2 Seviyesi" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2 Doruk Q" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "Frekans 2 Doruk Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "Gevşeklik" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "Saptanan" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "Azaltma" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Gecikme" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "Ters Faz" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Süzgeç Uzunluğu" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "Artık Yankı Bastırma" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "Yakın Uç Yankı Bastırma" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "Hariç Tutulan Uygulamalar" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "Giriş izlemeyi etkinleştir/devre dışı bırak" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "Bantlar" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "Denge" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "Sol Perde" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "Sağ Perde" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "Kanalları Böl" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "Düz Yanıt" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "Frekansları Hesapla" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "Bantları Sırala" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "Ön Ayarı İçe Aktar" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "Ön Ayarı İçe Aktar" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "Eğim" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "Tekli" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kalite" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "Genişlik" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "Tavan" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "Tavan Değeri" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "Genişletici" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "Genişletici Kipi" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "Dahili" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "Erişim" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "Açıklama" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "Bu model dosyasını kaldır" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "Düşük Raf" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "Yüksek Raf" #: data/ui/filter.ui:54 msgid "Bell" msgstr "Çan" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "Bant-Geçiş" #: data/ui/filter.ui:56 msgid "Notch" msgstr "Çentik" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "Çınlama" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "Merdiven-Geçiş" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "Merdiven-Reddetme" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "Tam-Geçiş" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "Ekolayzır Kipi" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "Süzgeç" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "Aralık" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "Bölge" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "Gecikme" #: data/ui/gate.ui:330 msgid "Mix" msgstr "Karıştır" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "Atak Bölgesi Başlangıcı" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "Bırakma Bölgesi Başlangıcı" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "Gerçek Doruk" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "Geçmişi Sıfırla" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "Aşırı Örnekleme" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "Titreme" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "Herm İnce" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "Herm Geniş" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "Herm Kuyruk" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "Herm Ördek" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "Exp İnce" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "Exp Geniş" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "Exp Kuyruk" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "Exp Ördek" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "Hat İnce" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "Hat Geniş" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "Hat Kuyruk" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "Hat Ördek" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "Hiçbiri" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "Yarım x2(2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "Yarım x2(3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "Yarım x3(2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "Yarım x3(3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "Yarım x4(2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "Yarım x4(3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "Yarım x6(2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "Yarım x6(3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "Yarım x8(2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "Yarım x8(3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "Tam x2(2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "Tam x2(3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "Tam x3(2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "Tam x3(3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "Tam x4(2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "Tam x4(3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "Tam x6(2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "Tam x6(3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "Tam x8(2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "Tam x8(3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "SC Ön Yükseltme" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "Yanzincir Ön Yükseltmesi" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "Artır" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "Stereo Bağ" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "Harici Yanzincir" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Harici Yanzincir Kaynağı" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "Otomatik Dengeleme" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "Otomatik Dengeleme Saldırısı" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "Otomatik Dengeleme Yayını" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "Otomatik Dengeleme Dizliği" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "Kazanç Sol" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "Kazanç Sağ" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "Yanzincir Sol" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "Yanzincir Sağ" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "Standart" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "Düz" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT Boyutu" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "Çıkış Ses Seviyesi" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "Kırpma" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "Yanzincir Güçlendirme" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "Pink BT" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "Pink MT" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "Brown BT" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "Brown MT" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "Yerel Kullanıcı Arayüzünü Göster" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "Çalışma Kipi" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "Klasik" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "Çağdaş" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "Doğrusal Faz" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "Bant Listesi" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "Bant 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "Bant 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "Bant 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "Bant 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "Bant 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "Bant 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "Bant 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "Bant 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "Bant Başlangıcı" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "Bant Sonu" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "Bant Sıkıştırma Kipi" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "Bant Atlama" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "Bant Yanzincir Seçenekleri" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "Stereo Bölme" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "Düşük-Kesim" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "Düşük-Kesim Süzgeç Frekansı" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "Yüksek-Kesim" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "Yüksek-Kesim Süzgeci Frekansı" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "Ön Yükseltme" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "Bant Kazancı" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "Bant Zarfı" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "Bant Eğrisi" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "Bant Azaltma" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "Genel" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "Aygıt Yönetimi" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "Harici uygulamalarda (örn. Gnome Ayarları ve Plasma Sistem Ayarları) Easy " "Effects alıcısı/kaynağının öntanımlı aygıt olarak ayarlanmaması tavsiye " "edilir." #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "Öntanımlı Girişi Kullan" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "Özel Giriş Aygıtı" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "Öntanımlı Çıkışı Kullan" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "Özel Çıkış Aygıtı" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "Sunucu Bilgileri" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "Başlık Sürümü" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "Kütüphane Sürümü" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "Örnekleme Hızı" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "Asgari Kuantum" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "Azami Kuantum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "Öntanımlı Kuantum" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "Ön Ayarları Otomatik Yükle" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" "Yalnızca yerel ön ayarlar otomatik olarak yüklenebilir. Bir topluluk ön " "ayarının seçilebilmesi ve belirli bir aygıtla ilişkilendirilebilmesi için " "yerel olarak içe aktarılması gerekir." #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "Çıkış Aygıtları" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "Çıkış Ön Ayarları" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "Birleşme Oluştur" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "Otomatik Yükleme Çıktı Ön Ayarı Ekle" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "Çıktı Otomatik Yükleme Ön Ayarları Listesi" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "Giriş Aygıtları" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "Giriş Ön Ayarları" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "Otomatik Yükleme Girdi Ön Ayarı Ekle" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "Girdi Otomatik Yükleme Ön Ayarları Listesi" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "Modüller" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "Modül Listesi" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "İstemciler" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "İstemci Listesi" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "Test Sinyali" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Durum" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Etkin" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "Özellikler" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "Kanallar" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "Her ikisi" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "Her İki Kanal" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "Dalga Biçimi" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "Sinüs Dalgası" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "Beyaz Gürültü" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "Hızlı Arama" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "Kenar yumuşatma" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "Dizi Uzunluğu" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "Arama Penceresi" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "Örtüşme Uzunluğu" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Perde" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "Yarım Ses" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "Tempo Farkı" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "Oran Farkı" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "Bu efekti kaldır" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "Bu efekti etkinleştir/devre dışı bırak" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "Bu efektin konumunu değiştir" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "Efekt listesini göster/gizle" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "Efekt Ekle" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "Önceki efekte git" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "Sonraki efekte git" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "Kullanılan Eklentiler Listesi" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "Efekt Yok" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "Ses Akışı Değiştirilmedi" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "Eklenti Ara" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "Eklenti Listesi" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "_Genel" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "Hizmet" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "Sistem Başlangıcında Hizmeti Başlat" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "Pencere Kapandığında Kapat" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "Ses" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "Tüm Çıkış Akışlarını İşle" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "Tüm Giriş Akışlarını İşle" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "Aygıtların Ekranından Gelen Akışları Yoksay" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "Kübik Ses Kullan" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "Tepkisizlik Zaman Aşımı" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "Güncelleme Aralığı" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "Seviye Ölçerler ve Spektrum ile ilgili" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "Güncelleme Sıklığı" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "LV2 Eklentileri ile ilgili" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Görünüm" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "Koyu Tema Kullan" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "Dış Tıklamalarda Menüleri Gizle" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "Deneysel özellikler" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "Yerel Eklenti Penceresi" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "Yerel Eklenti Penceresinin Gösterilmesini/Gizlenmesini Sağlar" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "_Spektrum" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "Şekil" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "Çubuklar" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "Çizgiler" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "Noktalar" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "Noktalar" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "Yükseklik" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "Hat Genişliği" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "Dolgu" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "Çubuk Kenarlığını Göster" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "Yuvarlatılmış Köşeler" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "Dinamik Ölçek" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "Renk" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "Çizgiler ve Çubuklar" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "Eksen Etiketleri" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "Frekans Aralığı" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "Asgari" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "Azami" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "Yük" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "Geçerli ayarları gözden çıkar ve bu ön ayarı yükle" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "Geçerli ayarları bu ön ayar dosyasına kaydet" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "Hazır ayar dosyasını kaldır" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "Dene" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "Bu topluluk ön ayarını dene" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "İçe aktar" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "Bu topluluk ön ayarını yerel ön ayarlar listesine aktar" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "Yerel" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "Yeni Ön Ayar Adı" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "Yeni bir ön ayar oluştur" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "Yerel depolama alanından bir ön ayarı içe aktar" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "Yerel Ön Ayar Ara" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "Yerel Ön Ayarlar Listesi" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "Topluluk" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "Topluluk Ön Ayarı Ara" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "Topluluk Ön Ayarları Listesi" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "Kurulu Topluluk Ön Ayarı Yok" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" "Topluluk ön ayarları paketleri kullandığınız dağıtımın deposundan " "kurulabilir." #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "Yenile" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "Yeni kurulan topluluk ön ayarlarını görüntülemek için yenileyin" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Yüksek Frekans Sönümleme" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "Oda Boyutu" #: data/ui/reverb.ui:82 msgid "Small" msgstr "Küçük" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "Orta" #: data/ui/reverb.ui:84 msgid "Large" msgstr "Büyük" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "Tünel" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "Büyük/pürüzsüz" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "Deneysel" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "Yayılma" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "Ön Gecikme" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "Bozunma Süresi" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "Bas Kesim" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "Tiz Kesim" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "Ortam" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "Boş Duvarlar" #: data/ui/reverb.ui:588 msgid "Room" msgstr "Oda" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "Büyük Boş Salon" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "Büyük Dolu Salon" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "Modeli İçe Aktar" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "Ses Algılama" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "Modeller" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "Standart Model" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "RNNoise Modelleri Listesi" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "Model Yüklenmedi" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "Etkin Model" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "Standart RNNoise Modeli" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "Genel Görünüm" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "Yardımı göster" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "Tam ekran/Tam ekrandan çık" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "Pencereyi Kapat" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "Easy Effects'ten Çık" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "Gürültü Gider" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "Otomatik Kazanç Denetleyicisi" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "Dereverberasyon" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "Ses Etkinliği Olasılığı" #: data/ui/speex.ui:95 msgid "Start" msgstr "Başla" #: data/ui/speex.ui:117 msgid "Continue" msgstr "Devam et" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "Gürültü Baskılayıcı" #: data/ui/speex.ui:145 msgid "Level" msgstr "Düzey" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "Giriş Dengesi" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "Yumuşak kırpım" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "Yumuşak Kırpım Seviyesi" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "Stereo Matris" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Stereo Öntanımlı)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo Orta Tarafa)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Orta Taraftan Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono Sol Kanal)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono Sağ Kanal)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono İşlem L+R)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Stereo Kanalları Ters Çevir)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "Stereo Kipi" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "Seviye Tarafı" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "Denge Tarafı" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "Orta Seviye" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "Orta Panorama" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "Çıkış Dengesi" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "Gecikme L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "Gecikme Sol Sağ" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "Stereo Taban" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "Stereo Faz" #: src/app_info.cpp:100 msgid "Running" msgstr "Çalışıyor" #: src/app_info.cpp:102 msgid "Suspended" msgstr "Askıya alındı" #: src/app_info.cpp:104 msgid "Idle" msgstr "Boşta" #: src/app_info.cpp:106 msgid "Creating" msgstr "Oluşturuluyor" #: src/app_info.cpp:108 msgid "Error" msgstr "Hata" #: src/app_info.cpp:110 msgid "Unknown" msgstr "Bilinmiyor" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "Tanımsız Ad - Süreç Kimliği " #: src/app_info.cpp:292 msgid "channels" msgstr "kanallar" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Easy Effects'ten çık. Servis kipinde çalışırken kullanışlıdır." #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "Easyeffects sürümünü yazdır" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "Easy Effects’i Sıfırla." #: src/application.cpp:609 msgid "Hide the Window." msgstr "Pencereyi Gizle." #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" "Genel atlama. 1 etkinleştirmek, 2 devre dışı bırakmak ve 3 durumu almak için" #: src/application.cpp:615 msgid "Show available presets." msgstr "Kullanılabilir hazır ayarları göster." #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "Ön ayar yükle. Örnek: easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "_Çıkış" #: src/application_ui.cpp:345 msgid "_Input" msgstr "_Giriş" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "_PipeWire" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "Dosya Normal Değil" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Dürtü Dosyası Bozuk veya Desteklenmiyor Olabilir" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "Yalnızca Stereo Dürtü Dosyaları Desteklenir" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "Dürtü Dosyası İçe Aktarılmadı" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "Dürtü Dosyasını İçe Aktar" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Aç" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "Dürtü Yanıtı" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "Dürtüyü Yükle" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "Dürtüyü Kaldır" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "Dürtü Dosyası Yüklenmemiş" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "Dürtü Dosyası Yüklenemedi" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "Kaydediciler" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "Oynatıcılar" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efektler" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "APO Ön Ayar Dosyasını İçe Aktar" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO Ön Ayarları" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "APO Ön Ayarı Kurulu Değil. Dosya Biçimi Desteklenmiyor Olabilir. Lütfen " "İçeriğini Denetleyin." #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "APO ön ayarları dışa aktarılırken bölünmüş kanallar henüz desteklenmiyor." #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "EqualizerAPO Ön Ayar Dosyasını Dışa Aktar" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "Kaydet" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO Ön Ayarları" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ Ön Ayar Dosyasını İçe Aktar" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ Ön Ayarları" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" "GraphicEQ Ön Ayarı Yüklü Değil. Dosya Biçimi Desteklenmiyor Olabilir. Lütfen " "İçeriğini Denetleyin." #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "Otomatik Yükleme Ön Ayarını Kaldır" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "Çıktı Düzey Ölçer" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "Kaldır" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "Çıkış Aygıtı" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Ekle" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "Topluluk Ön Ayarı" #: src/presets_manager.cpp:439 msgid "Package" msgstr "Paket" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "Ön Ayar Doğru Yüklenmedi" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "Hariç Tutulan Uygulamalar Listesinde Yanlış Biçim" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "Hariç Tutulan Uygulamalar Listesi Yüklenirken Genel Hata" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "Efektler Listesinde Yanlış Biçim" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "Efekt Listesi Yüklenirken Genel Hata" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "Bir veya Daha Fazla Parametre Yanlış Biçime Sahip" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "Efekt Yüklenirken Genel Hata" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "Kaydedilsin mi?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "Silinsin mi?" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "Ön Ayar Yüklü Değil" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "Yüklenen Son Yerel Ön Ayar" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "Yüklenen Son Topluluk Ön Ayarı" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" "Seçilen Model Yüklenmedi. Biçimi Desteklenmiyor Olabilir. Bunun Yerine " "Standart Modele Dönüldü." #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "Model Dosyasını İçe Aktar" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise Modelleri" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "Bas Yükseltici" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "Bas Yüksekliği" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "Sarsıcı" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "Çapraz Besleme" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "Kristalleştirici" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "Derin Gürültü Giderici" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "Deesser" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "Yankı Önleyici" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "Ekolayzır" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "Uyarıcı" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "Düzey Ölçer" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "Sınırlayıcı" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "Yükseltici" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "Çoklu Bant Şıkıştırıcı" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "Çoklu Bant Geçitleme" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "Yankılanma" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "Gürültü Azaltma" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "Konuşma İşleyici" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "Stereo Araçları" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} Kullanılabilir Değil" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "{} efekti için gerekli olan \"{}\" yazılımı kurulu değil. Easy Effects " "Flatpak paketini kullanmayı ya da yazılımı kendiniz kurmayı düşünebilirsiniz." #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "Easy Effects derlenirken {} efekti devre dışı bırakılmış. Bunun nedeni " "muhtemelen bu efekt için gerekli olan \"{}\" yazılımının olmamasıdır. Easy " "Effects Flatpak paketini kullanmayı ya da kendi Easy Effects paketinizi " "oluşturmayı düşünebilirsiniz." #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-sonsuz" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "{} Kullanıyor" #~ msgid "Ceiling" #~ msgstr "Tavan" #~ msgid "\"Presets\"" #~ msgstr "\"Ön Ayarlar\"" #~ msgid "Import a preset" #~ msgstr "Bir ön ayarı içe aktar" #, fuzzy #~ msgid "Low-Cut Filter" #~ msgstr "Süzgeç" #, fuzzy #~ msgid "High-Cut Filter" #~ msgstr "Yüksek Geçiş Süzgeci" #~ msgid "Uniform" #~ msgstr "Aynı" #~ msgid "New Output Preset Name" #~ msgstr "Yeni Çıkış Ön Ayarı Adı" #~ msgid "infinity" #~ msgstr "sonsuzluk" #~ msgid "IIR" #~ msgstr "IIR" #~ msgid "FIR" #~ msgstr "FIR" #~ msgid "FFT" #~ msgstr "FFT" #~ msgid "SPM" #~ msgstr "SPM" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Oran" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Low-pass" #~ msgstr "Düşük Geçiş" #, fuzzy #~ msgid "High-pass" #~ msgstr "Yüksek Geçiş" #~ msgid "Gating" #~ msgstr "Geçitleme" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct Düşük geçiş" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct Düşük geçiş" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct Düşük geçiş" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct Yüksek geçiş" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct Yüksek geçiş" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct Yüksek geçiş" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct Bant geçişi" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct Bant geçişi" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct Bant geçişi" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct Bant reddet" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct Bant reddet" #~ msgid "18dB/oct Bandreject" #~ msgstr "12dB/oct Bant reddet" #~ msgid "Inertia" #~ msgstr "Durağan" #~ msgid "Band Type" #~ msgstr "Bant Türü" #~ msgid "Band Mode" #~ msgstr "Bant Kipi" #~ msgid "Band Slope" #~ msgstr "Bant Eğimi" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Yüksek Ses" #~ msgid "High Speed" #~ msgstr "Yüksek Hız" #~ msgid "High Quality" #~ msgstr "Yüksek Kalite" #~ msgid "High Consistency" #~ msgstr "Yüksek Tutarlılık" #, fuzzy #~ msgid "Formant" #~ msgstr "Biçim" #, fuzzy #~ msgid "Preserved" #~ msgstr "Ön Ayarlar" #, fuzzy #~ msgid "Crisp" #~ msgstr "Canlılık" #, fuzzy #~ msgid "Detector" #~ msgstr "Keşif" #, fuzzy #~ msgid "Compound" #~ msgstr "Sıkıştırma" #, fuzzy #~ msgid "Soft" #~ msgstr "Yumuşak kırpım" #~ msgid "Independent" #~ msgstr "Bağımsız" #~ msgid "Cents" #~ msgstr "Küsür" #~ msgid "Octaves" #~ msgstr "Oktav" #~ msgid "_Manual" #~ msgstr "_Kılavuz" #~ msgid "Open the Easy Effects Manual" #~ msgstr "Easy Effects Kılavuzunu Aç" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} Sistemde Kurulu Değil" #~ msgid "High Pass" #~ msgstr "Yüksek Geçiş" #~ msgid "Low Pass" #~ msgstr "Düşük Geçiş" #~ msgid "Cancel" #~ msgstr "İptal" #~ msgid " PreAmplification" #~ msgstr " Ön Yükseltme" #~ msgid "Close (Press ESC)" #~ msgstr "Kapat (ESC tuşuna basın)" #~ msgid "Frame Size" #~ msgstr "Çerçeve Boyutu" #, fuzzy #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "Genel atlamayı etkinleştir/devre dışı bırak" #, fuzzy #~ msgid " Low-Pass" #~ msgstr "Düşük Geçiş" #, fuzzy #~ msgid " Uniform" #~ msgstr "Aynı" #~ msgid "Left Delay" #~ msgstr "Sol Gecikme" #~ msgid "Right Delay" #~ msgstr "Sağ Gecikme" #, fuzzy #~ msgid "Left Dry Level" #~ msgstr "Seviye" #, fuzzy #~ msgid "Right Dry Level" #~ msgstr "Seviye" #, fuzzy #~ msgid "Left Wet Level" #~ msgstr "Hedef Seviye" #, fuzzy #~ msgid "Right Wet Level" #~ msgstr "Hedef Seviye" #, fuzzy #~ msgid "Suppression" #~ msgstr "Bastırma Seviyesi" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "PipeWire uygulamaları için ses efektleri" #~ msgid "Noise Reduction (Fast)" #~ msgstr "Gürültü Azaltma (Hızlı)" #~ msgid "Load APO Preset" #~ msgstr "APO Ön Ayarını Yükle" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "Çıkış Ön Ayarları: " #~ msgid "Input Presets: " #~ msgstr "Giriş Ön Ayarları: " #, fuzzy #~ msgid "Split Mode" #~ msgstr "Ayır" #~ msgid "Split 1/2" #~ msgstr "1/2 Böl" #~ msgid "Split 2/3" #~ msgstr "2/3 Böl" #, fuzzy #~ msgid "Split Frequency 2" #~ msgstr "Sıklık" #~ msgid "Split 3/4" #~ msgstr "3/4 Böl" #, fuzzy #~ msgid "Split Frequency 3" #~ msgstr "Sıklık" #~ msgid "Sub Band" #~ msgstr "Alt Bant" #, fuzzy #~ msgid "Band 1 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 1 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 1 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 1 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 1 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 1 Makeup" #~ msgstr "Süs" #~ msgid "Max Reduction" #~ msgstr "Azalım" #~ msgid "Low Band" #~ msgstr "Düşük Bant" #, fuzzy #~ msgid "Band 2 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 2 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 2 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 2 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 2 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 2 Makeup" #~ msgstr "Süs" #, fuzzy #~ msgid "Band 2 Max Reduction" #~ msgstr "Azalım" #~ msgid "Mid Band" #~ msgstr "Orta Bant" #, fuzzy #~ msgid "Band 3 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 3 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 3 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 3 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 3 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 3 Makeup" #~ msgstr "Süs" #, fuzzy #~ msgid "Band 3 Max Reduction" #~ msgstr "Azalım" #~ msgid "High Band" #~ msgstr "Yüksek Bant" #, fuzzy #~ msgid "Band 4 Bypass" #~ msgstr "Atla" #, fuzzy #~ msgid "Band 4 Detection" #~ msgstr "Keşif" #, fuzzy #~ msgid "Band 4 Attack" #~ msgstr "Atak" #, fuzzy #~ msgid "Band 4 Release" #~ msgstr "Bırak" #, fuzzy #~ msgid "Band 4 Threshold" #~ msgstr "Eşik" #, fuzzy #~ msgid "Band 4 Makeup" #~ msgstr "Süs" #, fuzzy #~ msgid "Band 4 Max Reduction" #~ msgstr "Azalım" #, fuzzy #~ msgid "Wet Amount" #~ msgstr "Miktar" #, fuzzy #~ msgid "Dry Amount" #~ msgstr "Miktar" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects gelişmiş bir ses işleme aracıdır. Ekolayzır, sınırlayıcı, " #~ "sıkıştırıcı ve yankılanma araçları içerir. Bunları tamamlamak için ayrıca " #~ "bir spektrum analizörü bulunmaktadır." #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects, PulseEffects'in devamıdır. EasyEffects yalnızca PipeWire'ın " #~ "ses sunucusunu destekler. PulseAudio kullanıcıları bunun yerine " #~ "PulseEffects kullanmalıdır." #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "EasyEffects, öntanımlı PipeWire ses sunucusunu kullandığından, " #~ "kullandığınız uygulamaların tümü olmasa da çoğu ile çalışacaktır. " #~ "Desteklenen tüm uygulamalar, her birinin ayrı ayrı etkinleştirilebileceği " #~ "ana pencerede sunulur." #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "Ses çıkışını manipüle etmenin yanı sıra, EasyEffects, mikrofon gibi bir " #~ "giriş cihazına da efektler uygulayabilir. Bu özellik ses kaydında da " #~ "kullanışlıdır ve sesli konuşmalarda da iyi çalışır." #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "EasyEffects başlatıldığında, son oturumda kullanılan ayarlamaları " #~ "rahatlıkla hatırlayacaktır. Tüm mevcut ayarları profil olarak kaydetmek " #~ "de mümkündür." #~ msgid "The main page showing two audio output apps" #~ msgstr "İki ses çıkışı uygulamasını gösteren ana sayfa" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "Ses denetimlerini gösteren bas yükseltici sayfası" #~ msgid "The convolver page showing audio controls" #~ msgstr "Ses denetimlerini gösteren sarsıcı sayfası" #~ msgid "This release adds the following features:" #~ msgstr "Bu sürüm aşağıdaki özellikleri ekler:" #~ msgid "This release fixes the following bugs:" #~ msgstr "Bu sürüm aşağıdaki hataları düzeltir:" #, fuzzy #~ msgid "and #1427" #~ msgstr "Bant 1" #, fuzzy #~ msgid "Many translation updates" #~ msgstr "Çeviriler güncellendi" #~ msgid "" #~ "EasyEffects icon has been updated in a way that should make it visible in " #~ "QT desktops." #~ msgstr "" #~ "EasyEffects simgesi, QT masaüstlerinde görünmesini sağlayacak şekilde " #~ "güncellendi." #~ msgid "This release fixes the following bug:" #~ msgstr "Bu sürüm aşağıdaki hatayı düzeltir:" #~ msgid "This release adds the following feature:" #~ msgstr "Bu sürüm aşağıdaki özelliği ekler:" #~ msgid "Better support for computer suspending." #~ msgstr "Bilgisayarın askıya alınması için daha iyi destek." #~ msgid "" #~ "LibAdwaita is used to create some parts of our window and for handling " #~ "the switching between dark and light themes." #~ msgstr "" #~ "LibAdwaita, penceremizin bazı bölümlerini oluşturmak ve koyu ile açık " #~ "temalar arasında geçiş yapmak için kullanılır." #~ msgid "The settings menu has been redesigned using LibAdwaita widgets." #~ msgstr "" #~ "Ayarlar menüsü, LibAdwaita widget'ları kullanılarak yeniden tasarlandı." #~ msgid "" #~ "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." #~ msgstr "" #~ "GTKMM ve GLIBMM artık bir bağımlılık değil. Artık doğrudan gtk4 " #~ "kullanıyoruz." #~ msgid "" #~ "Pavucontrol is not added anymore to input applications list on systems " #~ "with localization different than English." #~ msgstr "" #~ "İngilizce'den farklı yerelleştirmeye sahip sistemlerde giriş uygulamaları " #~ "listesine Pavucontrol artık eklenmiyor." #~ msgid "Updated Chinese translation." #~ msgstr "Çince çeviri güncellendi." #~ msgid "Updated Italian translation." #~ msgstr "İtalyanca çeviri güncellendi." #~ msgid "Fixed the locale in a few widgets" #~ msgstr "Birkaç widget'ta yerel ayar düzeltildi" #~ msgid "Fixed wrong alignment in a few widgets" #~ msgstr "Birkaç widget'ta yanlış hizalama düzeltildi" #~ msgid "Improved equalizer interface." #~ msgstr "Ekolayzır arayüzü iyileştirildi." #~ msgid "" #~ "The application and its repository have been renamed from PulseEffects to " #~ "`EasyEffects`" #~ msgstr "" #~ "Uygulama ve deposu, PulseEffects'ten `EasyEffects` olarak yeniden " #~ "adlandırıldı" #~ msgid "gtkmm3 was replaced by gtkmm4" #~ msgstr "gtkmm3, gtkmm4 ile değiştirildi" #~ msgid "Gstreamer was replaced by native PipeWire filters." #~ msgstr "Gstreamer, yerel PipeWire süzgeçleriyle değiştirildi." #~ msgid "" #~ "New libraries are being used and some of the librarires that were " #~ "optional before are now required" #~ msgstr "" #~ "Yeni kütüphaneler kullanılıyor ve daha önce isteğe bağlı olan " #~ "kütüphanelerden bazıları artık gerekli" #~ msgid "Average" #~ msgstr "Ortalama" #~ msgid "Failed" #~ msgstr "Başarısız" #~ msgid "Use Default" #~ msgstr "Öntanımlıyı Kullan" #~ msgid "Remove this plugin" #~ msgstr "Bu eklentiyi kaldır" #~ msgid "Import Presets" #~ msgstr "Önayarları İçe Aktar" #~ msgid "Start Service at Login" #~ msgstr "Oturum Açarken Hizmeti Başlat" #, fuzzy #~ msgid "Activate" #~ msgstr "Etkin Model" #~ msgid "Add to Blocklist" #~ msgstr "Kara Listeye Ekle" #~ msgid "Blocklist" #~ msgstr "Kara Liste" #~ msgid "Add Plugin" #~ msgstr "Eklenti Ekle" #~ msgid "Speakers" #~ msgstr "Hoparlörler" #~ msgid "Microphone" #~ msgstr "Mikrofon" #~ msgid "enabled" #~ msgstr "etkin" #~ msgid "disabled" #~ msgstr "devre dışı" #~ msgid "Plugins" #~ msgstr "Eklentiler" #~ msgid "Format" #~ msgstr "Biçim" #~ msgid "Latency" #~ msgstr "Gecikme" #~ msgid "idle" #~ msgstr "boşta" #~ msgid "Faster" #~ msgstr "Daha Hızlı" #~ msgid "Preserve Formant" #~ msgstr "Biçimlendiriciyi Koru" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Show Spectrum" #~ msgstr "Spektrumu Göster" #~ msgid "Use Custom Color" #~ msgstr "Özel Renk Kullan" #~ msgid "Use Gradient" #~ msgstr "Geçişli Renk Kullan" #~ msgid "Spectrum Color" #~ msgstr "Spektrum Rengi" #~ msgid "Gradient Color" #~ msgstr "Geçiş Rengi" #~ msgid "Spectrum Type" #~ msgstr "Spektrum Türü" #~ msgid "Exponent" #~ msgstr "Katsayı" #~ msgid "Sampling" #~ msgstr "Örnekleme" #~ msgid "Block Size" #~ msgstr "Blok Boyutu" #~ msgid "Pipeline Input" #~ msgstr "Pipeline Giriş" #~ msgid "Buffer" #~ msgstr "Arabellek" #~ msgid "Niceness" #~ msgstr "Hassaslık" #~ msgid "Priority Type" #~ msgstr "Öncelik Türü" #~ msgid "About" #~ msgstr "Hakkında" #~ msgid "Priority" #~ msgstr "Öncelik" #~ msgid "Resampler" #~ msgstr "Örnekleme" #~ msgid "Protocol" #~ msgstr "Protokol" #~ msgid "Default Sample Format" #~ msgstr "Öntanımlı Örnek Biçimi" #~ msgid "File" #~ msgstr "Dosya" #~ msgid "Configuration" #~ msgstr "Yapılandırma" #~ msgid "Resamplers" #~ msgstr "Örnekleyiciler" #~ msgid "Detect Silence" #~ msgstr "Sessizliği Algıla" #~ msgid "Weights" #~ msgstr "Ağırlık" #~ msgid "Limit" #~ msgstr "Sınır" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "LR4" #~ msgstr "LR4" #~ msgid "LR8" #~ msgstr "LR8" #~ msgid "Muted" #~ msgstr "Sessiz" #~ msgid "Distant Headphones" #~ msgstr "Uzak Kulaklıklar" #~ msgid "Reset Equalizer" #~ msgstr "Ekolayzır Sıfırla" #~ msgid "RLC (BT)" #~ msgstr "RLC (BT)" #~ msgid "RLC (MT)" #~ msgstr "RLC (MT)" #~ msgid "BWC (BT)" #~ msgstr "BWC (BT)" #~ msgid "BWC (MT)" #~ msgstr "BWC (MT)" #~ msgid "LRX (BT)" #~ msgstr "LRX (BT)" #~ msgid "LRX (MT)" #~ msgstr "LRX (MT)" #~ msgid "APO (DR)" #~ msgstr "APO (DR)" #~ msgid "x1" #~ msgstr "x1" #~ msgid "x2" #~ msgstr "x2" #~ msgid "x3" #~ msgstr "x3" #~ msgid "x4" #~ msgstr "x4" #~ msgid "Apply" #~ msgstr "Uygula" #~ msgid "S/C Level" #~ msgstr "S/C Seviye" #~ msgid "Import Impulse Response File" #~ msgstr "Dürtü Yanıt Dosyasını İçeri Aktar" #~ msgid "Select the impulse Response File" #~ msgstr "Dürtü Yanıt Dosyasını Seç" #~ msgid "Loudness Range" #~ msgstr "Yüksek Ses Aralığı" #~ msgid "Before" #~ msgstr "Öncesi" #~ msgid "After" #~ msgstr "Sonrası" #~ msgid "Webrtc" #~ msgstr "Webrtc" #~ msgid "Extended Filter" #~ msgstr "Genişletilmiş Süzgeç" #~ msgid "Delay Agnostic" #~ msgstr "Agnostik Gecikme" #~ msgid "Low" #~ msgstr "Düşük" #~ msgid "Moderate" #~ msgstr "Ölçülü" #~ msgid "High" #~ msgstr "Yüksek" #~ msgid "Very High" #~ msgstr "Çok Yüksek" #~ msgid "Adaptive Digital" #~ msgstr "Dijital Uyarlamalı" #~ msgid "Fixed Digital" #~ msgstr "Dijital Sabitleyici" #~ msgid "Detection Likelihood" #~ msgstr "Algılama Olasılığı" #~ msgid "Very Low" #~ msgstr "Çok Düşük" #~ msgid "" #~ "Automatically apply this preset whenever the currently used device is " #~ "plugged in the system" #~ msgstr "" #~ "Şu anda kullanılan cihaz sisteme takılı olduğunda bu ön ayarı otomatik " #~ "olarak uygula" #~ msgid "Volume" #~ msgstr "Ses" #~ msgid "Sine" #~ msgstr "Sinüs" #~ msgid "Square" #~ msgstr "Kare" #~ msgid "Saw" #~ msgstr "Kesir" #~ msgid "Triangle" #~ msgstr "Üçgen" #~ msgid "Pink Noise" #~ msgstr "Pembe Gürültü" #~ msgid "Ticks" #~ msgstr "İşaretler" #~ msgid "Gaussian Noise" #~ msgstr "Gauss Gürültü" #~ msgid "Blue Noise" #~ msgstr "Mavi Gürültü" #~ msgid "Violet Noise" #~ msgstr "Menekşe Gürültü" #~ msgid "Measure Noise" #~ msgstr "Gürültü Ölçümü" #~ msgid "Subtract Noise" #~ msgstr "Gürültü Çıkar" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "Sesi ayarla ve efektleri aç/kapat" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "Yerleşik ön ayarlara sahip bir ekolayzır içerir" #~ msgid "Input Limiter" #~ msgstr "Giriş Sınırlayıcı" #~ msgid "Calibration" #~ msgstr "Kalibrasyon" #~ msgid "easyeffects" #~ msgstr "easyeffects" #~ msgid "Pulseaudio" #~ msgstr "Pulseaudio" #~ msgid "paused" #~ msgstr "durdurulmuş" #~ msgid "playing" #~ msgstr "oynatılıyor" easyeffects-7.1.7/po/uk.po000066400000000000000000001702321463533416400154420ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-03-29 03:02+0000\n" "Last-Translator: sensei1304fcc0f2a8360f4ddc \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "Еквалайзер, компресор та інші звукові ефекти" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "Аудіоефекти для додатків PipeWire" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "" "limiter;compressor;reverberation;equalizer;autovolume;обмежувач;компресор;" "реверберація;еквалайзер;автогучність;ефекти;звук;пайп;запис;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "Увімкнути / вимкнути цей додаток" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "Увімкнути" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "Список виключених додатків: додати / видалити цей додаток" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "Виключити" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "Вимкнути звук додатку" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "Змініть гучність цього додатку" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "Гучність додатку" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "_Допомога" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "_Скинути налаштування" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "_Налаштування" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "_Клавіатурні скорочення" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "_Про Easy Effects" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "_Вихід" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "Профілі" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "Меню профілів" #: data/ui/application_window.ui:68 #, fuzzy msgid "Enable/disable the global bypass" msgstr "Увімкнути/вимкнути глобальний обхід" #: data/ui/application_window.ui:73 #, fuzzy msgid "Global Bypass" msgstr "Глобальний обхід" #: data/ui/application_window.ui:83 #, fuzzy msgid "Primary Menu" msgstr "Основне меню" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "Вікно Eassy Effects" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "Список додатків" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "Порожній список" #: data/ui/apps_box.ui:28 #, fuzzy msgid "No Audio Application Available" msgstr "Немає доступного додатку з аудіо" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "Керування" #: data/ui/autogain.ui:33 msgid "Target" msgstr "Ціль" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "Тиша" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "Максимальний розмір історії" #: data/ui/autogain.ui:103 #, fuzzy msgid "Reference" msgstr "Довідка" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 #, fuzzy msgid "Momentary" msgstr "Миттєве" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Короткострокові" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 #, fuzzy msgid "Integrated" msgstr "Інтегроване" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "Середнє геометричне (MSI)" #: data/ui/autogain.ui:113 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Середнє геометричне (MS)" #: data/ui/autogain.ui:114 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Середнє геометричне (MI)" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Середнє геометричне (SІ)" #: data/ui/autogain.ui:124 msgid "History" msgstr "Історія" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "Скинути" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "Гучність" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Відносне" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "Діапазон" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "Вихідний коефіцієнт підсилення" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "Вхід" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "Підсилення входу з плагіну" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "Вихід" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "Підсилення виходу з плагіну" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "Пристрій" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "Назва" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Профіль" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 #, fuzzy msgid "Preset" msgstr "Пресет" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "Видаліти цей пресет з автозавантаження" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "Прослухати" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "Змішані гармоніки" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3-й" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2-й" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "Кількість" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "Гармоніки" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "Межа застосування" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "Поріг" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "Порогове значення" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "Посилання" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "Назва програми" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "Додати до виключених програм" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "Список виключених програм" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "Показати виключені програми" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "Показати нативне вікно" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "Компресор" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "Режим" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "Вниз" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "Вгору" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "Підсилення" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "Режим стиснення" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "Поріг підвищення" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "Інтенсивність підвищення" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "Атака" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "Час" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Поріг" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "Час атаки" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "Поріг атаки" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "Випуск" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "Час випуску" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "Поріг випуску" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "Співвідношення" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "Коліно" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 #, fuzzy msgid "Makeup" msgstr "Макіяж" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "Рівень сухості" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "Рівень вологості" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 #, fuzzy msgid "Sidechain" msgstr "Побічний ланцюг" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "Режим Розділення Стерео" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "Джерело" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "Середина" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "Сторона" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 #, fuzzy msgid "Left" msgstr "Ліво" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 #, fuzzy msgid "Right" msgstr "Право" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "Мін" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "Макс" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 #, fuzzy msgid "Sidechain Source" msgstr "Джерело побічного ланцюгу" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "Ліво/право" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "Право/ліво" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "Середина/Сторона" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "Сторона/Середина" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "Режим Розділення Стерео" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "Пік" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "Фільтр низьких частот" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 #, fuzzy msgid "Simple Moving Average" msgstr "Просте рухоме середнє" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Sidechain Mode" msgstr "Режим побічного ланцюга" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 #, fuzzy msgid "Listen Sidechain" msgstr "Слухати побічний ланцюг" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "Тип" #: data/ui/compressor.ui:688 #, fuzzy msgid "Feed-forward" msgstr "Подача вперед" #: data/ui/compressor.ui:689 #, fuzzy msgid "Feed-back" msgstr "Подача назад" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "Зовнішній" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 #, fuzzy msgid "Sidechain Type" msgstr "Тип побічного ланцюга" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "Пристрій вводу" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "Передпосилення" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "Реактивність" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 #, fuzzy msgid "Lookahead" msgstr "Дивитися вперед" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 #, fuzzy msgid "Sidechain Filters" msgstr "Фільтри побічного ланцюга" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 #, fuzzy msgid "High-Pass" msgstr "Високі частоти" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "Частота" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "Вимкнено" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "12 dB/окт" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "23 dB/окт" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "36 dB/окт" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "Режим фільтру високих частот" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "Частота фільтру високих частот" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 #, fuzzy msgid "Low-Pass" msgstr "Низькі частоти" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "Режим фільтру низьких частот" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "Посилення" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 #, fuzzy msgid "Envelope" msgstr "Конверт" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "Крива" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "Лівий канал" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "Правий канал" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Імпульси" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 #, fuzzy msgid "Combine" msgstr "Об'єднати" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "Ширина стерео" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "Спектр" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "Масштабування журналу" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Автопідсилення" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "Оцінка" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "Зразки" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "Тривалість" #: data/ui/convolver_menu_combine.ui:15 #, fuzzy msgid "Combine Impulse Responses" msgstr "Комбінувати відповіді імпульсів" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "Перше ядро" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "Друге ядро" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "Ім'я вихідного файлу" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "Ім'я комбінованого ядра" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "Імпортувати імпульс" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "Пошук" #: data/ui/convolver_menu_impulses.ui:27 #, fuzzy msgid "Search Impulse File" msgstr "Шукати файл імпульсів" #: data/ui/convolver_menu_impulses.ui:47 #, fuzzy msgid "Impulse Files List" msgstr "Перелік файлів імпульсів" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "За замовченням" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "Відсікання" #: data/ui/crossfeed.ui:78 #, fuzzy msgid "Feed" msgstr "Фід" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "Увімкнути / вимкнути цей додаток" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 #, fuzzy msgid "Export Preset" msgstr "Пресет" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 #, fuzzy msgid "Reset History" msgstr "Очистити історію" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "Частота" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "Пресет" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "Імпортувати імпульс" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "Пресет" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "Пресети" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "Пресет" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "Пресети" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "" #: data/ui/reverb.ui:84 msgid "Large" msgstr "" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "" #: src/app_info.cpp:110 msgid "Unknown" msgstr "" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "Пресет" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Список виключених програм" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "Пресети" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "Пресет" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, fuzzy, c++-format msgid "Using {}" msgstr "Використання" #~ msgid "\"Presets\"" #~ msgstr "\"Профілі\"" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Співвідношення" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Поріг" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Гучність" #, fuzzy #~ msgid "_Manual" #~ msgstr "_Посібник" easyeffects-7.1.7/po/zh_CN.po000066400000000000000000002275001463533416400160250ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # eternal , 2020-2021. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-03-24 04:01+0000\n" "Last-Translator: StarOnTheSky \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5-dev\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "均衡器、压缩器和其他音效" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "为使用 PipeWire 的应用提供音效" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "限幅器;压缩器;混响;均衡器;自动音量;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "启用/禁用此应用程序" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "启用" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "排除的应用程序列表:添加/删除此应用程序" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "排除" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "将程序静音" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "改变该应用的音量" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "应用程序音量" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "帮助(_H)" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "重置设置(_R)" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "首选项(_P)" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "快捷键(_S)" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "关于 EasyEffects (_A)" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "退出(_Q)" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "预设" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "预设菜单" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "开启/关闭全局旁通" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "全局旁路" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "主菜单" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "EasyEffects 窗口" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "应用程序列表" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "空列表" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "没有可用的音频应用程序" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "控制" #: data/ui/autogain.ui:33 msgid "Target" msgstr "目标" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "静音" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "历史记录最大值" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "参考" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "瞬时" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "短期" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "综合" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "几何平均 (MSI)" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "几何平均 (MS)" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "几何平均 (MI)" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "几何平均 (SI)" #: data/ui/autogain.ui:124 #, fuzzy msgid "History" msgstr "清除记录" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "重置" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "响度" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "相对值" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "范围" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "输出增益" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "输入" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "插件输入增益" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "输出" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "插件输出增益" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "设备" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "名称" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "概述" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "预设" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "删除此自动加载预设" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "聆听" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "谐波注入" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "3 次" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "2 次" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "程度" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "谐波" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "范围" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "下限" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "下限" #: data/ui/bass_loudness.ui:69 #, fuzzy msgid "Link" msgstr "连接" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "应用程序名称" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "添加到排除的程序" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "已排除程序列表" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "显示已排除的程序" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "显示原生窗口" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "压缩器" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "模式" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "向下" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "向上" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "加强" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "压缩模式" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "增强阈值" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "增强量" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "建立" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "时间" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "阈值" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "建立时间" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "建立阈值" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "释放" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "释放时间" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "释放阈值" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "比率" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "拐点" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "补偿" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "干声级别" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "湿声级别" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "侧链" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "分离立体声模式" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "源" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "中央" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "侧边" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "左" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "右" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "输入端最低值" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "输入端最高值" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "侧链声源" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "左/右" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "右/左" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "中置/侧边" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "侧边/中置" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "分离立体声源" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "峰值" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "均方根值" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "低通滤波器" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "简单移动平均法" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "侧链模式" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "播放侧链" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "类型" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "前馈式" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "反馈式" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "外部" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "侧链类型" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "输入设备" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "前置放大" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "响应" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "前视时间" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "侧链过滤器" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "高通滤波器" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "频率" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "关闭" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "每八度 12 dB" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "每八度 24 dB" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "每八度 36 dB" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "高通滤波模式" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "高通滤波频率" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "低通" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "低通滤波模式" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "增益" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "波封" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "压缩曲线" #: data/ui/convolver.ui:40 msgid "L" msgstr "左" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "左声道" #: data/ui/convolver.ui:53 msgid "R" msgstr "右" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "右声道" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "Impulse 文件" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "混合" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "立体声宽度" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "频谱" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "对数坐标" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "自动增益" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "速率" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "样本" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "持续时间" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "混合脉冲响应" #: data/ui/convolver_menu_combine.ui:48 #, fuzzy msgid "First Kernel" msgstr "首Kernel" #: data/ui/convolver_menu_combine.ui:82 #, fuzzy msgid "Second Kernel" msgstr "次Kernel" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "输出文件名" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "混合Kernel名称" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "导入 Impulse 文件" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "搜索" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "搜索脉冲文件" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "脉冲文件列表" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "默认" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "截止" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "反馈" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "旁路" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "静音" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "衰减极限" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "最小处理阈值" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "最大ERB处理阈值" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "最大DF处理阈值" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "最小处理缓冲区" #: data/ui/deepfilternet.ui:163 #, fuzzy msgid "Post Filter Beta" msgstr "过滤器长度" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "侦测" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "宽频段" #: data/ui/deesser.ui:78 msgid "Split" msgstr "分割" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "F1 分离" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "频率 1 分割" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "F2 峰值" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "频率 2 峰值" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "F1 增益" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "频率 1 增益" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "F2 级别" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "频率 2 水平" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "F2极限Q值" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "频率 2 Peak Q" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "松弛度" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "已侦测到" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "衰减" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "延迟" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "反转相位" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "过滤器长度" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "残余回声抑制" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "近端回声抑制" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "排除的应用" #: data/ui/effects_box.ui:120 msgid "Enable/disable input monitoring" msgstr "启用/禁用此应用程序" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "频段" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "平衡" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "左音高" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "右音高" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "分离声道" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "平滑响应" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "频率响应" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "将频段排序" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "导入预设" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "导出预设" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "斜率" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "独奏" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "品质" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "宽度" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "上限" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "上限值" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "扩展器" #: data/ui/expander.ui:86 #, fuzzy msgid "Expander Mode" msgstr "频段模式" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "内部" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "API" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "访问" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "描述" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "删除这个模型文件" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "低架" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "高架" #: data/ui/filter.ui:54 msgid "Bell" msgstr "钟形" #: data/ui/filter.ui:55 #, fuzzy msgid "Band-Pass" msgstr "频段旁路" #: data/ui/filter.ui:56 msgid "Notch" msgstr "带阻" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "共鸣" #: data/ui/filter.ui:58 #, fuzzy msgid "Ladder-Pass" msgstr "低通" #: data/ui/filter.ui:59 #, fuzzy msgid "Ladder-Rejection" msgstr "频段衰减" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "全通" #: data/ui/filter.ui:102 #, fuzzy msgid "Equalizer Mode" msgstr "均衡器" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "过滤器" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "门限" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "过渡区间" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "迟滞" #: data/ui/gate.ui:330 msgid "Mix" msgstr "干湿声混合" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "建立区间开头" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "释放区间开头" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "实际峰值" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "清除记录" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "超采样" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "抖动" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "窄式埃尔米特插值" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "宽式埃尔米特插值" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "尾式埃尔米特插值" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "蹲式埃尔米特插值" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "窄式指数插值" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "宽式指数插值" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "尾式指数插值" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "蹲式指数插值" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "窄式线性插值" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "宽式线性插值" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "尾式线性插值" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "蹲式线性插值" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "无" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "部分 2倍 (2L)" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "部分 2倍 (3L)" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "部分 3倍 (2L)" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "部分 3倍 (3L)" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "部分 4倍 (2L)" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "部分 4倍 (3L)" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "部分 6倍 (2L)" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "部分 6倍 (3L)" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "部分 8倍 (2L)" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "部分 8倍 (3L)" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "全部 2倍 (2L)" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "全部 2倍 (3L)" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "全部 3倍 (2L)" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "全部 3倍 (3L)" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "全部 4倍 (2L)" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "全部 4倍 (3L)" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "全部 6倍 (2L)" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "全部 6倍 (3L)" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "全部 8倍 (2L)" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "全部 8倍 (3L)" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "侧链前置放大" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "侧链前置放大" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "增强" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "立体声连锁" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "外部侧链" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "外部侧链声源" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "自动调平" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "自动调平建立" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "自动调平释放" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "自动调平拐点" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "左增益" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "右增益" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "左边侧链" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "右边侧链" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "标准" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "平滑" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "FFT 大小" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "输出音量" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "削波" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "侧链增强" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "粉噪 双线性变换" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "粉噪 匹配变换" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "棕噪 双线性变换" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "棕噪 匹配变换" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "显示原生 UI" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "运作模式" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "经典" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "现代" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 #, fuzzy msgid "Linear Phase" msgstr "反转相位" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "频段列表" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "频段 1" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "频段 2" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "频段 3" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "频段 4" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "频段 5" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "频段 6" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "频段 7" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "频段 8" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "频段起始" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "频段末尾" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "频段压缩模式" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "频段旁路" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "频段侧链选项" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "立体声分离" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 #, fuzzy msgid "Low-Cut" msgstr "低切滤音" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "低切滤音器频率" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "High-Cut" msgstr "高切滤音" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "高切滤音器频率" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "前置放大器" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "频段增益" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "频段包络" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "频段曲线" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "频段衰减" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "通用" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "设备管理" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" "不建议把 EasyEffects Sink/Source 设置为外部应用程序(例如 Gnome 设置或 " "Plasma 系统设置)的默认设备。" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "使用默认输入" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "自定义输入设备" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "使用默认输出" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "自定义输出设备" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "服务器信息" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "头文件版本" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "库文件版本" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "采样率" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "最小音频帧 (Quantum)" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "最大 Quantum" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "默认音频帧 (Quantum)" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "自动加载预设" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "输出设备" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "输出预设" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "创建关联" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "新建自动加载的输出预设" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "输出自动加载预设列表" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "输入设备" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "输入预设" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "新建自动加载的输入预设" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "输入自动加载预设列表" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "模块" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "模块列表" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "客户端" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "客户端列表" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "测试信号" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "状态" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "已启用" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "属性" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "声道" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "双声道" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "双声道" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "波形" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "正弦波" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "白噪声" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "快速查找" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "抗混叠" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "序列长度" #: data/ui/pitch.ui:80 #, fuzzy msgid "Seek Window" msgstr "关闭窗口" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "重叠长度" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "音高" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "半音" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "拍子差" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "速率差" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "删除此音效" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "启用/禁用此音效" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "改变此音效的位置" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "添加音效" #: data/ui/plugins_box.ui:65 #, fuzzy msgid "Go to the previous effect" msgstr "删除此音效" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "使用的插件的列表" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "无音效" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "音频流未作修改" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "搜索插件" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "插件列表" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "常规(_G)" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "服务" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "系统启动时运行服务" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "窗口关闭时退出" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "音频" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "处理所有输出流" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "处理所有输入流" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "忽略来自设备 Monitor 的音频流" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "使用非线性(立方)音量调节" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "空闲超时" #: data/ui/preferences_general.ui:119 #, fuzzy msgid "Update Interval" msgstr "翻译更新" #: data/ui/preferences_general.ui:120 #, fuzzy msgid "Related to Level Meters and Spectrum" msgstr "更新间隔(电平表、频谱)" #: data/ui/preferences_general.ui:142 #, fuzzy msgid "Update Frequency" msgstr "分割频率 1" #: data/ui/preferences_general.ui:143 #, fuzzy msgid "Related to LV2 Plugins" msgstr "更新频率(LV2插件)" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "界面风格" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "使用暗色主题" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "点击外部时隐藏菜单" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "实验性功能" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "原生插件窗口" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "允许显示或隐藏原生插件窗口" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "频谱(_S)" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "形状" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "柱状" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "线型" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "点阵" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "数量" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "高度" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "线宽" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "填充频谱" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "显示条柱边框" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "圆角" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "动态比例" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "颜色" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "线形与条柱" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "坐标轴标签" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "频率范围" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "最低" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "最高" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "加载" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "丢弃当前设置并加载此预设" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "将当前设置保存到这个预设文件" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "删除这个预设文件" #: data/ui/preset_community_row.ui:55 #, fuzzy msgid "Try" msgstr "干声" #: data/ui/preset_community_row.ui:56 #, fuzzy msgid "Try this community preset" msgstr "搜索输出预设" #: data/ui/preset_community_row.ui:65 #, fuzzy msgid "Import" msgstr "导入模型" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "新预设名称" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "创建新预设" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 #, fuzzy msgid "Search Local Preset" msgstr "搜索预设" #: data/ui/presets_menu.ui:147 #, fuzzy msgid "Local Presets List" msgstr "预设列表" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "" #: data/ui/presets_menu.ui:208 #, fuzzy msgid "Search Community Preset" msgstr "搜索输出预设" #: data/ui/presets_menu.ui:271 #, fuzzy msgid "Community Presets List" msgstr "输出预设列表" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "高频阻尼" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "房间大小" #: data/ui/reverb.ui:82 msgid "Small" msgstr "小" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "中" #: data/ui/reverb.ui:84 msgid "Large" msgstr "大" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "通道" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "大/平整" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "实验性" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "扩散" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "前反射延迟" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "衰减时间" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "低切" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "高切" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "氛围" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "空旷" #: data/ui/reverb.ui:588 msgid "Room" msgstr "房间" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "空荡的大厅" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "舞厅" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "拥挤的大厅" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "导入模型" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "语音侦测" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "模型" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "标准模型" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "RNNoise 模型列表" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "模型尚未载入" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "激活模型" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "标准 RNNoise 模型" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "概览" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "显示帮助" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "全屏/从全屏还原" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "关闭窗口" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "退出 Easy Effects" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "抑制噪音" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "自动增益控制" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "去混响" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "语音状态进入概率" #: data/ui/speex.ui:95 msgid "Start" msgstr "开始概率" #: data/ui/speex.ui:117 msgid "Continue" msgstr "持续概率" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "抑制强度" #: data/ui/speex.ui:145 msgid "Level" msgstr "级别" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "输出平衡" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "软削波" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "软削波等级" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "立体声阵距" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (默认立体声)" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (立体声至中-侧)" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (中-侧至立体声)" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (单声道左)" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (单声道右)" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (单声道左右合并)" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (立体声翻转)" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "立体声模式" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "侧边级别" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "侧边平衡" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "中置级别" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "中置全景" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "输出平衡" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "延迟 L/R" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "延迟 L/R" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "立体声基线" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "立体声相位" #: src/app_info.cpp:100 msgid "Running" msgstr "正在运行" #: src/app_info.cpp:102 msgid "Suspended" msgstr "已暂停" #: src/app_info.cpp:104 msgid "Idle" msgstr "空闲" #: src/app_info.cpp:106 msgid "Creating" msgstr "创建中" #: src/app_info.cpp:108 msgid "Error" msgstr "错误" #: src/app_info.cpp:110 msgid "Unknown" msgstr "未知" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "未定义名称 - 进程 ID " #: src/app_info.cpp:292 msgid "channels" msgstr "声道" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "退出 Easy Effects。 在服务模式下运行时有用。" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "打印 EasyEffects 版本号" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "重置 Easy Effects。" #: src/application.cpp:609 msgid "Hide the Window." msgstr "隐藏隐藏窗口。" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "全局旁路。 1 启用,2 禁用,3 获取状态" #: src/application.cpp:615 msgid "Show available presets." msgstr "显示可用预设。" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "加载预设。 示例:easyeffects -l music" #: src/application_ui.cpp:344 msgid "_Output" msgstr "输出(_O)" #: src/application_ui.cpp:345 msgid "_Input" msgstr "输入(_I)" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "PipeWire(_P)" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "文件不是普通文件" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Impulse文件已损坏或不支持" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "仅支持双声道Impulse文件" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "脉冲文件未导入" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "导入 Impulse 文件" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "打开" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "脉冲响应" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "加载脉冲" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "删除脉冲" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "未加载脉冲文件" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "加载脉冲文件失败" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "录音程序" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "播放器" #: src/effects_box.cpp:352 msgid "Effects" msgstr "音效" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "加载 APO 预设文件" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "APO 预设" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "APO 预设未成功加载。可能是文件格式不受支持。请检查文件内容。" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "导出 APO 预设时尚不支持分割通道。" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "导出 APO 预设文件" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "是否储存?" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO 预设" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "导入 GraphicEQ 预设文件" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "GraphicEQ 预设" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "GraphicEQ 预设未成功加载。可能是文件格式不受支持。请检查文件内容。" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "删除自动加载预设" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "输出电平表" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "删除" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "输出设备" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "添加" #. Placeholders in case of issues #: src/presets_manager.cpp:439 #, fuzzy msgid "Community Preset" msgstr "导入预设" #: src/presets_manager.cpp:439 msgid "Package" msgstr "" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "预设未成功加载" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "已排除程序列表的格式错误" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "加载已排除程序列表时出错" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "效果列表的格式错误" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "加载效果列表时出错" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "一个或多个参数格式错误" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "加载效果时出错" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "是否储存?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "是否删除?" #: src/presets_menu.cpp:558 #, fuzzy msgid "No Preset Loaded" msgstr "新预设名称" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Local Preset Loaded" msgstr "预设列表" #: src/presets_menu.cpp:573 #, fuzzy msgid "Last Community Preset Loaded" msgstr "导入预设" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "所选模型未加载成功,可能是文件格式不支持,已退回到标准模型。" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "导入模型文件" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "RNNoise 模型" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "低音增强" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "低音响度" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "卷积混响器" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "交叉反馈" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "音质晶化器" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "深度降噪" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "齿音消除" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "回音消除" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "均衡器" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "激励器" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "电平表" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "限幅器" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "放大器" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "多频段压缩器" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "多频段门限" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "混响" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "降噪" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "语音处理器" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "立体声工具" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "{} 不可用" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" "没有找到使用 {} 效果所需的 {} 软件。请使用Flatpak版Easy Effects,或自行安装缺" "失的软件包。" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" "{} 效果在编译Easy Effects的时候被禁用了。这可能是这个效果所需的软件\"{}\"在编" "译时并不存在。请下载Flatpak版Easy Effects,或者重新编译Easy Effects。" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "正在使用 {}" #~ msgid "Ceiling" #~ msgstr "上限" #~ msgid "\"Presets\"" #~ msgstr "\"预设\"" #~ msgid "Import a preset" #~ msgstr "导入预设" #~ msgid "Low-Cut Filter" #~ msgstr "低切滤音" #~ msgid "High-Cut Filter" #~ msgstr "高切滤音" #~ msgid "Uniform" #~ msgstr "均值" #~ msgid "New Output Preset Name" #~ msgstr "新输出预设名" #~ msgid "infinity" #~ msgstr "无限" #~ msgid "IIR" #~ msgstr "无限脉冲响应 (IIR)" #~ msgid "FIR" #~ msgstr "有限脉冲响应 (FIR)" #~ msgid "FFT" #~ msgstr "快速傅里叶变换 (FFT)" #~ msgid "SPM" #~ msgstr "自相位调制 (SPM)" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "比率" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "阈值" #~ msgid "Low-pass" #~ msgstr "低通" #, fuzzy #~ msgid "High-pass" #~ msgstr "高通滤波器" #~ msgid "Gating" #~ msgstr "门控" #~ msgid "12dB/oct Lowpass" #~ msgstr "12dB/oct 低通" #~ msgid "24dB/oct Lowpass" #~ msgstr "24dB/oct 低通" #~ msgid "36dB/oct Lowpass" #~ msgstr "36dB/oct 低通" #~ msgid "12dB/oct Highpass" #~ msgstr "12dB/oct 高通" #~ msgid "24dB/oct Highpass" #~ msgstr "24dB/oct 高通" #~ msgid "36dB/oct Highpass" #~ msgstr "36dB/oct 高通" #~ msgid "6dB/oct Bandpass" #~ msgstr "6dB/oct 带通" #~ msgid "12dB/oct Bandpass" #~ msgstr "12dB/oct 带通" #~ msgid "18dB/oct Bandpass" #~ msgstr "18dB/oct 带通" #~ msgid "6dB/oct Bandreject" #~ msgstr "6dB/oct 带阻" #~ msgid "12dB/oct Bandreject" #~ msgstr "12dB/oct 带阻" #~ msgid "18dB/oct Bandreject" #~ msgstr "18dB/oct 带阻" #~ msgid "Inertia" #~ msgstr "惯性" #~ msgid "Band Type" #~ msgstr "频段类型" #~ msgid "Band Mode" #~ msgstr "频段模式" #~ msgid "Band Slope" #~ msgstr "频段斜率" #~ msgid "Loudness List" #~ msgstr "响度列表" #~ msgid "High Speed" #~ msgstr "高速" #~ msgid "High Quality" #~ msgstr "高品质" #~ msgid "High Consistency" #~ msgstr "高一贯性" #~ msgid "Formant" #~ msgstr "格式" #~ msgid "Shifted" #~ msgstr "偏移" #~ msgid "Preserved" #~ msgstr "保留" #~ msgid "Transients" #~ msgstr "瞬态" #~ msgid "Crisp" #~ msgstr "清脆" #~ msgid "Mixed" #~ msgstr "混合 (Mixed)" #~ msgid "Smooth" #~ msgstr "平滑" #~ msgid "Detector" #~ msgstr "侦测器" #~ msgid "Compound" #~ msgstr "混合侦测" #~ msgid "Percussive" #~ msgstr "打击乐" #~ msgid "Soft" #~ msgstr "柔声" #~ msgid "Phase" #~ msgstr "相位" #~ msgid "Laminar" #~ msgstr "层流式" #~ msgid "Independent" #~ msgstr "独立式" #~ msgid "Cents" #~ msgstr "音分" #~ msgid "Octaves" #~ msgstr "八度" #~ msgid "_Manual" #~ msgstr "使用手册(_M)" #~ msgid "Open the Easy Effects Manual" #~ msgstr "打开 Easy Effects 手册" #~ msgid "{} Is Not Installed On The System" #~ msgstr "{} 未在系统中安装" #~ msgid "High Pass" #~ msgstr "高通" #~ msgid "Low Pass" #~ msgstr "低通" #~ msgid "Cancel" #~ msgstr "取消" #~ msgid " PreAmplification" #~ msgstr " 前置放大" #~ msgid "Close (Press ESC)" #~ msgstr "关闭(请按 ESC)" #~ msgid "Frame Size" #~ msgstr "音帧长度" #~ msgid "" #~ "Enable/disable the\n" #~ " global bypass" #~ msgstr "启用/禁用全局旁通" #~ msgid " Low-Pass" #~ msgstr " 低通" #~ msgid " Uniform" #~ msgstr " 均值" #~ msgid "Left Delay" #~ msgstr "左延迟" #~ msgid "Right Delay" #~ msgstr "右延迟" #~ msgid "Left Dry Level" #~ msgstr "左干声级别" #~ msgid "Right Dry Level" #~ msgstr "右干声级别" #~ msgid "Left Wet Level" #~ msgstr "左湿声级别" #~ msgid "Right Wet Level" #~ msgstr "右湿声级别" #~ msgid "Fast Fourier Transform Size" #~ msgstr "快速傅里叶变换大小" #~ msgid "Clipping Range" #~ msgstr "削波范围" #~ msgid "Suppression" #~ msgstr "抑制" #~ msgid "Audio effects for PipeWire applications" #~ msgstr "为使用 PipeWire 的程序提供音效" #~ msgid "Noise Reduction (Fast)" #~ msgstr "降噪(快速)" #~ msgid "Load APO Preset" #~ msgstr "加载 APO 预设" #~ msgid "EasyEffects" #~ msgstr "EasyEffects" #~ msgid "Output Presets: " #~ msgstr "输出预设: " #~ msgid "Input Presets: " #~ msgstr "输入预设: " #~ msgid "Split Mode" #~ msgstr "分割模式" #~ msgid "Split 1/2" #~ msgstr "分割 1/2" #~ msgid "Split 2/3" #~ msgstr "分割 2/3" #~ msgid "Split Frequency 2" #~ msgstr "分割频率 2" #~ msgid "Split 3/4" #~ msgstr "分割 3/4" #~ msgid "Split Frequency 3" #~ msgstr "分割频率 3" #~ msgid "Sub Band" #~ msgstr "子频" #~ msgid "Band 1 Bypass" #~ msgstr "频段 1 旁路" #~ msgid "Band 1 Detection" #~ msgstr "频段 1 侦测" #~ msgid "Band 1 Attack" #~ msgstr "频段 1 起音" #~ msgid "Band 1 Release" #~ msgstr "频段 1 消音" #~ msgid "Band 1 Threshold" #~ msgstr "频段 1 阈值" #, fuzzy #~ msgid "Band 1 Knee" #~ msgstr "频段 1 拐点" #~ msgid "Band 1 Makeup" #~ msgstr "频段 1 补偿" #~ msgid "Max Reduction" #~ msgstr "最大衰减" #~ msgid "Low Band" #~ msgstr "低频" #~ msgid "Band 2 Bypass" #~ msgstr "频段 2 旁路" #~ msgid "Band 2 Detection" #~ msgstr "频段 2 侦测" #~ msgid "Band 2 Attack" #~ msgstr "频段 2 起音" #~ msgid "Band 2 Release" #~ msgstr "频段 2 消音" #~ msgid "Band 2 Threshold" #~ msgstr "频段 2 阈值" #, fuzzy #~ msgid "Band 2 Knee" #~ msgstr "频段 2 拐点" #~ msgid "Band 2 Makeup" #~ msgstr "频段 2 补偿" #~ msgid "Band 2 Max Reduction" #~ msgstr "频段 2 最大衰减" #~ msgid "Mid Band" #~ msgstr "中频" #~ msgid "Band 3 Bypass" #~ msgstr "频段 3 旁路" #~ msgid "Band 3 Detection" #~ msgstr "频段 3 侦测" #~ msgid "Band 3 Attack" #~ msgstr "频段 3 起音" #~ msgid "Band 3 Release" #~ msgstr "频段 3 消音" #~ msgid "Band 3 Threshold" #~ msgstr "频段 3 阈值" #, fuzzy #~ msgid "Band 3 Knee" #~ msgstr "频段 3 拐点" #~ msgid "Band 3 Makeup" #~ msgstr "频段 3 补偿" #~ msgid "Band 3 Max Reduction" #~ msgstr "频段 3 最大衰减" #~ msgid "High Band" #~ msgstr "高频" #~ msgid "Band 4 Bypass" #~ msgstr "频段 4 旁路" #~ msgid "Band 4 Detection" #~ msgstr "频段 4 侦测" #~ msgid "Band 4 Attack" #~ msgstr "频段 4 起音" #~ msgid "Band 4 Release" #~ msgstr "频段 4 消音" #~ msgid "Band 4 Threshold" #~ msgstr "频段 4 阈值" #, fuzzy #~ msgid "Band 4 Knee" #~ msgstr "频段 4 拐点" #~ msgid "Band 4 Makeup" #~ msgstr "频段 4 补偿" #~ msgid "Band 4 Max Reduction" #~ msgstr "频段 4 最大衰减" #~ msgid "Wet Amount" #~ msgstr "湿声程度" #~ msgid "Dry Amount" #~ msgstr "干声程度" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ msgid "" #~ "EasyEffects is an advanced audio manipulation tool. It includes an " #~ "equalizer, limiter, compressor and a reverberation tool, just to mention " #~ "a few. To complement this there is also a built in spectrum analyzer." #~ msgstr "" #~ "EasyEffects 是一款多功能音频调整工具程序。它的功能不仅包括均衡器、限幅器、" #~ "压缩器和混响工具,还有更多其他工具可共选择。为了使用方便,它还内建有频谱分" #~ "析仪。" #~ msgid "" #~ "EasyEffects is the successor to PulseEffects. EasyEffects only supports " #~ "PipeWire's audio server. PulseAudio users should instead use PulseEffects." #~ msgstr "" #~ "EasyEffects 是 PulseEffects 的后继版本,但它仅支持 PipeWire 的音频服务器。" #~ "PulseAudio 用户应继续使用 PulseEffects。" #~ msgid "" #~ "Because EasyEffects uses the default PipeWire sound server it will work " #~ "with most, if not all, applications you use. All supported applications " #~ "are presented in the main window, where each can be enabled individually." #~ msgstr "" #~ "由于 EasyEffects 默认使用 PipeWire 音频服务器,这意味着它能与大多数 (但并" #~ "非全部) 应用程序配合使用。EasyEffects 的主窗口会显示所有它支持的应用程序," #~ "而且可以单独管理每款应用程序的音效启用状态。" #~ msgid "" #~ "Besides manipulating sound output, EasyEffects is able to apply effects " #~ "to an input device, such as a microphone. This is, for example, useful in " #~ "audio recording, but it also works well during voice conversations." #~ msgstr "" #~ "除了处理音频输出外,EasyEffects 还可以将效果应用于输入设备,例如麦克风等," #~ "以便在录音和语音通话时发挥作用。" #~ msgid "" #~ "When EasyEffects is launched it will conveniently remember the " #~ "configuration used in the last session. It is also possible to save all " #~ "the current settings as profiles." #~ msgstr "" #~ "启动 EasyEffects 时,载入上一个会话中使用的配置。 也可以将所有当前设置另存" #~ "为配置文件。" #~ msgid "The main page showing two audio output apps" #~ msgstr "正在显示两个音频输出应用程序的主页面" #~ msgid "The bass enhancer page showing audio controls" #~ msgstr "低音增强页面显示的音效控件" #~ msgid "The convolver page showing audio controls" #~ msgstr "卷积混响器显示的音频控件" #~ msgid "This release adds the following features:" #~ msgstr "此版本增加了以下功能:" #~ msgid "" #~ "The rnnoise library is now optional. This should help package maintainers " #~ "to build" #~ msgstr "现在 rnnoise 库是可选的。这项改动可以帮助软件包维护者构建" #~ msgid "a Debian package. See the issue #1000 for more information." #~ msgstr "Debian 软件包。请参考 issue #1000 以了解更多信息。" #~ msgid "The interface of the pitch plugin was improved" #~ msgstr "改进了音调插件界面" #~ msgid "Our application icon is now compatible with desktops that uses QT" #~ msgstr "我们的应用图标现已兼容基于QT的桌面环境" #~ msgid "and #1427" #~ msgstr "和 #1427" #~ msgid "Many translation updates" #~ msgstr "许多翻译更新" #~ msgid "" #~ "There is a new setting allowing the user to select an inactivity timeout " #~ "for the pipeline. When no client is playing" #~ msgstr "有一个新设置允许用户为管道选择不活动超时。当没有客户端正在播放时" #~ msgid "we do not waste CPU power processing silence." #~ msgstr "我们不会浪费 CPU 功率处理静音。" #~ msgid "This release adds the following feature:" #~ msgstr "此版软件新增了以下功能:" #~ msgid "Average" #~ msgstr "平均值" #~ msgid "Failed" #~ msgstr "失败" #~ msgid "Use Default" #~ msgstr "使用默认" #~ msgid "Remove this plugin" #~ msgstr "删除这个插件" #~ msgid "Import Presets" #~ msgstr "加载预设" #~ msgid "Start Service at Login" #~ msgstr "登录时启动服务" #~ msgid "Process All Outputs" #~ msgstr "处理所有输出" #~ msgid "Process All Inputs" #~ msgstr "处理所有输入" #~ msgid "Activate" #~ msgstr "激活" #~ msgid "Add to Blocklist" #~ msgstr "加入黑名单" #~ msgid "Blocklist" #~ msgstr "黑名单" #~ msgid "Add Plugin" #~ msgstr "增加插件" #~ msgid "Speakers" #~ msgstr "扬声器" #~ msgid "Microphone" #~ msgstr "麦克风" #~ msgid "enabled" #~ msgstr "已启用" #~ msgid "disabled" #~ msgstr "已禁用" #~ msgid "Plugins" #~ msgstr "插件" #~ msgid "Format" #~ msgstr "格式" #~ msgid "Latency" #~ msgstr "延迟" #~ msgid "idle" #~ msgstr "空闲" #~ msgid "Faster" #~ msgstr "快速" #~ msgid "Preserve Formant" #~ msgstr "共振保护" #~ msgid "Cmoy" #~ msgstr "Cmoy" #~ msgid "Jmeier" #~ msgstr "Jmeier" #~ msgid "Set the volume and turn on/off effects" #~ msgstr "设置音量和 打开/关闭音效" #~ msgid "Includes an equalizer with built-in presets" #~ msgstr "包含预设的均衡器" #~ msgid "Input Limiter" #~ msgstr "输入限幅器" #~ msgid "Calibration" #~ msgstr "校准" #~ msgid "Settings" #~ msgstr "设置" #~ msgid "Id" #~ msgstr "Id" #~ msgid "Player Name" #~ msgstr "播放器名称" #~ msgid "Maximum Gain Reduction" #~ msgstr "最大增益衰减" #~ msgid "Run in Background" #~ msgstr "后台运行" #~ msgid "Limit" #~ msgstr "限制" #~ msgid "ASC" #~ msgstr "ASC" #~ msgid "ISO226-2003" #~ msgstr "ISO226-2003" #~ msgid "Fletcher-Munson" #~ msgstr "Fletcher-Munson" #~ msgid "Robinson-Dadson" #~ msgstr "Robinson-Dadson" #~ msgid "Signal" #~ msgstr "测试信号" #, fuzzy #~ msgid "Wet" #~ msgstr "程度" #~ msgid "Show Spectrum" #~ msgstr "显示频谱" #~ msgid "Border" #~ msgstr "显示边界" #~ msgid "Spectrum Type" #~ msgstr "频谱类型" #~ msgid "Spectrum Color" #~ msgstr "光谱颜色" #~ msgid "S/C Level" #~ msgstr "S/C 级别" #~ msgid "Phase Correlation" #~ msgstr "相位相关" #~ msgid "Automatic Smoothing Control" #~ msgstr "自动平滑控制" easyeffects-7.1.7/po/zh_Hant.po000066400000000000000000001573371463533416400164310ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the easyeffects package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: easyeffects\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-21 17:26+0000\n" "PO-Revision-Date: 2024-04-27 11:07+0000\n" "Last-Translator: Young \n" "Language-Team: Chinese (Traditional) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5.1\n" #. Translators: This is a variable for the application name, don't translate! #: data/com.github.wwmm.easyeffects.desktop.in:4 msgid "@APP_NAME@" msgstr "@APP_NAME@" #: data/com.github.wwmm.easyeffects.desktop.in:5 msgid "Equalizer, Compressor and Other Audio Effects" msgstr "等化器,壓縮器與其他音效" #: data/com.github.wwmm.easyeffects.desktop.in:6 msgid "Audio Effects for PipeWire Applications" msgstr "PipeWire 音效程式" #: data/com.github.wwmm.easyeffects.desktop.in:7 msgid "limiter;compressor;reverberation;equalizer;autovolume;" msgstr "limiter;compressor;reverberation;equalizer;autovolume;" #: data/ui/app_info.ui:212 msgid "Enable/disable this application" msgstr "啟用 / 停用此程式" #: data/ui/app_info.ui:213 data/ui/rnnoise.ui:51 msgid "Enable" msgstr "啟用" #: data/ui/app_info.ui:225 msgid "Excluded App List: Add/remove this application" msgstr "略過的應用程式: 新增或移除此程式" #: data/ui/app_info.ui:226 msgid "Exclude" msgstr "略過" #: data/ui/app_info.ui:247 data/ui/app_info.ui:249 msgid "Mute Application" msgstr "靜音" #: data/ui/app_info.ui:269 msgid "Change the volume of this application" msgstr "變更此程式的音量" #: data/ui/app_info.ui:271 msgid "Application Volume" msgstr "音量" #: data/ui/application_window.ui:6 msgid "_Help" msgstr "幫助" #: data/ui/application_window.ui:12 msgid "_Reset Settings" msgstr "重設設定值" #: data/ui/application_window.ui:18 msgid "_Preferences" msgstr "" #: data/ui/application_window.ui:22 msgid "_Shortcuts" msgstr "" #: data/ui/application_window.ui:26 msgid "_About Easy Effects" msgstr "" #: data/ui/application_window.ui:32 msgid "_Quit" msgstr "離開" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:159 msgid "Presets" msgstr "" #: data/ui/application_window.ui:61 msgid "Presets Menu" msgstr "" #: data/ui/application_window.ui:68 msgid "Enable/disable the global bypass" msgstr "" #: data/ui/application_window.ui:73 msgid "Global Bypass" msgstr "" #: data/ui/application_window.ui:83 msgid "Primary Menu" msgstr "" #: data/ui/application_window.ui:99 msgid "Easy Effects Window" msgstr "" #: data/ui/apps_box.ui:17 msgid "Applications List" msgstr "控制列表" #: data/ui/apps_box.ui:27 msgid "Empty List" msgstr "空白列表" #: data/ui/apps_box.ui:28 msgid "No Audio Application Available" msgstr "沒有可用的音訊應用程式" #: data/ui/autogain.ui:29 data/ui/filter.ui:38 msgid "Controls" msgstr "" #: data/ui/autogain.ui:33 msgid "Target" msgstr "" #: data/ui/autogain.ui:56 msgid "Silence" msgstr "" #: data/ui/autogain.ui:80 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:103 msgid "Reference" msgstr "" #: data/ui/autogain.ui:109 data/ui/autogain.ui:158 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:110 data/ui/autogain.ui:196 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "短期" #: data/ui/autogain.ui:111 data/ui/autogain.ui:233 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:112 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:113 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:114 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:124 msgid "History" msgstr "歷史" #: data/ui/autogain.ui:129 data/ui/autogain.ui:598 data/ui/bass_enhancer.ui:458 #: data/ui/bass_loudness.ui:276 data/ui/compressor.ui:1307 #: data/ui/convolver.ui:394 data/ui/crossfeed.ui:286 data/ui/crystalizer.ui:204 #: data/ui/deepfilternet.ui:374 data/ui/deesser.ui:644 data/ui/delay.ui:393 #: data/ui/echo_canceller.ui:278 data/ui/equalizer.ui:572 #: data/ui/exciter.ui:457 data/ui/expander.ui:1227 data/ui/filter.ui:483 #: data/ui/gate.ui:1440 data/ui/limiter.ui:909 data/ui/loudness.ui:316 #: data/ui/maximizer.ui:287 data/ui/multiband_compressor.ui:661 #: data/ui/multiband_gate.ui:661 data/ui/pitch.ui:387 data/ui/reverb.ui:527 #: data/ui/rnnoise.ui:441 data/ui/speex.ui:356 data/ui/stereo_tools.ui:786 msgid "Reset" msgstr "重設" #: data/ui/autogain.ui:144 data/ui/autogain.ui:346 data/ui/bass_loudness.ui:27 #: data/ui/level_meter.ui:58 src/tags_plugin_name.cpp:56 msgid "Loudness" msgstr "" #: data/ui/autogain.ui:270 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:307 data/ui/level_meter.ui:217 msgid "Range" msgstr "範圍" #: data/ui/autogain.ui:383 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:430 data/ui/bass_enhancer.ui:258 #: data/ui/bass_loudness.ui:107 data/ui/compressor.ui:650 #: data/ui/compressor.ui:1139 data/ui/convolver.ui:225 data/ui/crossfeed.ui:117 #: data/ui/crystalizer.ui:46 data/ui/deepfilternet.ui:206 #: data/ui/deesser.ui:415 data/ui/delay.ui:225 data/ui/echo_canceller.ui:109 #: data/ui/equalizer.ui:404 data/ui/exciter.ui:258 data/ui/expander.ui:571 #: data/ui/expander.ui:1059 data/ui/filter.ui:315 data/ui/gate.ui:784 #: data/ui/gate.ui:1272 data/ui/level_meter.ui:263 data/ui/limiter.ui:741 #: data/ui/loudness.ui:148 data/ui/maximizer.ui:87 #: data/ui/multiband_compressor.ui:493 data/ui/multiband_gate.ui:493 #: data/ui/pipe_manager_box.ui:339 data/ui/pitch.ui:219 data/ui/reverb.ui:358 #: data/ui/rnnoise.ui:273 data/ui/speex.ui:187 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:617 msgid "Input" msgstr "輸入" #: data/ui/autogain.ui:449 data/ui/bass_enhancer.ui:277 #: data/ui/bass_loudness.ui:126 data/ui/compressor.ui:1158 #: data/ui/convolver.ui:244 data/ui/crossfeed.ui:136 data/ui/crystalizer.ui:65 #: data/ui/deepfilternet.ui:225 data/ui/deesser.ui:434 data/ui/delay.ui:244 #: data/ui/echo_canceller.ui:128 data/ui/equalizer.ui:423 #: data/ui/exciter.ui:277 data/ui/expander.ui:1078 data/ui/filter.ui:334 #: data/ui/gate.ui:1291 data/ui/limiter.ui:760 data/ui/loudness.ui:167 #: data/ui/maximizer.ui:106 data/ui/multiband_compressor.ui:512 #: data/ui/multiband_gate.ui:512 data/ui/pitch.ui:238 data/ui/reverb.ui:377 #: data/ui/rnnoise.ui:292 data/ui/speex.ui:206 data/ui/stereo_tools.ui:636 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:514 data/ui/bass_enhancer.ui:342 #: data/ui/bass_loudness.ui:48 data/ui/bass_loudness.ui:191 #: data/ui/compressor.ui:1223 data/ui/convolver.ui:309 data/ui/crossfeed.ui:201 #: data/ui/crystalizer.ui:130 data/ui/deepfilternet.ui:290 #: data/ui/deesser.ui:499 data/ui/delay.ui:309 data/ui/echo_canceller.ui:193 #: data/ui/equalizer.ui:488 data/ui/exciter.ui:342 data/ui/expander.ui:1143 #: data/ui/filter.ui:399 data/ui/gate.ui:1356 data/ui/limiter.ui:825 #: data/ui/loudness.ui:232 data/ui/maximizer.ui:171 #: data/ui/multiband_compressor.ui:577 data/ui/multiband_gate.ui:577 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:303 data/ui/reverb.ui:442 #: data/ui/rnnoise.ui:357 data/ui/speex.ui:271 data/ui/stereo_tools.ui:379 #: data/ui/stereo_tools.ui:701 msgid "Output" msgstr "輸出" #: data/ui/autogain.ui:533 data/ui/bass_enhancer.ui:361 #: data/ui/bass_loudness.ui:210 data/ui/compressor.ui:1242 #: data/ui/convolver.ui:328 data/ui/crossfeed.ui:220 data/ui/crystalizer.ui:149 #: data/ui/deepfilternet.ui:309 data/ui/deesser.ui:518 data/ui/delay.ui:328 #: data/ui/echo_canceller.ui:212 data/ui/equalizer.ui:507 #: data/ui/exciter.ui:361 data/ui/expander.ui:1162 data/ui/filter.ui:418 #: data/ui/gate.ui:1375 data/ui/limiter.ui:844 data/ui/loudness.ui:251 #: data/ui/maximizer.ui:190 data/ui/multiband_compressor.ui:596 #: data/ui/multiband_gate.ui:596 data/ui/pitch.ui:322 data/ui/reverb.ui:461 #: data/ui/rnnoise.ui:376 data/ui/speex.ui:290 data/ui/stereo_tools.ui:720 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:673 data/ui/expander.ui:594 #: data/ui/gate.ui:807 data/ui/pipe_manager_box.ui:235 #: data/ui/pipe_manager_box.ui:365 msgid "Device" msgstr "設備" #: data/ui/autoload_row.ui:40 data/ui/factory_clients_listview.ui:44 #: data/ui/factory_modules_listview.ui:44 data/ui/pipe_manager_box.ui:53 #: data/ui/pipe_manager_box.ui:89 data/ui/presets_menu.ui:43 msgid "Name" msgstr "名稱" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:246 #: data/ui/pipe_manager_box.ui:376 msgid "Preset" msgstr "" #: data/ui/autoload_row.ui:114 msgid "Remove this autoload preset" msgstr "" #: data/ui/bass_enhancer.ui:23 data/ui/compressor.ui:627 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:548 data/ui/gate.ui:761 msgid "Listen" msgstr "聽" #: data/ui/bass_enhancer.ui:34 data/ui/exciter.ui:34 msgid "Blend Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:46 data/ui/exciter.ui:46 msgid "3rd" msgstr "第三" #: data/ui/bass_enhancer.ui:89 data/ui/exciter.ui:89 msgid "2nd" msgstr "第二" #: data/ui/bass_enhancer.ui:108 data/ui/exciter.ui:108 msgid "Amount" msgstr "" #: data/ui/bass_enhancer.ui:141 data/ui/bass_enhancer.ui:420 #: data/ui/exciter.ui:141 data/ui/exciter.ui:420 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:175 data/ui/exciter.ui:175 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:208 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:236 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:69 msgid "Link" msgstr "" #: data/ui/blocklist_menu.ui:23 data/ui/blocklist_menu.ui:26 msgid "Application Name" msgstr "應用程式名稱" #: data/ui/blocklist_menu.ui:42 msgid "Add to Excluded Applications" msgstr "" #: data/ui/blocklist_menu.ui:86 msgid "Excluded Applications List" msgstr "" #: data/ui/blocklist_menu.ui:99 msgid "Show Excluded Applications" msgstr "" #: data/ui/compressor.ui:25 data/ui/delay.ui:25 data/ui/equalizer.ui:279 #: data/ui/expander.ui:25 data/ui/filter.ui:25 data/ui/gate.ui:25 #: data/ui/limiter.ui:25 data/ui/loudness.ui:25 #: data/ui/multiband_compressor.ui:105 data/ui/multiband_gate.ui:105 msgid "Show Native Window" msgstr "" #: data/ui/compressor.ui:51 src/tags_plugin_name.cpp:41 msgid "Compressor" msgstr "" #: data/ui/compressor.ui:63 data/ui/compressor.ui:595 data/ui/compressor.ui:871 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:61 data/ui/equalizer_band.ui:134 #: data/ui/expander.ui:63 data/ui/expander.ui:516 data/ui/expander.ui:791 #: data/ui/filter.ui:74 data/ui/gate.ui:729 data/ui/gate.ui:1004 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:536 #: data/ui/multiband_gate_band.ui:594 msgid "Mode" msgstr "模式" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:100 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:101 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:102 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:87 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:807 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:133 data/ui/multiband_compressor_band.ui:764 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:179 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:282 data/ui/limiter.ui:501 #: data/ui/multiband_compressor_band.ui:189 data/ui/multiband_gate_band.ui:143 msgid "Attack" msgstr "" #: data/ui/compressor.ui:190 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:169 msgid "Time" msgstr "時間" #: data/ui/compressor.ui:200 data/ui/deesser.ui:301 data/ui/expander.ui:121 #: data/ui/gate.ui:161 data/ui/gate.ui:253 data/ui/limiter.ui:364 #: data/ui/maximizer.ui:49 data/ui/multiband_compressor_band.ui:180 #: data/ui/multiband_gate_band.ui:234 data/ui/multiband_gate_band.ui:326 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:225 data/ui/expander.ui:146 #: data/ui/multiband_compressor_band.ui:224 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:246 data/ui/expander.ui:167 data/ui/gate.ui:537 #: data/ui/multiband_compressor_band.ui:248 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:253 data/ui/expander.ui:174 data/ui/gate.ui:76 #: data/ui/limiter.ui:323 data/ui/limiter.ui:537 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:198 data/ui/multiband_gate_band.ui:149 #: data/ui/rnnoise.ui:116 msgid "Release" msgstr "釋出" #: data/ui/compressor.ui:278 data/ui/expander.ui:199 #: data/ui/multiband_compressor_band.ui:274 msgid "Release Time" msgstr "釋出時間" #: data/ui/compressor.ui:301 data/ui/expander.ui:222 data/ui/gate.ui:591 #: data/ui/multiband_compressor_band.ui:301 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:308 data/ui/deesser.ui:334 data/ui/expander.ui:229 #: data/ui/multiband_compressor_band.ui:308 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:344 data/ui/expander.ui:265 data/ui/limiter.ui:572 #: data/ui/multiband_compressor_band.ui:345 msgid "Knee" msgstr "" #: data/ui/compressor.ui:378 data/ui/deesser.ui:368 data/ui/expander.ui:299 #: data/ui/gate.ui:430 data/ui/multiband_compressor_band.ui:382 #: data/ui/multiband_gate_band.ui:411 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:412 data/ui/delay.ui:62 data/ui/delay.ui:149 #: data/ui/expander.ui:333 data/ui/gate.ui:346 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:208 data/ui/stereo_tools.ui:528 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:446 data/ui/delay.ui:85 data/ui/delay.ui:172 #: data/ui/expander.ui:367 data/ui/gate.ui:351 #: data/ui/multiband_compressor.ui:207 data/ui/multiband_gate.ui:207 #: data/ui/reverb.ui:241 data/ui/rnnoise.ui:90 data/ui/stereo_tools.ui:563 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:487 data/ui/compressor.ui:508 #: data/ui/compressor.ui:1075 data/ui/expander.ui:408 data/ui/expander.ui:429 #: data/ui/expander.ui:995 data/ui/gate.ui:621 data/ui/gate.ui:642 #: data/ui/gate.ui:1208 data/ui/multiband_compressor_band.ui:466 #: data/ui/multiband_gate_band.ui:524 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:519 data/ui/compressor.ui:525 data/ui/expander.ui:440 #: data/ui/expander.ui:446 data/ui/gate.ui:653 data/ui/gate.ui:659 #: data/ui/multiband_compressor.ui:121 data/ui/multiband_compressor.ui:128 #: data/ui/multiband_gate.ui:121 data/ui/multiband_gate.ui:128 msgid "Stereo Split Mode" msgstr "" #: data/ui/compressor.ui:532 data/ui/expander.ui:453 data/ui/gate.ui:666 #: data/ui/multiband_compressor_band.ui:455 data/ui/multiband_gate_band.ui:513 msgid "Source" msgstr "" #: data/ui/compressor.ui:544 data/ui/expander.ui:465 data/ui/gate.ui:678 #: data/ui/multiband_compressor_band.ui:478 data/ui/multiband_gate_band.ui:536 msgid "Middle" msgstr "" #: data/ui/compressor.ui:545 data/ui/expander.ui:466 data/ui/gate.ui:679 #: data/ui/multiband_compressor_band.ui:479 data/ui/multiband_gate_band.ui:537 msgid "Side" msgstr "" #: data/ui/compressor.ui:546 data/ui/delay.ui:38 data/ui/equalizer.ui:215 #: data/ui/expander.ui:467 data/ui/gate.ui:680 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:480 data/ui/multiband_gate_band.ui:538 #: data/ui/pipe_manager_box.ui:570 data/ui/stereo_tools.ui:163 msgid "Left" msgstr "左" #: data/ui/compressor.ui:547 data/ui/delay.ui:125 data/ui/equalizer.ui:242 #: data/ui/expander.ui:468 data/ui/gate.ui:681 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:481 data/ui/multiband_gate_band.ui:539 #: data/ui/pipe_manager_box.ui:581 data/ui/stereo_tools.ui:218 msgid "Right" msgstr "右" #: data/ui/compressor.ui:548 data/ui/compressor.ui:571 data/ui/expander.ui:469 #: data/ui/expander.ui:492 data/ui/gate.ui:682 data/ui/gate.ui:705 #: data/ui/multiband_compressor_band.ui:482 #: data/ui/multiband_compressor_band.ui:517 data/ui/multiband_gate_band.ui:540 #: data/ui/multiband_gate_band.ui:575 msgid "Min" msgstr "最小" #: data/ui/compressor.ui:549 data/ui/compressor.ui:572 data/ui/expander.ui:470 #: data/ui/expander.ui:493 data/ui/gate.ui:683 data/ui/gate.ui:706 #: data/ui/multiband_compressor_band.ui:483 #: data/ui/multiband_compressor_band.ui:518 data/ui/multiband_gate_band.ui:541 #: data/ui/multiband_gate_band.ui:576 msgid "Max" msgstr "最大" #: data/ui/compressor.ui:558 data/ui/expander.ui:479 data/ui/gate.ui:692 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:492 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:550 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:567 data/ui/expander.ui:488 data/ui/gate.ui:701 #: data/ui/multiband_compressor_band.ui:513 data/ui/multiband_gate_band.ui:571 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:568 data/ui/expander.ui:489 data/ui/gate.ui:702 #: data/ui/multiband_compressor_band.ui:514 data/ui/multiband_gate_band.ui:572 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:490 data/ui/gate.ui:703 #: data/ui/multiband_compressor_band.ui:515 data/ui/multiband_gate_band.ui:573 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:570 data/ui/expander.ui:491 data/ui/gate.ui:704 #: data/ui/multiband_compressor_band.ui:516 data/ui/multiband_gate_band.ui:574 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:502 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:527 data/ui/multiband_gate_band.ui:585 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:607 data/ui/deesser.ui:50 data/ui/expander.ui:528 #: data/ui/gate.ui:741 data/ui/multiband_compressor_band.ui:551 #: data/ui/multiband_gate_band.ui:609 msgid "Peak" msgstr "" #: data/ui/compressor.ui:608 data/ui/deesser.ui:49 data/ui/expander.ui:529 #: data/ui/gate.ui:742 data/ui/multiband_compressor_band.ui:552 #: data/ui/multiband_gate_band.ui:610 msgid "RMS" msgstr "" #: data/ui/compressor.ui:609 data/ui/expander.ui:530 data/ui/gate.ui:743 #: data/ui/multiband_compressor_band.ui:553 data/ui/multiband_gate_band.ui:611 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:610 data/ui/expander.ui:531 data/ui/gate.ui:744 #: data/ui/multiband_compressor_band.ui:554 data/ui/multiband_gate_band.ui:612 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:619 data/ui/expander.ui:540 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:563 data/ui/multiband_gate_band.ui:621 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:633 data/ui/expander.ui:554 data/ui/gate.ui:767 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:662 data/ui/equalizer_band.ui:108 #: data/ui/expander.ui:583 data/ui/filter.ui:42 data/ui/gate.ui:796 msgid "Type" msgstr "" #: data/ui/compressor.ui:688 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:689 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:690 data/ui/expander.ui:610 data/ui/gate.ui:823 msgid "External" msgstr "" #: data/ui/compressor.ui:699 data/ui/expander.ui:619 data/ui/gate.ui:832 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:727 data/ui/expander.ui:647 data/ui/gate.ui:860 #: src/plugins_box.cpp:806 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:734 data/ui/expander.ui:654 data/ui/gate.ui:867 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:770 data/ui/expander.ui:690 data/ui/gate.ui:903 #: data/ui/multiband_compressor_band.ui:699 data/ui/multiband_gate_band.ui:756 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:806 data/ui/expander.ui:726 data/ui/gate.ui:939 #: data/ui/limiter.ui:241 data/ui/multiband_compressor_band.ui:732 #: data/ui/multiband_gate_band.ui:788 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:848 data/ui/expander.ui:768 data/ui/gate.ui:981 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:858 data/ui/expander.ui:778 data/ui/filter.ui:51 #: data/ui/gate.ui:991 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:884 data/ui/equalizer_band.ui:204 #: data/ui/expander.ui:804 data/ui/filter.ui:166 data/ui/gate.ui:1017 #: data/ui/pipe_manager_box.ui:627 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:899 data/ui/compressor.ui:958 data/ui/expander.ui:819 #: data/ui/expander.ui:878 data/ui/gate.ui:1032 data/ui/gate.ui:1091 msgid "Off" msgstr "關閉" #: data/ui/compressor.ui:900 data/ui/compressor.ui:959 data/ui/expander.ui:820 #: data/ui/expander.ui:879 data/ui/gate.ui:1033 data/ui/gate.ui:1092 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:901 data/ui/compressor.ui:960 data/ui/expander.ui:821 #: data/ui/expander.ui:880 data/ui/gate.ui:1034 data/ui/gate.ui:1093 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:902 data/ui/compressor.ui:961 data/ui/expander.ui:822 #: data/ui/expander.ui:881 data/ui/gate.ui:1035 data/ui/gate.ui:1094 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:911 data/ui/expander.ui:831 data/ui/gate.ui:1044 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:936 data/ui/compressor.ui:995 data/ui/expander.ui:856 #: data/ui/expander.ui:915 data/ui/gate.ui:1069 data/ui/gate.ui:1128 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:943 data/ui/expander.ui:863 data/ui/filter.ui:50 #: data/ui/gate.ui:1076 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:970 data/ui/expander.ui:890 data/ui/gate.ui:1103 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1021 data/ui/equalizer_band.ui:235 #: data/ui/expander.ui:941 data/ui/filter.ui:218 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1048 data/ui/expander.ui:968 data/ui/gate.ui:1181 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1102 data/ui/expander.ui:1022 data/ui/gate.ui:145 #: data/ui/gate.ui:1235 data/ui/multiband_gate_band.ui:218 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:573 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:584 msgid "Right Channel" msgstr "" #: data/ui/convolver.ui:71 msgid "Impulses" msgstr "" #: data/ui/convolver.ui:79 data/ui/convolver_menu_combine.ui:113 #: data/ui/convolver_menu_combine.ui:116 msgid "Combine" msgstr "" #: data/ui/convolver.ui:86 msgid "Stereo Width" msgstr "" #: data/ui/convolver.ui:113 src/plugin_base.cpp:235 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:121 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:131 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:147 msgid "Rate" msgstr "" #: data/ui/convolver.ui:168 msgid "Samples" msgstr "" #: data/ui/convolver.ui:189 msgid "Duration" msgstr "" #: data/ui/convolver_menu_combine.ui:15 msgid "Combine Impulse Responses" msgstr "" #: data/ui/convolver_menu_combine.ui:48 msgid "First Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:82 msgid "Second Kernel" msgstr "" #: data/ui/convolver_menu_combine.ui:91 msgid "Output File Name" msgstr "" #: data/ui/convolver_menu_combine.ui:95 msgid "Combined Kernel Name" msgstr "" #: data/ui/convolver_menu_impulses.ui:16 msgid "Import Impulse" msgstr "" #: data/ui/convolver_menu_impulses.ui:25 data/ui/plugins_menu.ui:17 #: data/ui/presets_menu.ui:84 data/ui/presets_menu.ui:206 msgid "Search" msgstr "搜尋" #: data/ui/convolver_menu_impulses.ui:27 msgid "Search Impulse File" msgstr "" #: data/ui/convolver_menu_impulses.ui:47 msgid "Impulse Files List" msgstr "" #: data/ui/crossfeed.ui:39 msgid "Default" msgstr "" #: data/ui/crossfeed.ui:56 msgid "Cutoff" msgstr "" #: data/ui/crossfeed.ui:78 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:186 #: data/ui/multiband_compressor_band.ui:139 data/ui/multiband_gate_band.ui:108 #: data/ui/stereo_tools.ui:173 data/ui/stereo_tools.ui:198 msgid "Mute" msgstr "靜音" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:86 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:112 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:138 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:163 msgid "Post Filter Beta" msgstr "" #: data/ui/deesser.ui:40 msgid "Detection" msgstr "" #: data/ui/deesser.ui:77 msgid "Wide" msgstr "" #: data/ui/deesser.ui:78 msgid "Split" msgstr "" #: data/ui/deesser.ui:96 msgid "F1 Split" msgstr "" #: data/ui/deesser.ui:115 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:128 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:147 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:165 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:192 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:199 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:226 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:233 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:260 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:267 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:577 msgid "Detected" msgstr "" #: data/ui/deesser.ui:607 data/ui/gate.ui:425 data/ui/gate.ui:1154 #: data/ui/maximizer.ui:249 data/ui/multiband_gate_band.ui:406 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:128 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:107 data/ui/delay.ui:194 data/ui/stereo_tools.ui:182 #: data/ui/stereo_tools.ui:207 msgid "Invert Phase" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:49 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:70 msgid "Near End Echo Suppression" msgstr "" #: data/ui/effects_box.ui:114 msgid "Excluded Apps" msgstr "" #: data/ui/effects_box.ui:120 #, fuzzy msgid "Enable/disable input monitoring" msgstr "啟用 / 停用此程式" #: data/ui/equalizer.ui:29 msgid "Bands" msgstr "" #: data/ui/equalizer.ui:93 data/ui/filter.ui:270 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:391 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:125 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:157 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:288 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:294 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:302 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:310 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:325 src/presets_menu.cpp:144 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:359 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:155 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:173 data/ui/multiband_compressor_band.ui:149 #: data/ui/multiband_gate_band.ui:118 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:270 data/ui/filter.ui:244 data/ui/pitch.ui:28 msgid "Quality" msgstr "品質" #: data/ui/equalizer_band.ui:300 data/ui/filter.ui:192 msgid "Width" msgstr "" #: data/ui/exciter.ui:208 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:236 msgid "Ceil Value" msgstr "" #: data/ui/expander.ui:51 src/tags_plugin_name.cpp:51 msgid "Expander" msgstr "" #: data/ui/expander.ui:86 msgid "Expander Mode" msgstr "" #: data/ui/expander.ui:609 data/ui/gate.ui:822 msgid "Internal" msgstr "" #: data/ui/factory_clients_listview.ui:72 msgid "API" msgstr "" #: data/ui/factory_clients_listview.ui:100 msgid "Access" msgstr "" #: data/ui/factory_modules_listview.ui:72 msgid "Description" msgstr "註釋" #: data/ui/factory_rnnoise_listview.ui:24 msgid "Remove this model file" msgstr "刪除此模型的檔案" #: data/ui/filter.ui:52 msgid "Low-Shelf" msgstr "" #: data/ui/filter.ui:53 msgid "High-Shelf" msgstr "" #: data/ui/filter.ui:54 msgid "Bell" msgstr "" #: data/ui/filter.ui:55 msgid "Band-Pass" msgstr "" #: data/ui/filter.ui:56 msgid "Notch" msgstr "" #: data/ui/filter.ui:57 msgid "Resonance" msgstr "" #: data/ui/filter.ui:58 msgid "Ladder-Pass" msgstr "" #: data/ui/filter.ui:59 msgid "Ladder-Rejection" msgstr "" #: data/ui/filter.ui:60 msgid "All-Pass" msgstr "" #: data/ui/filter.ui:102 msgid "Equalizer Mode" msgstr "" #: data/ui/filter.ui:162 data/ui/multiband_compressor_band.ui:570 #: data/ui/multiband_gate_band.ui:628 src/tags_plugin_name.cpp:52 msgid "Filter" msgstr "" #: data/ui/gate.ui:51 src/tags_plugin_name.cpp:53 msgid "Gate" msgstr "" #: data/ui/gate.ui:167 data/ui/gate.ui:258 data/ui/multiband_gate_band.ui:240 #: data/ui/multiband_gate_band.ui:331 msgid "Zone" msgstr "" #: data/ui/gate.ui:237 data/ui/multiband_gate_band.ui:310 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:330 msgid "Mix" msgstr "" #: data/ui/gate.ui:510 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:564 msgid "Release Zone Start" msgstr "" #: data/ui/level_meter.ui:28 msgid "True Peak" msgstr "" #: data/ui/level_meter.ui:328 msgid "Reset History" msgstr "" #: data/ui/limiter.ui:68 msgid "Oversampling" msgstr "" #: data/ui/limiter.ui:80 msgid "Dither" msgstr "" #: data/ui/limiter.ui:94 msgid "Herm Thin" msgstr "" #: data/ui/limiter.ui:95 msgid "Herm Wide" msgstr "" #: data/ui/limiter.ui:96 msgid "Herm Tail" msgstr "" #: data/ui/limiter.ui:97 msgid "Herm Duck" msgstr "" #: data/ui/limiter.ui:98 msgid "Exp Thin" msgstr "" #: data/ui/limiter.ui:99 msgid "Exp Wide" msgstr "" #: data/ui/limiter.ui:100 msgid "Exp Tail" msgstr "" #: data/ui/limiter.ui:101 msgid "Exp Duck" msgstr "" #: data/ui/limiter.ui:102 msgid "Line Thin" msgstr "" #: data/ui/limiter.ui:103 msgid "Line Wide" msgstr "" #: data/ui/limiter.ui:104 msgid "Line Tail" msgstr "" #: data/ui/limiter.ui:105 msgid "Line Duck" msgstr "" #: data/ui/limiter.ui:125 data/ui/multiband_compressor.ui:56 #: data/ui/multiband_gate.ui:56 msgid "None" msgstr "" #: data/ui/limiter.ui:126 msgid "Half x2(2L)" msgstr "" #: data/ui/limiter.ui:127 msgid "Half x2(3L)" msgstr "" #: data/ui/limiter.ui:128 msgid "Half x3(2L)" msgstr "" #: data/ui/limiter.ui:129 msgid "Half x3(3L)" msgstr "" #: data/ui/limiter.ui:130 msgid "Half x4(2L)" msgstr "" #: data/ui/limiter.ui:131 msgid "Half x4(3L)" msgstr "" #: data/ui/limiter.ui:132 msgid "Half x6(2L)" msgstr "" #: data/ui/limiter.ui:133 msgid "Half x6(3L)" msgstr "" #: data/ui/limiter.ui:134 msgid "Half x8(2L)" msgstr "" #: data/ui/limiter.ui:135 msgid "Half x8(3L)" msgstr "" #: data/ui/limiter.ui:136 msgid "Full x2(2L)" msgstr "" #: data/ui/limiter.ui:137 msgid "Full x2(3L)" msgstr "" #: data/ui/limiter.ui:138 msgid "Full x3(2L)" msgstr "" #: data/ui/limiter.ui:139 msgid "Full x3(3L)" msgstr "" #: data/ui/limiter.ui:140 msgid "Full x4(2L)" msgstr "" #: data/ui/limiter.ui:141 msgid "Full x4(3L)" msgstr "" #: data/ui/limiter.ui:142 msgid "Full x6(2L)" msgstr "" #: data/ui/limiter.ui:143 msgid "Full x6(3L)" msgstr "" #: data/ui/limiter.ui:144 msgid "Full x8(2L)" msgstr "" #: data/ui/limiter.ui:145 msgid "Full x8(3L)" msgstr "" #: data/ui/limiter.ui:201 msgid "SC PreAmp" msgstr "" #: data/ui/limiter.ui:229 data/ui/multiband_compressor_band.ui:692 #: data/ui/multiband_gate_band.ui:749 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:400 msgid "Boost" msgstr "" #: data/ui/limiter.ui:415 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:459 data/ui/multiband_compressor_band.ui:119 #: data/ui/multiband_gate_band.ui:88 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:472 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:491 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:530 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:565 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:599 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:624 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:651 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:678 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:705 msgid "Sidechain Right" msgstr "" #: data/ui/loudness.ui:37 msgid "Standard" msgstr "標準" #: data/ui/loudness.ui:44 msgid "Flat" msgstr "平坦" #: data/ui/loudness.ui:58 msgid "FFT Size" msgstr "" #: data/ui/loudness.ui:82 msgid "Output Volume" msgstr "輸出音量" #: data/ui/loudness.ui:103 msgid "Clipping" msgstr "" #: data/ui/multiband_compressor.ui:43 data/ui/multiband_gate.ui:42 msgid "Sidechain Boost" msgstr "" #: data/ui/multiband_compressor.ui:57 data/ui/multiband_gate.ui:57 msgid "Pink BT" msgstr "" #: data/ui/multiband_compressor.ui:58 data/ui/multiband_gate.ui:58 msgid "Pink MT" msgstr "" #: data/ui/multiband_compressor.ui:59 data/ui/multiband_gate.ui:59 msgid "Brown BT" msgstr "" #: data/ui/multiband_compressor.ui:60 data/ui/multiband_gate.ui:60 msgid "Brown MT" msgstr "" #: data/ui/multiband_compressor.ui:114 data/ui/multiband_gate.ui:114 msgid "Show Native User Interface" msgstr "" #: data/ui/multiband_compressor.ui:143 data/ui/multiband_gate.ui:143 msgid "Operating Mode" msgstr "" #: data/ui/multiband_compressor.ui:156 data/ui/multiband_gate.ui:156 msgid "Classic" msgstr "經典" #: data/ui/multiband_compressor.ui:157 data/ui/multiband_gate.ui:157 msgid "Modern" msgstr "現代" #: data/ui/multiband_compressor.ui:158 data/ui/multiband_gate.ui:158 msgid "Linear Phase" msgstr "" #: data/ui/multiband_compressor.ui:266 data/ui/multiband_gate.ui:266 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:275 data/ui/multiband_gate.ui:275 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:292 data/ui/multiband_gate.ui:292 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:318 data/ui/multiband_gate.ui:318 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:344 data/ui/multiband_gate.ui:344 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:370 data/ui/multiband_gate.ui:370 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:396 data/ui/multiband_gate.ui:396 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:422 data/ui/multiband_gate.ui:422 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:448 data/ui/multiband_gate.ui:448 msgid "Band 8" msgstr "" #: data/ui/multiband_compressor_band.ui:18 data/ui/multiband_gate_band.ui:18 msgid "Band Start" msgstr "" #: data/ui/multiband_compressor_band.ui:56 data/ui/multiband_gate_band.ui:56 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:111 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:129 data/ui/multiband_gate_band.ui:98 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:427 data/ui/multiband_gate_band.ui:485 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:500 data/ui/multiband_gate_band.ui:558 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:582 data/ui/multiband_gate_band.ui:640 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:609 data/ui/multiband_gate_band.ui:667 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:619 data/ui/multiband_gate_band.ui:677 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:647 data/ui/multiband_gate_band.ui:705 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:666 data/ui/multiband_gate_band.ui:724 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:867 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:892 data/ui/multiband_gate_band.ui:861 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:917 data/ui/multiband_gate_band.ui:886 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:836 msgid "Band Reduction" msgstr "" #: data/ui/pipe_manager_box.ui:27 msgid "General" msgstr "" #: data/ui/pipe_manager_box.ui:34 msgid "Device Management" msgstr "" #: data/ui/pipe_manager_box.ui:35 msgid "" "It's recommended to NOT set Easy Effects Sink/Source as Default Device in " "external applications (e.g. Gnome Settings and Plasma System Settings)." msgstr "" #: data/ui/pipe_manager_box.ui:38 data/ui/pipe_manager_box.ui:44 msgid "Use Default Input" msgstr "" #: data/ui/pipe_manager_box.ui:65 msgid "Custom Input Device" msgstr "" #: data/ui/pipe_manager_box.ui:74 data/ui/pipe_manager_box.ui:80 msgid "Use Default Output" msgstr "" #: data/ui/pipe_manager_box.ui:101 msgid "Custom Output Device" msgstr "" #: data/ui/pipe_manager_box.ui:112 msgid "Server Information" msgstr "伺服器資訊" #: data/ui/pipe_manager_box.ui:116 msgid "Header Version" msgstr "" #: data/ui/pipe_manager_box.ui:127 msgid "Library Version" msgstr "" #: data/ui/pipe_manager_box.ui:138 msgid "Sampling Rate" msgstr "" #: data/ui/pipe_manager_box.ui:149 msgid "Minimum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:160 msgid "Maximum Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:171 msgid "Default Quantum" msgstr "" #: data/ui/pipe_manager_box.ui:191 msgid "Presets Autoloading" msgstr "" #: data/ui/pipe_manager_box.ui:217 data/ui/pipe_manager_box.ui:347 msgid "" "Only Local Presets can be autoloaded. A Community Preset should be imported " "locally in order to be selected and associated to a specific device." msgstr "" #: data/ui/pipe_manager_box.ui:266 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:283 src/application.cpp:301 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:290 data/ui/pipe_manager_box.ui:415 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:303 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:323 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:396 msgid "Input Devices" msgstr "輸入裝置" #: data/ui/pipe_manager_box.ui:408 src/application.cpp:309 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:428 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:447 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:477 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:495 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:509 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:527 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:541 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:546 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:549 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:564 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:567 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:592 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:596 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:605 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:609 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:618 msgid "White Noise" msgstr "" #: data/ui/pitch.ui:32 msgid "Quick Seek" msgstr "" #: data/ui/pitch.ui:45 msgid "Anti-aliasing" msgstr "" #: data/ui/pitch.ui:58 msgid "Sequence Length" msgstr "" #: data/ui/pitch.ui:80 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:102 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:130 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:134 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:156 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:178 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:50 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:62 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:74 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:28 msgid "Show/hide effects list" msgstr "" #: data/ui/plugins_box.ui:42 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:65 msgid "Go to the previous effect" msgstr "" #: data/ui/plugins_box.ui:80 msgid "Go to the next effect" msgstr "" #: data/ui/plugins_box.ui:131 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:192 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:193 msgid "Audio Stream Not Modified" msgstr "" #: data/ui/plugins_menu.ui:19 msgid "Search Plugin" msgstr "" #: data/ui/plugins_menu.ui:74 msgid "Plugins List" msgstr "" #: data/ui/preferences_general.ui:5 msgid "_General" msgstr "" #: data/ui/preferences_general.ui:10 msgid "Service" msgstr "服務" #: data/ui/preferences_general.ui:13 msgid "Launch Service at System Startup" msgstr "開機時啟動" #: data/ui/preferences_general.ui:25 msgid "Shutdown on Window Closing" msgstr "於視窗關閉時結束" #: data/ui/preferences_general.ui:39 msgid "Audio" msgstr "音訊" #: data/ui/preferences_general.ui:42 msgid "Process All Output Streams" msgstr "解析所有的輸出" #: data/ui/preferences_general.ui:54 msgid "Process All Input Streams" msgstr "解析所有的輸入" #: data/ui/preferences_general.ui:66 msgid "Ignore Streams from Monitor of Devices" msgstr "" #: data/ui/preferences_general.ui:78 msgid "Use Cubic Volume" msgstr "" #: data/ui/preferences_general.ui:90 msgid "Inactivity Timeout" msgstr "" #: data/ui/preferences_general.ui:119 msgid "Update Interval" msgstr "" #: data/ui/preferences_general.ui:120 msgid "Related to Level Meters and Spectrum" msgstr "" #: data/ui/preferences_general.ui:142 msgid "Update Frequency" msgstr "更新頻率" #: data/ui/preferences_general.ui:143 msgid "Related to LV2 Plugins" msgstr "" #: data/ui/preferences_general.ui:167 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:170 msgid "Use Dark Theme" msgstr "使用深色主題" #: data/ui/preferences_general.ui:182 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:196 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:199 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Allows The Native Plugin Window to be Shown/Hidden" msgstr "" #: data/ui/preferences_spectrum.ui:5 msgid "_Spectrum" msgstr "" #: data/ui/preferences_spectrum.ui:29 msgid "Shape" msgstr "" #: data/ui/preferences_spectrum.ui:37 msgid "Bars" msgstr "" #: data/ui/preferences_spectrum.ui:38 msgid "Lines" msgstr "" #: data/ui/preferences_spectrum.ui:39 msgid "Dots" msgstr "" #: data/ui/preferences_spectrum.ui:50 msgid "Points" msgstr "" #: data/ui/preferences_spectrum.ui:71 msgid "Height" msgstr "高度" #: data/ui/preferences_spectrum.ui:93 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:115 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:127 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:139 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:151 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:165 msgid "Color" msgstr "顏色" #: data/ui/preferences_spectrum.ui:168 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:186 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:206 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Minimum" msgstr "最小" #: data/ui/preferences_spectrum.ui:231 msgid "Maximum" msgstr "最大" #: data/ui/preset_row.ui:38 src/convolver_menu_impulses.cpp:225 msgid "Load" msgstr "讀取" #: data/ui/preset_row.ui:39 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:48 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:58 msgid "Remove this preset file" msgstr "" #: data/ui/preset_community_row.ui:55 msgid "Try" msgstr "" #: data/ui/preset_community_row.ui:56 msgid "Try this community preset" msgstr "" #: data/ui/preset_community_row.ui:65 msgid "Import" msgstr "" #: data/ui/preset_community_row.ui:66 msgid "Import this community preset into the local presets list" msgstr "" #: data/ui/presets_menu.ui:26 msgid "Local" msgstr "" #: data/ui/presets_menu.ui:48 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:56 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:70 msgid "Import a preset from the local storage" msgstr "" #: data/ui/presets_menu.ui:86 msgid "Search Local Preset" msgstr "" #: data/ui/presets_menu.ui:147 msgid "Local Presets List" msgstr "" #: data/ui/presets_menu.ui:191 msgid "Community" msgstr "社群" #: data/ui/presets_menu.ui:208 msgid "Search Community Preset" msgstr "" #: data/ui/presets_menu.ui:271 msgid "Community Presets List" msgstr "" #: data/ui/presets_menu.ui:286 msgid "No Community Presets Installed" msgstr "" #: data/ui/presets_menu.ui:287 msgid "" "Community Presets packages can be installed from the repository of your " "favorite distribution." msgstr "" #: data/ui/presets_menu.ui:298 msgid "Refresh" msgstr "" #: data/ui/presets_menu.ui:299 msgid "Refresh to show new installed community presets" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:72 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:82 msgid "Small" msgstr "小" #: data/ui/reverb.ui:83 msgid "Medium" msgstr "中" #: data/ui/reverb.ui:84 msgid "Large" msgstr "大" #: data/ui/reverb.ui:85 msgid "Tunnel" msgstr "通道" #: data/ui/reverb.ui:86 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:87 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:106 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:142 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:174 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:275 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:309 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:568 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:575 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:588 msgid "Room" msgstr "" #: data/ui/reverb.ui:595 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:608 msgid "Disco" msgstr "" #: data/ui/reverb.ui:615 msgid "Large Occupied Hall" msgstr "" #: data/ui/rnnoise.ui:31 msgid "Import Model" msgstr "" #: data/ui/rnnoise.ui:47 data/ui/speex.ui:59 msgid "Voice Detection" msgstr "" #: data/ui/rnnoise.ui:151 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:177 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:298 #: src/rnnoise_ui.cpp:375 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:204 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:228 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:234 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:242 msgid "Standard RNNoise Model" msgstr "" #: data/ui/shortcuts.ui:11 msgid "Overview" msgstr "概覽" #: data/ui/shortcuts.ui:16 msgid "Show help" msgstr "顯示幫助" #: data/ui/shortcuts.ui:23 msgid "Fullscreen/Restore from fullscreen" msgstr "全螢幕/退出全螢幕" #: data/ui/shortcuts.ui:30 msgid "Close the Window" msgstr "關閉視窗" #: data/ui/shortcuts.ui:37 msgid "Quit Easy Effects" msgstr "" #: data/ui/speex.ui:33 msgid "Denoise" msgstr "" #: data/ui/speex.ui:46 msgid "Automatic Gain Control" msgstr "" #: data/ui/speex.ui:72 msgid "Dereverberation" msgstr "" #: data/ui/speex.ui:91 msgid "Voice Activity Probability" msgstr "" #: data/ui/speex.ui:95 msgid "Start" msgstr "開始" #: data/ui/speex.ui:117 msgid "Continue" msgstr "" #: data/ui/speex.ui:141 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:145 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:78 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:87 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:114 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:126 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:138 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:139 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:149 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:234 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:269 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:304 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:339 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:417 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:426 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:452 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:461 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:496 msgid "Stereo Phase" msgstr "" #: src/app_info.cpp:100 msgid "Running" msgstr "" #: src/app_info.cpp:102 msgid "Suspended" msgstr "" #: src/app_info.cpp:104 msgid "Idle" msgstr "閒置" #: src/app_info.cpp:106 msgid "Creating" msgstr "" #: src/app_info.cpp:108 msgid "Error" msgstr "錯誤" #: src/app_info.cpp:110 msgid "Unknown" msgstr "未知" #: src/app_info.cpp:282 msgid "Undefined Name - Process ID " msgstr "" #: src/app_info.cpp:292 msgid "channels" msgstr "" #: src/application.cpp:510 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:600 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:603 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:606 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:609 msgid "Hide the Window." msgstr "" #: src/application.cpp:612 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:615 msgid "Show available presets." msgstr "" #: src/application.cpp:618 msgid "Load a preset. Example: easyeffects -l music" msgstr "" #: src/application_ui.cpp:344 msgid "_Output" msgstr "" #: src/application_ui.cpp:345 msgid "_Input" msgstr "" #: src/application_ui.cpp:346 msgid "_PipeWire" msgstr "" #: src/convolver_menu_impulses.cpp:125 msgid "The File Is Not Regular" msgstr "此檔案並非一般檔案" #: src/convolver_menu_impulses.cpp:130 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:135 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:145 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:153 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:154 src/equalizer_ui.cpp:522 #: src/equalizer_ui.cpp:854 src/presets_menu.cpp:145 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:166 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:293 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:296 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:382 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:408 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:807 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:827 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:521 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:529 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:554 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:616 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:624 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:625 msgid "Save" msgstr "儲存" #: src/equalizer_ui.cpp:632 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:853 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:861 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:886 msgid "" "GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check " "Its Content." msgstr "" #: src/pipe_manager_box.cpp:358 msgid "Remove Autoloading Preset" msgstr "" #: src/plugin_base.cpp:233 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:759 msgid "Remove" msgstr "" #: src/plugins_box.cpp:828 msgid "Output Device" msgstr "輸出裝置" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "新增" #. Placeholders in case of issues #: src/presets_manager.cpp:439 msgid "Community Preset" msgstr "" #: src/presets_manager.cpp:439 msgid "Package" msgstr "套件" #: src/presets_manager.cpp:1147 src/presets_manager.cpp:1154 #: src/presets_manager.cpp:1163 src/presets_manager.cpp:1170 #: src/presets_manager.cpp:1179 src/presets_manager.cpp:1187 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:1147 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1154 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:1163 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:1170 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:1180 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:1188 msgid "Generic Error While Loading The Effect" msgstr "" #: src/presets_menu.cpp:398 msgid "Save?" msgstr "儲存?" #: src/presets_menu.cpp:417 msgid "Delete?" msgstr "刪除?" #: src/presets_menu.cpp:558 msgid "No Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Local Preset Loaded" msgstr "" #: src/presets_menu.cpp:573 msgid "Last Community Preset Loaded" msgstr "" #: src/rnnoise_ui.cpp:116 msgid "" "Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The " "Standard Model." msgstr "" #: src/rnnoise_ui.cpp:159 msgid "Import Model File" msgstr "" #: src/rnnoise_ui.cpp:172 msgid "RNNoise Models" msgstr "" #: src/tags_plugin_name.cpp:39 msgid "Bass Enhancer" msgstr "" #: src/tags_plugin_name.cpp:40 msgid "Bass Loudness" msgstr "" #: src/tags_plugin_name.cpp:42 msgid "Convolver" msgstr "" #: src/tags_plugin_name.cpp:43 msgid "Crossfeed" msgstr "" #: src/tags_plugin_name.cpp:44 msgid "Crystalizer" msgstr "" #: src/tags_plugin_name.cpp:45 msgid "Deep Noise Remover" msgstr "" #: src/tags_plugin_name.cpp:46 msgid "Deesser" msgstr "" #: src/tags_plugin_name.cpp:48 msgid "Echo Canceller" msgstr "" #: src/tags_plugin_name.cpp:49 msgid "Equalizer" msgstr "" #: src/tags_plugin_name.cpp:50 msgid "Exciter" msgstr "" #: src/tags_plugin_name.cpp:54 msgid "Level Meter" msgstr "" #: src/tags_plugin_name.cpp:55 msgid "Limiter" msgstr "" #: src/tags_plugin_name.cpp:57 msgid "Maximizer" msgstr "" #: src/tags_plugin_name.cpp:58 msgid "Multiband Compressor" msgstr "" #: src/tags_plugin_name.cpp:59 msgid "Multiband Gate" msgstr "" #: src/tags_plugin_name.cpp:61 msgid "Reverberation" msgstr "" #: src/tags_plugin_name.cpp:62 msgid "Noise Reduction" msgstr "降噪" #: src/tags_plugin_name.cpp:63 msgid "Speech Processor" msgstr "" #: src/tags_plugin_name.cpp:64 msgid "Stereo Tools" msgstr "" #. For translators: {} is replaced by the effect name. #: src/ui_helpers.cpp:93 #, c++-format msgid "{} Not Available" msgstr "" #: src/ui_helpers.cpp:97 #, c++-format msgid "" "The software required for the {} effect, \"{}\", is not installed. Consider " "using the Easy Effects Flatpak package or installing the software yourself." msgstr "" #: src/ui_helpers.cpp:103 #, c++-format msgid "" "The {} effect was disabled when Easy Effects was compiled. This is perhaps " "since the software required for this effect, \"{}\", was not available. " "Consider using the Easy Effects Flatpak package or building your own Easy " "Effects package." msgstr "" #: src/ui_helpers.cpp:146 src/ui_helpers.cpp:168 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:253 #, c++-format msgid "Using {}" msgstr "" #~ msgid "\"Presets\"" #~ msgstr "\"設定檔\"" easyeffects-7.1.7/src/000077500000000000000000000000001463533416400146275ustar00rootroot00000000000000easyeffects-7.1.7/src/app_info.cpp000066400000000000000000000346151463533416400171370ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "app_info.hpp" #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_app.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::app_info { using namespace std::string_literals; struct Data { public: ~Data() { util::debug("data struct destroyed"); } app::Application* application; NodeInfo info; gulong handler_id_enable, handler_id_volume, handler_id_mute, handler_id_blocklist; std::unordered_map* enabled_app_list; }; struct _AppInfo { GtkBox parent_instance; GtkImage* app_icon; GtkLabel *app_name, *media_name, *format, *rate, *channels, *latency, *state; GtkToggleButton* mute; GtkSpinButton* volume; GtkCheckButton *blocklist, *enable; GtkIconTheme* icon_theme; GSettings *settings, *app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(AppInfo, app_info, GTK_TYPE_BOX) auto node_state_to_char_pointer(const pw_node_state& state) -> const char* { switch (state) { case PW_NODE_STATE_RUNNING: return _("Running"); case PW_NODE_STATE_SUSPENDED: return _("Suspended"); case PW_NODE_STATE_IDLE: return _("Idle"); case PW_NODE_STATE_CREATING: return _("Creating"); case PW_NODE_STATE_ERROR: return _("Error"); default: return _("Unknown"); } } auto app_is_blocklisted(AppInfo* self, const std::string& name) -> bool { const auto list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "blocklist")); return std::ranges::find(list, name) != list.end(); } auto get_app_icon_name(const NodeInfo& node_info) -> std::string { // map to handle cases where PipeWire does not set icon name string or app name equal to icon name. constexpr auto icon_map = std::to_array>({{"chromium-browser", "chromium"}, {"firefox", "firefox"}, {"nightly", "firefox-nightly"}, {"obs", "com.obsproject.Studio"}}); std::string icon_name; if (!node_info.app_icon_name.empty()) { icon_name = node_info.app_icon_name; } else if (!node_info.media_icon_name.empty()) { icon_name = node_info.media_icon_name; } else if (!node_info.name.empty()) { const std::string prefix = "alsa_playback."; if (node_info.name.substr(0, prefix.size()) == prefix) { icon_name = node_info.name.substr(prefix.size()); } else { icon_name = node_info.name; } // get lowercase name so if it changes in the future, we have a chance to pick the same index std::transform(icon_name.begin(), icon_name.end(), icon_name.begin(), [](unsigned char c) { return std::tolower(c); }); } for (const auto& [key, value] : icon_map) { if (key == icon_name) { return value; } } return icon_name; } auto icon_available(AppInfo* self, const std::string& icon_name) -> bool { if (gtk_icon_theme_has_icon(self->icon_theme, icon_name.c_str()) != 0) { return true; } // The icon object can't lookup icons in pixmaps directories, so we check their existence there also. constexpr auto pixmaps_dirs = std::to_array({"/usr/share/pixmaps", "/usr/local/share/pixmaps"}); for (const auto& dir : pixmaps_dirs) { try { for (std::filesystem::directory_iterator it{dir}; it != std::filesystem::directory_iterator{}; ++it) { if (std::filesystem::is_regular_file(it->status())) { if (it->path().stem().string() == icon_name) { util::debug(icon_name + " icon name not included in the icon theme, but found in " + dir); return true; } } } } catch (...) { util::debug("cannot lookup application icon " + icon_name + " in " + dir); } } return false; } void connect_stream(AppInfo* self, const uint& id, const std::string& media_class) { if (media_class == tags::pipewire::media_class::output_stream) { self->data->application->pm->connect_stream_output(id); } else if (media_class == tags::pipewire::media_class::input_stream) { self->data->application->pm->connect_stream_input(id); } } void disconnect_stream(AppInfo* self, const uint& id, const std::string& media_class) { if (media_class == tags::pipewire::media_class::output_stream || media_class == tags::pipewire::media_class::input_stream) { self->data->application->pm->disconnect_stream(id); } } void on_enable(GtkCheckButton* btn, AppInfo* self) { auto is_enabled = gtk_check_button_get_active(btn) != 0; auto is_blocklisted = app_is_blocklisted(self, self->data->info.name); if (!is_blocklisted) { (is_enabled) ? connect_stream(self, self->data->info.id, self->data->info.media_class) : disconnect_stream(self, self->data->info.id, self->data->info.media_class); self->data->enabled_app_list->insert_or_assign(self->data->info.id, is_enabled); } } void on_volume_changed(GtkSpinButton* sbtn, AppInfo* self) { auto vol = static_cast(gtk_spin_button_get_value(sbtn)) / 100.0F; if (g_settings_get_boolean(self->app_settings, "use-cubic-volumes") != 0) { vol = vol * vol * vol; } if (self->data->info.proxy != nullptr) { PipeManager::set_node_volume(self->data->info.proxy, self->data->info.n_volume_channels, vol); } } void on_mute(GtkToggleButton* btn, AppInfo* self) { const auto state = gtk_toggle_button_get_active(btn); if (state != 0) { gtk_button_set_icon_name(GTK_BUTTON(btn), "audio-volume-muted-symbolic"); } else { gtk_button_set_icon_name(GTK_BUTTON(btn), "audio-volume-high-symbolic"); } if (self->data->info.proxy != nullptr) { PipeManager::set_node_mute(self->data->info.proxy, state != 0); } } void on_blocklist(GtkCheckButton* btn, AppInfo* self) { const auto is_blocklisted = gtk_check_button_get_active(btn); std::string app_tag = self->data->info.application_id; if (app_tag.empty()) { app_tag = self->data->info.name; } if (is_blocklisted != 0) { self->data->enabled_app_list->insert_or_assign(self->data->info.id, gtk_check_button_get_active(self->enable)); util::add_new_blocklist_entry(self->settings, app_tag); } else { util::remove_blocklist_entry(self->settings, app_tag); } } void update(AppInfo* self, const NodeInfo node_info) { if (node_info.state == PW_NODE_STATE_CREATING) { // PW_NODE_STATE_CREATING is useless and does not give any meaningful info, therefore skip it return; } self->data->info = node_info; std::string app_name = node_info.app_name; auto isspace = [](std::string_view a) { return std::ranges::all_of(a, [](auto c) { return std::isspace(c); }); }; if (app_name.empty() || isspace(app_name)) { app_name = node_info.name; } if (app_name.empty() || isspace(app_name)) { app_name = node_info.app_process_binary; } if (app_name.empty() || isspace(app_name)) { app_name = node_info.app_process_binary; } if (app_name.empty()) { app_name = _("Undefined Name - Process ID "); app_name.append(node_info.app_process_id); } gtk_label_set_text(self->app_name, app_name.c_str()); gtk_label_set_text(self->media_name, node_info.media_name.c_str()); gtk_label_set_text(self->format, node_info.format.c_str()); gtk_label_set_text( self->rate, fmt::format(ui::get_user_locale(), "{0:.1Lf} kHz", static_cast(node_info.rate) / 1000.0F).c_str()); gtk_label_set_text(self->channels, fmt::format("{0:d} {1}", node_info.n_volume_channels, _("channels")).c_str()); gtk_label_set_text(self->latency, fmt::format("{0:.0f} ms", 1000.0F * node_info.latency).c_str()); gtk_label_set_text(self->state, node_state_to_char_pointer(node_info.state)); // updating the enable toggle button g_signal_handler_block(self->enable, self->data->handler_id_enable); const auto is_enabled = self->data->application->pm->stream_is_connected(node_info.id, node_info.media_class); const auto is_blocklisted = app_is_blocklisted(self, node_info.name); gtk_widget_set_sensitive(GTK_WIDGET(self->enable), static_cast(is_enabled || !is_blocklisted)); gtk_check_button_set_active(self->enable, static_cast(is_enabled)); g_signal_handler_unblock(self->enable, self->data->handler_id_enable); // updating the volume g_signal_handler_block(self->volume, self->data->handler_id_volume); if (g_settings_get_boolean(self->app_settings, "use-cubic-volumes") != 0) { gtk_spin_button_set_value(self->volume, 100.0 * std::cbrt(static_cast(node_info.volume))); } else { gtk_spin_button_set_value(self->volume, 100.0 * static_cast(node_info.volume)); } g_signal_handler_unblock(self->volume, self->data->handler_id_volume); // updating the mute button state g_signal_handler_block(self->mute, self->data->handler_id_mute); if (node_info.mute) { gtk_button_set_icon_name(GTK_BUTTON(self->mute), "audio-volume-muted-symbolic"); } else { gtk_button_set_icon_name(GTK_BUTTON(self->mute), "audio-volume-high-symbolic"); } gtk_toggle_button_set_active(self->mute, static_cast(node_info.mute)); g_signal_handler_unblock(self->mute, self->data->handler_id_mute); // set the icon name if (const auto default_app_icon = "ee-applications-multimedia-symbolic"s; self->icon_theme == nullptr) { gtk_image_set_from_icon_name(self->app_icon, default_app_icon.c_str()); } else if (const auto icon_name = get_app_icon_name(node_info); icon_name.empty()) { gtk_image_set_from_icon_name(self->app_icon, default_app_icon.c_str()); } else if (!icon_available(self, icon_name)) { gtk_image_set_from_icon_name(self->app_icon, default_app_icon.c_str()); } else { gtk_image_set_from_icon_name(self->app_icon, icon_name.c_str()); } // updating the blocklist button state g_signal_handler_block(self->blocklist, self->data->handler_id_blocklist); gtk_check_button_set_active(self->blocklist, static_cast(is_blocklisted)); g_signal_handler_unblock(self->blocklist, self->data->handler_id_blocklist); // save app "enabled state" only the first time when it is not present in the enabled_app_list map if (self->data->enabled_app_list->find(node_info.id) == self->data->enabled_app_list->end()) { self->data->enabled_app_list->insert({node_info.id, is_enabled}); } } void setup(AppInfo* self, app::Application* application, GSettings* settings, GtkIconTheme* icon_theme, std::unordered_map& enabled_app_list) { self->data->application = application; self->settings = settings; self->icon_theme = icon_theme; self->data->enabled_app_list = &enabled_app_list; } void dispose(GObject* object) { auto* self = EE_APP_INFO(object); g_object_unref(self->app_settings); util::debug(self->data->info.name + " disposed"); G_OBJECT_CLASS(app_info_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_APP_INFO(object); util::debug(self->data->info.name + " finalized"); delete self->data; G_OBJECT_CLASS(app_info_parent_class)->finalize(object); } void app_info_class_init(AppInfoClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::app_info_ui); gtk_widget_class_bind_template_child(widget_class, AppInfo, enable); gtk_widget_class_bind_template_child(widget_class, AppInfo, app_icon); gtk_widget_class_bind_template_child(widget_class, AppInfo, app_name); gtk_widget_class_bind_template_child(widget_class, AppInfo, media_name); gtk_widget_class_bind_template_child(widget_class, AppInfo, format); gtk_widget_class_bind_template_child(widget_class, AppInfo, rate); gtk_widget_class_bind_template_child(widget_class, AppInfo, channels); gtk_widget_class_bind_template_child(widget_class, AppInfo, latency); gtk_widget_class_bind_template_child(widget_class, AppInfo, state); gtk_widget_class_bind_template_child(widget_class, AppInfo, volume); gtk_widget_class_bind_template_child(widget_class, AppInfo, mute); gtk_widget_class_bind_template_child(widget_class, AppInfo, blocklist); } void app_info_init(AppInfo* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->app_settings = g_settings_new(tags::app::id); prepare_spinbuttons<"%">(self->volume); self->data->handler_id_enable = g_signal_connect(self->enable, "toggled", G_CALLBACK(on_enable), self); self->data->handler_id_volume = g_signal_connect(self->volume, "value-changed", G_CALLBACK(on_volume_changed), self); self->data->handler_id_mute = g_signal_connect(self->mute, "toggled", G_CALLBACK(on_mute), self); self->data->handler_id_blocklist = g_signal_connect(self->blocklist, "toggled", G_CALLBACK(on_blocklist), self); } auto create() -> AppInfo* { return static_cast(g_object_new(EE_TYPE_APP_INFO, nullptr)); } } // namespace ui::app_info easyeffects-7.1.7/src/application.cpp000066400000000000000000000527151463533416400176500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "application.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application_ui.hpp" #include "config.h" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "preferences_window.hpp" #include "preset_type.hpp" #include "presets_manager.hpp" #include "stream_input_effects.hpp" #include "stream_output_effects.hpp" #include "tags_app.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "util.hpp" namespace app { using namespace std::string_literals; // NOLINTNEXTLINE G_DEFINE_TYPE(Application, application, ADW_TYPE_APPLICATION) void hide_all_windows(GApplication* app) { auto* list = gtk_application_get_windows(GTK_APPLICATION(app)); while (list != nullptr) { auto* window = list->data; auto* next = list->next; gtk_window_destroy(GTK_WINDOW(window)); list = next; } } void update_bypass_state(Application* self) { const auto state = g_settings_get_boolean(self->settings, "bypass"); self->soe->set_bypass(state != 0); self->sie->set_bypass(state != 0); util::info(((state) != 0 ? "enabling" : "disabling") + " global bypass"s); } void on_startup(GApplication* gapp) { G_APPLICATION_CLASS(application_parent_class)->startup(gapp); auto* self = EE_APP(gapp); self->data = new Data(); self->sie_settings = g_settings_new(tags::schema::id_input); self->soe_settings = g_settings_new(tags::schema::id_output); self->pm = new PipeManager(); self->soe = new StreamOutputEffects(self->pm); self->sie = new StreamInputEffects(self->pm); if (self->settings == nullptr) { self->settings = g_settings_new(tags::app::id); } if (self->presets_manager == nullptr) { self->presets_manager = new PresetsManager(); } PipeManager::exclude_monitor_stream = g_settings_get_boolean(self->settings, "exclude-monitor-streams") != 0; self->data->connections.push_back(self->pm->new_default_sink_name.connect([=](const std::string name) { util::debug("new default output device: " + name); if (g_settings_get_boolean(self->soe_settings, "use-default-output-device") != 0) { g_settings_set_string(self->soe_settings, "output-device", name.c_str()); } })); self->data->connections.push_back(self->pm->new_default_source_name.connect([=](const std::string name) { util::debug("new default input device: " + name); if (g_settings_get_boolean(self->sie_settings, "use-default-input-device") != 0) { g_settings_set_string(self->sie_settings, "input-device", name.c_str()); } })); self->data->connections.push_back(self->pm->device_input_route_changed.connect([=](const DeviceInfo device) { if (device.input_route_available == SPA_PARAM_AVAILABILITY_no) { return; } util::debug("input autoloading: device " + device.name + " has changed its input route to \"" + device.input_route_name + "\""); // Use a NodeInfo vector trying to fix #3180 std::vector target_node; for (const auto& [serial, node] : self->pm->node_map) { if (node.media_class == tags::pipewire::media_class::source) { if (util::str_contains(node.name, device.bus_path) || util::str_contains(node.name, device.bus_id)) { target_node.push_back(node); } } } const auto name = util::gsettings_get_string(self->sie_settings, "input-device"); for (const auto& node : target_node) { if (node.serial == SPA_ID_INVALID) { continue; } if (node.name == name) { util::debug("input autoloading: target node " + name + " matches the input device name"); self->presets_manager->autoload(PresetType::input, node.name, device.input_route_name); return; } } util::debug("input autoloading: no target nodes match the input device name"); })); self->data->connections.push_back(self->pm->device_output_route_changed.connect([=](const DeviceInfo device) { if (device.output_route_available == SPA_PARAM_AVAILABILITY_no) { return; } util::debug("output autoloading: device " + device.name + " has changed its output route to \"" + device.output_route_name + "\""); // Use a NodeInfo vector trying to fix #3180 std::vector target_node; for (const auto& [serial, node] : self->pm->node_map) { if (node.media_class == tags::pipewire::media_class::sink) { if (util::str_contains(node.name, device.bus_path) || util::str_contains(node.name, device.bus_id)) { target_node.push_back(node); } } } const auto name = util::gsettings_get_string(self->soe_settings, "output-device"); for (const auto& node : target_node) { if (node.serial == SPA_ID_INVALID) { continue; } if (node.name == name) { util::debug("output autoloading: target node " + name + " matches the output device name"); self->presets_manager->autoload(PresetType::output, node.name, device.output_route_name); return; } } util::debug("output autoloading: no target nodes match the output device name"); })); self->data->gconnections_soe.push_back(g_signal_connect( self->soe_settings, "changed::output-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto name = util::gsettings_get_string(settings, key); if (name.empty()) { return; } for (const auto& device : self->pm->list_devices) { if (util::str_contains(name, device.bus_path) || util::str_contains(name, device.bus_id)) { self->presets_manager->autoload(PresetType::output, name, device.output_route_name); return; } } }), self)); self->data->gconnections_sie.push_back(g_signal_connect( self->sie_settings, "changed::input-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto name = util::gsettings_get_string(settings, key); if (name.empty()) { return; } for (const auto& device : self->pm->list_devices) { if (util::str_contains(name, device.bus_path) || util::str_contains(name, device.bus_id)) { self->presets_manager->autoload(PresetType::input, name, device.input_route_name); return; } } }), self)); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::bypass", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); update_bypass_state(self); }), self)); self->data->gconnections.push_back( g_signal_connect(self->settings, "changed::exclude-monitor-streams", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { PipeManager::exclude_monitor_stream = g_settings_get_boolean(settings, key) != 0; }), self)); update_bypass_state(self); if ((g_application_get_flags(gapp) & G_APPLICATION_IS_SERVICE) != 0) { g_application_hold(gapp); } // Debug check PipeWire minimum version const auto comparison_result = util::compare_versions(self->pm->version, tags::app::minimum_pw_version); switch (comparison_result) { case 1: case 0: // Supported version. Nothing to show... break; case -1: util::warning("PipeWire version " + self->pm->version + " is lower than " + tags::app::minimum_pw_version + " minimum supported."); break; default: util::debug("Cannot check the current PipeWire version against the minimum supported."); break; } } void application_class_init(ApplicationClass* klass) { auto* application_class = G_APPLICATION_CLASS(klass); application_class->handle_local_options = [](GApplication* gapp, GVariantDict* options) { if (options == nullptr) { return -1; } auto* self = EE_APP(gapp); if (self->settings == nullptr) { self->settings = g_settings_new(tags::app::id); } if (self->presets_manager == nullptr) { self->presets_manager = new PresetsManager(); } if (g_variant_dict_contains(options, "presets") != 0) { std::string list; for (const auto& name : self->presets_manager->get_local_presets_name(PresetType::output)) { list += name + ","; } std::cout << _("Output Presets") + ": "s + list << '\n'; list = ""; for (const auto& name : self->presets_manager->get_local_presets_name(PresetType::input)) { list += name + ","; } std::cout << _("Input Presets") + ": "s + list << '\n'; return EXIT_SUCCESS; } if (g_variant_dict_contains(options, "bypass") != 0) { if (int bypass_arg = 2; g_variant_dict_lookup(options, "bypass", "i", &bypass_arg)) { if (bypass_arg == 3) { std::cout << g_settings_get_boolean(self->settings, "bypass") << '\n'; return EXIT_SUCCESS; } } } return -1; }; application_class->startup = on_startup; application_class->command_line = [](GApplication* gapp, GApplicationCommandLine* cmdline) { auto* self = EE_APP(gapp); GVariantDict* options = g_application_command_line_get_options_dict(cmdline); if (g_variant_dict_contains(options, "quit") != 0) { hide_all_windows(gapp); g_application_quit(G_APPLICATION(gapp)); return EXIT_SUCCESS; } if (g_variant_dict_contains(options, "version") != 0) { std::cout << "easyeffects version: " << std::string(VERSION) << '\n'; return EXIT_SUCCESS; } if (g_variant_dict_contains(options, "load-preset") != 0) { const char* name = nullptr; if (g_variant_dict_lookup(options, "load-preset", "&s", &name) != 0) { if (self->presets_manager->preset_file_exists(PresetType::input, name)) { self->presets_manager->load_local_preset_file(PresetType::input, name); return EXIT_SUCCESS; } if (self->presets_manager->preset_file_exists(PresetType::output, name)) { self->presets_manager->load_local_preset_file(PresetType::output, name); return EXIT_SUCCESS; } } } if (g_variant_dict_contains(options, "reset") != 0) { util::reset_all_keys_except(self->settings); self->soe->reset_settings(); self->sie->reset_settings(); util::info("All settings were reset"); return EXIT_SUCCESS; } if (g_variant_dict_contains(options, "hide-window") != 0) { hide_all_windows(gapp); util::info("Hiding the window..."); return EXIT_SUCCESS; } if (g_variant_dict_contains(options, "bypass") != 0) { if (int bypass_arg = 2; g_variant_dict_lookup(options, "bypass", "i", &bypass_arg)) { if (bypass_arg == 1) { g_settings_set_boolean(self->settings, "bypass", 1); } else if (bypass_arg == 2) { g_settings_set_boolean(self->settings, "bypass", 0); } return EXIT_SUCCESS; } } g_application_activate(gapp); return G_APPLICATION_CLASS(application_parent_class)->command_line(gapp, cmdline); }; application_class->activate = [](GApplication* gapp) { if (gtk_application_get_active_window(GTK_APPLICATION(gapp)) == nullptr) { G_APPLICATION_CLASS(application_parent_class)->activate(gapp); auto* window = ui::application_window::create(gapp); gtk_window_present(GTK_WINDOW(window)); } }; application_class->shutdown = [](GApplication* gapp) { G_APPLICATION_CLASS(application_parent_class)->shutdown(gapp); auto* self = EE_APP(gapp); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } for (auto& handler_id : self->data->gconnections_sie) { g_signal_handler_disconnect(self->sie_settings, handler_id); } for (auto& handler_id : self->data->gconnections_soe) { g_signal_handler_disconnect(self->soe_settings, handler_id); } self->data->connections.clear(); self->data->gconnections_sie.clear(); self->data->gconnections_soe.clear(); g_object_unref(self->settings); g_object_unref(self->sie_settings); g_object_unref(self->soe_settings); PipeManager::exiting = true; delete self->data; delete self->presets_manager; delete self->sie; delete self->soe; delete self->pm; self->data = nullptr; self->presets_manager = nullptr; self->sie = nullptr; self->soe = nullptr; self->pm = nullptr; util::debug("Shutting down..."); }; } void application_init(Application* self) { std::array entries{}; entries[0] = {"quit", [](GSimpleAction* action, GVariant* parameter, gpointer app) { util::debug("The user pressed Q or executed a similar action. Our process will exit."); g_application_quit(G_APPLICATION(app)); }, nullptr, nullptr, nullptr}; entries[1] = {"help", [](GSimpleAction* action, GVariant* parameter, gpointer gapp) { /* It isn't secure to call std::system but it is the only way to make our help to be shown for KDE users. */ if (g_strcmp0(std::getenv("XDG_SESSION_DESKTOP"), "KDE") == 0 || g_strcmp0(std::getenv("XDG_CURRENT_DESKTOP"), "KDE") == 0) { std::thread t([]() { return std::system("yelp help:easyeffects"); }); t.detach(); return; } auto* parent = gtk_application_get_active_window(GTK_APPLICATION(gapp)); auto* launcher = gtk_uri_launcher_new("help:easyeffects"); gtk_uri_launcher_launch(launcher, parent, nullptr, nullptr, nullptr); g_object_unref(launcher); }, nullptr, nullptr, nullptr}; entries[2] = { "about", [](GSimpleAction* action, GVariant* parameter, gpointer gapp) { std::array developers = {"Wellington Wallace ", "Giusy Digital ", "Vincent Chernin", nullptr}; std::array documenters = {"Wellington Wallace ", "Giusy Digital ", nullptr}; adw_show_about_window( gtk_application_get_active_window(GTK_APPLICATION(gapp)), "application-name", APP_NAME, "version", VERSION, "developer-name", "Wellington Wallace", "developers", developers.data(), "application-icon", IS_DEVEL_BUILD ? std::string(tags::app::id).append(".Devel").c_str() : tags::app::id, "copyright", "Copyright © 2017–2022 Easy Effects Contributors", "license-type", GTK_LICENSE_GPL_3_0, "website", "https://github.com/wwmm/easyeffects", "debug-info", std::string("Commit: ").append(COMMIT_DESC).c_str(), "translator-credits", _("Weblate https://hosted.weblate.org/projects/easyeffects/"), "documenters", documenters.data(), "issue-url", "https://github.com/wwmm/easyeffects/issues", nullptr); }, nullptr, nullptr, nullptr}; entries[3] = {"fullscreen", [](GSimpleAction* action, GVariant* parameter, gpointer gapp) { auto* self = EE_APP(gapp); auto state = g_settings_get_boolean(self->settings, "window-fullscreen") != 0; if (state) { gtk_window_unfullscreen(GTK_WINDOW(gtk_application_get_active_window(GTK_APPLICATION(gapp)))); g_settings_set_boolean(self->settings, "window-fullscreen", 0); } else { gtk_window_fullscreen(GTK_WINDOW(gtk_application_get_active_window(GTK_APPLICATION(gapp)))); g_settings_set_boolean(self->settings, "window-fullscreen", 1); } }, nullptr, nullptr, nullptr}; entries[4] = {"preferences", [](GSimpleAction* action, GVariant* parameter, gpointer gapp) { auto* preferences = ui::preferences::window::create(); gtk_window_set_transient_for(GTK_WINDOW(preferences), GTK_WINDOW(gtk_application_get_active_window(GTK_APPLICATION(gapp)))); gtk_window_present(GTK_WINDOW(preferences)); }, nullptr, nullptr, nullptr}; entries[5] = {"reset", [](GSimpleAction* action, GVariant* parameter, gpointer gapp) { auto* self = EE_APP(gapp); util::reset_all_keys_except(self->settings); self->soe->reset_settings(); self->sie->reset_settings(); }, nullptr, nullptr, nullptr}; entries[6] = {"shortcuts", [](GSimpleAction* action, GVariant* parameter, gpointer gapp) { auto* builder = gtk_builder_new_from_resource(tags::resources::shortcuts_ui); auto* window = GTK_SHORTCUTS_WINDOW(gtk_builder_get_object(builder, "window")); gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(gtk_application_get_active_window(GTK_APPLICATION(gapp)))); gtk_window_present(GTK_WINDOW(window)); g_object_unref(builder); }, nullptr, nullptr, nullptr}; entries[7] = {"hide_windows", [](GSimpleAction* action, GVariant* parameter, gpointer app) { util::debug("The user pressed W or executed a similar action. Hiding our window."); hide_all_windows(G_APPLICATION(app)); }, nullptr, nullptr, nullptr}; g_action_map_add_action_entries(G_ACTION_MAP(self), entries.data(), entries.size(), self); std::array quit_accels = {"Q", nullptr}; std::array hide_windows_accels = {"W", nullptr}; std::array help_accels = {"F1", nullptr}; std::array fullscreen_accels = {"F11", nullptr}; gtk_application_set_accels_for_action(GTK_APPLICATION(self), "app.quit", quit_accels.data()); gtk_application_set_accels_for_action(GTK_APPLICATION(self), "app.hide_windows", hide_windows_accels.data()); gtk_application_set_accels_for_action(GTK_APPLICATION(self), "app.help", help_accels.data()); gtk_application_set_accels_for_action(GTK_APPLICATION(self), "app.fullscreen", fullscreen_accels.data()); } auto application_new() -> GApplication* { g_set_application_name("Easy Effects"); auto* app = g_object_new(EE_TYPE_APPLICATION, "application-id", IS_DEVEL_BUILD ? std::string(tags::app::id).append(".Devel").c_str() : tags::app::id, "flags", G_APPLICATION_HANDLES_COMMAND_LINE, nullptr); g_application_add_main_option(G_APPLICATION(app), "quit", 'q', G_OPTION_FLAG_NONE, G_OPTION_ARG_NONE, _("Quit Easy Effects. Useful when running in service mode."), nullptr); g_application_add_main_option(G_APPLICATION(app), "version", 'v', G_OPTION_FLAG_NONE, G_OPTION_ARG_NONE, _("Print the easyeffects version"), nullptr); g_application_add_main_option(G_APPLICATION(app), "reset", 'r', G_OPTION_FLAG_NONE, G_OPTION_ARG_NONE, _("Reset Easy Effects."), nullptr); g_application_add_main_option(G_APPLICATION(app), "hide-window", 'w', G_OPTION_FLAG_NONE, G_OPTION_ARG_NONE, _("Hide the Window."), nullptr); g_application_add_main_option(G_APPLICATION(app), "bypass", 'b', G_OPTION_FLAG_NONE, G_OPTION_ARG_INT, _("Global bypass. 1 to enable, 2 to disable and 3 to get status"), nullptr); g_application_add_main_option(G_APPLICATION(app), "presets", 'p', G_OPTION_FLAG_NONE, G_OPTION_ARG_NONE, _("Show available presets."), nullptr); g_application_add_main_option(G_APPLICATION(app), "load-preset", 'l', G_OPTION_FLAG_NONE, G_OPTION_ARG_STRING, _("Load a preset. Example: easyeffects -l music"), nullptr); return G_APPLICATION(app); } } // namespace app easyeffects-7.1.7/src/application_ui.cpp000066400000000000000000000305441463533416400203410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "application_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "config.h" #include "effects_box.hpp" #include "pipe_manager_box.hpp" #include "pipeline_type.hpp" #include "preset_type.hpp" #include "presets_menu.hpp" #include "tags_app.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::application_window { using namespace std::string_literals; struct Data { public: ~Data() { util::debug("data struct destroyed"); } int width = 0, height = 0; bool maximized = false, fullscreen = false; GApplication* gapp = nullptr; GtkIconTheme* icon_theme = nullptr; std::vector connections; }; struct _ApplicationWindow { AdwWindow parent_instance; AdwViewStack* stack; GtkMenuButton* presets_menu_button; GtkToggleButton* bypass_button; ui::presets_menu::PresetsMenu *input_presets_menu, *output_presets_menu; ui::effects_box::EffectsBox* soe_ui; ui::effects_box::EffectsBox* sie_ui; ui::pipe_manager_box::PipeManagerBox* pm_box; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ApplicationWindow, application_window, ADW_TYPE_APPLICATION_WINDOW) void init_theme_color(ApplicationWindow* self) { if (g_settings_get_boolean(self->settings, "use-dark-theme") == 0) { adw_style_manager_set_color_scheme(adw_style_manager_get_default(), ADW_COLOR_SCHEME_PREFER_LIGHT); } else { adw_style_manager_set_color_scheme(adw_style_manager_get_default(), ADW_COLOR_SCHEME_PREFER_DARK); } } auto setup_icon_theme() -> GtkIconTheme* { auto* icon_theme = gtk_icon_theme_get_for_display(gdk_display_get_default()); if (icon_theme == nullptr) { util::warning("can't retrieve the icon theme in use on the system. App icons won't be shown."); return nullptr; } auto* name = gtk_icon_theme_get_theme_name(icon_theme); if (name == nullptr) { util::debug("Icon Theme detected, but the name is empty"); } else { util::debug("Icon Theme "s + name + " detected"); g_free(name); } gtk_icon_theme_add_resource_path(icon_theme, tags::resources::icons); return icon_theme; } void apply_css_style() { auto* provider = gtk_css_provider_new(); gtk_css_provider_load_from_resource(provider, tags::resources::css); gtk_style_context_add_provider_for_display(gdk_display_get_default(), GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } void stack_visible_child_changed(ApplicationWindow* self, GParamSpec* pspec, GtkWidget* stack) { if (!GTK_MENU_BUTTON(self->presets_menu_button)) { return; } if (!GTK_WIDGET(self->output_presets_menu) || !GTK_WIDGET(self->input_presets_menu)) { return; } if (self->data->gapp == nullptr) { return; } const auto* name = adw_view_stack_get_visible_child_name(ADW_VIEW_STACK(stack)); if (g_strcmp0(name, "stream_output") == 0) { gtk_menu_button_set_popover(self->presets_menu_button, GTK_WIDGET(self->output_presets_menu)); } else if (g_strcmp0(name, "stream_input") == 0) { gtk_menu_button_set_popover(self->presets_menu_button, GTK_WIDGET(self->input_presets_menu)); } else if (g_strcmp0(name, "page_pipewire") == 0) { gtk_menu_button_set_popover(self->presets_menu_button, nullptr); } } void constructed(GObject* object) { auto* self = EE_APP_WINDOW(object); self->data->maximized = g_settings_get_boolean(self->settings, "window-maximized") != 0; self->data->fullscreen = g_settings_get_boolean(self->settings, "window-fullscreen") != 0; self->data->width = g_settings_get_int(self->settings, "window-width"); self->data->height = g_settings_get_int(self->settings, "window-height"); gtk_window_set_default_size(GTK_WINDOW(self), self->data->width, self->data->height); gtk_window_set_default_icon_name(IS_DEVEL_BUILD ? std::string(tags::app::id).append(".Devel").c_str() : tags::app::id); if (self->data->maximized) { gtk_window_maximize(GTK_WINDOW(self)); } if (self->data->fullscreen) { gtk_window_fullscreen(GTK_WINDOW(self)); } G_OBJECT_CLASS(application_window_parent_class)->constructed(object); } void size_allocate(GtkWidget* widget, int width, int height, int baseline) { auto* self = EE_APP_WINDOW(widget); GTK_WIDGET_CLASS(application_window_parent_class)->size_allocate(widget, width, height, baseline); if (!self->data->maximized && !self->data->fullscreen) { gtk_window_get_default_size(GTK_WINDOW(self), &self->data->width, &self->data->height); } } void surface_state_changed(GtkWidget* widget) { auto* self = EE_APP_WINDOW(widget); GdkToplevelState new_state = GDK_TOPLEVEL_STATE_MAXIMIZED; new_state = gdk_toplevel_get_state(GDK_TOPLEVEL(gtk_native_get_surface(GTK_NATIVE(widget)))); self->data->maximized = (new_state & GDK_TOPLEVEL_STATE_MAXIMIZED) != 0; self->data->fullscreen = (new_state & GDK_TOPLEVEL_STATE_FULLSCREEN) != 0; } void realize(GtkWidget* widget) { GTK_WIDGET_CLASS(application_window_parent_class)->realize(widget); g_signal_connect_swapped(gtk_native_get_surface(GTK_NATIVE(widget)), "notify::state", G_CALLBACK(surface_state_changed), widget); auto* self = EE_APP_WINDOW(widget); /* Getting the gapp pointer here because it is not defined when "init" is called */ self->data->gapp = G_APPLICATION(gtk_window_get_application(GTK_WINDOW(widget))); ui::presets_menu::setup(self->output_presets_menu, app::EE_APP(self->data->gapp), PresetType::output); ui::presets_menu::setup(self->input_presets_menu, app::EE_APP(self->data->gapp), PresetType::input); ui::effects_box::setup(self->soe_ui, app::EE_APP(self->data->gapp), PipelineType::output, self->data->icon_theme); ui::effects_box::setup(self->sie_ui, app::EE_APP(self->data->gapp), PipelineType::input, self->data->icon_theme); ui::pipe_manager_box::setup(self->pm_box, app::EE_APP(self->data->gapp)); self->data->connections.push_back( app::EE_APP(self->data->gapp) ->presets_manager->preset_load_error.connect([=](const std::string& title, const std::string& descr) { ui::show_simple_message_dialog(widget, title, descr); })); } void unrealize(GtkWidget* widget) { auto* self = EE_APP_WINDOW(widget); for (auto& c : self->data->connections) { c.disconnect(); } self->data->connections.clear(); g_signal_handlers_disconnect_by_func(gtk_native_get_surface(GTK_NATIVE((widget))), reinterpret_cast(surface_state_changed), widget); GTK_WIDGET_CLASS(application_window_parent_class)->unrealize(widget); } void dispose(GObject* object) { auto* self = EE_APP_WINDOW(object); g_settings_set_int(self->settings, "window-width", self->data->width); g_settings_set_int(self->settings, "window-height", self->data->height); g_settings_set_boolean(self->settings, "window-maximized", static_cast(self->data->maximized)); g_settings_set_boolean(self->settings, "window-fullscreen", static_cast(self->data->fullscreen)); if (g_settings_get_boolean(self->settings, "shutdown-on-window-close") != 0 && (g_application_get_flags(self->data->gapp) & G_APPLICATION_IS_SERVICE) != 0) { g_application_release(self->data->gapp); } g_object_unref(self->settings); // removing the extra reference g_object_unref(self->output_presets_menu); g_object_unref(self->input_presets_menu); ui::unref_global_app_settings(); util::debug("disposed"); G_OBJECT_CLASS(application_window_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_APP_WINDOW(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(application_window_parent_class)->finalize(object); } void application_window_class_init(ApplicationWindowClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->constructed = constructed; object_class->dispose = dispose; object_class->finalize = finalize; widget_class->size_allocate = size_allocate; widget_class->realize = realize; widget_class->unrealize = unrealize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::application_window_ui); gtk_widget_class_bind_template_child(widget_class, ApplicationWindow, stack); gtk_widget_class_bind_template_child(widget_class, ApplicationWindow, presets_menu_button); gtk_widget_class_bind_template_child(widget_class, ApplicationWindow, bypass_button); gtk_widget_class_bind_template_callback(widget_class, stack_visible_child_changed); } void application_window_init(ApplicationWindow* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->data->width = -1; self->data->height = -1; self->data->maximized = false; self->data->fullscreen = false; self->settings = g_settings_new(tags::app::id); init_theme_color(self); apply_css_style(); if (IS_DEVEL_BUILD) { gtk_widget_add_css_class(GTK_WIDGET(self), "devel"); } self->data->icon_theme = setup_icon_theme(); /* We save the user locale here because we have to wait for the changes GTK is going to make to the global locale. It seems that the init method of the main window widget is a good place for this. */ ui::save_user_locale(); ui::init_global_app_settings(); self->output_presets_menu = ui::presets_menu::create(); self->input_presets_menu = ui::presets_menu::create(); /* Adding an extra reference so that the menu sin ´t destroyed when alternating between the input and output effects section */ g_object_ref(self->output_presets_menu); g_object_ref(self->input_presets_menu); self->soe_ui = ui::effects_box::create(); self->sie_ui = ui::effects_box::create(); self->pm_box = ui::pipe_manager_box::create(); auto* soe_ui_page = adw_view_stack_add_titled(self->stack, GTK_WIDGET(self->soe_ui), "stream_output", _("_Output")); auto* sie_ui_page = adw_view_stack_add_titled(self->stack, GTK_WIDGET(self->sie_ui), "stream_input", _("_Input")); auto* pm_box_page = adw_view_stack_add_titled(self->stack, GTK_WIDGET(self->pm_box), "page_pipewire", _("_PipeWire")); adw_view_stack_page_set_use_underline(soe_ui_page, true); adw_view_stack_page_set_use_underline(sie_ui_page, true); adw_view_stack_page_set_use_underline(pm_box_page, true); adw_view_stack_page_set_icon_name(soe_ui_page, "audio-speakers-symbolic"); adw_view_stack_page_set_icon_name(sie_ui_page, "audio-input-microphone-symbolic"); adw_view_stack_page_set_icon_name(pm_box_page, "network-server-symbolic"); gtk_menu_button_set_popover(self->presets_menu_button, GTK_WIDGET(self->output_presets_menu)); g_settings_bind(self->settings, "bypass", self->bypass_button, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "autohide-popovers", self->output_presets_menu, "autohide", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "autohide-popovers", self->input_presets_menu, "autohide", G_SETTINGS_BIND_DEFAULT); g_signal_connect(self->settings, "changed::use-dark-theme", G_CALLBACK(+[](GSettings* settings, char* key, ApplicationWindow* self) { init_theme_color(self); }), self); } auto create(GApplication* gapp) -> ApplicationWindow* { return static_cast(g_object_new(EE_TYPE_APPLICATION_WINDOW, "application", gapp, nullptr)); } } // namespace ui::application_window easyeffects-7.1.7/src/apps_box.cpp000066400000000000000000000355111463533416400171530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "apps_box.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "app_info.hpp" #include "application.hpp" #include "node_info_holder.hpp" #include "pipe_objects.hpp" #include "pipeline_type.hpp" #include "tags_app.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "util.hpp" namespace ui::apps_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } app::Application* application; std::unordered_map enabled_app_list; std::vector connections; std::vector gconnections; }; struct _AppsBox { GtkBox parent_instance; GtkOverlay* overlay; AdwStatusPage* overlay_empty_list; GtkListView* listview; GtkIconTheme* icon_theme; GListStore *apps_model, *all_apps_model; GSettings *settings, *app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(AppsBox, apps_box, GTK_TYPE_BOX) auto app_is_blocklisted(AppsBox* self, const std::string& name) -> bool { const auto list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "blocklist")); return std::ranges::find(list, name) != list.end(); } void update_empty_list_overlay(AppsBox* self) { gtk_widget_set_visible(GTK_WIDGET(self->overlay_empty_list), (g_list_model_get_n_items(G_LIST_MODEL(self->apps_model)) == 0U) ? 1 : 0); } void on_app_added(AppsBox* self, const NodeInfo& node_info) { // do not add the same stream twice for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->all_apps_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->all_apps_model), n)); if (holder->info->serial == node_info.serial) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(node_info); g_list_store_append(self->all_apps_model, holder); if (g_settings_get_boolean(self->settings, "show-blocklisted-apps") != 0 || !app_is_blocklisted(self, node_info.name)) { g_list_store_append(self->apps_model, holder); } /* As g_list_store_append calls increases the object reference count we remove the one added by g_object_new in the object creation. The reference added by g_list_store_append will be removed by an additional call to g_object_unref after g_list_store_remove is called */ g_object_unref(holder); update_empty_list_overlay(self); } void on_app_removed(AppsBox* self, const uint64_t serial) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->all_apps_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->all_apps_model), n)); if (holder->info->serial == serial) { holder->info_updated.clear(); // Disconnecting all the slots before removing the holder from the model g_list_store_remove(self->all_apps_model, n); g_object_unref(holder); break; } g_object_unref(holder); } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->apps_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->apps_model), n)); if (holder->info->serial == serial) { holder->info_updated.clear(); // Disconnecting all the slots before removing the holder from the model g_list_store_remove(self->apps_model, n); g_object_unref(holder); break; } g_object_unref(holder); } update_empty_list_overlay(self); } void on_app_changed(AppsBox* self, const NodeInfo node_info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->apps_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->apps_model), n)); if (holder->info->serial == node_info.serial) { holder->info_updated.emit(node_info); g_object_unref(holder); return; } g_object_unref(holder); } } void connect_stream(AppsBox* self, const uint& id, const std::string& media_class) { if (media_class == tags::pipewire::media_class::output_stream) { self->data->application->pm->connect_stream_output(id); } else if (media_class == tags::pipewire::media_class::input_stream) { self->data->application->pm->connect_stream_input(id); } } void disconnect_stream(AppsBox* self, const uint& id, const std::string& media_class) { if (media_class == tags::pipewire::media_class::output_stream || media_class == tags::pipewire::media_class::input_stream) { self->data->application->pm->disconnect_stream(id); } } void setup_listview(AppsBox* self) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect(factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, AppsBox* self) { auto app_info = ui::app_info::create(); ui::app_info::setup(app_info, self->data->application, self->settings, self->icon_theme, self->data->enabled_app_list); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(app_info)); g_object_set_data(G_OBJECT(item), "app-info", app_info); }), self); g_signal_connect( factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, AppsBox* self) { auto* app_info = static_cast(g_object_get_data(G_OBJECT(item), "app-info")); auto child_item = gtk_list_item_get_item(item); auto* holder = static_cast(child_item); // Update the app info ui for the very first time Needed for interface initialization in service mode if (const auto node_it = self->data->application->pm->node_map.find(holder->info->serial); node_it != self->data->application->pm->node_map.end()) { ui::app_info::update(app_info, node_it->second); } // A call to holder->info_updated.clear() will be made in the unbind signal holder->info_updated.connect([=](const NodeInfo node_info) { ui::app_info::update(app_info, node_info); }); }), self); g_signal_connect(factory, "unbind", G_CALLBACK(+[](GtkSignalListItemFactory* self, GtkListItem* item, gpointer user_data) { auto* holder = static_cast(gtk_list_item_get_item(item)); holder->info_updated.clear(); }), self); gtk_list_view_set_factory(self->listview, factory); g_object_unref(factory); // setting the model auto* selection = gtk_no_selection_new(G_LIST_MODEL(self->apps_model)); gtk_list_view_set_model(self->listview, GTK_SELECTION_MODEL(selection)); g_object_unref(selection); } void setup(AppsBox* self, app::Application* application, PipelineType pipeline_type, GtkIconTheme* icon_theme) { self->data->application = application; self->icon_theme = icon_theme; switch (pipeline_type) { case PipelineType::input: { auto* pm = application->sie->pm; self->settings = g_settings_new(tags::schema::id_input); for (const auto& [serial, node] : pm->node_map) { if (node.media_class == tags::pipewire::media_class::input_stream) { on_app_added(self, node); } } self->data->connections.push_back( application->sie->pm->stream_input_added.connect([=](const NodeInfo info) { on_app_added(self, info); })); self->data->connections.push_back(application->sie->pm->stream_input_removed.connect( [=](const uint64_t serial) { on_app_removed(self, serial); })); self->data->connections.push_back(application->sie->pm->stream_input_changed.connect( [=](const NodeInfo node_info) { on_app_changed(self, node_info); })); break; } case PipelineType::output: { auto* pm = application->soe->pm; self->settings = g_settings_new(tags::schema::id_output); for (const auto& [serial, node] : pm->node_map) { if (node.media_class == tags::pipewire::media_class::output_stream) { on_app_added(self, node); } } self->data->connections.push_back( pm->stream_output_added.connect([=](const NodeInfo info) { on_app_added(self, info); })); self->data->connections.push_back(application->soe->pm->stream_output_removed.connect( [=](const uint64_t serial) { on_app_removed(self, serial); })); self->data->connections.push_back(application->soe->pm->stream_output_changed.connect( [=](const NodeInfo node_info) { on_app_changed(self, node_info); })); break; } } // updating the list when changes are made to the blocklist self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::blocklist", G_CALLBACK(+[](GSettings* settings, char* key, AppsBox* self) { const auto show_blocklisted_apps = g_settings_get_boolean(self->settings, "show-blocklisted-apps") != 0; g_list_store_remove_all(self->apps_model); for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->all_apps_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->all_apps_model), n)); const auto app_is_enabled = self->data->application->pm->stream_is_connected(holder->info->id, holder->info->media_class); if (app_is_blocklisted(self, holder->info->name)) { if (app_is_enabled) { disconnect_stream(self, holder->info->id, holder->info->media_class); } if (show_blocklisted_apps) { g_list_store_append(self->apps_model, holder); } } else { if (!app_is_enabled) { // Try to restore the previous enabled state, if needed try { if (self->data->enabled_app_list.at(holder->info->id)) { connect_stream(self, holder->info->id, holder->info->media_class); } } catch (...) { connect_stream(self, holder->info->id, holder->info->media_class); util::warning("can't retrieve enabled state of node " + holder->info->name); self->data->enabled_app_list.insert({holder->info->id, true}); } } g_list_store_append(self->apps_model, holder); } g_object_unref(holder); } update_empty_list_overlay(self); }), self)); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::show-blocklisted-apps", G_CALLBACK(+[](GSettings* settings, char* key, AppsBox* self) { const auto show_blocklisted_apps = g_settings_get_boolean(self->settings, "show-blocklisted-apps") != 0; g_list_store_remove_all(self->apps_model); if (show_blocklisted_apps) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->all_apps_model)); n++) { auto item = g_list_model_get_item(G_LIST_MODEL(self->all_apps_model), n); g_object_unref(item); g_list_store_append(self->apps_model, item); } } else { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->all_apps_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->all_apps_model), n)); g_object_unref(holder); if (!app_is_blocklisted(self, holder->info->name)) { auto item = g_list_model_get_item(G_LIST_MODEL(self->all_apps_model), n); g_object_unref(item); g_list_store_append(self->apps_model, item); } } } update_empty_list_overlay(self); }), self)); } void dispose(GObject* object) { auto* self = EE_APPS_BOX(object); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->all_apps_model); // do not do this to self->apps_model. It is owned by the listview g_object_unref(self->settings); g_object_unref(self->app_settings); util::debug("disposed"); G_OBJECT_CLASS(apps_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_APPS_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(apps_box_parent_class)->finalize(object); } void apps_box_class_init(AppsBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::apps_box_ui); gtk_widget_class_bind_template_child(widget_class, AppsBox, overlay); gtk_widget_class_bind_template_child(widget_class, AppsBox, overlay_empty_list); gtk_widget_class_bind_template_child(widget_class, AppsBox, listview); } void apps_box_init(AppsBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->app_settings = g_settings_new(tags::app::id); self->apps_model = g_list_store_new(ui::holders::node_info_holder_get_type()); self->all_apps_model = g_list_store_new(ui::holders::node_info_holder_get_type()); gtk_overlay_set_clip_overlay(self->overlay, GTK_WIDGET(self->overlay_empty_list), 1); setup_listview(self); } auto create() -> AppsBox* { return static_cast(g_object_new(EE_TYPE_APPS_BOX, nullptr)); } } // namespace ui::apps_box easyeffects-7.1.7/src/autogain.cpp000066400000000000000000000263471463533416400171560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "autogain.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" AutoGain::AutoGain(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::autogain, tags::plugin_package::ebur128, schema, schema_path, pipe_manager, pipe_type), target(g_settings_get_double(settings, "target")), silence_threshold(g_settings_get_double(settings, "silence-threshold")) { reference = parse_reference_key(util::gsettings_get_string(settings, "reference")); gconnections.push_back(g_signal_connect(settings, "changed::target", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->target = g_settings_get_double(settings, key); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::silence-threshold", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->silence_threshold = g_settings_get_double(settings, key); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::maximum-history", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); std::scoped_lock lock(self->data_mutex); self->set_maximum_history(g_settings_get_int(settings, key)); }), this)); gconnections.push_back(g_signal_connect( settings, "changed::reset-history", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->mythreads.emplace_back([self]() { // Using emplace_back here makes sense self->data_mutex.lock(); self->ebur128_ready = false; self->data_mutex.unlock(); auto status = self->init_ebur128(); self->data_mutex.lock(); self->ebur128_ready = status; self->data_mutex.unlock(); }); }), this)); gconnections.push_back(g_signal_connect( settings, "changed::reference", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->reference = parse_reference_key(util::gsettings_get_string(settings, key)); }), this)); setup_input_output_gain(); } AutoGain::~AutoGain() { if (connected_to_pw) { disconnect_from_pw(); } for (auto& t : mythreads) { t.join(); } mythreads.clear(); std::scoped_lock lock(data_mutex); if (ebur_state != nullptr) { ebur128_destroy(&ebur_state); } util::debug(log_tag + name + " destroyed"); } auto AutoGain::init_ebur128() -> bool { if (n_samples == 0U || rate == 0U) { return false; } internal_output_gain = 1.0; if (ebur_state != nullptr) { ebur128_destroy(&ebur_state); ebur_state = nullptr; } ebur_state = ebur128_init(2U, rate, EBUR128_MODE_S | EBUR128_MODE_I | EBUR128_MODE_LRA | EBUR128_MODE_SAMPLE_PEAK); ebur128_set_channel(ebur_state, 0U, EBUR128_LEFT); ebur128_set_channel(ebur_state, 1U, EBUR128_RIGHT); set_maximum_history(g_settings_get_int(settings, "maximum-history")); return ebur_state != nullptr; } auto AutoGain::parse_reference_key(const std::string& key) -> Reference { if (key == "Momentary") { return Reference::momentary; } if (key == "Shortterm") { return Reference::shortterm; } if (key == "Integrated") { return Reference::integrated; } if (key == "Geometric Mean (MS)") { return Reference::geometric_mean_ms; } if (key == "Geometric Mean (MI)") { return Reference::geometric_mean_mi; } if (key == "Geometric Mean (SI)") { return Reference::geometric_mean_si; } return Reference::geometric_mean_msi; } void AutoGain::set_maximum_history(const int& seconds) { if (ebur_state == nullptr) { return; } // The value given to ebur128_set_max_history must be in milliseconds ebur128_set_max_history(ebur_state, static_cast(seconds) * 1000UL); } void AutoGain::setup() { if (2U * static_cast(n_samples) != data.size()) { data.resize(static_cast(n_samples) * 2U); } if (rate != old_rate) { data_mutex.lock(); ebur128_ready = false; data_mutex.unlock(); mythreads.emplace_back([this]() { // Using emplace_back here makes sense if (ebur128_ready) { return; } auto status = true; old_rate = rate; status = init_ebur128(); data_mutex.lock(); ebur128_ready = status; data_mutex.unlock(); }); } } void AutoGain::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass || !ebur128_ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } for (size_t n = 0U; n < n_samples; n++) { data[2U * n] = left_in[n]; data[2U * n + 1U] = right_in[n]; } ebur128_add_frames_float(ebur_state, data.data(), n_samples); auto failed = false; if (EBUR128_SUCCESS != ebur128_loudness_momentary(ebur_state, &momentary)) { failed = true; } if (EBUR128_SUCCESS != ebur128_loudness_shortterm(ebur_state, &shortterm)) { failed = true; } if (EBUR128_SUCCESS != ebur128_loudness_global(ebur_state, &global)) { failed = true; } if (std::isinf(momentary) || std::isnan(momentary)) { /* Assuming zero so that the output gain is negative. This should avoid undesirably high amplification in case a bad resutla comes from libebur128 */ momentary = 0.0; } if (shortterm > 10.0 || std::isinf(shortterm) || std::isnan(shortterm)) { /* Sometimes when a stream is started right after Easy Effects has been initialized a very large shorterm value is calculated. Probably because of some weird high intensity transient. So it is better to ignore unresonable large values. When they happen we just set the shorterm value to the momentary loudness. */ shortterm = momentary; } if (global > 10.0 || std::isinf(global) || std::isnan(global)) { /* Sometimes when a stream is started right after Easy Effects has been initialized a very large integrated value is calculated. Probably because of some weird high intensity transient. So it is better to ignore unresonable large values. When they happen we just set the global value to the momentary loudness. */ global = momentary; } if (EBUR128_SUCCESS != ebur128_relative_threshold(ebur_state, &relative)) { failed = true; } if (EBUR128_SUCCESS != ebur128_loudness_range(ebur_state, &range)) { failed = true; } if (momentary > silence_threshold && !failed) { double peak_L = 0.0; double peak_R = 0.0; if (EBUR128_SUCCESS != ebur128_prev_sample_peak(ebur_state, 0U, &peak_L)) { failed = true; } if (EBUR128_SUCCESS != ebur128_prev_sample_peak(ebur_state, 1U, &peak_R)) { failed = true; } if (!failed) { switch (reference) { case Reference::momentary: { loudness = momentary; break; } case Reference::shortterm: { loudness = shortterm; break; } case Reference::integrated: { loudness = global; break; } case Reference::geometric_mean_msi: { loudness = std::cbrt(momentary * shortterm * global); break; } case Reference::geometric_mean_ms: { loudness = std::sqrt(std::fabs(momentary * shortterm)); if (momentary < 0 && shortterm < 0) { loudness *= -1; } break; } case Reference::geometric_mean_mi: { loudness = std::sqrt(std::fabs(momentary * global)); if (momentary < 0 && global < 0) { loudness *= -1; } break; } case Reference::geometric_mean_si: { loudness = std::sqrt(std::fabs(shortterm * global)); if (shortterm < 0 && global < 0) { loudness *= -1; } break; } } const double diff = target - loudness; // 10^(diff/20). The way below should be faster than using pow const double gain = std::exp((diff / 20.0) * std::log(10.0)); const double peak = (peak_L > peak_R) ? peak_L : peak_R; const auto db_peak = util::linear_to_db(peak); if (db_peak > util::minimum_db_level) { if (gain * peak < 1.0) { internal_output_gain = gain; } } } } std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); if (internal_output_gain != 1.0F) { apply_gain(left_out, right_out, static_cast(internal_output_gain)); } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { results.emit(loudness, internal_output_gain, momentary, shortterm, global, relative, range); notify(); } } } auto AutoGain::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/autogain_preset.cpp000066400000000000000000000055001463533416400205240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "autogain_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" AutoGainPreset::AutoGainPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::autogain::id, tags::schema::autogain::input_path, tags::schema::autogain::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::autogain).append("#").append(util::to_string(index)); } void AutoGainPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["target"] = g_settings_get_double(settings, "target"); json[section][instance_name]["silence-threshold"] = g_settings_get_double(settings, "silence-threshold"); json[section][instance_name]["maximum-history"] = g_settings_get_int(settings, "maximum-history"); json[section][instance_name]["reference"] = util::gsettings_get_string(settings, "reference"); } void AutoGainPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "target", "target"); update_key(json.at(section).at(instance_name), settings, "silence-threshold", "silence-threshold"); update_key(json.at(section).at(instance_name), settings, "maximum-history", "maximum-history"); update_key(json.at(section).at(instance_name), settings, "reference", "reference"); } easyeffects-7.1.7/src/autogain_ui.cpp000066400000000000000000000254761463533416400176550ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "autogain_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "autogain.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::autogain_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr autogain; std::vector connections; std::vector gconnections; }; struct _AutogainBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *target, *silence_threshold, *maximum_history; GtkLevelBar *m_level, *s_level, *i_level, *r_level, *g_level, *l_level, *lra_level; GtkLabel *m_label, *s_label, *i_label, *r_label, *g_label, *l_label, *lra_label; GtkButton* reset_history; AdwComboRow* reference; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(AutogainBox, autogain_box, GTK_TYPE_BOX) void on_reset(AutogainBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_reset_history(AutogainBox* self, GtkButton* btn) { // it is ugly but will ensure that third party tools are able to reset this plugin history g_settings_set_boolean(self->settings, "reset-history", static_cast(g_settings_get_boolean(self->settings, "reset-history") == 0)); } void setup(AutogainBox* self, std::shared_ptr autogain, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->autogain = autogain; self->settings = g_settings_new_with_path(tags::schema::autogain::id, schema_path.c_str()); autogain->set_post_messages(true); self->data->connections.push_back(autogain->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(autogain->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(autogain->results.connect([=](const double loudness, const double gain, const double momentary, const double shortterm, const double integrated, const double relative, const double range) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->l_level) || !GTK_IS_LABEL(self->l_label) || !GTK_IS_LEVEL_BAR(self->g_level) || !GTK_IS_LABEL(self->g_label) || !GTK_IS_LEVEL_BAR(self->m_level) || !GTK_IS_LABEL(self->m_label) || !GTK_IS_LEVEL_BAR(self->s_level) || !GTK_IS_LABEL(self->s_label) || !GTK_IS_LEVEL_BAR(self->i_level) || !GTK_IS_LABEL(self->i_label) || !GTK_IS_LEVEL_BAR(self->r_level) || !GTK_IS_LABEL(self->r_label) || !GTK_IS_LEVEL_BAR(self->lra_level) || !GTK_IS_LABEL(self->lra_label)) { return; } gtk_level_bar_set_value(self->l_level, util::db_to_linear(loudness)); gtk_label_set_text(self->l_label, fmt::format("{0:.0f} LUFS", loudness).c_str()); gtk_level_bar_set_value(self->g_level, gain); gtk_label_set_text(self->g_label, fmt::format(ui::get_user_locale(), "{0:.2Lf} dB", util::linear_to_db(gain)).c_str()); gtk_level_bar_set_value(self->m_level, util::db_to_linear(momentary)); gtk_label_set_text(self->m_label, fmt::format("{0:.0f} LUFS", momentary).c_str()); gtk_level_bar_set_value(self->s_level, util::db_to_linear(shortterm)); gtk_label_set_text(self->s_label, fmt::format("{0:.0f} LUFS", shortterm).c_str()); gtk_level_bar_set_value(self->i_level, util::db_to_linear(integrated)); gtk_label_set_text(self->i_label, fmt::format("{0:.0f} LUFS", integrated).c_str()); gtk_level_bar_set_value(self->r_level, util::db_to_linear(relative)); gtk_label_set_text(self->r_label, fmt::format("{0:.0f} LUFS", relative).c_str()); gtk_level_bar_set_value(self->lra_level, util::db_to_linear(range)); gtk_label_set_text(self->lra_label, fmt::format("{0:.0f} LU", range).c_str()); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->autogain->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); gsettings_bind_widgets<"target", "silence-threshold", "maximum-history">( self->settings, self->target, self->silence_threshold, self->maximum_history); ui::gsettings_bind_enum_to_combo_widget(self->settings, "reference", self->reference); } void dispose(GObject* object) { auto* self = EE_AUTOGAIN_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(autogain_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_AUTOGAIN_BOX(object); delete self->data; util::debug("finalize"); G_OBJECT_CLASS(autogain_box_parent_class)->finalize(object); } void autogain_box_class_init(AutogainBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::autogain_ui); gtk_widget_class_bind_template_child(widget_class, AutogainBox, input_gain); gtk_widget_class_bind_template_child(widget_class, AutogainBox, output_gain); gtk_widget_class_bind_template_child(widget_class, AutogainBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, AutogainBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, AutogainBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, AutogainBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, AutogainBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, AutogainBox, target); gtk_widget_class_bind_template_child(widget_class, AutogainBox, silence_threshold); gtk_widget_class_bind_template_child(widget_class, AutogainBox, maximum_history); gtk_widget_class_bind_template_child(widget_class, AutogainBox, reference); gtk_widget_class_bind_template_child(widget_class, AutogainBox, reset_history); gtk_widget_class_bind_template_child(widget_class, AutogainBox, m_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, s_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, i_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, r_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, g_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, l_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, lra_level); gtk_widget_class_bind_template_child(widget_class, AutogainBox, m_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, s_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, i_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, r_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, g_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, l_label); gtk_widget_class_bind_template_child(widget_class, AutogainBox, lra_label); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_reset_history); } void autogain_box_init(AutogainBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"dB">(self->target, self->silence_threshold); prepare_spinbuttons<"s">(self->maximum_history); } auto create() -> AutogainBox* { return static_cast(g_object_new(EE_TYPE_AUTOGAIN_BOX, nullptr)); } } // namespace ui::autogain_box easyeffects-7.1.7/src/bass_enhancer.cpp000066400000000000000000000073411463533416400201330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "bass_enhancer.hpp" #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" BassEnhancer::BassEnhancer(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::bass_enhancer, tags::plugin_package::calf, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://calf.sourceforge.net/plugins/BassEnhancer"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://calf.sourceforge.net/plugins/BassEnhancer is not installed"); } lv2_wrapper->bind_key_double_db<"amount", "amount">(settings); lv2_wrapper->bind_key_double<"drive", "harmonics">(settings); lv2_wrapper->bind_key_double<"freq", "scope">(settings); lv2_wrapper->bind_key_double<"floor", "floor">(settings); lv2_wrapper->bind_key_double<"blend", "blend">(settings); lv2_wrapper->bind_key_bool<"floor_active", "floor-active">(settings); lv2_wrapper->bind_key_bool<"listen", "listen">(settings); setup_input_output_gain(); } BassEnhancer::~BassEnhancer() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void BassEnhancer::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void BassEnhancer::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { // harmonics needed as double for levelbar widget ui, so we convert it here harmonics_port_value = static_cast(lv2_wrapper->get_control_port_value("meter_drive")); if (!post_messages) { return; } harmonics.emit(harmonics_port_value); notify(); } } } auto BassEnhancer::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/bass_enhancer_preset.cpp000066400000000000000000000061701463533416400215140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "bass_enhancer_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" BassEnhancerPreset::BassEnhancerPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::bass_enhancer::id, tags::schema::bass_enhancer::input_path, tags::schema::bass_enhancer::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::bass_enhancer).append("#").append(util::to_string(index)); } void BassEnhancerPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["amount"] = g_settings_get_double(settings, "amount"); json[section][instance_name]["harmonics"] = g_settings_get_double(settings, "harmonics"); json[section][instance_name]["scope"] = g_settings_get_double(settings, "scope"); json[section][instance_name]["floor"] = g_settings_get_double(settings, "floor"); json[section][instance_name]["blend"] = g_settings_get_double(settings, "blend"); json[section][instance_name]["floor-active"] = g_settings_get_boolean(settings, "floor-active") != 0; } void BassEnhancerPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "amount", "amount"); update_key(json.at(section).at(instance_name), settings, "harmonics", "harmonics"); update_key(json.at(section).at(instance_name), settings, "scope", "scope"); update_key(json.at(section).at(instance_name), settings, "floor", "floor"); update_key(json.at(section).at(instance_name), settings, "blend", "blend"); update_key(json.at(section).at(instance_name), settings, "floor-active", "floor-active"); } easyeffects-7.1.7/src/bass_enhancer_ui.cpp000066400000000000000000000203121463533416400206210ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "bass_enhancer_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "bass_enhancer.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::bass_enhancer_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr bass_enhancer; std::vector connections; std::vector gconnections; }; struct _BassEnhancerBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkLevelBar* harmonics_levelbar; GtkLabel* harmonics_levelbar_label; GtkSpinButton *floor, *amount, *harmonics, *scope; GtkScale* blend; GtkToggleButton *floor_active, *listen; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(BassEnhancerBox, bass_enhancer_box, GTK_TYPE_BOX) void on_reset(BassEnhancerBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(BassEnhancerBox* self, std::shared_ptr bass_enhancer, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->bass_enhancer = bass_enhancer; self->settings = g_settings_new_with_path(tags::schema::bass_enhancer::id, schema_path.c_str()); bass_enhancer->set_post_messages(true); self->data->connections.push_back(bass_enhancer->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(bass_enhancer->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(bass_enhancer->harmonics.connect([=](const double value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->harmonics_levelbar) || !GTK_IS_LABEL(self->harmonics_levelbar_label)) { return; } gtk_level_bar_set_value(self->harmonics_levelbar, value); gtk_label_set_text(self->harmonics_levelbar_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->bass_enhancer->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); gsettings_bind_widgets<"amount", "harmonics", "scope", "floor", "blend", "listen", "floor-active">( self->settings, self->amount, self->harmonics, self->scope, self->floor, self->blend, self->listen, self->floor_active); } void dispose(GObject* object) { auto* self = EE_BASS_ENHANCER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(bass_enhancer_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_BASS_ENHANCER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(bass_enhancer_box_parent_class)->finalize(object); } void bass_enhancer_box_class_init(BassEnhancerBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::bass_enhancer_ui); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, input_gain); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, output_gain); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, harmonics_levelbar_label); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, harmonics_levelbar); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, floor); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, amount); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, harmonics); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, scope); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, blend); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, floor_active); gtk_widget_class_bind_template_child(widget_class, BassEnhancerBox, listen); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void bass_enhancer_box_init(BassEnhancerBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"dB">(self->amount); prepare_spinbuttons<"Hz">(self->scope, self->floor); prepare_spinbuttons<"">(self->harmonics); prepare_scales<"">(self->blend); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> BassEnhancerBox* { return static_cast(g_object_new(EE_TYPE_BASS_ENHANCER_BOX, nullptr)); } } // namespace ui::bass_enhancer_box easyeffects-7.1.7/src/bass_loudness.cpp000066400000000000000000000062731463533416400202070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "bass_loudness.hpp" #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" BassLoudness::BassLoudness(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::bass_loudness, tags::plugin_package::mda, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://drobilla.net/plugins/mda/Loudness"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://drobilla.net/plugins/mda/Loudness is not installed"); } lv2_wrapper->bind_key_double_db<"loudness", "loudness">(settings); lv2_wrapper->bind_key_double_db<"output", "output">(settings); lv2_wrapper->bind_key_double_db<"link", "link">(settings); setup_input_output_gain(); } BassLoudness::~BassLoudness() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void BassLoudness::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void BassLoudness::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto BassLoudness::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/bass_loudness_preset.cpp000066400000000000000000000051141463533416400215620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "bass_loudness_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" BassLoudnessPreset::BassLoudnessPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::bass_loudness::id, tags::schema::bass_loudness::input_path, tags::schema::bass_loudness::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::bass_loudness).append("#").append(util::to_string(index)); } void BassLoudnessPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["loudness"] = g_settings_get_double(settings, "loudness"); json[section][instance_name]["output"] = g_settings_get_double(settings, "output"); json[section][instance_name]["link"] = g_settings_get_double(settings, "link"); } void BassLoudnessPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "loudness", "loudness"); update_key(json.at(section).at(instance_name), settings, "output", "output"); update_key(json.at(section).at(instance_name), settings, "link", "link"); } easyeffects-7.1.7/src/bass_loudness_ui.cpp000066400000000000000000000147771463533416400207140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "bass_loudness_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "bass_loudness.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::bass_loudness_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr bass_loudness; std::vector connections; std::vector gconnections; }; struct _BassLoudnessBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *loudness, *output, *link; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(BassLoudnessBox, bass_loudness_box, GTK_TYPE_BOX) void on_reset(BassLoudnessBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(BassLoudnessBox* self, std::shared_ptr bass_loudness, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->bass_loudness = bass_loudness; self->settings = g_settings_new_with_path(tags::schema::bass_loudness::id, schema_path.c_str()); bass_loudness->set_post_messages(true); self->data->connections.push_back(bass_loudness->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(bass_loudness->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->bass_loudness->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); gsettings_bind_widgets<"loudness", "output", "link">(self->settings, self->loudness, self->output, self->link); } void dispose(GObject* object) { auto* self = EE_BASS_LOUDNESS_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(bass_loudness_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_BASS_LOUDNESS_BOX(object); delete self->data; util::debug("finalize"); G_OBJECT_CLASS(bass_loudness_box_parent_class)->finalize(object); } void bass_loudness_box_class_init(BassLoudnessBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::bass_loudness_ui); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, input_gain); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, output_gain); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, loudness); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, output); gtk_widget_class_bind_template_child(widget_class, BassLoudnessBox, link); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void bass_loudness_box_init(BassLoudnessBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"dB">(self->loudness, self->output, self->link); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> BassLoudnessBox* { return static_cast(g_object_new(EE_TYPE_BASS_LOUDNESS_BOX, nullptr)); } } // namespace ui::bass_loudness_box easyeffects-7.1.7/src/blocklist_menu.cpp000066400000000000000000000210011463533416400203370ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "blocklist_menu.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "pipeline_type.hpp" #include "tags_app.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "util.hpp" namespace ui::blocklist_menu { struct Data { public: ~Data() { util::debug("data struct destroyed"); } app::Application* application; std::vector connections; std::vector gconnections; }; struct _BlocklistMenu { GtkPopover parent_instance; GtkScrolledWindow* scrolled_window; GtkListView* listview; GtkText* app_name; GtkCheckButton* show_blocklisted_apps; GtkStringList* string_list; GSettings *settings, *app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(BlocklistMenu, blocklist_menu, GTK_TYPE_POPOVER) void on_add_to_blocklist(BlocklistMenu* self, GtkButton* button) { auto status = util::add_new_blocklist_entry(self->settings, gtk_editable_get_text(GTK_EDITABLE(self->app_name))); if (status) { gtk_editable_set_text(GTK_EDITABLE(self->app_name), ""); } } void setup_listview(BlocklistMenu* self) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect( factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, BlocklistMenu* self) { auto* box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); auto* label = gtk_label_new(nullptr); auto* button = gtk_button_new_from_icon_name("user-trash-symbolic"); gtk_widget_set_halign(GTK_WIDGET(label), GTK_ALIGN_START); gtk_widget_set_hexpand(GTK_WIDGET(label), 1); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); gtk_label_set_max_width_chars(GTK_LABEL(label), 100); gtk_box_append(GTK_BOX(box), GTK_WIDGET(label)); gtk_box_append(GTK_BOX(box), GTK_WIDGET(button)); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(box)); g_object_set_data(G_OBJECT(item), "name", label); g_object_set_data(G_OBJECT(item), "remove", button); g_signal_connect( button, "clicked", G_CALLBACK(+[](GtkButton* btn, BlocklistMenu* self) { if (auto* string_object = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(btn), "string-object")); string_object != nullptr) { auto* name = gtk_string_object_get_string(string_object); auto list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "blocklist")); list.erase( std::remove_if(list.begin(), list.end(), [=](const auto& app_name) { return app_name == name; }), list.end()); g_settings_set_strv(self->settings, "blocklist", util::make_gchar_pointer_vector(list).data()); } }), self); }), self); g_signal_connect(factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, BlocklistMenu* self) { auto* label = static_cast(g_object_get_data(G_OBJECT(item), "name")); auto* btn_remove = static_cast(g_object_get_data(G_OBJECT(item), "remove")); auto* child_item = gtk_list_item_get_item(item); auto* string_object = GTK_STRING_OBJECT(child_item); g_object_set_data(G_OBJECT(btn_remove), "string-object", string_object); auto* name = gtk_string_object_get_string(GTK_STRING_OBJECT(child_item)); gtk_label_set_text(label, name); }), self); gtk_list_view_set_factory(self->listview, factory); g_object_unref(factory); for (auto& name : util::gchar_array_to_vector(g_settings_get_strv(self->settings, "blocklist"))) { gtk_string_list_append(self->string_list, name.c_str()); } self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::blocklist", G_CALLBACK(+[](GSettings* settings, char* key, BlocklistMenu* self) { gtk_string_list_splice(self->string_list, 0, g_list_model_get_n_items(G_LIST_MODEL(self->string_list)), g_settings_get_strv(settings, key)); }), self)); } void setup(BlocklistMenu* self, app::Application* application, PipelineType pipeline_type) { self->data->application = application; switch (pipeline_type) { case PipelineType::input: { self->settings = g_settings_new(tags::schema::id_input); break; } case PipelineType::output: { self->settings = g_settings_new(tags::schema::id_output); break; } } g_settings_bind(self->settings, "show-blocklisted-apps", self->show_blocklisted_apps, "active", G_SETTINGS_BIND_DEFAULT); setup_listview(self); } void show(GtkWidget* widget) { auto* self = EE_BLOCKLIST_MENU(widget); auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto active_window_height = gtk_widget_get_height(GTK_WIDGET(active_window)); const int menu_height = static_cast(0.5F * static_cast(active_window_height)); gtk_scrolled_window_set_max_content_height(self->scrolled_window, menu_height); GTK_WIDGET_CLASS(blocklist_menu_parent_class)->show(widget); } void dispose(GObject* object) { auto* self = EE_BLOCKLIST_MENU(object); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); g_object_unref(self->app_settings); util::debug("disposed"); G_OBJECT_CLASS(blocklist_menu_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_BLOCKLIST_MENU(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(blocklist_menu_parent_class)->finalize(object); } void blocklist_menu_class_init(BlocklistMenuClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; widget_class->show = show; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::blocklist_menu_ui); gtk_widget_class_bind_template_child(widget_class, BlocklistMenu, string_list); gtk_widget_class_bind_template_child(widget_class, BlocklistMenu, scrolled_window); gtk_widget_class_bind_template_child(widget_class, BlocklistMenu, listview); gtk_widget_class_bind_template_child(widget_class, BlocklistMenu, app_name); gtk_widget_class_bind_template_child(widget_class, BlocklistMenu, show_blocklisted_apps); gtk_widget_class_bind_template_callback(widget_class, on_add_to_blocklist); } void blocklist_menu_init(BlocklistMenu* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->app_settings = g_settings_new(tags::app::id); g_settings_bind(self->app_settings, "autohide-popovers", self, "autohide", G_SETTINGS_BIND_DEFAULT); } auto create() -> BlocklistMenu* { return static_cast(g_object_new(EE_TYPE_BLOCKLIST_MENU, nullptr)); } } // namespace ui::blocklist_menu easyeffects-7.1.7/src/chart.cpp000066400000000000000000000503011463533416400164330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "chart.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::chart { struct Data { public: ~Data() { util::debug("data struct destroyed"); } bool draw_bar_border, fill_bars, is_visible, rounded_corners, dynamic_y_scale = true; int x_axis_height, n_x_decimals, n_y_decimals; double mouse_y, mouse_x, margin, line_width; double x_min, x_max, y_min, y_max; double x_min_log, x_max_log; double global_min_y = 0.0, global_max_y = 0.0; ChartType chart_type; ChartScale chart_scale; GdkRGBA background_color, color, color_axis_labels, gradient_color; std::string x_unit, y_unit; std::vector y_axis, x_axis, x_axis_log, objects_x; }; struct _Chart { GtkBox parent_instance; GtkEventController* controller_motion; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(Chart, chart, GTK_TYPE_WIDGET) void set_chart_type(Chart* self, const ChartType& value) { if (self->data == nullptr) { return; } self->data->chart_type = value; } void set_chart_scale(Chart* self, const ChartScale& value) { if (self->data == nullptr) { return; } self->data->chart_scale = value; } void set_background_color(Chart* self, GdkRGBA color) { if (self->data == nullptr) { return; } self->data->background_color = color; } void set_color(Chart* self, GdkRGBA color) { if (self->data == nullptr) { return; } self->data->color = color; } void set_axis_labels_color(Chart* self, GdkRGBA color) { if (self->data == nullptr) { return; } self->data->color_axis_labels = color; } void set_line_width(Chart* self, const float& value) { if (self->data == nullptr) { return; } self->data->line_width = value; } void set_draw_bar_border(Chart* self, const bool& v) { if (self->data == nullptr) { return; } self->data->draw_bar_border = v; } void set_rounded_corners(Chart* self, const bool& v) { if (self->data == nullptr) { return; } self->data->rounded_corners = v; } void set_fill_bars(Chart* self, const bool& v) { if (self->data == nullptr) { return; } self->data->fill_bars = v; } void set_n_x_decimals(Chart* self, const int& v) { if (self->data == nullptr) { return; } self->data->n_x_decimals = v; } void set_n_y_decimals(Chart* self, const int& v) { if (self->data == nullptr) { return; } self->data->n_y_decimals = v; } void set_x_unit(Chart* self, const std::string& value) { if (self->data == nullptr) { return; } self->data->x_unit = value; } void set_y_unit(Chart* self, const std::string& value) { if (self->data == nullptr) { return; } self->data->y_unit = value; } void set_margin(Chart* self, const float& v) { if (self->data == nullptr) { return; } self->data->margin = v; } auto get_is_visible(Chart* self) -> bool { if (!GTK_IS_WIDGET(self)) { return false; } if (self->data == nullptr) { return false; } return self->data->is_visible; } void set_dynamic_y_scale(Chart* self, const bool& v) { if (self->data == nullptr) { return; } self->data->dynamic_y_scale = v; self->data->global_min_y = 0.0; self->data->global_max_y = 0.0; } void set_x_data(Chart* self, const std::vector& x) { if (!GTK_IS_WIDGET(self) || x.empty()) { return; } if (self->data == nullptr) { return; } self->data->x_axis = x; self->data->x_min = std::ranges::min(x); self->data->x_max = std::ranges::max(x); self->data->objects_x.resize(x.size()); self->data->x_min_log = std::log10(self->data->x_min); self->data->x_max_log = std::log10(self->data->x_max); self->data->x_axis_log.resize(x.size()); for (size_t n = 0U; n < self->data->x_axis_log.size(); n++) { self->data->x_axis_log[n] = std::log10(self->data->x_axis[n]); } // making each x value a number between 0 and 1 std::ranges::for_each(self->data->x_axis, [&](auto& v) { v = (v - self->data->x_min) / (self->data->x_max - self->data->x_min); }); std::ranges::for_each(self->data->x_axis_log, [&](auto& v) { v = (v - self->data->x_min_log) / (self->data->x_max_log - self->data->x_min_log); }); } void set_y_data(Chart* self, const std::vector& y) { if (!GTK_IS_WIDGET(self) || y.empty()) { return; } self->data->y_axis = y; auto min_y = std::ranges::min(y); auto max_y = std::ranges::max(y); if (self->data->dynamic_y_scale) { self->data->y_min = min_y; self->data->y_max = max_y; } else { self->data->global_min_y = (min_y < self->data->global_min_y) ? min_y : self->data->global_min_y; self->data->global_max_y = (max_y > self->data->global_max_y) ? max_y : self->data->global_max_y; self->data->y_min = self->data->global_min_y; self->data->y_max = self->data->global_max_y; } if (std::fabs(self->data->y_max - self->data->y_min) < 0.00001) { std::ranges::fill(self->data->y_axis, 0.0); } else { // making each y value a number between 0 and 1 std::ranges::for_each(self->data->y_axis, [&](auto& v) { v = (v - self->data->y_min) / (self->data->y_max - self->data->y_min); }); } gtk_widget_queue_draw(GTK_WIDGET(self)); } void on_pointer_motion(GtkEventControllerMotion* controller, double xpos, double ypos, Chart* self) { // Static cast trying to fix codeql issue const auto x = xpos; const auto y = ypos; const auto width = static_cast(gtk_widget_get_width(GTK_WIDGET(self))); const auto height = static_cast(gtk_widget_get_height(GTK_WIDGET(self))); const auto usable_height = height - self->data->margin * height - self->data->x_axis_height; if (y < height - self->data->x_axis_height && y > self->data->margin * height && x > self->data->margin * width && x < width - self->data->margin * width) { // At least for now the y axis is always linear self->data->mouse_y = (usable_height - y) / usable_height * (self->data->y_max - self->data->y_min) + self->data->y_min; switch (self->data->chart_scale) { case ChartScale::logarithmic: { const double mouse_x_log = (x - self->data->margin * width) / (width - 2 * self->data->margin * width) * (self->data->x_max_log - self->data->x_min_log) + self->data->x_min_log; self->data->mouse_x = std::pow(10.0, mouse_x_log); // exp10 does not exist on FreeBSD break; } case ChartScale::linear: { self->data->mouse_x = (x - self->data->margin * width) / (width - 2 * self->data->margin * width) * (self->data->x_max - self->data->x_min) + self->data->x_min; break; } } gtk_widget_queue_draw(GTK_WIDGET(self)); } } auto draw_unit(Chart* self, GtkSnapshot* snapshot, const int& width, const int& height, const std::string& unit) { auto* layout = gtk_widget_create_pango_layout(GTK_WIDGET(self), unit.c_str()); auto* description = pango_font_description_from_string("monospace bold"); pango_layout_set_font_description(layout, description); pango_font_description_free(description); int text_width = 0; int text_height = 0; pango_layout_get_pixel_size(layout, &text_width, &text_height); gtk_snapshot_save(snapshot); auto point = GRAPHENE_POINT_INIT(static_cast(width - text_width), static_cast(height - text_height)); gtk_snapshot_translate(snapshot, &point); gtk_snapshot_append_layout(snapshot, layout, &self->data->color_axis_labels); gtk_snapshot_restore(snapshot); g_object_unref(layout); } auto draw_x_labels(Chart* self, GtkSnapshot* snapshot, const int& width, const int& height) -> int { double labels_offset = 0.1 * width; int n_x_labels = static_cast(std::ceil((width - 2 * self->data->margin * width) / labels_offset)) + 1; if (n_x_labels < 2) { return 0; } /* Correcting the offset based on the final n_x_labels value */ labels_offset = (width - 2.0 * self->data->margin * width) / static_cast(n_x_labels - 1); std::vector labels; switch (self->data->chart_scale) { case ChartScale::logarithmic: { labels = util::logspace(self->data->x_min, self->data->x_max, n_x_labels); break; } case ChartScale::linear: { labels = util::linspace(self->data->x_min, self->data->x_max, n_x_labels); break; } } draw_unit(self, snapshot, width, height, " " + self->data->x_unit + " "); /* There is no space left in the window to show the last label. So we skip it. All labels are enclosed by whitespaces to not stick the first and the final at window borders. */ for (size_t n = 0U; n < labels.size() - 1U; n++) { const auto msg = fmt::format(ui::get_user_locale(), " {0:.{1}Lf} ", labels[n], self->data->n_x_decimals); auto* layout = gtk_widget_create_pango_layout(GTK_WIDGET(self), msg.c_str()); auto* description = pango_font_description_from_string("monospace bold"); pango_layout_set_font_description(layout, description); pango_font_description_free(description); int text_width = 0; int text_height = 0; pango_layout_get_pixel_size(layout, &text_width, &text_height); gtk_snapshot_save(snapshot); auto point = GRAPHENE_POINT_INIT(static_cast(self->data->margin * width + n * labels_offset), static_cast(height - text_height)); gtk_snapshot_translate(snapshot, &point); gtk_snapshot_append_layout(snapshot, layout, &self->data->color_axis_labels); gtk_snapshot_restore(snapshot); g_object_unref(layout); if (n == labels.size() - 2U) { return text_height; } } return 0; } void snapshot(GtkWidget* widget, GtkSnapshot* snapshot) { auto* self = EE_CHART(widget); switch (self->data->chart_scale) { case ChartScale::logarithmic: { if (self->data->y_axis.size() != self->data->x_axis_log.size()) { return; } break; } case ChartScale::linear: { if (self->data->y_axis.size() != self->data->x_axis.size()) { return; } break; } } auto width = gtk_widget_get_width(widget); auto height = gtk_widget_get_height(widget); auto widget_rectangle = GRAPHENE_RECT_INIT(0.0F, 0.0F, static_cast(width), static_cast(height)); gtk_snapshot_append_color(snapshot, &self->data->background_color, &widget_rectangle); if (const auto n_points = self->data->y_axis.size(); n_points > 0) { double usable_width = width - 2.0 * (self->data->line_width + self->data->margin * width); auto usable_height = (height - self->data->margin * height) - self->data->x_axis_height; switch (self->data->chart_scale) { case ChartScale::logarithmic: { for (size_t n = 0U; n < n_points; n++) { self->data->objects_x[n] = usable_width * self->data->x_axis_log[n] + self->data->line_width + self->data->margin * width; } break; } case ChartScale::linear: { for (size_t n = 0U; n < n_points; n++) { self->data->objects_x[n] = usable_width * self->data->x_axis[n] + self->data->line_width + self->data->margin * width; } break; } } self->data->x_axis_height = draw_x_labels(self, snapshot, width, height); auto border_color = std::to_array({self->data->color, self->data->color, self->data->color, self->data->color}); std::array border_width = { static_cast(self->data->line_width), static_cast(self->data->line_width), static_cast(self->data->line_width), static_cast(self->data->line_width)}; float radius = (self->data->rounded_corners) ? 5.0F : 0.0F; switch (self->data->chart_type) { case ChartType::bar: { double dw = width / static_cast(n_points); for (uint n = 0U; n < n_points; n++) { double bar_height = usable_height * self->data->y_axis[n]; double rect_x = self->data->objects_x[n]; double rect_y = self->data->margin * height + usable_height - bar_height; double rect_height = bar_height; double rect_width = dw; if (self->data->draw_bar_border) { rect_width -= self->data->line_width; } auto bar_rectangle = GRAPHENE_RECT_INIT(static_cast(rect_x), static_cast(rect_y), static_cast(rect_width), static_cast(rect_height)); GskRoundedRect outline; gsk_rounded_rect_init_from_rect(&outline, &bar_rectangle, radius); if (self->data->fill_bars) { gtk_snapshot_push_rounded_clip(snapshot, &outline); gtk_snapshot_append_color(snapshot, &self->data->color, &outline.bounds); gtk_snapshot_pop(snapshot); } else { gtk_snapshot_append_border(snapshot, &outline, border_width.data(), border_color.data()); } } break; } case ChartType::dots: { double dw = width / static_cast(n_points); usable_height -= radius; // this avoids the dots being drawn over the axis label for (uint n = 0U; n < n_points; n++) { double dot_y = usable_height * self->data->y_axis[n]; double rect_x = self->data->objects_x[n]; double rect_y = self->data->margin * height + radius + usable_height - dot_y; double rect_width = dw; if (self->data->draw_bar_border) { rect_width -= self->data->line_width; } auto rectangle = GRAPHENE_RECT_INIT(static_cast(rect_x - radius), static_cast(rect_y - radius), static_cast(rect_width), static_cast(rect_width)); GskRoundedRect outline; gsk_rounded_rect_init_from_rect(&outline, &rectangle, radius); if (self->data->fill_bars) { gtk_snapshot_push_rounded_clip(snapshot, &outline); gtk_snapshot_append_color(snapshot, &self->data->color, &outline.bounds); gtk_snapshot_pop(snapshot); } else { gtk_snapshot_append_border(snapshot, &outline, border_width.data(), border_color.data()); } } break; } case ChartType::line: { auto* ctx = gtk_snapshot_append_cairo(snapshot, &widget_rectangle); cairo_set_source_rgba(ctx, static_cast(self->data->color.red), static_cast(self->data->color.green), static_cast(self->data->color.blue), static_cast(self->data->color.alpha)); if (self->data->fill_bars) { cairo_move_to(ctx, self->data->margin * width, self->data->margin * height + usable_height); } else { const auto point_height = self->data->y_axis.front() * usable_height; cairo_move_to(ctx, self->data->objects_x.front(), self->data->margin * height + usable_height - point_height); } for (uint n = 0U; n < n_points - 1U; n++) { const auto next_point_height = self->data->y_axis[n + 1U] * usable_height; cairo_line_to(ctx, self->data->objects_x[n + 1U], self->data->margin * height + usable_height - next_point_height); } if (self->data->fill_bars) { cairo_line_to(ctx, self->data->objects_x.back(), self->data->margin * height + usable_height); cairo_move_to(ctx, self->data->objects_x.back(), self->data->margin * height + usable_height); cairo_close_path(ctx); } cairo_set_line_width(ctx, self->data->line_width); if (self->data->fill_bars) { cairo_fill(ctx); } else { cairo_stroke(ctx); } cairo_destroy(ctx); break; } } if (gtk_event_controller_motion_contains_pointer(GTK_EVENT_CONTROLLER_MOTION(self->controller_motion)) != 0) { // We leave a withespace at the end to not stick the string at the window border. const auto msg = fmt::format(ui::get_user_locale(), "x = {0:.{1}Lf} {2} y = {3:.{4}Lf} {5} ", self->data->mouse_x, self->data->n_x_decimals, self->data->x_unit, self->data->mouse_y, self->data->n_y_decimals, self->data->y_unit); auto* layout = gtk_widget_create_pango_layout(GTK_WIDGET(self), msg.c_str()); auto* description = pango_font_description_from_string("monospace bold"); pango_layout_set_font_description(layout, description); pango_font_description_free(description); int text_width = 0; int text_height = 0; pango_layout_get_pixel_size(layout, &text_width, &text_height); gtk_snapshot_save(snapshot); auto point = GRAPHENE_POINT_INIT(width - static_cast(text_width), 0.0F); gtk_snapshot_translate(snapshot, &point); gtk_snapshot_append_layout(snapshot, layout, &self->data->color); gtk_snapshot_restore(snapshot); g_object_unref(layout); } } } void unroot(GtkWidget* widget) { auto* self = EE_CHART(widget); self->data->is_visible = false; GTK_WIDGET_CLASS(chart_parent_class)->unmap(widget); } void finalize(GObject* object) { auto* self = EE_CHART(object); delete self->data; self->data = nullptr; util::debug("finalized"); G_OBJECT_CLASS(chart_parent_class)->finalize(object); } void chart_class_init(ChartClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->finalize = finalize; widget_class->snapshot = snapshot; widget_class->unroot = unroot; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::chart_ui); } void chart_init(Chart* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->data->draw_bar_border = true; self->data->fill_bars = true; self->data->is_visible = true; self->data->x_axis_height = 0; self->data->n_x_decimals = 1; self->data->n_y_decimals = 1; self->data->line_width = 2.0; self->data->margin = 0.02; self->data->x_min = 0.0; self->data->y_min = 0.0; self->data->x_max = 1.0; self->data->y_max = 1.0; self->data->background_color = GdkRGBA{0.0F, 0.0F, 0.0F, 1.0F}; self->data->color = GdkRGBA{1.0F, 1.0F, 1.0F, 1.0F}; self->data->color_axis_labels = GdkRGBA{1.0F, 1.0F, 1.0F, 1.0F}; self->data->gradient_color = GdkRGBA{1.0F, 1.0F, 1.0F, 1.0F}; self->data->chart_type = ChartType::bar; self->data->chart_scale = ChartScale::logarithmic; self->controller_motion = gtk_event_controller_motion_new(); g_signal_connect(self->controller_motion, "motion", G_CALLBACK(on_pointer_motion), self); g_signal_connect(GTK_WIDGET(self), "hide", G_CALLBACK(+[](GtkWidget* widget, Chart* self) { self->data->is_visible = false; }), self); g_signal_connect(GTK_WIDGET(self), "show", G_CALLBACK(+[](GtkWidget* widget, Chart* self) { self->data->is_visible = true; }), self); gtk_widget_add_controller(GTK_WIDGET(self), self->controller_motion); } auto create() -> Chart* { return static_cast(g_object_new(EE_TYPE_CHART, nullptr)); } } // namespace ui::chart easyeffects-7.1.7/src/client_info_holder.cpp000066400000000000000000000077441463533416400211750ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "client_info_holder.hpp" #include #include #include #include #include #include "pipe_objects.hpp" #include "util.hpp" namespace ui::holders { enum { PROP_0, PROP_ID, PROP_NAME, PROP_API, PROP_ACCESS }; // NOLINTNEXTLINE G_DEFINE_TYPE(ClientInfoHolder, client_info_holder, G_TYPE_OBJECT); void client_info_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) { auto* self = EE_CLIENT_INFO_HOLDER(object); switch (prop_id) { case PROP_ID: self->info->id = g_value_get_uint(value); break; case PROP_NAME: self->info->name = g_value_get_string(value); break; case PROP_API: self->info->api = g_value_get_string(value); break; case PROP_ACCESS: self->info->access = g_value_get_string(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } } void client_info_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) { auto* self = EE_CLIENT_INFO_HOLDER(object); switch (prop_id) { case PROP_ID: g_value_set_uint(value, self->info->id); break; case PROP_NAME: g_value_set_string(value, self->info->name.c_str()); break; case PROP_API: g_value_set_string(value, self->info->api.c_str()); break; case PROP_ACCESS: g_value_set_string(value, self->info->access.c_str()); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } } void client_info_holder_finalize(GObject* object) { auto* self = EE_CLIENT_INFO_HOLDER(object); self->info_updated.clear(); util::debug(util::to_string(self->info->id) + ", " + self->info->name + " finalized"); delete self->info; G_OBJECT_CLASS(client_info_holder_parent_class)->finalize(object); } void client_info_holder_class_init(ClientInfoHolderClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); object_class->finalize = client_info_holder_finalize; object_class->set_property = client_info_set_property; object_class->get_property = client_info_get_property; g_object_class_install_property( object_class, PROP_ID, g_param_spec_uint("id", "Id", "Id", G_MININT, G_MAXUINT, SPA_ID_INVALID, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_NAME, g_param_spec_string("name", "Name", "Name", nullptr, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_API, g_param_spec_string("api", "API", "API", nullptr, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_ACCESS, g_param_spec_string("access", "Access", "Access", nullptr, G_PARAM_READWRITE)); } void client_info_holder_init(ClientInfoHolder* self) { self->info = new ClientInfo(); } auto create(const ClientInfo& info) -> ClientInfoHolder* { auto* holder = static_cast(g_object_new(EE_TYPE_CLIENT_INFO_HOLDER, nullptr)); holder->info->id = info.id; holder->info->name = info.name; holder->info->api = info.api; holder->info->access = info.access; return holder; } } // namespace ui::holders easyeffects-7.1.7/src/compressor.cpp000066400000000000000000000175331463533416400175400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "compressor.hpp" #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Compressor::Compressor(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::compressor, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type, true) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/sc_compressor_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_compressor_stereo is not installed"); } gconnections.push_back(g_signal_connect(settings, "changed::sidechain-type", G_CALLBACK(+[](GSettings* settings, const char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input-device", G_CALLBACK(+[](GSettings* settings, const char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); lv2_wrapper->bind_key_enum<"cm", "mode">(settings); lv2_wrapper->bind_key_enum<"sct", "sidechain-type">(settings); lv2_wrapper->bind_key_enum<"scm", "sidechain-mode">(settings); lv2_wrapper->bind_key_enum<"scs", "sidechain-source">(settings); lv2_wrapper->bind_key_enum<"sscs", "stereo-split-source">(settings); lv2_wrapper->bind_key_enum<"shpm", "hpf-mode">(settings); lv2_wrapper->bind_key_enum<"slpm", "lpf-mode">(settings); lv2_wrapper->bind_key_bool<"ssplit", "stereo-split">(settings); lv2_wrapper->bind_key_bool<"scl", "sidechain-listen">(settings); lv2_wrapper->bind_key_double<"at", "attack">(settings); lv2_wrapper->bind_key_double<"rt", "release">(settings); lv2_wrapper->bind_key_double<"cr", "ratio">(settings); lv2_wrapper->bind_key_double<"scr", "sidechain-reactivity">(settings); lv2_wrapper->bind_key_double<"sla", "sidechain-lookahead">(settings); lv2_wrapper->bind_key_double<"shpf", "hpf-frequency">(settings); lv2_wrapper->bind_key_double<"slpf", "lpf-frequency">(settings); lv2_wrapper->bind_key_double_db<"bth", "boost-threshold">(settings); lv2_wrapper->bind_key_double_db<"bsa", "boost-amount">(settings); lv2_wrapper->bind_key_double_db<"al", "threshold">(settings); lv2_wrapper->bind_key_double_db<"kn", "knee">(settings); lv2_wrapper->bind_key_double_db<"mk", "makeup">(settings); lv2_wrapper->bind_key_double_db<"scp", "sidechain-preamp">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"rrl", "release-threshold", false>(settings); lv2_wrapper->bind_key_double_db<"cdr", "dry", false>(settings); lv2_wrapper->bind_key_double_db<"cwt", "wet", false>(settings); setup_input_output_gain(); } Compressor::~Compressor() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Compressor::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Compressor::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out, probe_left, probe_right); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { reduction_port_value = 0.5F * (lv2_wrapper->get_control_port_value("rlm_l") + lv2_wrapper->get_control_port_value("rlm_r")); sidechain_port_value = 0.5F * (lv2_wrapper->get_control_port_value("slm_l") + lv2_wrapper->get_control_port_value("slm_r")); curve_port_value = 0.5F * (lv2_wrapper->get_control_port_value("clm_l") + lv2_wrapper->get_control_port_value("clm_r")); envelope_port_value = 0.5F * (lv2_wrapper->get_control_port_value("elm_l") + lv2_wrapper->get_control_port_value("elm_r")); reduction.emit(reduction_port_value); sidechain.emit(sidechain_port_value); curve.emit(curve_port_value); envelope.emit(envelope_port_value); notify(); } } } void Compressor::update_sidechain_links(const std::string& key) { if (util::gsettings_get_string(settings, "sidechain-type") != "External") { pm->destroy_links(list_proxies); list_proxies.clear(); return; } const auto device_name = util::gsettings_get_string(settings, "sidechain-input-device"); NodeInfo input_device = pm->ee_source_node; for (const auto& [serial, node] : pm->node_map) { if (node.name == device_name) { input_device = node; break; } } pm->destroy_links(list_proxies); list_proxies.clear(); for (const auto& link : pm->link_nodes(input_device.id, get_node_id(), true)) { list_proxies.push_back(link); } } void Compressor::update_probe_links() { update_sidechain_links(""); } auto Compressor::get_latency_seconds() -> float { return this->latency_value; } easyeffects-7.1.7/src/compressor_preset.cpp000066400000000000000000000154751463533416400211250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "compressor_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" CompressorPreset::CompressorPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::compressor::id, tags::schema::compressor::input_path, tags::schema::compressor::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::compressor).append("#").append(util::to_string(index)); } void CompressorPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["dry"] = g_settings_get_double(settings, "dry"); json[section][instance_name]["wet"] = g_settings_get_double(settings, "wet"); json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["attack"] = g_settings_get_double(settings, "attack"); json[section][instance_name]["release"] = g_settings_get_double(settings, "release"); json[section][instance_name]["release-threshold"] = g_settings_get_double(settings, "release-threshold"); json[section][instance_name]["threshold"] = g_settings_get_double(settings, "threshold"); json[section][instance_name]["ratio"] = g_settings_get_double(settings, "ratio"); json[section][instance_name]["knee"] = g_settings_get_double(settings, "knee"); json[section][instance_name]["makeup"] = g_settings_get_double(settings, "makeup"); json[section][instance_name]["boost-threshold"] = g_settings_get_double(settings, "boost-threshold"); json[section][instance_name]["boost-amount"] = g_settings_get_double(settings, "boost-amount"); json[section][instance_name]["stereo-split"] = g_settings_get_boolean(settings, "stereo-split") != 0; json[section][instance_name]["sidechain"]["type"] = util::gsettings_get_string(settings, "sidechain-type"); json[section][instance_name]["sidechain"]["mode"] = util::gsettings_get_string(settings, "sidechain-mode"); json[section][instance_name]["sidechain"]["source"] = util::gsettings_get_string(settings, "sidechain-source"); json[section][instance_name]["sidechain"]["stereo-split-source"] = util::gsettings_get_string(settings, "stereo-split-source"); json[section][instance_name]["sidechain"]["preamp"] = g_settings_get_double(settings, "sidechain-preamp"); json[section][instance_name]["sidechain"]["reactivity"] = g_settings_get_double(settings, "sidechain-reactivity"); json[section][instance_name]["sidechain"]["lookahead"] = g_settings_get_double(settings, "sidechain-lookahead"); json[section][instance_name]["hpf-mode"] = util::gsettings_get_string(settings, "hpf-mode"); json[section][instance_name]["hpf-frequency"] = g_settings_get_double(settings, "hpf-frequency"); json[section][instance_name]["lpf-mode"] = util::gsettings_get_string(settings, "lpf-mode"); json[section][instance_name]["lpf-frequency"] = g_settings_get_double(settings, "lpf-frequency"); } void CompressorPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "dry", "dry"); update_key(json.at(section).at(instance_name), settings, "wet", "wet"); update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "attack", "attack"); update_key(json.at(section).at(instance_name), settings, "release", "release"); update_key(json.at(section).at(instance_name), settings, "release-threshold", "release-threshold"); update_key(json.at(section).at(instance_name), settings, "threshold", "threshold"); update_key(json.at(section).at(instance_name), settings, "ratio", "ratio"); update_key(json.at(section).at(instance_name), settings, "knee", "knee"); update_key(json.at(section).at(instance_name), settings, "makeup", "makeup"); update_key(json.at(section).at(instance_name), settings, "boost-threshold", "boost-threshold"); update_key(json.at(section).at(instance_name), settings, "boost-amount", "boost-amount"); update_key(json.at(section).at(instance_name), settings, "stereo-split", "stereo-split"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-type", "type"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-mode", "mode"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "stereo-split-source", "stereo-split-source"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-source", "source"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-preamp", "preamp"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-reactivity", "reactivity"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-lookahead", "lookahead"); update_key(json.at(section).at(instance_name), settings, "hpf-mode", "hpf-mode"); update_key(json.at(section).at(instance_name), settings, "hpf-frequency", "hpf-frequency"); update_key(json.at(section).at(instance_name), settings, "lpf-mode", "lpf-mode"); update_key(json.at(section).at(instance_name), settings, "lpf-frequency", "lpf-frequency"); } easyeffects-7.1.7/src/compressor_ui.cpp000066400000000000000000000462031463533416400202310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "compressor_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "compressor.hpp" #include "node_info_holder.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::compressor_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr compressor; std::vector connections; std::vector gconnections; }; struct _CompressorBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkLabel *gain_label, *sidechain_label, *curve_label, *envelope_label; GtkSpinButton *attack, *release, *release_threshold, *threshold, *knee, *ratio, *makeup, *dry, *wet, *boost_threshold, *boost_amount, *preamp, *reactivity, *lookahead, *hpf_freq, *lpf_freq; GtkToggleButton *listen, *show_native_ui; GtkCheckButton* stereo_split; GtkDropDown *compression_mode, *sidechain_type, *sidechain_mode, *sidechain_source, *stereo_split_source, *lpf_mode, *hpf_mode, *dropdown_input_devices; GListStore* input_devices_model; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(CompressorBox, compressor_box, GTK_TYPE_BOX) void on_reset(CompressorBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(CompressorBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->compressor->show_native_ui(); } else { self->data->compressor->close_native_ui(); } } auto set_device_sensitive(CompressorBox* self, const guint selected_id) -> gboolean { // Sensitive on External Device selected return (selected_id == 2U) ? 1 : 0; } auto set_boost_threshold_sensitive(CompressorBox* self, const guint selected_id) -> gboolean { switch (selected_id) { case 0U: // Downward case 2U: // Boosting return 0; default: break; } return 1; } auto set_boost_amount_sensitive(CompressorBox* self, const guint selected_id) -> gboolean { switch (selected_id) { case 0U: // Downward case 1U: // Upward return 0; default: break; } return 1; } void setup_dropdown_input_device(CompressorBox* self) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(self->input_devices_model)); g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, CompressorBox* self) { if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->settings, "sidechain-input-device", holder->info->name.c_str()); } }), self); gtk_drop_down_set_model(self->dropdown_input_devices, G_LIST_MODEL(self->input_devices_model)); g_object_unref(selection); } void setup(CompressorBox* self, std::shared_ptr compressor, const std::string& schema_path, PipeManager* pm) { self->data->compressor = compressor; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::compressor::id, schema_path.c_str()); compressor->set_post_messages(true); setup_dropdown_input_device(self); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source || node.media_role == tags::pipewire::media_role::dsp) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); } } self->data->connections.push_back(compressor->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(compressor->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(compressor->reduction.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->gain_label)) { return; } gtk_label_set_text(self->gain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(compressor->envelope.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->envelope_label)) { return; } gtk_label_set_text(self->envelope_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(compressor->sidechain.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->sidechain_label)) { return; } gtk_label_set_text(self->sidechain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(compressor->curve.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->curve_label)) { return; } gtk_label_set_text(self->curve_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->compressor->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "attack", gtk_spin_button_get_adjustment(self->attack), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "knee", gtk_spin_button_get_adjustment(self->knee), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "makeup", gtk_spin_button_get_adjustment(self->makeup), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "ratio", gtk_spin_button_get_adjustment(self->ratio), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "release", gtk_spin_button_get_adjustment(self->release), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "threshold", gtk_spin_button_get_adjustment(self->threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-preamp", gtk_spin_button_get_adjustment(self->preamp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-reactivity", gtk_spin_button_get_adjustment(self->reactivity), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-lookahead", gtk_spin_button_get_adjustment(self->lookahead), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "release-threshold", gtk_spin_button_get_adjustment(self->release_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "boost-threshold", gtk_spin_button_get_adjustment(self->boost_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "boost-amount", gtk_spin_button_get_adjustment(self->boost_amount), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hpf-frequency", gtk_spin_button_get_adjustment(self->hpf_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "lpf-frequency", gtk_spin_button_get_adjustment(self->lpf_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-listen", self->listen, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-split", self->stereo_split, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->compression_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-type", self->sidechain_type); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-mode", self->sidechain_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-source", self->sidechain_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, "stereo-split-source", self->stereo_split_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, "hpf-mode", self->hpf_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "lpf-mode", self->lpf_mode); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); // bind source dropdowns sensitive property to split-stereo gsettings boolean g_settings_bind(self->settings, "stereo-split", self->sidechain_source, "sensitive", static_cast(G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_INVERT_BOOLEAN)); g_settings_bind(self->settings, "stereo-split", self->stereo_split_source, "sensitive", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_COMPRESSOR_BOX(object); self->data->compressor->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(compressor_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_COMPRESSOR_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(compressor_box_parent_class)->finalize(object); } void compressor_box_class_init(CompressorBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::compressor_ui); gtk_widget_class_bind_template_child(widget_class, CompressorBox, input_gain); gtk_widget_class_bind_template_child(widget_class, CompressorBox, output_gain); gtk_widget_class_bind_template_child(widget_class, CompressorBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, CompressorBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, CompressorBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, CompressorBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, CompressorBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, CompressorBox, gain_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, sidechain_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, curve_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, envelope_label); gtk_widget_class_bind_template_child(widget_class, CompressorBox, attack); gtk_widget_class_bind_template_child(widget_class, CompressorBox, release); gtk_widget_class_bind_template_child(widget_class, CompressorBox, release_threshold); gtk_widget_class_bind_template_child(widget_class, CompressorBox, threshold); gtk_widget_class_bind_template_child(widget_class, CompressorBox, knee); gtk_widget_class_bind_template_child(widget_class, CompressorBox, ratio); gtk_widget_class_bind_template_child(widget_class, CompressorBox, makeup); gtk_widget_class_bind_template_child(widget_class, CompressorBox, dry); gtk_widget_class_bind_template_child(widget_class, CompressorBox, wet); gtk_widget_class_bind_template_child(widget_class, CompressorBox, boost_threshold); gtk_widget_class_bind_template_child(widget_class, CompressorBox, boost_amount); gtk_widget_class_bind_template_child(widget_class, CompressorBox, preamp); gtk_widget_class_bind_template_child(widget_class, CompressorBox, reactivity); gtk_widget_class_bind_template_child(widget_class, CompressorBox, lookahead); gtk_widget_class_bind_template_child(widget_class, CompressorBox, hpf_freq); gtk_widget_class_bind_template_child(widget_class, CompressorBox, lpf_freq); gtk_widget_class_bind_template_child(widget_class, CompressorBox, compression_mode); gtk_widget_class_bind_template_child(widget_class, CompressorBox, sidechain_type); gtk_widget_class_bind_template_child(widget_class, CompressorBox, sidechain_mode); gtk_widget_class_bind_template_child(widget_class, CompressorBox, sidechain_source); gtk_widget_class_bind_template_child(widget_class, CompressorBox, stereo_split_source); gtk_widget_class_bind_template_child(widget_class, CompressorBox, stereo_split); gtk_widget_class_bind_template_child(widget_class, CompressorBox, lpf_mode); gtk_widget_class_bind_template_child(widget_class, CompressorBox, hpf_mode); gtk_widget_class_bind_template_child(widget_class, CompressorBox, listen); gtk_widget_class_bind_template_child(widget_class, CompressorBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, CompressorBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); gtk_widget_class_bind_template_callback(widget_class, set_device_sensitive); gtk_widget_class_bind_template_callback(widget_class, set_boost_threshold_sensitive); gtk_widget_class_bind_template_callback(widget_class, set_boost_amount_sensitive); } void compressor_box_init(CompressorBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); prepare_spinbuttons<"dB">(self->threshold, self->boost_threshold, self->boost_amount, self->knee, self->makeup, self->preamp); prepare_spinbuttons<"Hz">(self->hpf_freq, self->lpf_freq); prepare_spinbuttons<"ms">(self->attack, self->release, self->lookahead, self->reactivity); prepare_spinbuttons<"">(self->ratio); prepare_scales<"dB">(self->input_gain, self->output_gain); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->release_threshold, self->dry, self->wet); } auto create() -> CompressorBox* { return static_cast(g_object_new(EE_TYPE_COMPRESSOR_BOX, nullptr)); } } // namespace ui::compressor_box easyeffects-7.1.7/src/convolver.cpp000066400000000000000000000375431463533416400173640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "convolver.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "resampler.hpp" #include "tags_plugin_name.hpp" #include "tags_resources.hpp" #include "util.hpp" namespace { constexpr auto CONVPROC_SCHEDULER_PRIORITY = 0; constexpr auto CONVPROC_SCHEDULER_CLASS = SCHED_FIFO; } // namespace Convolver::Convolver(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::convolver, tags::plugin_package::zita, schema, schema_path, pipe_manager, pipe_type), do_autogain(g_settings_get_boolean(settings, "autogain") != 0), ir_width(g_settings_get_int(settings, "ir-width")) { // Initialize directories for local and community irs local_dir_irs = std::string{g_get_user_config_dir()} + "/easyeffects/irs"; // Flatpak specific path (.flatpak-info always present for apps running in the flatpak sandbox) if (std::filesystem::is_regular_file(tags::resources::flatpak_info_file)) { system_data_dir_irs.push_back("/app/extensions/Presets/irs"); } // Regular paths for (const gchar* const* xdg_data_dirs = g_get_system_data_dirs(); *xdg_data_dirs != nullptr;) { std::string dir = *xdg_data_dirs++; dir += dir.ends_with("/") ? "" : "/"; system_data_dir_irs.push_back(dir + "easyeffects/irs"); } gconnections.push_back(g_signal_connect(settings, "changed::ir-width", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->ir_width = g_settings_get_int(self->settings, key); std::scoped_lock lock(self->data_mutex); if (self->kernel_is_initialized) { self->kernel_L = self->original_kernel_L; self->kernel_R = self->original_kernel_R; self->set_kernel_stereo_width(); self->apply_kernel_autogain(); } }), this)); gconnections.push_back(g_signal_connect(settings, "changed::kernel-name", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->prepare_kernel(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::autogain", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->do_autogain = g_settings_get_boolean(settings, key) != 0; self->prepare_kernel(); }), this)); setup_input_output_gain(); } Convolver::~Convolver() { if (connected_to_pw) { disconnect_from_pw(); } for (auto& t : mythreads) { t.join(); } mythreads.clear(); std::scoped_lock lock(data_mutex); ready = false; if (conv != nullptr) { conv->stop_process(); conv->cleanup(); delete conv; } util::debug(log_tag + name + " destroyed"); } void Convolver::setup() { ready = false; /* As zita uses fftw we have to be careful when reinitializing it. The thread that creates the fftw plan has to be the same that destroys it. Otherwise segmentation faults can happen. As we do not want to do this initializing in the plugin realtime thread we send it to the main thread through g_idle_add().connect_once */ util::idle_add([&, this] { if (ready) { return; } blocksize = n_samples; n_samples_is_power_of_2 = (n_samples & (n_samples - 1U)) == 0U && n_samples != 0U; if (!n_samples_is_power_of_2) { while ((blocksize & (blocksize - 1)) != 0 && blocksize > 2) { blocksize--; } } data_L.resize(0U); data_R.resize(0U); deque_out_L.resize(0U); deque_out_R.resize(0U); notify_latency = true; latency_n_frames = 0U; read_kernel_file(); if (kernel_is_initialized) { kernel_L = original_kernel_L; kernel_R = original_kernel_R; set_kernel_stereo_width(); apply_kernel_autogain(); setup_zita(); } std::scoped_lock lock(data_mutex); ready = kernel_is_initialized && zita_ready; }); } void Convolver::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass || !ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } if (n_samples_is_power_of_2) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); do_convolution(left_out, right_out); } else { for (size_t j = 0U; j < left_in.size(); j++) { data_L.push_back(left_in[j]); data_R.push_back(right_in[j]); if (data_L.size() == blocksize) { do_convolution(data_L, data_R); for (const auto& v : data_L) { deque_out_L.push_back(v); } for (const auto& v : data_R) { deque_out_R.push_back(v); } data_L.resize(0U); data_R.resize(0U); } } // copying the processed samples to the output buffers if (deque_out_L.size() >= left_out.size()) { for (float& v : left_out) { v = deque_out_L.front(); deque_out_L.pop_front(); } for (float& v : right_out) { v = deque_out_R.front(); deque_out_R.pop_front(); } } else { const uint offset = 2U * (left_out.size() - deque_out_L.size()); if (offset != latency_n_frames) { latency_n_frames = offset; notify_latency = true; } for (uint n = 0U; !deque_out_L.empty() && n < left_out.size(); n++) { if (n < offset) { left_out[n] = 0.0F; right_out[n] = 0.0F; } else { left_out[n] = deque_out_L.front(); right_out[n] = deque_out_R.front(); deque_out_R.pop_front(); deque_out_L.pop_front(); } } } } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (notify_latency) { latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this] { latency.emit(); }); update_filter_params(); notify_latency = false; } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto Convolver::search_irs_path(const std::string& name) -> std::string { // Given the irs name without extension, search the full path on the filesystem. const auto irs_filename = name + irs_ext; const auto* lcp_key = (pipeline_type == PipelineType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; const auto community_package = util::gsettings_get_string(global_settings, lcp_key); std::string irs_full_path; if (community_package.empty()) { // Search local irs file. const auto local_irs_file = std::filesystem::path{local_dir_irs + "/" + irs_filename}; if (std::filesystem::exists(local_irs_file)) { irs_full_path = local_irs_file.c_str(); } } else { // Search irs file in community package paths. for (const auto& xdg_irs_dir : system_data_dir_irs) { if (util::search_filename(std::filesystem::path{xdg_irs_dir + "/" + community_package}, irs_filename, irs_full_path, 3U)) { break; } } } return irs_full_path; } void Convolver::read_kernel_file() { kernel_is_initialized = false; const auto name = util::gsettings_get_string(settings, "kernel-name"); if (name.empty()) { util::warning(log_tag + name + ": irs filename is null. Entering passthrough mode..."); return; } const auto path = search_irs_path(name); // If the search fails, the path is empty if (path.empty()) { util::warning(log_tag + name + ": irs filename does not exist. Entering passthrough mode..."); return; } util::debug("trying to load irs: " + path); // SndfileHandle might have issues with std::string, so we provide cstring SndfileHandle file = SndfileHandle(path.c_str()); if (file.channels() == 0 || file.frames() == 0) { util::warning(log_tag + name + ": irs file does not exists or it is empty: " + path); util::warning(log_tag + name + ": Entering passthrough mode..."); return; } util::debug(log_tag + name + ": irs file: " + path); util::debug(log_tag + name + ": irs rate: " + util::to_string(file.samplerate()) + " Hz"); util::debug(log_tag + name + ": irs channels: " + util::to_string(file.channels())); util::debug(log_tag + name + ": irs frames: " + util::to_string(file.frames())); // for now only stereo irs files are supported if (file.channels() != 2) { util::warning(log_tag + name + " Only stereo impulse responses are supported."); util::warning(log_tag + name + " The impulse file was not loaded!"); return; } std::vector buffer(file.frames() * file.channels()); std::vector buffer_L(file.frames()); std::vector buffer_R(file.frames()); file.readf(buffer.data(), file.frames()); for (size_t n = 0U; n < buffer_L.size(); n++) { buffer_L[n] = buffer[2U * n]; buffer_R[n] = buffer[2U * n + 1U]; } if (file.samplerate() != static_cast(rate)) { util::debug(log_tag + name + " resampling the kernel to " + util::to_string(rate)); auto resampler = std::make_unique(file.samplerate(), rate); original_kernel_L = resampler->process(buffer_L, true); resampler = std::make_unique(file.samplerate(), rate); original_kernel_R = resampler->process(buffer_R, true); } else { original_kernel_L = buffer_L; original_kernel_R = buffer_R; } kernel_is_initialized = true; util::debug(log_tag + name + ": kernel correctly initialized"); } void Convolver::apply_kernel_autogain() { if (!do_autogain) { return; } if (kernel_L.empty() || kernel_R.empty()) { return; } const float abs_peak_L = std::ranges::max(kernel_L, [](const auto& a, const auto& b) { return (std::fabs(a) < std::fabs(b)); }); const float abs_peak_R = std::ranges::max(kernel_R, [](const auto& a, const auto& b) { return (std::fabs(a) < std::fabs(b)); }); const float peak = (abs_peak_L > abs_peak_R) ? abs_peak_L : abs_peak_R; // normalize std::ranges::for_each(kernel_L, [&](auto& v) { v /= peak; }); std::ranges::for_each(kernel_R, [&](auto& v) { v /= peak; }); // find average power float power_L = 0.0F; float power_R = 0.0F; std::ranges::for_each(kernel_L, [&](const auto& v) { power_L += v * v; }); std::ranges::for_each(kernel_R, [&](const auto& v) { power_R += v * v; }); const float power = std::max(power_L, power_R); const float autogain = std::min(1.0F, 1.0F / std::sqrt(power)); util::debug(log_tag + "autogain factor: " + util::to_string(autogain)); std::ranges::for_each(kernel_L, [&](auto& v) { v *= autogain; }); std::ranges::for_each(kernel_R, [&](auto& v) { v *= autogain; }); } /* Mid-Side based Stereo width effect taken from https://github.com/tomszilagyi/ir.lv2/blob/automatable/ir.cc */ void Convolver::set_kernel_stereo_width() { const float w = static_cast(ir_width) * 0.01F; const float x = (1.0F - w) / (1.0F + w); // M-S coeff.; L_out = L + x*R; R_out = R + x*L for (uint i = 0U; i < original_kernel_L.size(); i++) { const auto L = original_kernel_L[i]; const auto R = original_kernel_R[i]; kernel_L[i] = L + x * R; kernel_R[i] = R + x * L; } } void Convolver::setup_zita() { zita_ready = false; if (n_samples == 0U || !kernel_is_initialized) { return; } const uint max_convolution_size = kernel_L.size(); const uint buffer_size = get_zita_buffer_size(); if (conv != nullptr) { conv->stop_process(); conv->cleanup(); delete conv; } conv = new Convproc(); conv->set_options(0); int ret = conv->configure(2, 2, max_convolution_size, buffer_size, buffer_size, buffer_size, 0.0F /*density*/); if (ret != 0) { util::warning(log_tag + name + " can't initialise zita-convolver engine: " + util::to_string(ret, "")); return; } ret = conv->impdata_create(0, 0, 1, kernel_L.data(), 0, static_cast(kernel_L.size())); if (ret != 0) { util::warning(log_tag + name + " left impdata_create failed: " + util::to_string(ret)); return; } ret = conv->impdata_create(1, 1, 1, kernel_R.data(), 0, static_cast(kernel_R.size())); if (ret != 0) { util::warning(log_tag + name + " right impdata_create failed: " + util::to_string(ret, "")); return; } ret = conv->start_process(CONVPROC_SCHEDULER_PRIORITY, CONVPROC_SCHEDULER_CLASS); if (ret != 0) { util::warning(log_tag + name + " start_process failed: " + util::to_string(ret, "")); conv->stop_process(); conv->cleanup(); return; } zita_ready = true; util::debug(log_tag + name + ": zita is ready"); } auto Convolver::get_zita_buffer_size() -> uint { if (n_samples_is_power_of_2) { return n_samples; } return blocksize; } auto Convolver::get_latency_seconds() -> float { return this->latency_value; } void Convolver::prepare_kernel() { if (n_samples == 0U || rate == 0U) { return; } data_mutex.lock(); ready = false; data_mutex.unlock(); read_kernel_file(); if (kernel_is_initialized) { kernel_L = original_kernel_L; kernel_R = original_kernel_R; set_kernel_stereo_width(); apply_kernel_autogain(); setup_zita(); data_mutex.lock(); ready = kernel_is_initialized && zita_ready; data_mutex.unlock(); } } easyeffects-7.1.7/src/convolver_menu_combine.cpp000066400000000000000000000240471463533416400220770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "convolver_menu_combine.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "convolver_ui_common.hpp" #include "resampler.hpp" #include "tags_app.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::convolver_menu_combine { using namespace std::string_literals; auto constexpr irs_ext = ".irs"; std::filesystem::path irs_dir = g_get_user_config_dir() + "/easyeffects/irs"s; struct Data { public: ~Data() { util::debug("data struct destroyed"); } std::vector mythreads; }; struct _ConvolverMenuCombine { GtkBox parent_instance; GtkDropDown *dropdown_kernel_1, *dropdown_kernel_2; GtkEntry* output_kernel_name; GtkSpinner* spinner; GtkStringList *string_list_1, *string_list_2; GSettings* app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ConvolverMenuCombine, convolver_menu_combine, GTK_TYPE_POPOVER) void append_to_string_list(ConvolverMenuCombine* self, const std::string& irs_filename) { ui::append_to_string_list(self->string_list_1, irs_filename); ui::append_to_string_list(self->string_list_2, irs_filename); } void remove_from_string_list(ConvolverMenuCombine* self, const std::string& irs_filename) { ui::remove_from_string_list(self->string_list_1, irs_filename); ui::remove_from_string_list(self->string_list_2, irs_filename); } void direct_conv(const std::vector& a, const std::vector& b, std::vector& c) { std::vector indices(c.size()); std::iota(indices.begin(), indices.end(), 0U); auto each = [&](const int n) { c[n] = 0.0F; // Static cast to avoid gcc signedness warning. const int a_size = static_cast(a.size()); const int b_size = static_cast(b.size()); for (int m = 0; m < b_size; m++) { if (const auto z = n - m; z >= 0 && z < a_size - 1) { c[n] += b[m] * a[z]; } } }; #if defined(ENABLE_LIBCPP_WORKAROUNDS) && (_LIBCPP_VERSION < 170000 || defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL)) std::for_each(indices.begin(), indices.end(), each); #else std::for_each(std::execution::par_unseq, indices.begin(), indices.end(), each); #endif } void combine_kernels(ConvolverMenuCombine* self, const std::string& kernel_1_name, const std::string& kernel_2_name, const std::string& output_file_name) { if (output_file_name.empty()) { // The method combine_kernels run in a secondary thread. But the widgets have to be used in the main thread. g_object_ref(self); util::idle_add([=] { gtk_spinner_stop(self->spinner); }, [=]() { g_object_unref(self); }); return; } auto [rate1, kernel_1_L, kernel_1_R] = ui::convolver::read_kernel(irs_dir, irs_ext, kernel_1_name); auto [rate2, kernel_2_L, kernel_2_R] = ui::convolver::read_kernel(irs_dir, irs_ext, kernel_2_name); if (rate1 == 0 || rate2 == 0) { g_object_ref(self); util::idle_add([=] { gtk_spinner_stop(self->spinner); }, [=]() { g_object_unref(self); }); return; } if (rate1 > rate2) { util::debug("resampling the kernel " + kernel_2_name + " to " + util::to_string(rate1) + " Hz"); auto resampler = std::make_unique(rate2, rate1); kernel_2_L = resampler->process(kernel_2_L, true); resampler = std::make_unique(rate2, rate1); kernel_2_R = resampler->process(kernel_2_R, true); } else if (rate2 > rate1) { util::debug("resampling the kernel " + kernel_1_name + " to " + util::to_string(rate2) + " Hz"); auto resampler = std::make_unique(rate1, rate2); kernel_1_L = resampler->process(kernel_1_L, true); resampler = std::make_unique(rate1, rate2); kernel_1_R = resampler->process(kernel_1_R, true); } std::vector kernel_L(kernel_1_L.size() + kernel_2_L.size() - 1U); std::vector kernel_R(kernel_1_R.size() + kernel_2_R.size() - 1U); // As the convolution is commutative we change the order based on which will run faster. if (kernel_1_L.size() > kernel_2_L.size()) { direct_conv(kernel_1_L, kernel_2_L, kernel_L); direct_conv(kernel_1_R, kernel_2_R, kernel_R); } else { direct_conv(kernel_2_L, kernel_1_L, kernel_L); direct_conv(kernel_2_R, kernel_1_R, kernel_R); } std::vector buffer(kernel_L.size() * 2U); // 2 channels interleaved for (size_t n = 0U; n < kernel_L.size(); n++) { buffer[2U * n] = kernel_L[n]; buffer[2U * n + 1U] = kernel_R[n]; } const auto output_file_path = irs_dir / std::filesystem::path{output_file_name + irs_ext}; auto mode = SFM_WRITE; auto format = SF_FORMAT_WAV | SF_FORMAT_PCM_32; auto n_channels = 2; auto rate = (rate1 > rate2) ? rate1 : rate2; auto sndfile = SndfileHandle(output_file_path.string(), mode, format, n_channels, rate); sndfile.writef(buffer.data(), static_cast(kernel_L.size())); util::debug("combined kernel saved: " + output_file_path.string()); g_object_ref(self); util::idle_add([=] { gtk_spinner_stop(self->spinner); }, [=]() { g_object_unref(self); }); } void on_combine_kernels(ConvolverMenuCombine* self, GtkButton* btn) { if (g_list_model_get_n_items(G_LIST_MODEL(self->string_list_1)) == 0U || g_list_model_get_n_items(G_LIST_MODEL(self->string_list_2)) == 0U) { return; } auto* dropdown_1_selection = gtk_drop_down_get_selected_item(self->dropdown_kernel_1); auto* dropdown_2_selection = gtk_drop_down_get_selected_item(self->dropdown_kernel_2); if (dropdown_1_selection == nullptr || dropdown_2_selection == nullptr) { return; } gtk_spinner_start(self->spinner); const auto* const kernel_1_name = gtk_string_object_get_string(GTK_STRING_OBJECT(dropdown_1_selection)); const auto* const kernel_2_name = gtk_string_object_get_string(GTK_STRING_OBJECT(dropdown_2_selection)); std::string output_name = g_utf8_make_valid(gtk_editable_get_text(GTK_EDITABLE(self->output_kernel_name)), -1); gtk_editable_set_text(GTK_EDITABLE(self->output_kernel_name), ""); util::str_trim(output_name); if (output_name.empty() || output_name.find_first_of("\\/") != std::string::npos) { util::debug(" combined IR filename is empty or has illegal characters."); gtk_widget_add_css_class(GTK_WIDGET(self->output_kernel_name), "error"); gtk_widget_grab_focus(GTK_WIDGET(self->output_kernel_name)); gtk_spinner_stop(self->spinner); } else { // Truncate filename if longer than 100 characters if (output_name.size() > 100U) { output_name.resize(100U); } gtk_widget_remove_css_class(GTK_WIDGET(self->output_kernel_name), "error"); /* The current code convolving the impulse responses is doing direct convolution. It can be very slow depending on the size of each kernel. So we do not want to do it in the main thread. */ self->data->mythreads.emplace_back( // Using emplace_back here makes sense [=]() { combine_kernels(self, kernel_1_name, kernel_2_name, output_name); }); } } void dispose(GObject* object) { auto* self = EE_CONVOLVER_MENU_COMBINE(object); for (auto& t : self->data->mythreads) { t.join(); } self->data->mythreads.clear(); g_object_unref(self->app_settings); util::debug("disposed"); G_OBJECT_CLASS(convolver_menu_combine_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_CONVOLVER_MENU_COMBINE(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(convolver_menu_combine_parent_class)->finalize(object); } void convolver_menu_combine_class_init(ConvolverMenuCombineClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::convolver_menu_combine_ui); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuCombine, string_list_1); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuCombine, string_list_2); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuCombine, dropdown_kernel_1); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuCombine, dropdown_kernel_2); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuCombine, output_kernel_name); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuCombine, spinner); gtk_widget_class_bind_template_callback(widget_class, on_combine_kernels); } void convolver_menu_combine_init(ConvolverMenuCombine* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); for (const auto& name : util::get_files_name(irs_dir, irs_ext)) { gtk_string_list_append(self->string_list_1, name.c_str()); gtk_string_list_append(self->string_list_2, name.c_str()); } self->app_settings = g_settings_new(tags::app::id); g_settings_bind(self->app_settings, "autohide-popovers", self, "autohide", G_SETTINGS_BIND_DEFAULT); } auto create() -> ConvolverMenuCombine* { return static_cast(g_object_new(EE_TYPE_CONVOLVER_MENU_COMBINE, nullptr)); } } // namespace ui::convolver_menu_combine easyeffects-7.1.7/src/convolver_menu_impulses.cpp000066400000000000000000000337301463533416400223230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "convolver_menu_impulses.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "config.h" #include "tags_app.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::convolver_menu_impulses { using namespace std::string_literals; enum class ImpulseImportState { success, no_regular_file, no_frame, no_stereo }; auto constexpr irs_ext = ".irs"; std::filesystem::path irs_dir = g_get_user_config_dir() + "/easyeffects/irs"s; struct _ConvolverMenuImpulses { GtkBox parent_instance; GtkScrolledWindow* scrolled_window; GtkListView* listview; GtkSpinButton* ir_width; GtkSearchEntry* entry_search; GtkStringList* string_list; GSettings *settings, *app_settings; std::shared_ptr convolver; app::Application* application; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ConvolverMenuImpulses, convolver_menu_impulses, GTK_TYPE_POPOVER) void append_to_string_list(ConvolverMenuImpulses* self, const std::string& irs_filename) { ui::append_to_string_list(self->string_list, irs_filename); } void remove_from_string_list(ConvolverMenuImpulses* self, const std::string& irs_filename) { ui::remove_from_string_list(self->string_list, irs_filename); } auto import_irs_file(const std::string& file_path) -> ImpulseImportState { std::filesystem::path p{file_path}; if (!std::filesystem::is_regular_file(p)) { util::warning(p.string() + " is not a file!"); return ImpulseImportState::no_regular_file; } auto file = SndfileHandle(file_path.c_str()); if (file.frames() == 0) { util::warning("Cannot import the impulse response! The format may be corrupted or unsupported."); util::warning(file_path + " loading failed"); return ImpulseImportState::no_frame; } if (file.channels() != 2) { util::warning("Only stereo impulse files are supported!"); util::warning(file_path + " loading failed"); return ImpulseImportState::no_stereo; } auto out_path = irs_dir / p.filename(); out_path.replace_extension(irs_ext); std::filesystem::copy_file(p, out_path, std::filesystem::copy_options::overwrite_existing); util::debug("Irs file successfully imported to: " + out_path.string()); return ImpulseImportState::success; } void notify_import_error(const ImpulseImportState& import_state, ConvolverMenuImpulses* self) { std::string descr; switch (import_state) { case ImpulseImportState::no_regular_file: { descr = _("The File Is Not Regular"); break; } case ImpulseImportState::no_frame: { descr = _("The Impulse File May Be Corrupted or Unsupported"); break; } case ImpulseImportState::no_stereo: { descr = _("Only Stereo Impulse Files Are Supported"); break; } default: return; } auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->application)); ui::show_simple_message_dialog(GTK_WIDGET(active_window), _("Impulse File Not Imported"), descr); } void on_import_irs_clicked(ConvolverMenuImpulses* self, GtkButton* btn) { auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->application)); auto* dialog = gtk_file_dialog_new(); gtk_file_dialog_set_title(dialog, _("Import Impulse File")); gtk_file_dialog_set_accept_label(dialog, _("Open")); auto* init_folder = g_file_new_for_path(g_get_home_dir()); gtk_file_dialog_set_initial_folder(dialog, init_folder); g_object_unref(init_folder); GListStore* filters = g_list_store_new(GTK_TYPE_FILE_FILTER); auto* filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("Impulse Response")); gtk_file_filter_add_pattern(filter, ("*"s + irs_ext).c_str()); gtk_file_filter_add_pattern(filter, "*.wav"); g_list_store_append(filters, filter); g_object_unref(filter); gtk_file_dialog_set_filters(dialog, G_LIST_MODEL(filters)); g_object_unref(filters); gtk_file_dialog_open_multiple( dialog, active_window, nullptr, +[](GObject* source_object, GAsyncResult* result, gpointer user_data) { auto* self = static_cast(user_data); auto* dialog = GTK_FILE_DIALOG(source_object); auto* files_list = gtk_file_dialog_open_multiple_finish(dialog, result, nullptr); if (files_list == nullptr) { return; } for (guint n = 0U; n < g_list_model_get_n_items(files_list); n++) { auto* file = static_cast(g_list_model_get_item(files_list, n)); auto* path = g_file_get_path(file); if (auto import_state = import_irs_file(path); import_state != ImpulseImportState::success) { notify_import_error(import_state, self); } g_free(path); } g_object_unref(files_list); }, self); } void remove_irs_file(const std::string& name) { const auto irs_file = irs_dir / std::filesystem::path{name + irs_ext}; if (std::filesystem::exists(irs_file)) { std::filesystem::remove(irs_file); util::debug("removed irs file: " + irs_file.string()); } } void setup_listview(ConvolverMenuImpulses* self) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect(factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, ConvolverMenuImpulses* self) { auto* box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); auto* label = gtk_label_new(nullptr); auto* load = gtk_button_new_with_label(_("Load")); auto* remove = gtk_button_new_from_icon_name("user-trash-symbolic"); gtk_widget_set_halign(GTK_WIDGET(label), GTK_ALIGN_START); gtk_widget_set_hexpand(GTK_WIDGET(label), 1); gtk_box_append(GTK_BOX(box), GTK_WIDGET(label)); gtk_box_append(GTK_BOX(box), GTK_WIDGET(load)); gtk_box_append(GTK_BOX(box), GTK_WIDGET(remove)); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(box)); g_object_set_data(G_OBJECT(item), "name", label); g_object_set_data(G_OBJECT(item), "load", load); g_object_set_data(G_OBJECT(item), "remove", remove); g_signal_connect(load, "clicked", G_CALLBACK(+[](GtkButton* btn, ConvolverMenuImpulses* self) { auto* string_object = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(btn), "string-object")); if (string_object == nullptr) { return; } const auto* lcp_key = (self->convolver->pipeline_type == PipelineType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; // irs loaded from the convolver menu are always local. g_settings_reset(self->app_settings, lcp_key); auto* name = gtk_string_object_get_string(string_object); g_settings_set_string(self->settings, "kernel-name", name); }), self); g_signal_connect(remove, "clicked", G_CALLBACK(+[](GtkButton* btn, ConvolverMenuImpulses* self) { if (auto* string_object = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(btn), "string-object")); string_object != nullptr) { auto* name = gtk_string_object_get_string(string_object); remove_irs_file(name); } }), self); }), self); g_signal_connect(factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, ConvolverMenuImpulses* self) { auto* label = static_cast(g_object_get_data(G_OBJECT(item), "name")); auto* load = static_cast(g_object_get_data(G_OBJECT(item), "load")); auto* remove = static_cast(g_object_get_data(G_OBJECT(item), "remove")); auto* child_item = gtk_list_item_get_item(item); auto* string_object = GTK_STRING_OBJECT(child_item); g_object_set_data(G_OBJECT(load), "string-object", string_object); g_object_set_data(G_OBJECT(remove), "string-object", string_object); auto* name = gtk_string_object_get_string(GTK_STRING_OBJECT(child_item)); gtk_label_set_text(label, name); gtk_accessible_update_property(GTK_ACCESSIBLE(load), GTK_ACCESSIBLE_PROPERTY_LABEL, (_("Load Impulse") + " "s + name).c_str(), -1); gtk_accessible_update_property(GTK_ACCESSIBLE(remove), GTK_ACCESSIBLE_PROPERTY_LABEL, (_("Remove Impulse") + " "s + name).c_str(), -1); }), self); gtk_list_view_set_factory(self->listview, factory); g_object_unref(factory); for (const auto& name : util::get_files_name(irs_dir, irs_ext)) { gtk_string_list_append(self->string_list, name.c_str()); } // filter auto* filter = gtk_string_filter_new(gtk_property_expression_new(GTK_TYPE_STRING_OBJECT, nullptr, "string")); auto* filter_model = gtk_filter_list_model_new(G_LIST_MODEL(self->string_list), GTK_FILTER(filter)); gtk_filter_list_model_set_incremental(filter_model, 1); g_object_bind_property(self->entry_search, "text", filter, "search", G_BINDING_DEFAULT); // sorter auto* sorter = gtk_string_sorter_new(gtk_property_expression_new(GTK_TYPE_STRING_OBJECT, nullptr, "string")); auto* sorter_model = gtk_sort_list_model_new(G_LIST_MODEL(filter_model), GTK_SORTER(sorter)); // setting the listview model and factory auto* selection = gtk_no_selection_new(G_LIST_MODEL(sorter_model)); gtk_list_view_set_model(self->listview, GTK_SELECTION_MODEL(selection)); g_object_unref(selection); } void setup(ConvolverMenuImpulses* self, const std::string& schema_path, app::Application* application, std::shared_ptr convolver) { self->application = application; self->convolver = convolver; self->settings = g_settings_new_with_path(tags::schema::convolver::id, schema_path.c_str()); setup_listview(self); } void show(GtkWidget* widget) { auto* self = EE_CONVOLVER_MENU_IMPULSES(widget); auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->application)); auto active_window_height = gtk_widget_get_height(GTK_WIDGET(active_window)); const int menu_height = static_cast(0.5F * static_cast(active_window_height)); gtk_scrolled_window_set_max_content_height(self->scrolled_window, menu_height); GTK_WIDGET_CLASS(convolver_menu_impulses_parent_class)->show(widget); } void dispose(GObject* object) { auto* self = EE_CONVOLVER_MENU_IMPULSES(object); g_object_unref(self->settings); g_object_unref(self->app_settings); util::debug("disposed"); G_OBJECT_CLASS(convolver_menu_impulses_parent_class)->dispose(object); } void convolver_menu_impulses_class_init(ConvolverMenuImpulsesClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; widget_class->show = show; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::convolver_menu_impulses_ui); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuImpulses, scrolled_window); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuImpulses, listview); gtk_widget_class_bind_template_child(widget_class, ConvolverMenuImpulses, entry_search); gtk_widget_class_bind_template_callback(widget_class, on_import_irs_clicked); } void convolver_menu_impulses_init(ConvolverMenuImpulses* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->string_list = gtk_string_list_new(nullptr); self->app_settings = g_settings_new(tags::app::id); g_settings_bind(self->app_settings, "autohide-popovers", self, "autohide", G_SETTINGS_BIND_DEFAULT); } auto create() -> ConvolverMenuImpulses* { return static_cast(g_object_new(EE_TYPE_CONVOLVER_MENU_IMPULSES, nullptr)); } } // namespace ui::convolver_menu_impulses easyeffects-7.1.7/src/convolver_preset.cpp000066400000000000000000000065301463533416400207360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "convolver_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" ConvolverPreset::ConvolverPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::convolver::id, tags::schema::convolver::input_path, tags::schema::convolver::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::convolver).append("#").append(util::to_string(index)); } void ConvolverPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["kernel-name"] = util::gsettings_get_string(settings, "kernel-name"); json[section][instance_name]["ir-width"] = g_settings_get_int(settings, "ir-width"); json[section][instance_name]["autogain"] = g_settings_get_boolean(settings, "autogain") != 0; } void ConvolverPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "ir-width", "ir-width"); update_key(json.at(section).at(instance_name), settings, "autogain", "autogain"); // kernel-path deprecation const auto* kernel_name_key = "kernel-name"; std::string new_kernel_name = json.at(section).at(instance_name).value(kernel_name_key, get_default(settings, kernel_name_key)); if (new_kernel_name.empty()) { const std::string kernel_path = json.at(section).at(instance_name).value("kernel-path", ""); if (!kernel_path.empty()) { new_kernel_name = std::filesystem::path{kernel_path}.stem().c_str(); util::warning("using Convolver kernel-path is deprecated, please update your preset; fallback to kernel-name: " + new_kernel_name); } } const auto current_kernel_name = util::gsettings_get_string(settings, kernel_name_key); if (new_kernel_name != current_kernel_name) { g_settings_set_string(settings, kernel_name_key, new_kernel_name.c_str()); } } easyeffects-7.1.7/src/convolver_ui.cpp000066400000000000000000000605701463533416400200550ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "convolver_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "chart.hpp" #include "convolver.hpp" #include "convolver_menu_combine.hpp" #include "convolver_menu_impulses.hpp" #include "convolver_ui_common.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::convolver_box { using namespace std::string_literals; auto constexpr irs_ext = ".irs"; static std::filesystem::path irs_dir = g_get_user_config_dir() + "/easyeffects/irs"s; struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; app::Application* application; std::shared_ptr convolver; std::mutex lock_guard_irs_info; std::vector mythreads; std::vector connections; std::vector gconnections; std::vector left_mag, right_mag, time_axis, left_spectrum, right_spectrum, freq_axis; }; struct _ConvolverBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkMenuButton *menu_button_impulses, *menu_button_combine; GtkLabel *label_file_name, *label_sampling_rate, *label_samples, *label_duration; GtkSpinButton* ir_width; GtkCheckButton *check_left, *check_right; GtkToggleButton *show_fft, *enable_log_scale; GtkBox* chart_box; ui::convolver_menu_impulses::ConvolverMenuImpulses* impulses_menu; ui::convolver_menu_combine::ConvolverMenuCombine* combine_menu; ui::chart::Chart* chart; GSettings* settings; GFileMonitor* folder_monitor; Data* data; GtkToggleButton* autogain; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ConvolverBox, convolver_box, GTK_TYPE_BOX) void on_reset(ConvolverBox* self, GtkButton* btn) { gtk_toggle_button_set_active(self->autogain, 0); util::reset_all_keys_except(self->settings); } void plot_fft(ConvolverBox* self) { if (self->data->freq_axis.empty() || self->data->left_spectrum.empty() || self->data->right_spectrum.empty()) { return; } ui::chart::set_chart_type(self->chart, ui::chart::ChartType::line); ui::chart::set_fill_bars(self->chart, false); ui::chart::set_line_width(self->chart, 2.0F); ui::chart::set_n_x_decimals(self->chart, 0); ui::chart::set_n_y_decimals(self->chart, 2); ui::chart::set_x_unit(self->chart, "Hz"); if (gtk_toggle_button_get_active(self->enable_log_scale) != 0) { ui::chart::set_chart_scale(self->chart, ui::chart::ChartScale::logarithmic); } else { ui::chart::set_chart_scale(self->chart, ui::chart::ChartScale::linear); } ui::chart::set_x_data(self->chart, self->data->freq_axis); if (gtk_check_button_get_active(self->check_left) != 0) { ui::chart::set_y_data(self->chart, self->data->left_spectrum); } else if (gtk_check_button_get_active(self->check_right) != 0) { ui::chart::set_y_data(self->chart, self->data->right_spectrum); } } void plot_waveform(ConvolverBox* self) { if (self->data->time_axis.empty() || self->data->left_mag.empty() || self->data->right_mag.empty()) { return; } ui::chart::set_chart_type(self->chart, ui::chart::ChartType::line); ui::chart::set_chart_scale(self->chart, ui::chart::ChartScale::linear); ui::chart::set_fill_bars(self->chart, false); ui::chart::set_line_width(self->chart, 2.0F); ui::chart::set_n_x_decimals(self->chart, 2); ui::chart::set_n_y_decimals(self->chart, 2); ui::chart::set_x_unit(self->chart, "s"); ui::chart::set_x_data(self->chart, self->data->time_axis); if (gtk_check_button_get_active(self->check_left) != 0) { ui::chart::set_y_data(self->chart, self->data->left_mag); } else if (gtk_check_button_get_active(self->check_right) != 0) { ui::chart::set_y_data(self->chart, self->data->right_mag); } } void on_show_fft(ConvolverBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { plot_fft(self); } else { plot_waveform(self); } } void on_show_channel(ConvolverBox* self, GtkCheckButton* btn) { if (gtk_check_button_get_active(btn) != 0) { on_show_fft(self, self->show_fft); } } void on_enable_log_scale(ConvolverBox* self, GtkToggleButton* btn) { plot_fft(self); } auto interpolate(const std::vector& x_source, const std::vector& y_source, const std::vector& x_new) -> std::vector { auto* acc = gsl_interp_accel_alloc(); auto* spline = gsl_spline_alloc(gsl_interp_steffen, x_source.size()); gsl_spline_init(spline, x_source.data(), y_source.data(), x_source.size()); std::vector output(x_new.size()); for (size_t n = 0; n < x_new.size(); n++) { output[n] = static_cast(gsl_spline_eval(spline, x_new[n], acc)); } gsl_spline_free(spline); gsl_interp_accel_free(acc); return output; } void get_irs_spectrum(ConvolverBox* self, const int& rate) { if (self->data->left_mag.empty() || self->data->right_mag.empty() || self->data->left_mag.size() != self->data->right_mag.size()) { util::debug(" aborting the impulse fft calculation..."); return; } util::debug(" calculating the impulse fft..."); self->data->left_spectrum.resize(self->data->left_mag.size() / 2U + 1U); self->data->right_spectrum.resize(self->data->right_mag.size() / 2U + 1U); auto real_input = self->data->left_mag; for (uint n = 0U; n < real_input.size(); n++) { // https://en.wikipedia.org/wiki/Hann_function const float w = 0.5F * (1.0F - std::cos(2.0F * std::numbers::pi_v * static_cast(n) / static_cast(real_input.size() - 1U))); real_input[n] *= w; } auto* complex_output = fftw_alloc_complex(real_input.size()); auto* plan = fftw_plan_dft_r2c_1d(static_cast(real_input.size()), real_input.data(), complex_output, FFTW_ESTIMATE); fftw_execute(plan); for (uint i = 0U; i < self->data->left_spectrum.size(); i++) { double sqr = complex_output[i][0] * complex_output[i][0] + complex_output[i][1] * complex_output[i][1]; sqr /= static_cast(self->data->left_spectrum.size() * self->data->left_spectrum.size()); self->data->left_spectrum[i] = sqr; } // right channel fft real_input = self->data->right_mag; for (uint n = 0U; n < real_input.size(); n++) { // https://en.wikipedia.org/wiki/Hann_function const float w = 0.5F * (1.0F - std::cos(2.0F * std::numbers::pi_v * static_cast(n) / static_cast(real_input.size() - 1U))); real_input[n] *= w; } fftw_execute(plan); for (uint i = 0U; i < self->data->right_spectrum.size(); i++) { double sqr = complex_output[i][0] * complex_output[i][0] + complex_output[i][1] * complex_output[i][1]; sqr /= static_cast(self->data->right_spectrum.size() * self->data->right_spectrum.size()); self->data->right_spectrum[i] = sqr; } // cleaning if (complex_output != nullptr) { fftw_free(complex_output); } fftw_destroy_plan(plan); // initializing the frequency axis self->data->freq_axis.resize(self->data->left_spectrum.size()); for (uint n = 0U; n < self->data->freq_axis.size(); n++) { self->data->freq_axis[n] = 0.5F * static_cast(rate) * static_cast(n) / static_cast(self->data->freq_axis.size()); } // removing the DC component at f = 0 Hz self->data->freq_axis.erase(self->data->freq_axis.begin()); self->data->left_spectrum.erase(self->data->left_spectrum.begin()); self->data->right_spectrum.erase(self->data->right_spectrum.begin()); const auto chart_width = static_cast(gtk_widget_get_width(GTK_WIDGET(self->chart))); const auto n_interp_points = (chart_width > 0U) ? chart_width : 1000U; // initializing the logarithmic frequency axis auto max_freq = std::ranges::max(self->data->freq_axis); auto min_freq = std::ranges::min(self->data->freq_axis); util::debug("min fft frequency: " + util::to_string(min_freq, "")); util::debug("max fft frequency: " + util::to_string(max_freq, "")); const auto log_axis = util::logspace(min_freq, max_freq, n_interp_points); // const auto log_axis = util::logspace(20.0F, 22000.0F, self->data->freq_axis.size()); std::vector freq_axis(log_axis.size()); std::copy(log_axis.begin(), log_axis.end(), freq_axis.begin()); self->data->left_spectrum = interpolate(self->data->freq_axis, self->data->left_spectrum, freq_axis); self->data->right_spectrum = interpolate(self->data->freq_axis, self->data->right_spectrum, freq_axis); self->data->freq_axis = freq_axis; // it has to be after the two previous lines // find min and max values const auto fft_min_left = std::ranges::min(self->data->left_spectrum); const auto fft_max_left = std::ranges::max(self->data->left_spectrum); const auto fft_min_right = std::ranges::min(self->data->right_spectrum); const auto fft_max_right = std::ranges::max(self->data->right_spectrum); // rescaling between 0 and 1 for (uint n = 0U; n < self->data->left_spectrum.size(); n++) { self->data->left_spectrum[n] = (self->data->left_spectrum[n] - fft_min_left) / (fft_max_left - fft_min_left); self->data->right_spectrum[n] = (self->data->right_spectrum[n] - fft_min_right) / (fft_max_right - fft_min_right); } g_object_ref(self); util::idle_add( [=]() { if (self == nullptr) { return; } if (!ui::chart::get_is_visible(self->chart)) { return; } if (gtk_toggle_button_get_active(self->show_fft) != 0) { plot_fft(self); } }, [=]() { g_object_unref(self); }); } void get_irs_info(ConvolverBox* self) { bool can_read_irs = false; std::string path; const auto name = util::gsettings_get_string(self->settings, "kernel-name"); if (name.empty()) { util::warning("irs name is empty!"); } else { path = self->data->convolver->search_irs_path(name); if (!path.empty()) { can_read_irs = true; } else { util::warning("irs file path is null!"); } } if (!can_read_irs) { // Set label to initial empty state gtk_widget_remove_css_class(GTK_WIDGET(self->label_file_name), "error"); gtk_widget_add_css_class(GTK_WIDGET(self->label_file_name), "dim-label"); gtk_label_set_text(self->label_file_name, _("No Impulse File Loaded")); gtk_label_set_text(self->label_sampling_rate, ""); gtk_label_set_text(self->label_samples, ""); gtk_label_set_text(self->label_duration, ""); return; } auto [rate, kernel_L, kernel_R] = ui::convolver::read_kernel(irs_dir, irs_ext, path); if (rate == 0) { // warning the user that there is a problem util::idle_add([=]() { if (self == nullptr) { return; } if (!ui::chart::get_is_visible(self->chart)) { return; } // Move label to error state gtk_widget_remove_css_class(GTK_WIDGET(self->label_file_name), "dim-label"); gtk_widget_add_css_class(GTK_WIDGET(self->label_file_name), "error"); gtk_label_set_text(self->label_file_name, _("Failed To Load The Impulse File")); gtk_label_set_text(self->label_sampling_rate, ""); gtk_label_set_text(self->label_samples, ""); gtk_label_set_text(self->label_duration, ""); }); return; } const auto dt = 1.0 / rate; const double duration = (static_cast(kernel_L.size()) - 1.0) * dt; self->data->time_axis.resize(kernel_L.size()); self->data->left_mag.resize(kernel_L.size()); self->data->right_mag.resize(kernel_R.size()); std::copy(kernel_L.begin(), kernel_L.end(), self->data->left_mag.begin()); std::copy(kernel_R.begin(), kernel_R.end(), self->data->right_mag.begin()); for (size_t n = 0U; n < self->data->time_axis.size(); n++) { self->data->time_axis[n] = static_cast(n) * dt; } get_irs_spectrum(self, rate); const auto chart_width = static_cast(gtk_widget_get_width(GTK_WIDGET(self->chart))); const auto n_interp_points = (chart_width > 0U) ? chart_width : 1000; auto x_linear = util::linspace(self->data->time_axis.front(), self->data->time_axis.back(), n_interp_points); std::vector x_axis(x_linear.size()); std::copy(x_linear.begin(), x_linear.end(), x_axis.begin()); self->data->left_mag = interpolate(self->data->time_axis, self->data->left_mag, x_axis); self->data->right_mag = interpolate(self->data->time_axis, self->data->right_mag, x_axis); self->data->time_axis = x_axis; // it has to be after the two previous lines self->data->time_axis.shrink_to_fit(); self->data->left_mag.shrink_to_fit(); self->data->right_mag.shrink_to_fit(); // find min and max values const auto min_left = std::ranges::min(self->data->left_mag); const auto max_left = std::ranges::max(self->data->left_mag); const auto min_right = std::ranges::min(self->data->right_mag); const auto max_right = std::ranges::max(self->data->right_mag); // rescaling between 0 and 1 for (size_t n = 0U; n < self->data->left_mag.size(); n++) { self->data->left_mag[n] = (self->data->left_mag[n] - min_left) / (max_left - min_left); self->data->right_mag[n] = (self->data->right_mag[n] - min_right) / (max_right - min_right); } // updating interface with ir file info auto rate_copy = rate; auto n_samples = kernel_L.size(); util::idle_add([=]() { if (self == nullptr) { return; } if (!ui::chart::get_is_visible(self->chart)) { return; } const auto fpath = std::filesystem::path{path}; // Set label to ready state and update with filename gtk_widget_remove_css_class(GTK_WIDGET(self->label_file_name), "error"); gtk_widget_add_css_class(GTK_WIDGET(self->label_file_name), "dim-label"); gtk_label_set_text(self->label_file_name, fpath.stem().c_str()); gtk_label_set_text(self->label_sampling_rate, fmt::format(ui::get_user_locale(), "{0:Ld} Hz", rate_copy).c_str()); gtk_label_set_text(self->label_samples, fmt::format(ui::get_user_locale(), "{0:Ld}", n_samples).c_str()); gtk_label_set_text(self->label_duration, fmt::format(ui::get_user_locale(), "{0:.3Lf}", duration).c_str()); if (gtk_toggle_button_get_active(self->show_fft) == 0) { plot_waveform(self); } }); } void setup(ConvolverBox* self, std::shared_ptr convolver, const std::string& schema_path, app::Application* application) { self->data->convolver = convolver; self->data->application = application; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::convolver::id, schema_path.c_str()); convolver->set_post_messages(true); ui::convolver_menu_impulses::setup(self->impulses_menu, schema_path, application, convolver); self->data->connections.push_back(convolver->input_level.connect([=](const float left, const float right) { util::idle_add([=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }); })); self->data->connections.push_back(convolver->output_level.connect([=](const float left, const float right) { util::idle_add([=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }); })); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::kernel-name", G_CALLBACK(+[](GSettings* settings, char* key, ConvolverBox* self) { self->data->mythreads.emplace_back([=]() { std::scoped_lock lock(self->data->lock_guard_irs_info); get_irs_info(self); }); }), self)); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->convolver->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain", "autogain">(self->settings, self->input_gain, self->output_gain, self->autogain); g_settings_bind(self->settings, "ir-width", gtk_spin_button_get_adjustment(self->ir_width), "value", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_CONVOLVER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); g_file_monitor_cancel(self->folder_monitor); g_object_unref(self->folder_monitor); for (auto& t : self->data->mythreads) { t.join(); } self->data->mythreads.clear(); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(convolver_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_CONVOLVER_BOX(object); for (auto& t : self->data->mythreads) { t.join(); } self->data->mythreads.clear(); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(convolver_box_parent_class)->finalize(object); } void convolver_box_class_init(ConvolverBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::convolver_ui); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, input_gain); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, output_gain); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, menu_button_impulses); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, menu_button_combine); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, label_file_name); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, label_sampling_rate); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, label_samples); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, label_duration); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, ir_width); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, check_left); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, check_right); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, show_fft); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, enable_log_scale); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, chart_box); gtk_widget_class_bind_template_child(widget_class, ConvolverBox, autogain); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_fft); gtk_widget_class_bind_template_callback(widget_class, on_show_channel); gtk_widget_class_bind_template_callback(widget_class, on_enable_log_scale); } void convolver_box_init(ConvolverBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"%">(self->ir_width); prepare_scales<"dB">(self->input_gain, self->output_gain); self->chart = ui::chart::create(); gtk_widget_set_vexpand(GTK_WIDGET(self->chart), 1); self->impulses_menu = ui::convolver_menu_impulses::create(); self->combine_menu = ui::convolver_menu_combine::create(); gtk_menu_button_set_popover(self->menu_button_impulses, GTK_WIDGET(self->impulses_menu)); gtk_menu_button_set_popover(self->menu_button_combine, GTK_WIDGET(self->combine_menu)); gtk_box_insert_child_after(self->chart_box, GTK_WIDGET(self->chart), gtk_widget_get_first_child(GTK_WIDGET(self->chart_box))); // setting some signals auto* gfile = g_file_new_for_path(irs_dir.c_str()); self->folder_monitor = g_file_monitor_directory(gfile, G_FILE_MONITOR_NONE, nullptr, nullptr); g_signal_connect(self->folder_monitor, "changed", G_CALLBACK(+[](GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type, ConvolverBox* self) { const auto irs_filename = util::remove_filename_extension(g_file_get_basename(file)); if (irs_filename.empty()) { util::warning("can't retrieve information about irs file"); return; } switch (event_type) { case G_FILE_MONITOR_EVENT_CREATED: { ui::convolver_menu_impulses::append_to_string_list(self->impulses_menu, irs_filename); ui::convolver_menu_combine::append_to_string_list(self->combine_menu, irs_filename); break; } case G_FILE_MONITOR_EVENT_DELETED: { ui::convolver_menu_impulses::remove_from_string_list(self->impulses_menu, irs_filename); ui::convolver_menu_combine::remove_from_string_list(self->combine_menu, irs_filename); break; } default: break; } }), self); g_object_unref(gfile); g_signal_connect(GTK_WIDGET(self), "realize", G_CALLBACK(+[](GtkWidget* widget, ConvolverBox* self) { /* Reading the current configured irs file. We do this here because we need some widgets to be ready when the impulse response file information is available */ self->data->mythreads.emplace_back([=]() { // Using emplace_back here makes sense std::scoped_lock lock(self->data->lock_guard_irs_info); get_irs_info(self); }); }), self); } auto create() -> ConvolverBox* { return static_cast(g_object_new(EE_TYPE_CONVOLVER_BOX, nullptr)); } } // namespace ui::convolver_box easyeffects-7.1.7/src/convolver_ui_common.cpp000066400000000000000000000044321463533416400214200ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "convolver_ui_common.hpp" #include #include #include #include #include #include #include "util.hpp" namespace ui::convolver { auto read_kernel(std::filesystem::path irs_dir, const std::string& irs_ext, const std::string& file_name) -> std::tuple, std::vector> { int rate = 0; std::vector buffer; std::vector kernel_L; std::vector kernel_R; auto file_path = irs_dir / std::filesystem::path{file_name}; util::debug("reading the impulse file: " + file_path.string()); if (file_path.extension() != irs_ext) { file_path += irs_ext; } if (!std::filesystem::exists(file_path)) { util::debug("file: " + file_path.string() + " does not exist"); return std::make_tuple(rate, kernel_L, kernel_R); } auto sndfile = SndfileHandle(file_path.string()); if (sndfile.channels() != 2 || sndfile.frames() == 0) { util::warning(" Only stereo impulse responses are supported."); util::warning(" The impulse file was not loaded!"); return std::make_tuple(rate, kernel_L, kernel_R); } buffer.resize(sndfile.frames() * sndfile.channels()); kernel_L.resize(sndfile.frames()); kernel_R.resize(sndfile.frames()); sndfile.readf(buffer.data(), sndfile.frames()); for (size_t n = 0U; n < kernel_L.size(); n++) { kernel_L[n] = buffer[2U * n]; kernel_R[n] = buffer[2U * n + 1U]; } rate = sndfile.samplerate(); return std::make_tuple(rate, kernel_L, kernel_R); } } // namespace ui::convolvereasyeffects-7.1.7/src/crossfeed.cpp000066400000000000000000000101121463533416400173030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "crossfeed.hpp" #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Crossfeed::Crossfeed(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::crossfeed, tags::plugin_package::bs2b, schema, schema_path, pipe_manager, pipe_type) { bs2b.set_level_fcut(g_settings_get_int(settings, "fcut")); bs2b.set_level_feed(10 * static_cast(g_settings_get_double(settings, "feed"))); gconnections.push_back(g_signal_connect(settings, "changed::fcut", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); std::scoped_lock lock(self->data_mutex); self->bs2b.set_level_fcut(g_settings_get_int(settings, key)); }), this)); gconnections.push_back( g_signal_connect(settings, "changed::feed", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); std::scoped_lock lock(self->data_mutex); self->bs2b.set_level_feed(10 * static_cast(g_settings_get_double(settings, key))); }), this)); setup_input_output_gain(); } Crossfeed::~Crossfeed() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Crossfeed::setup() { std::scoped_lock lock(data_mutex); data.resize(2U * static_cast(n_samples)); if (rate != bs2b.get_srate()) { bs2b.set_srate(rate); } } void Crossfeed::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } for (size_t n = 0U; n < left_in.size(); n++) { data[n * 2U] = left_in[n]; data[n * 2U + 1U] = right_in[n]; } bs2b.cross_feed(data.data(), static_cast(n_samples)); for (size_t n = 0U; n < left_out.size(); n++) { left_out[n] = data[n * 2U]; right_out[n] = data[n * 2U + 1U]; } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto Crossfeed::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/crossfeed_preset.cpp000066400000000000000000000045461463533416400207030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "crossfeed_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" CrossfeedPreset::CrossfeedPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::crossfeed::id, tags::schema::crossfeed::input_path, tags::schema::crossfeed::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::crossfeed).append("#").append(util::to_string(index)); } void CrossfeedPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["fcut"] = g_settings_get_int(settings, "fcut"); json[section][instance_name]["feed"] = g_settings_get_double(settings, "feed"); } void CrossfeedPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "fcut", "fcut"); update_key(json.at(section).at(instance_name), settings, "feed", "feed"); } easyeffects-7.1.7/src/crossfeed_ui.cpp000066400000000000000000000161051463533416400200100ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "crossfeed_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "crossfeed.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::crossfeed_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr crossfeed; std::vector connections; std::vector gconnections; }; struct _CrossfeedBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *fcut, *feed; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(CrossfeedBox, crossfeed_box, GTK_TYPE_BOX) void on_reset(CrossfeedBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_preset_cmoy(CrossfeedBox* self, GtkButton* btn) { gtk_spin_button_set_value(self->fcut, 700.0); gtk_spin_button_set_value(self->feed, 6.0); } void on_preset_default(CrossfeedBox* self, GtkButton* btn) { gtk_spin_button_set_value(self->fcut, 700.0); gtk_spin_button_set_value(self->feed, 4.5); } void on_preset_jmeier(CrossfeedBox* self, GtkButton* btn) { gtk_spin_button_set_value(self->fcut, 650.0); gtk_spin_button_set_value(self->feed, 9.5); } void setup(CrossfeedBox* self, std::shared_ptr crossfeed, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->crossfeed = crossfeed; self->settings = g_settings_new_with_path(tags::schema::crossfeed::id, schema_path.c_str()); crossfeed->set_post_messages(true); self->data->connections.push_back(crossfeed->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(crossfeed->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->crossfeed->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "fcut", gtk_spin_button_get_adjustment(self->fcut), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "feed", gtk_spin_button_get_adjustment(self->feed), "value", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_CROSSFEED_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(crossfeed_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_CROSSFEED_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(crossfeed_box_parent_class)->finalize(object); } void crossfeed_box_class_init(CrossfeedBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::crossfeed_ui); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, input_gain); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, output_gain); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, fcut); gtk_widget_class_bind_template_child(widget_class, CrossfeedBox, feed); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_preset_cmoy); gtk_widget_class_bind_template_callback(widget_class, on_preset_default); gtk_widget_class_bind_template_callback(widget_class, on_preset_jmeier); } void crossfeed_box_init(CrossfeedBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"Hz">(self->fcut); prepare_spinbuttons<"dB">(self->feed); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> CrossfeedBox* { return static_cast(g_object_new(EE_TYPE_CROSSFEED_BOX, nullptr)); } } // namespace ui::crossfeed_box easyeffects-7.1.7/src/crystalizer.cpp000066400000000000000000000241131463533416400177070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "crystalizer.hpp" #include #include #include #include #include #include #include #include #include #include #include "fir_filter_bandpass.hpp" #include "fir_filter_base.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Crystalizer::Crystalizer(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::crystalizer, tags::plugin_package::ee, schema, schema_path, pipe_manager, pipe_type) { for (uint n = 0U; n < nbands; n++) { filters.at(n) = std::make_unique(log_tag + name + " band" + util::to_string(n)); } std::ranges::fill(band_mute, false); std::ranges::fill(band_bypass, false); std::ranges::fill(band_intensity, 1.0F); std::ranges::fill(band_last_L, 0.0F); std::ranges::fill(band_last_R, 0.0F); frequencies[0] = 20.0F; frequencies[1] = 520.0F; frequencies[2] = 1020.0F; frequencies[3] = 2020.0F; frequencies[4] = 3020.0F; frequencies[5] = 4020.0F; frequencies[6] = 5020.0F; frequencies[7] = 6020.0F; frequencies[8] = 7020.0F; frequencies[9] = 8020.0F; frequencies[10] = 9020.0F; frequencies[11] = 10020.0F; frequencies[12] = 15020.0F; frequencies[13] = 20020.0F; for (uint n = 0U; n < nbands; n++) { bind_band(static_cast(n)); } setup_input_output_gain(); } Crystalizer::~Crystalizer() { if (connected_to_pw) { disconnect_from_pw(); } data_mutex.lock(); filters_are_ready = false; data_mutex.unlock(); util::debug(log_tag + name + " destroyed"); } void Crystalizer::setup() { data_mutex.lock(); filters_are_ready = false; data_mutex.unlock(); /* As zita uses fftw we have to be careful when reinitializing it. The thread that creates the fftw plan has to be the same that destroys it. Otherwise segmentation faults can happen. As we do not want to do this initializing in the plugin realtime thread we send it to the main thread through g_idle_add().connect_once */ util::idle_add([&, this] { if (filters_are_ready) { return; } blocksize = n_samples; n_samples_is_power_of_2 = (n_samples & (n_samples - 1U)) == 0 && n_samples != 0U; if (!n_samples_is_power_of_2) { while ((blocksize & (blocksize - 1U)) != 0 && blocksize > 2U) { blocksize--; } } util::debug(log_tag + name + " blocksize: " + util::to_string(blocksize)); notify_latency = true; do_first_rotation = true; latency_n_frames = 1U; // the second derivative forces us to delay at least one sample deque_out_L.resize(0U); deque_out_R.resize(0U); data_L.resize(0U); data_R.resize(0U); for (uint n = 0U; n < nbands; n++) { band_data_L.at(n).resize(blocksize); band_data_R.at(n).resize(blocksize); band_second_derivative_L.at(n).resize(blocksize); band_second_derivative_R.at(n).resize(blocksize); } for (uint n = 0U; n < nbands; n++) { filters.at(n)->set_n_samples(blocksize); filters.at(n)->set_rate(rate); filters.at(n)->set_min_frequency(frequencies.at(n)); filters.at(n)->set_max_frequency(frequencies.at(n + 1U)); filters.at(n)->setup(); } data_mutex.lock(); filters_are_ready = true; data_mutex.unlock(); }); } void Crystalizer::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass || !filters_are_ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } if (n_samples_is_power_of_2 && blocksize == n_samples) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); enhance_peaks(left_out, right_out); } else { for (size_t j = 0U; j < left_in.size(); j++) { data_L.push_back(left_in[j]); data_R.push_back(right_in[j]); if (data_L.size() == blocksize) { enhance_peaks(data_L, data_R); for (const auto& v : data_L) { deque_out_L.push_back(v); } for (const auto& v : data_R) { deque_out_R.push_back(v); } data_L.resize(0U); data_R.resize(0U); } } // copying the processed samples to the output buffers if (deque_out_L.size() >= left_out.size()) { for (float& v : left_out) { v = deque_out_L.front(); deque_out_L.pop_front(); } for (float& v : right_out) { v = deque_out_R.front(); deque_out_R.pop_front(); } } else { uint offset = 2U * (left_out.size() - deque_out_L.size()); if (offset != latency_n_frames) { latency_n_frames = offset + 1U; // the second derivative forces us to delay at least one sample notify_latency = true; } for (uint n = 0U; !deque_out_L.empty() && n < left_out.size(); n++) { if (n < offset) { left_out[n] = 0.0F; right_out[n] = 0.0F; } else { left_out[n] = deque_out_L.front(); right_out[n] = deque_out_R.front(); deque_out_R.pop_front(); deque_out_L.pop_front(); } } } } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (notify_latency) { latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); notify_latency = false; } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } void Crystalizer::bind_band(const int& n) { const std::string bandn = "band" + util::to_string(n); band_intensity.at(n) = static_cast(util::db_to_linear(g_settings_get_double(settings, ("intensity-" + bandn).c_str()))); band_mute.at(n) = g_settings_get_boolean(settings, ("mute-" + bandn).c_str()) != 0; band_bypass.at(n) = g_settings_get_boolean(settings, ("bypass-" + bandn).c_str()) != 0; using namespace std::string_literals; gconnections.push_back(g_signal_connect(settings, ("changed::"s + "intensity-"s + bandn).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto s_key = std::string(key); int index = 0; if (util::str_to_num(s_key.substr(s_key.find("-band") + 5U), index)) { auto* self = static_cast(user_data); self->band_intensity.at(index) = g_settings_get_double(settings, key) != 0; } }), this)); gconnections.push_back(g_signal_connect(settings, ("changed::"s + "mute-"s + bandn).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto s_key = std::string(key); int index = 0; if (util::str_to_num(s_key.substr(s_key.find("-band") + 5U), index)) { auto* self = static_cast(user_data); self->band_mute.at(index) = g_settings_get_boolean(settings, key) != 0; } }), this)); gconnections.push_back(g_signal_connect(settings, ("changed::"s + "bypass-"s + bandn).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto s_key = std::string(key); int index = 0; if (util::str_to_num(s_key.substr(s_key.find("-band") + 5U), index)) { auto* self = static_cast(user_data); self->band_bypass.at(index) = g_settings_get_boolean(settings, key) != 0; } }), this)); } auto Crystalizer::get_latency_seconds() -> float { return this->latency_value; } easyeffects-7.1.7/src/crystalizer_preset.cpp000066400000000000000000000056101463533416400212720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "crystalizer_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" CrystalizerPreset::CrystalizerPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::crystalizer::id, tags::schema::crystalizer::input_path, tags::schema::crystalizer::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::crystalizer).append("#").append(util::to_string(index)); } void CrystalizerPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); for (int n = 0; n < 13; n++) { const auto bandn = "band" + util::to_string(n); json[section][instance_name][bandn]["intensity"] = g_settings_get_double(settings, ("intensity-" + bandn).c_str()); json[section][instance_name][bandn]["mute"] = g_settings_get_boolean(settings, ("mute-" + bandn).c_str()) != 0; json[section][instance_name][bandn]["bypass"] = g_settings_get_boolean(settings, ("bypass-" + bandn).c_str()) != 0; } } void CrystalizerPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); for (int n = 0; n < 13; n++) { const auto bandn = "band" + util::to_string(n); update_key(json.at(section).at(instance_name)[bandn], settings, "intensity-" + bandn, "intensity"); update_key(json.at(section).at(instance_name)[bandn], settings, "mute-" + bandn, "mute"); update_key(json.at(section).at(instance_name)[bandn], settings, "bypass-" + bandn, "bypass"); } } easyeffects-7.1.7/src/crystalizer_ui.cpp000066400000000000000000000204651463533416400204120ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "crystalizer_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "crystalizer.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::crystalizer_box { constexpr uint nbands = 13U; struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr crystalizer; std::vector connections; std::vector gconnections; }; struct _CrystalizerBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label; GtkBox* bands_box; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(CrystalizerBox, crystalizer_box, GTK_TYPE_BOX) void on_reset(CrystalizerBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void build_bands(CrystalizerBox* self) { for (uint n = 0U; n < nbands; n++) { auto builder = gtk_builder_new_from_resource(tags::resources::crystalizer_band_ui); auto* band_box = GTK_BOX(gtk_builder_get_object(builder, "band_box")); auto* band_label = GTK_LABEL(gtk_builder_get_object(builder, "band_label")); auto* band_intensity = GTK_SCALE(gtk_builder_get_object(builder, "band_intensity")); auto* band_bypass = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "band_bypass")); auto* band_mute = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "band_mute")); prepare_scales<"">(band_intensity); const auto bandn = "band" + util::to_string(n); // connections g_settings_bind(self->settings, ("intensity-" + bandn).c_str(), gtk_range_get_adjustment(GTK_RANGE(band_intensity)), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, ("mute-" + bandn).c_str(), band_mute, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, ("bypass-" + bandn).c_str(), band_bypass, "active", G_SETTINGS_BIND_DEFAULT); switch (n) { case 0U: gtk_label_set_text(band_label, "250 Hz"); break; case 1U: gtk_label_set_text(band_label, "750 Hz"); break; case 2U: gtk_label_set_text(band_label, "1.5 kHz"); break; case 3U: gtk_label_set_text(band_label, "2.5 kHz"); break; case 4U: gtk_label_set_text(band_label, "3.5 kHz"); break; case 5U: gtk_label_set_text(band_label, "4.5 kHz"); break; case 6U: gtk_label_set_text(band_label, "5.5 kHz"); break; case 7U: gtk_label_set_text(band_label, "6.5 kHz"); break; case 8U: gtk_label_set_text(band_label, "7.5 kHz"); break; case 9U: gtk_label_set_text(band_label, "8.5 kHz"); break; case 10U: gtk_label_set_text(band_label, "9.5 kHz"); break; case 11U: gtk_label_set_text(band_label, "12.5 kHz"); break; case 12U: gtk_label_set_text(band_label, "17.5 kHz"); break; default: break; } gtk_box_append(self->bands_box, GTK_WIDGET(band_box)); g_object_unref(builder); } } void setup(CrystalizerBox* self, std::shared_ptr crystalizer, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->crystalizer = crystalizer; self->settings = g_settings_new_with_path(tags::schema::crystalizer::id, schema_path.c_str()); crystalizer->set_post_messages(true); build_bands(self); self->data->connections.push_back(crystalizer->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(crystalizer->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); } void dispose(GObject* object) { auto* self = EE_CRYSTALIZER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(crystalizer_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_CRYSTALIZER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(crystalizer_box_parent_class)->finalize(object); } void crystalizer_box_class_init(CrystalizerBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::crystalizer_ui); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, input_gain); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, output_gain); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, CrystalizerBox, bands_box); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void crystalizer_box_init(CrystalizerBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> CrystalizerBox* { return static_cast(g_object_new(EE_TYPE_CRYSTALIZER_BOX, nullptr)); } } // namespace ui::crystalizer_box easyeffects-7.1.7/src/deepfilternet.cpp000066400000000000000000000163621463533416400201750ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "deepfilternet.hpp" #include #include #include #include #include #include #include "ladspa_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "resampler.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" DeepFilterNet::DeepFilterNet(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::deepfilternet, tags::plugin_package::deepfilternet, schema, schema_path, pipe_manager, pipe_type) { ladspa_wrapper = std::make_unique("libdeep_filter_ladspa.so", "deep_filter_stereo"); package_installed = ladspa_wrapper->found_plugin(); if (!package_installed) { util::debug(log_tag + "libdeep_filter_ladspa is not installed"); } ladspa_wrapper->bind_key_double_db_exponential<"Attenuation Limit (dB)", "attenuation-limit", false>(settings); ladspa_wrapper->bind_key_double_db_exponential<"Min processing threshold (dB)", "min-processing-threshold", false>( settings); ladspa_wrapper ->bind_key_double_db_exponential<"Max ERB processing threshold (dB)", "max-erb-processing-threshold", false>( settings); ladspa_wrapper ->bind_key_double_db_exponential<"Max DF processing threshold (dB)", "max-df-processing-threshold", false>( settings); ladspa_wrapper->bind_key_int<"Min Processing Buffer (frames)", "min-processing-buffer">(settings); ladspa_wrapper->bind_key_double<"Post Filter Beta", "post-filter-beta">(settings); setup_input_output_gain(); } DeepFilterNet::~DeepFilterNet() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void DeepFilterNet::setup() { std::scoped_lock lock(data_mutex); if (!ladspa_wrapper->found_plugin()) { return; } resample = rate != 48000; resampler_ready = !resample; util::idle_add([&, this] { ladspa_wrapper->n_samples = n_samples; std::scoped_lock lock(data_mutex); if (ladspa_wrapper->get_rate() != 48000) { ladspa_wrapper->create_instance(48000); ladspa_wrapper->activate(); } if (resample && !resampler_ready) { resampler_inL = std::make_unique(rate, 48000); resampler_inR = std::make_unique(rate, 48000); resampler_outL = std::make_unique(48000, rate); resampler_outR = std::make_unique(48000, rate); std::vector dummy(n_samples); const auto resampled_inL = resampler_inL->process(dummy, false); const auto resampled_inR = resampler_inR->process(dummy, false); resampled_outL.resize(resampled_inL.size()); resampled_outR.resize(resampled_inR.size()); resampler_outL->process(resampled_inL, false); resampler_outR->process(resampled_inR, false); carryover_l.clear(); carryover_r.clear(); carryover_l.reserve(4); // chosen by fair dice roll. carryover_r.reserve(4); // guaranteed to be random. carryover_l.push_back(0.0F); carryover_r.push_back(0.0F); resampler_ready = true; } }); } void DeepFilterNet::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (!ladspa_wrapper->found_plugin() || !ladspa_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } if (resample) { const auto& resampled_inL = resampler_inL->process(left_in, false); const auto& resampled_inR = resampler_inR->process(right_in, false); resampled_outL.resize(resampled_inL.size()); resampled_outR.resize(resampled_inR.size()); ladspa_wrapper->n_samples = resampled_inL.size(); ladspa_wrapper->connect_data_ports(resampled_inL, resampled_inR, resampled_outL, resampled_outR); } else { ladspa_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); } ladspa_wrapper->run(); if (resample) { const auto& outL = resampler_outL->process(resampled_outL, false); const auto& outR = resampler_outR->process(resampled_outR, false); auto carryover_end_l = std::min(carryover_l.size(), left_out.size()); auto carryover_end_r = std::min(carryover_r.size(), right_out.size()); auto left_offset = carryover_end_l + outL.size() > left_out.size() ? carryover_end_l : left_out.size() - outL.size(); auto right_offset = carryover_end_r + outR.size() > right_out.size() ? carryover_end_r : right_out.size() - outR.size(); auto left_count = std::min(outL.size(), left_out.size() - left_offset); auto right_count = std::min(outR.size(), right_out.size() - right_offset); std::copy(carryover_l.begin(), carryover_l.begin() + carryover_end_l, left_out.begin()); std::copy(carryover_r.begin(), carryover_r.begin() + carryover_end_r, right_out.begin()); carryover_l.erase(carryover_l.begin(), carryover_l.begin() + carryover_end_l); carryover_r.erase(carryover_r.begin(), carryover_r.begin() + carryover_end_r); std::fill(left_out.begin() + carryover_end_l, left_out.begin() + left_offset, 0); std::fill(right_out.begin() + carryover_end_r, right_out.begin() + right_offset, 0); std::copy(outL.begin(), outL.begin() + left_count, left_out.begin() + left_offset); std::copy(outR.begin(), outR.begin() + right_count, right_out.begin() + right_offset); carryover_l.insert(carryover_l.end(), outL.begin() + left_count, outL.end()); carryover_r.insert(carryover_r.end(), outR.begin() + right_count, outR.end()); std::fill(left_out.begin() + left_offset + left_count, left_out.end(), 0); std::fill(right_out.begin() + right_offset + right_count, right_out.end(), 0); } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto DeepFilterNet::get_latency_seconds() -> float { return 0.02F + 1.0F / rate; } easyeffects-7.1.7/src/deepfilternet_preset.cpp000066400000000000000000000057441463533416400215610ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "deepfilternet_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" DeepFilterNetPreset::DeepFilterNetPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::deepfilternet::id, tags::schema::deepfilternet::input_path, tags::schema::deepfilternet::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::deepfilternet).append("#").append(util::to_string(index)); } void DeepFilterNetPreset::save(nlohmann::json& json) { json[section][instance_name]["attenuation-limit"] = g_settings_get_double(settings, "attenuation-limit"); json[section][instance_name]["min-processing-threshold"] = g_settings_get_double(settings, "min-processing-threshold"); json[section][instance_name]["max-erb-processing-threshold"] = g_settings_get_double(settings, "max-erb-processing-threshold"); json[section][instance_name]["max-df-processing-threshold"] = g_settings_get_double(settings, "max-df-processing-threshold"); json[section][instance_name]["min-processing-buffer"] = g_settings_get_int(settings, "min-processing-buffer"); json[section][instance_name]["post-filter-beta"] = g_settings_get_double(settings, "post-filter-beta"); } void DeepFilterNetPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "attenuation-limit", "attenuation-limit"); update_key(json.at(section).at(instance_name), settings, "min-processing-threshold", "min-processing-threshold"); update_key(json.at(section).at(instance_name), settings, "max-erb-processing-threshold", "max-erb-processing-threshold"); update_key(json.at(section).at(instance_name), settings, "max-df-processing-threshold", "max-df-processing-threshold"); update_key(json.at(section).at(instance_name), settings, "min-processing-buffer", "min-processing-buffer"); update_key(json.at(section).at(instance_name), settings, "post-filter-beta", "post-filter-beta"); } easyeffects-7.1.7/src/deepfilternet_ui.cpp000066400000000000000000000172621463533416400206720ustar00rootroot00000000000000/* * Copyright © 2023 Torge Matthies * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "deepfilternet_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "deepfilternet.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::deepfilternet_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr deepfilternet; std::vector connections; std::vector gconnections; }; struct _DeepFilterNetBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkScale* att_limit; GtkLabel *att_limit_label, *min_processing_thresh_label, *max_erb_processing_thresh_label, *max_df_processing_thresh_label, *min_processing_buffer_label, *post_filter_beta_label; GtkSpinButton *min_processing_thresh, *max_erb_processing_thresh, *max_df_processing_thresh, *min_processing_buffer, *post_filter_beta; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(DeepFilterNetBox, deepfilternet_box, GTK_TYPE_BOX) void on_reset(DeepFilterNetBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(DeepFilterNetBox* self, std::shared_ptr deepfilternet, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->deepfilternet = deepfilternet; self->settings = g_settings_new_with_path(tags::schema::deepfilternet::id, schema_path.c_str()); deepfilternet->set_post_messages(true); self->data->connections.push_back(deepfilternet->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(deepfilternet->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->deepfilternet->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); gsettings_bind_widgets<"attenuation-limit", "min-processing-threshold", "max-erb-processing-threshold", "max-df-processing-threshold", "min-processing-buffer", "post-filter-beta">( self->settings, self->att_limit, self->min_processing_thresh, self->max_erb_processing_thresh, self->max_df_processing_thresh, self->min_processing_buffer, self->post_filter_beta); } void dispose(GObject* object) { auto* self = EE_DEEPFILTERNET_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(deepfilternet_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_DEEPFILTERNET_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(deepfilternet_box_parent_class)->finalize(object); } void deepfilternet_box_class_init(DeepFilterNetBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::deepfilternet_ui); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, input_gain); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, output_gain); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, att_limit); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, min_processing_thresh); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, max_erb_processing_thresh); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, max_df_processing_thresh); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, min_processing_buffer); gtk_widget_class_bind_template_child(widget_class, DeepFilterNetBox, post_filter_beta); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void deepfilternet_box_init(DeepFilterNetBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"dB">(self->min_processing_thresh); prepare_spinbuttons<"dB">(self->max_erb_processing_thresh); prepare_spinbuttons<"dB">(self->max_df_processing_thresh); prepare_spinbuttons<"frames">(self->min_processing_buffer); prepare_spinbuttons<"dB">(self->post_filter_beta); prepare_scales<"dB">(self->att_limit); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> DeepFilterNetBox* { return static_cast(g_object_new(EE_TYPE_DEEPFILTERNET_BOX, nullptr)); } } // namespace ui::deepfilternet_box easyeffects-7.1.7/src/deesser.cpp000066400000000000000000000100321463533416400167610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "deesser.hpp" #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Deesser::Deesser(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::deesser, tags::plugin_package::calf, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://calf.sourceforge.net/plugins/Deesser"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://calf.sourceforge.net/plugins/Deesser is not installed"); } lv2_wrapper->bind_key_enum<"mode", "mode">(settings); lv2_wrapper->bind_key_enum<"detection", "detection">(settings); lv2_wrapper->bind_key_double<"ratio", "ratio">(settings); lv2_wrapper->bind_key_double<"f1_freq", "f1-freq">(settings); lv2_wrapper->bind_key_double<"f2_freq", "f2-freq">(settings); lv2_wrapper->bind_key_double<"f2_q", "f2-q">(settings); lv2_wrapper->bind_key_double_db<"threshold", "threshold">(settings); lv2_wrapper->bind_key_double_db<"makeup", "makeup">(settings); lv2_wrapper->bind_key_double_db<"f1_level", "f1-level">(settings); lv2_wrapper->bind_key_double_db<"f2_level", "f2-level">(settings); lv2_wrapper->bind_key_int<"laxity", "laxity">(settings); lv2_wrapper->bind_key_bool<"sc_listen", "sc-listen">(settings); setup_input_output_gain(); } Deesser::~Deesser() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Deesser::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Deesser::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { // values needed as double for levelbars widget ui, so we convert them here detected_port_value = static_cast(lv2_wrapper->get_control_port_value("detected")); compression_port_value = static_cast(lv2_wrapper->get_control_port_value("compression")); detected.emit(detected_port_value); compression.emit(compression_port_value); notify(); } } } auto Deesser::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/deesser_preset.cpp000066400000000000000000000102141463533416400203450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "deesser_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" DeesserPreset::DeesserPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::deesser::id, tags::schema::deesser::input_path, tags::schema::deesser::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::deesser).append("#").append(util::to_string(index)); } void DeesserPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["detection"] = util::gsettings_get_string(settings, "detection"); json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["threshold"] = g_settings_get_double(settings, "threshold"); json[section][instance_name]["ratio"] = g_settings_get_double(settings, "ratio"); json[section][instance_name]["laxity"] = g_settings_get_int(settings, "laxity"); json[section][instance_name]["makeup"] = g_settings_get_double(settings, "makeup"); json[section][instance_name]["f1-freq"] = g_settings_get_double(settings, "f1-freq"); json[section][instance_name]["f2-freq"] = g_settings_get_double(settings, "f2-freq"); json[section][instance_name]["f1-level"] = g_settings_get_double(settings, "f1-level"); json[section][instance_name]["f2-level"] = g_settings_get_double(settings, "f2-level"); json[section][instance_name]["f2-q"] = g_settings_get_double(settings, "f2-q"); json[section][instance_name]["sc-listen"] = g_settings_get_boolean(settings, "sc-listen") != 0; } void DeesserPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "detection", "detection"); update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "threshold", "threshold"); update_key(json.at(section).at(instance_name), settings, "ratio", "ratio"); update_key(json.at(section).at(instance_name), settings, "laxity", "laxity"); update_key(json.at(section).at(instance_name), settings, "makeup", "makeup"); update_key(json.at(section).at(instance_name), settings, "f1-freq", "f1-freq"); update_key(json.at(section).at(instance_name), settings, "f2-freq", "f2-freq"); update_key(json.at(section).at(instance_name), settings, "f1-level", "f1-level"); update_key(json.at(section).at(instance_name), settings, "f2-level", "f2-level"); update_key(json.at(section).at(instance_name), settings, "f2-q", "f2-q"); update_key(json.at(section).at(instance_name), settings, "sc-listen", "sc-listen"); } easyeffects-7.1.7/src/deesser_ui.cpp000066400000000000000000000242751463533416400174740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "deesser_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include "deesser.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::deesser_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr deesser; std::vector connections; std::vector gconnections; }; struct _DeesserBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkLevelBar *compression, *detected; GtkLabel *compression_label, *detected_label; GtkSpinButton *f1_freq, *f2_freq, *f1_level, *f2_level, *f2_q, *threshold, *ratio, *laxity, *makeup; GtkToggleButton* sc_listen; GtkDropDown *detection, *mode; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(DeesserBox, deesser_box, GTK_TYPE_BOX) void on_reset(DeesserBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(DeesserBox* self, std::shared_ptr deesser, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->deesser = deesser; self->settings = g_settings_new_with_path(tags::schema::deesser::id, schema_path.c_str()); deesser->set_post_messages(true); self->data->connections.push_back(deesser->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(deesser->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(deesser->detected.connect([=](const double value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->compression) || !GTK_IS_LABEL(self->compression_label)) { return; } gtk_level_bar_set_value(self->compression, 1.0 - value); gtk_label_set_text(self->compression_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(deesser->compression.connect([=](const double value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->detected) || !GTK_IS_LABEL(self->detected_label)) { return; } gtk_level_bar_set_value(self->detected, value); gtk_label_set_text(self->detected_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->deesser->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "makeup", gtk_spin_button_get_adjustment(self->makeup), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "ratio", gtk_spin_button_get_adjustment(self->ratio), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "threshold", gtk_spin_button_get_adjustment(self->threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "f1-freq", gtk_spin_button_get_adjustment(self->f1_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "f2-freq", gtk_spin_button_get_adjustment(self->f2_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "f1-level", gtk_spin_button_get_adjustment(self->f1_level), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "f2-level", gtk_spin_button_get_adjustment(self->f2_level), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "f2-q", gtk_spin_button_get_adjustment(self->f2_q), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "laxity", gtk_spin_button_get_adjustment(self->laxity), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sc-listen", self->sc_listen, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "detection", self->detection); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->mode); } void dispose(GObject* object) { auto* self = EE_DEESSER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(deesser_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_DEESSER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(deesser_box_parent_class)->finalize(object); } void deesser_box_class_init(DeesserBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->finalize = finalize; object_class->dispose = dispose; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::deesser_ui); gtk_widget_class_bind_template_child(widget_class, DeesserBox, input_gain); gtk_widget_class_bind_template_child(widget_class, DeesserBox, output_gain); gtk_widget_class_bind_template_child(widget_class, DeesserBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, DeesserBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, DeesserBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, DeesserBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, DeesserBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, DeesserBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, DeesserBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, DeesserBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, DeesserBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, DeesserBox, compression); gtk_widget_class_bind_template_child(widget_class, DeesserBox, compression_label); gtk_widget_class_bind_template_child(widget_class, DeesserBox, detected); gtk_widget_class_bind_template_child(widget_class, DeesserBox, detected_label); gtk_widget_class_bind_template_child(widget_class, DeesserBox, sc_listen); gtk_widget_class_bind_template_child(widget_class, DeesserBox, detection); gtk_widget_class_bind_template_child(widget_class, DeesserBox, mode); gtk_widget_class_bind_template_child(widget_class, DeesserBox, f1_freq); gtk_widget_class_bind_template_child(widget_class, DeesserBox, f2_freq); gtk_widget_class_bind_template_child(widget_class, DeesserBox, f1_level); gtk_widget_class_bind_template_child(widget_class, DeesserBox, f2_level); gtk_widget_class_bind_template_child(widget_class, DeesserBox, f2_q); gtk_widget_class_bind_template_child(widget_class, DeesserBox, threshold); gtk_widget_class_bind_template_child(widget_class, DeesserBox, ratio); gtk_widget_class_bind_template_child(widget_class, DeesserBox, laxity); gtk_widget_class_bind_template_child(widget_class, DeesserBox, makeup); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void deesser_box_init(DeesserBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"dB">(self->makeup, self->threshold, self->f1_level, self->f2_level); prepare_spinbuttons<"Hz">(self->f1_freq, self->f2_freq); prepare_spinbuttons<"">(self->f2_q); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> DeesserBox* { return static_cast(g_object_new(EE_TYPE_DEESSER_BOX, nullptr)); } } // namespace ui::deesser_box easyeffects-7.1.7/src/delay.cpp000066400000000000000000000102051463533416400164270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "delay.hpp" #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Delay::Delay(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::delay, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo is not installed"); } lv2_wrapper->set_control_port_value("mode_l", 2); lv2_wrapper->set_control_port_value("mode_r", 2); lv2_wrapper->bind_key_double<"time_l", "time-l">(settings); lv2_wrapper->bind_key_double<"time_r", "time-r">(settings); lv2_wrapper->bind_key_bool<"phase_l", "invert-phase-l">(settings); lv2_wrapper->bind_key_bool<"phase_r", "invert-phase-r">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"dry_l", "dry-l", false>(settings); lv2_wrapper->bind_key_double_db<"dry_r", "dry-r", false>(settings); lv2_wrapper->bind_key_double_db<"wet_l", "wet-l", false>(settings); lv2_wrapper->bind_key_double_db<"wet_r", "wet-r", false>(settings); setup_input_output_gain(); } Delay::~Delay() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Delay::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Delay::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto Delay::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/delay_preset.cpp000066400000000000000000000066601463533416400200230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "delay_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" DelayPreset::DelayPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::delay::id, tags::schema::delay::input_path, tags::schema::delay::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::delay).append("#").append(util::to_string(index)); } void DelayPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["time-l"] = g_settings_get_double(settings, "time-l"); json[section][instance_name]["time-r"] = g_settings_get_double(settings, "time-r"); json[section][instance_name]["dry-l"] = g_settings_get_double(settings, "dry-l"); json[section][instance_name]["dry-r"] = g_settings_get_double(settings, "dry-r"); json[section][instance_name]["wet-l"] = g_settings_get_double(settings, "wet-l"); json[section][instance_name]["wet-r"] = g_settings_get_double(settings, "wet-r"); json[section][instance_name]["invert-phase-l"] = g_settings_get_boolean(settings, "invert-phase-l") != 0; json[section][instance_name]["invert-phase-r"] = g_settings_get_boolean(settings, "invert-phase-r") != 0; } void DelayPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "time-l", "time-l"); update_key(json.at(section).at(instance_name), settings, "time-r", "time-r"); update_key(json.at(section).at(instance_name), settings, "dry-l", "dry-l"); update_key(json.at(section).at(instance_name), settings, "dry-r", "dry-r"); update_key(json.at(section).at(instance_name), settings, "wet-l", "wet-l"); update_key(json.at(section).at(instance_name), settings, "wet-r", "wet-r"); update_key(json.at(section).at(instance_name), settings, "invert-phase-l", "invert-phase-l"); update_key(json.at(section).at(instance_name), settings, "invert-phase-r", "invert-phase-r"); } easyeffects-7.1.7/src/delay_ui.cpp000066400000000000000000000203751463533416400171350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "delay_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "delay.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::delay_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr delay; std::vector connections; std::vector gconnections; }; struct _DelayBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *time_l, *time_r, *dry_l, *dry_r, *wet_l, *wet_r; GtkToggleButton* show_native_ui; GtkSwitch *invert_phase_l, *invert_phase_r; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(DelayBox, delay_box, GTK_TYPE_BOX) void on_reset(DelayBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(DelayBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->delay->show_native_ui(); } else { self->data->delay->close_native_ui(); } } void setup(DelayBox* self, std::shared_ptr delay, const std::string& schema_path) { self->data->delay = delay; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::delay::id, schema_path.c_str()); delay->set_post_messages(true); self->data->connections.push_back(delay->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(delay->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->delay->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "time-l", gtk_spin_button_get_adjustment(self->time_l), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "time-r", gtk_spin_button_get_adjustment(self->time_r), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "dry-l", gtk_spin_button_get_adjustment(self->dry_l), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "dry-r", gtk_spin_button_get_adjustment(self->dry_r), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet-l", gtk_spin_button_get_adjustment(self->wet_l), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet-r", gtk_spin_button_get_adjustment(self->wet_r), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "invert-phase-l", self->invert_phase_l, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "invert-phase-r", self->invert_phase_r, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_DELAY_BOX(object); self->data->delay->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(delay_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_DELAY_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(delay_box_parent_class)->finalize(object); } void delay_box_class_init(DelayBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::delay_ui); gtk_widget_class_bind_template_child(widget_class, DelayBox, input_gain); gtk_widget_class_bind_template_child(widget_class, DelayBox, output_gain); gtk_widget_class_bind_template_child(widget_class, DelayBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, DelayBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, DelayBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, DelayBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, DelayBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, DelayBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, DelayBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, DelayBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, DelayBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, DelayBox, time_l); gtk_widget_class_bind_template_child(widget_class, DelayBox, time_r); gtk_widget_class_bind_template_child(widget_class, DelayBox, dry_l); gtk_widget_class_bind_template_child(widget_class, DelayBox, dry_r); gtk_widget_class_bind_template_child(widget_class, DelayBox, wet_l); gtk_widget_class_bind_template_child(widget_class, DelayBox, wet_r); gtk_widget_class_bind_template_child(widget_class, DelayBox, invert_phase_l); gtk_widget_class_bind_template_child(widget_class, DelayBox, invert_phase_r); gtk_widget_class_bind_template_child(widget_class, DelayBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); } void delay_box_init(DelayBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"ms">(self->time_l, self->time_r); prepare_scales<"dB">(self->input_gain, self->output_gain); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->dry_l, self->dry_r, self->wet_l, self->wet_r); } auto create() -> DelayBox* { return static_cast(g_object_new(EE_TYPE_DELAY_BOX, nullptr)); } } // namespace ui::delay_box easyeffects-7.1.7/src/easyeffects.cpp000066400000000000000000000042021463533416400176320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "config.h" #include "util.hpp" auto sigterm(void* data) -> int { auto* app = G_APPLICATION(data); app::hide_all_windows(app); g_application_quit(app); return G_SOURCE_REMOVE; } auto main(int argc, char* argv[]) -> int { util::debug("easyeffects version: " + std::string(VERSION)); try { // Init internationalization support before anything else auto* bindtext_output = bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); if (bindtext_output != nullptr) { util::debug("locale directory: " + std::string(bindtext_output)); } else if (errno == ENOMEM) { util::warning("bindtextdomain: Not enough memory available!"); return errno; } auto* app = app::application_new(); g_unix_signal_add(2, G_SOURCE_FUNC(sigterm), app); auto status = g_application_run(app, argc, argv); g_object_unref(app); util::debug("Exitting the main function with status: " + util::to_string(status, "")); return status; } catch (const std::exception& e) { std::cerr << e.what() << '\n'; return EXIT_FAILURE; } } easyeffects-7.1.7/src/echo_canceller.cpp000066400000000000000000000221141463533416400202610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "echo_canceller.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" EchoCanceller::EchoCanceller(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::echo_canceller, tags::plugin_package::speex, schema, schema_path, pipe_manager, pipe_type, true), residual_echo_suppression(g_settings_get_int(settings, "residual-echo-suppression")), near_end_suppression(g_settings_get_int(settings, "near-end-suppression")) { gconnections.push_back(g_signal_connect(settings, "changed::filter-length", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); std::scoped_lock lock(self->data_mutex); self->filter_length_ms = g_settings_get_int(settings, key); self->init_speex(); }), this)); gconnections.push_back(g_signal_connect( settings, "changed::residual-echo-suppression", G_CALLBACK(+[](GSettings* settings, char* key, EchoCanceller* self) { std::scoped_lock lock(self->data_mutex); self->residual_echo_suppression = g_settings_get_int(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS, &self->residual_echo_suppression); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS, &self->residual_echo_suppression); } }), this)); gconnections.push_back(g_signal_connect( settings, "changed::near-end-suppression", G_CALLBACK(+[](GSettings* settings, char* key, EchoCanceller* self) { std::scoped_lock lock(self->data_mutex); self->near_end_suppression = g_settings_get_int(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE, &self->near_end_suppression); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE, &self->near_end_suppression); } }), this)); setup_input_output_gain(); } EchoCanceller::~EchoCanceller() { if (connected_to_pw) { disconnect_from_pw(); } data_mutex.lock(); ready = false; if (echo_state_L != nullptr) { speex_echo_state_destroy(echo_state_L); } if (echo_state_R != nullptr) { speex_echo_state_destroy(echo_state_R); } free_speex(); data_mutex.unlock(); util::debug(log_tag + name + " destroyed"); } void EchoCanceller::setup() { std::scoped_lock lock(data_mutex); ready = false; notify_latency = true; latency_n_frames = 0U; init_speex(); } void EchoCanceller::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { std::scoped_lock lock(data_mutex); if (bypass || !ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } for (size_t j = 0U; j < left_in.size(); j++) { data_L[j] = static_cast(left_in[j] * (SHRT_MAX + 1)); data_R[j] = static_cast(right_in[j] * (SHRT_MAX + 1)); /* This is a very naive and not corect attempt to mitigate the shortcomes discussed at https://github.com/wwmm/easyeffects/issues/1566. */ probe_mono[j] = static_cast(0.5F * (probe_left[j] + probe_right[j]) * (SHRT_MAX + 1)); } speex_echo_cancellation(echo_state_L, data_L.data(), probe_mono.data(), filtered_L.data()); speex_echo_cancellation(echo_state_R, data_R.data(), probe_mono.data(), filtered_R.data()); speex_preprocess_run(state_left, filtered_L.data()); speex_preprocess_run(state_right, filtered_R.data()); for (size_t j = 0U; j < filtered_L.size(); j++) { left_out[j] = static_cast(filtered_L[j]) * inv_short_max; right_out[j] = static_cast(filtered_R[j]) * inv_short_max; } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (notify_latency) { const float latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); notify_latency = false; } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } void EchoCanceller::init_speex() { if (n_samples == 0U || rate == 0U) { return; } data_L.resize(n_samples); data_R.resize(n_samples); probe_mono.resize(n_samples); filtered_L.resize(n_samples); filtered_R.resize(n_samples); const uint filter_length = static_cast(0.001F * static_cast(filter_length_ms * rate)); util::debug(log_tag + name + " filter length: " + util::to_string(filter_length)); if (echo_state_L != nullptr) { speex_echo_state_destroy(echo_state_L); } echo_state_L = speex_echo_state_init(static_cast(n_samples), static_cast(filter_length)); if (speex_echo_ctl(echo_state_L, SPEEX_ECHO_SET_SAMPLING_RATE, &rate) != 0) { util::warning(log_tag + name + "SPEEX_ECHO_SET_SAMPLING_RATE: unknown request"); } if (echo_state_R != nullptr) { speex_echo_state_destroy(echo_state_R); } echo_state_R = speex_echo_state_init(static_cast(n_samples), static_cast(filter_length)); if (speex_echo_ctl(echo_state_R, SPEEX_ECHO_SET_SAMPLING_RATE, &rate) != 0) { util::warning(log_tag + name + "SPEEX_ECHO_SET_SAMPLING_RATE: unknown request"); } if (state_left != nullptr) { speex_preprocess_state_destroy(state_left); } if (state_right != nullptr) { speex_preprocess_state_destroy(state_right); } state_left = speex_preprocess_state_init(static_cast(n_samples), static_cast(rate)); state_right = speex_preprocess_state_init(static_cast(n_samples), static_cast(rate)); if (state_left != nullptr) { speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_ECHO_STATE, echo_state_L); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS, &residual_echo_suppression); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE, &near_end_suppression); } if (state_right != nullptr) { speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_ECHO_STATE, echo_state_R); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS, &residual_echo_suppression); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE, &near_end_suppression); } ready = true; } void EchoCanceller::free_speex() { if (state_left != nullptr) { speex_preprocess_state_destroy(state_left); } if (state_right != nullptr) { speex_preprocess_state_destroy(state_right); } state_left = nullptr; state_right = nullptr; } auto EchoCanceller::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/echo_canceller_preset.cpp000066400000000000000000000053651463533416400216540ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "echo_canceller_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" EchoCancellerPreset::EchoCancellerPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::echo_canceller::id, tags::schema::echo_canceller::input_path, tags::schema::echo_canceller::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::echo_canceller).append("#").append(util::to_string(index)); } void EchoCancellerPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["filter-length"] = g_settings_get_int(settings, "filter-length"); json[section][instance_name]["residual-echo-suppression"] = g_settings_get_int(settings, "residual-echo-suppression"); json[section][instance_name]["near-end-suppression"] = g_settings_get_int(settings, "near-end-suppression"); } void EchoCancellerPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "filter-length", "filter-length"); update_key(json.at(section).at(instance_name), settings, "residual-echo-suppression", "residual-echo-suppression"); update_key(json.at(section).at(instance_name), settings, "near-end-suppression", "near-end-suppression"); } easyeffects-7.1.7/src/echo_canceller_ui.cpp000066400000000000000000000155711463533416400207670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "echo_canceller_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "echo_canceller.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::echo_canceller_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr echo_canceller; std::vector connections; std::vector gconnections; }; struct _EchoCancellerBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *filter_length, *residual_echo_suppression, *near_end_suppression; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(EchoCancellerBox, echo_canceller_box, GTK_TYPE_BOX) void on_reset(EchoCancellerBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(EchoCancellerBox* self, std::shared_ptr echo_canceller, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->echo_canceller = echo_canceller; self->settings = g_settings_new_with_path(tags::schema::echo_canceller::id, schema_path.c_str()); echo_canceller->set_post_messages(true); self->data->connections.push_back(echo_canceller->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(echo_canceller->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->echo_canceller->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain", "filter-length", "residual-echo-suppression", "near-end-suppression">(self->settings, self->input_gain, self->output_gain, self->filter_length, self->residual_echo_suppression, self->near_end_suppression); } void dispose(GObject* object) { auto* self = EE_ECHO_CANCELLER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(echo_canceller_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_ECHO_CANCELLER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(echo_canceller_box_parent_class)->finalize(object); } void echo_canceller_box_class_init(EchoCancellerBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::echo_canceller_ui); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, input_gain); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, output_gain); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, filter_length); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, residual_echo_suppression); gtk_widget_class_bind_template_child(widget_class, EchoCancellerBox, near_end_suppression); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void echo_canceller_box_init(EchoCancellerBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"ms">(self->filter_length); prepare_spinbuttons<"dB">(self->residual_echo_suppression, self->near_end_suppression); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> EchoCancellerBox* { return static_cast(g_object_new(EE_TYPE_ECHO_CANCELLER_BOX, nullptr)); } } // namespace ui::echo_canceller_box easyeffects-7.1.7/src/effects_base.cpp000066400000000000000000000316101463533416400177450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "effects_base.hpp" #include #include #include #include #include #include #include #include #include #include "autogain.hpp" #include "bass_enhancer.hpp" #include "bass_loudness.hpp" #include "compressor.hpp" #include "convolver.hpp" #include "crossfeed.hpp" #include "crystalizer.hpp" #include "deepfilternet.hpp" #include "deesser.hpp" #include "delay.hpp" #include "echo_canceller.hpp" #include "equalizer.hpp" #include "exciter.hpp" #include "expander.hpp" #include "filter.hpp" #include "gate.hpp" #include "level_meter.hpp" #include "limiter.hpp" #include "loudness.hpp" #include "maximizer.hpp" #include "multiband_compressor.hpp" #include "multiband_gate.hpp" #include "output_level.hpp" #include "pipe_manager.hpp" #include "pitch.hpp" #include "plugin_base.hpp" #include "reverb.hpp" #include "rnnoise.hpp" #include "spectrum.hpp" #include "speex.hpp" #include "stereo_tools.hpp" #include "tags_app.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" EffectsBase::EffectsBase(std::string tag, const std::string& schema, PipeManager* pipe_manager, PipelineType pipe_type) : log_tag(std::move(tag)), pm(pipe_manager), pipeline_type(pipe_type), settings(g_settings_new(schema.c_str())), global_settings(g_settings_new(tags::app::id)) { using namespace std::string_literals; schema_base_path = "/" + schema + "/"; std::replace(schema_base_path.begin(), schema_base_path.end(), '.', '/'); output_level = std::make_shared(log_tag, tags::schema::output_level::id, schema_base_path + "outputlevel/", pm, pipeline_type); spectrum = std::make_shared(log_tag, tags::schema::spectrum::id, tags::app::path + "/spectrum/"s, pm, pipeline_type); if (!output_level->connected_to_pw) { output_level->connect_to_pw(); } if (!spectrum->connected_to_pw) { spectrum->connect_to_pw(); } create_filters_if_necessary(); gconnections.push_back(g_signal_connect(settings, "changed::plugins", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->create_filters_if_necessary(); self->broadcast_pipeline_latency(); }), this)); gconnections_global.push_back(g_signal_connect(global_settings, "changed::meters-update-interval", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); auto v = g_settings_get_int(settings, key); self->spectrum->notification_time_window = 0.001F * v; for (auto& plugin : self->plugins | std::views::values) { plugin->notification_time_window = 0.001F * v; } }), this)); gconnections_global.push_back(g_signal_connect(global_settings, "changed::lv2ui-update-frequency", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); auto v = g_settings_get_int(settings, key); for (auto& plugin : self->plugins | std::views::values) { plugin->set_native_ui_update_frequency(v); } }), this)); auto notification_time_window = 0.001F * static_cast(g_settings_get_int(global_settings, "meters-update-interval")); spectrum->notification_time_window = notification_time_window; for (auto& plugin : plugins | std::views::values) { plugin->notification_time_window = notification_time_window; } } EffectsBase::~EffectsBase() { for (auto& c : connections) { c.disconnect(); } for (auto& handler_id : gconnections) { g_signal_handler_disconnect(settings, handler_id); } for (auto& handler_id : gconnections_global) { g_signal_handler_disconnect(global_settings, handler_id); } g_object_unref(settings); util::debug("effects_base: destroyed"); } void EffectsBase::reset_settings() { util::reset_all_keys_except(settings, {"input-device", "output-device"}); spectrum->reset_settings(); for (auto& plugin : plugins | std::views::values) { plugin->reset_settings(); } } void EffectsBase::create_filters_if_necessary() { const auto list = util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins")); if (list.empty()) { return; } for (const auto& name : list) { if (plugins.contains(name)) { continue; } auto instance_id = util::to_string(tags::plugin_name::get_id(name)); auto path = schema_base_path + tags::plugin_name::get_base_name(name) + "/" + instance_id + "/"; path.erase(std::remove(path.begin(), path.end(), '_'), path.end()); std::shared_ptr filter; if (name.starts_with(tags::plugin_name::autogain)) { filter = std::make_shared(log_tag, tags::schema::autogain::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::bass_enhancer)) { filter = std::make_shared(log_tag, tags::schema::bass_enhancer::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::bass_loudness)) { filter = std::make_shared(log_tag, tags::schema::bass_loudness::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::compressor)) { filter = std::make_shared(log_tag, tags::schema::compressor::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::convolver)) { filter = std::make_shared(log_tag, tags::schema::convolver::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::crossfeed)) { filter = std::make_shared(log_tag, tags::schema::crossfeed::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::crystalizer)) { filter = std::make_shared(log_tag, tags::schema::crystalizer::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::deepfilternet)) { filter = std::make_shared(log_tag, tags::schema::deepfilternet::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::deesser)) { filter = std::make_shared(log_tag, tags::schema::deesser::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::delay)) { filter = std::make_shared(log_tag, tags::schema::delay::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::echo_canceller)) { filter = std::make_shared(log_tag, tags::schema::echo_canceller::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::exciter)) { filter = std::make_shared(log_tag, tags::schema::exciter::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::expander)) { filter = std::make_shared(log_tag, tags::schema::expander::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::equalizer)) { filter = std::make_shared( log_tag, tags::schema::equalizer::id, path, tags::schema::equalizer::channel_id, schema_base_path + "equalizer/" + instance_id + "/leftchannel/", schema_base_path + "equalizer/" + instance_id + "/rightchannel/", pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::filter)) { filter = std::make_shared(log_tag, tags::schema::filter::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::gate)) { filter = std::make_shared(log_tag, tags::schema::gate::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::level_meter)) { filter = std::make_shared(log_tag, tags::schema::level_meter::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::limiter)) { filter = std::make_shared(log_tag, tags::schema::limiter::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::loudness)) { filter = std::make_shared(log_tag, tags::schema::loudness::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::maximizer)) { filter = std::make_shared(log_tag, tags::schema::maximizer::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::multiband_compressor)) { filter = std::make_shared(log_tag, tags::schema::multiband_compressor::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::multiband_gate)) { filter = std::make_shared(log_tag, tags::schema::multiband_gate::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::pitch)) { filter = std::make_shared(log_tag, tags::schema::pitch::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::reverb)) { filter = std::make_shared(log_tag, tags::schema::reverb::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::rnnoise)) { filter = std::make_shared(log_tag, tags::schema::rnnoise::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::speex)) { filter = std::make_shared(log_tag, tags::schema::speex::id, path, pm, pipeline_type); } else if (name.starts_with(tags::plugin_name::stereo_tools)) { filter = std::make_shared(log_tag, tags::schema::stereo_tools::id, path, pm, pipeline_type); } connections.push_back(filter->latency.connect([this]() { broadcast_pipeline_latency(); })); plugins.insert(std::make_pair(name, filter)); } } void EffectsBase::remove_unused_filters() { const auto list = util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins")); if (list.empty()) { plugins.clear(); return; } for (auto it = plugins.begin(); it != plugins.end();) { auto key = it->first; if (std::ranges::find(list, key) == list.end()) { auto plugin = it->second; plugin->bypass = true; plugin->set_post_messages(false); plugin->latency.clear(); if (plugin->connected_to_pw) { plugin->disconnect_from_pw(); } it = plugins.erase(it); } else { it++; } } } void EffectsBase::activate_filters() { for (auto& plugin : plugins | std::views::values) { plugin->set_active(true); } } void EffectsBase::deactivate_filters() { for (auto& plugin : plugins | std::views::values) { plugin->set_active(false); } } auto EffectsBase::get_pipeline_latency() -> float { float total = 0.0F; for (const auto& name : util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins"))) { if (plugins.contains(name)) { total += plugins[name]->get_latency_seconds(); } } return total * 1000.0F; } void EffectsBase::broadcast_pipeline_latency() { const auto latency_value = get_pipeline_latency(); util::debug(log_tag + "pipeline latency: " + util::to_string(latency_value, "") + " ms"); pipeline_latency.emit(latency_value); } auto EffectsBase::get_plugins_map() -> std::map> { return plugins; } easyeffects-7.1.7/src/effects_box.cpp000066400000000000000000000517551463533416400176370ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "effects_box.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "apps_box.hpp" #include "blocklist_menu.hpp" #include "chart.hpp" #include "effects_base.hpp" #include "pipeline_type.hpp" #include "plugins_box.hpp" #include "tags_app.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace { bool schedule_signal_idle = false; } namespace ui::effects_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } app::Application* application; EffectsBase* effects_base; PipelineType pipeline_type; uint spectrum_rate, spectrum_n_bands; float global_output_level_left, global_output_level_right, pipeline_latency_ms; std::vector spectrum_mag, spectrum_x_axis, spectrum_freqs; std::vector connections; std::vector gconnections_spectrum; }; struct _EffectsBox { GtkBox parent_instance; AdwViewStack* stack; AdwViewStackPage *apps_box_page, *plugins_box_page; GtkLabel *device_state, *latency_status, *label_global_output_level_left, *label_global_output_level_right; GtkToggleButton* toggle_listen_mic; GtkMenuButton* menubutton_blocklist; GtkImage* saturation_icon; GtkIconTheme* icon_theme; ui::chart::Chart* spectrum_chart; ui::apps_box::AppsBox* appsBox; ui::plugins_box::PluginsBox* pluginsBox; ui::blocklist_menu::BlocklistMenu* blocklist_menu; GSettings *settings_spectrum, *app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(EffectsBox, effects_box, GTK_TYPE_BOX) void init_spectrum_frequency_axis(EffectsBox* self) { self->data->spectrum_freqs.resize(self->data->spectrum_n_bands); for (uint n = 0U; n < self->data->spectrum_n_bands; n++) { self->data->spectrum_freqs[n] = 0.5F * static_cast(self->data->spectrum_rate) * static_cast(n) / static_cast(self->data->spectrum_n_bands); } if (!self->data->spectrum_freqs.empty()) { const auto min_freq = static_cast(g_settings_get_int(self->settings_spectrum, "minimum-frequency")); const auto max_freq = static_cast(g_settings_get_int(self->settings_spectrum, "maximum-frequency")); if (min_freq > (max_freq - 100.0F)) { return; } auto log_x_axis = util::logspace(min_freq, max_freq, g_settings_get_int(self->settings_spectrum, "n-points")); self->data->spectrum_x_axis.resize(log_x_axis.size()); self->data->spectrum_mag.resize(log_x_axis.size()); std::copy(log_x_axis.begin(), log_x_axis.end(), self->data->spectrum_x_axis.begin()); ui::chart::set_x_data(self->spectrum_chart, self->data->spectrum_x_axis); } } void setup_spectrum(EffectsBox* self) { self->data->spectrum_rate = 0U; self->data->spectrum_n_bands = 0U; ui::chart::set_color(self->spectrum_chart, util::gsettings_get_color(self->settings_spectrum, "color")); ui::chart::set_axis_labels_color(self->spectrum_chart, util::gsettings_get_color(self->settings_spectrum, "color-axis-labels")); ui::chart::set_fill_bars(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, "fill") != 0); ui::chart::set_dynamic_y_scale(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, "dynamic-y-scale") != 0); ui::chart::set_rounded_corners(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, "rounded-corners") != 0); ui::chart::set_draw_bar_border(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, "show-bar-border") != 0); ui::chart::set_line_width(self->spectrum_chart, static_cast(g_settings_get_double(self->settings_spectrum, "line-width"))); ui::chart::set_chart_scale(self->spectrum_chart, ui::chart::ChartScale::logarithmic); ui::chart::set_x_unit(self->spectrum_chart, "Hz"); ui::chart::set_y_unit(self->spectrum_chart, "dB"); ui::chart::set_n_x_decimals(self->spectrum_chart, 0); ui::chart::set_n_y_decimals(self->spectrum_chart, 1); ui::chart::set_margin(self->spectrum_chart, 0.0F); gtk_widget_set_size_request(GTK_WIDGET(self->spectrum_chart), -1, g_settings_get_int(self->settings_spectrum, "height")); auto chart_type = util::gsettings_get_string(self->settings_spectrum, "type"); if (chart_type == "Bars") { ui::chart::set_chart_type(self->spectrum_chart, chart::ChartType::bar); } else if (chart_type == "Lines") { ui::chart::set_chart_type(self->spectrum_chart, chart::ChartType::line); } else if (chart_type == "Dots") { ui::chart::set_chart_type(self->spectrum_chart, chart::ChartType::dots); } g_settings_bind(self->settings_spectrum, "show", self->spectrum_chart, "visible", G_SETTINGS_BIND_GET); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::color", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_color(self->spectrum_chart, util::gsettings_get_color(self->settings_spectrum, key)); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::color-axis-labels", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_axis_labels_color(self->spectrum_chart, util::gsettings_get_color(self->settings_spectrum, key)); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::fill", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_fill_bars(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, key) != 0); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::dynamic-y-scale", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_dynamic_y_scale(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, key) != 0); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::rounded-corners", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_rounded_corners(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, key) != 0); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::show-bar-border", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_draw_bar_border(self->spectrum_chart, g_settings_get_boolean(self->settings_spectrum, key) != 0); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::line-width", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { ui::chart::set_line_width(self->spectrum_chart, static_cast(g_settings_get_double(self->settings_spectrum, key))); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::height", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { gtk_widget_set_size_request(GTK_WIDGET(self->spectrum_chart), -1, g_settings_get_int(self->settings_spectrum, key)); }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::type", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { auto chart_type = util::gsettings_get_string(self->settings_spectrum, key); if (chart_type == "Bars") { ui::chart::set_chart_type(self->spectrum_chart, chart::ChartType::bar); } else if (chart_type == "Lines") { ui::chart::set_chart_type(self->spectrum_chart, chart::ChartType::line); } else if (chart_type == "Dots") { ui::chart::set_chart_type(self->spectrum_chart, chart::ChartType::dots); } }), self)); self->data->gconnections_spectrum.push_back(g_signal_connect( self->settings_spectrum, "changed::n-points", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { g_object_ref(self); util::idle_add([=]() { init_spectrum_frequency_axis(self); }, [=]() { g_object_unref(self); }); }), self)); self->data->gconnections_spectrum.push_back( g_signal_connect(self->settings_spectrum, "changed::minimum-frequency", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { g_object_ref(self); util::idle_add([=]() { init_spectrum_frequency_axis(self); }, [=]() { g_object_unref(self); }); }), self)); self->data->gconnections_spectrum.push_back( g_signal_connect(self->settings_spectrum, "changed::maximum-frequency", G_CALLBACK(+[](GSettings* settings, char* key, EffectsBox* self) { g_object_ref(self); util::idle_add([=]() { init_spectrum_frequency_axis(self); }, [=]() { g_object_unref(self); }); }), self)); } void stack_visible_child_changed(EffectsBox* self, GParamSpec* pspec, GtkWidget* stack) { const auto* name = adw_view_stack_get_visible_child_name(ADW_VIEW_STACK(stack)); gtk_widget_set_visible(GTK_WIDGET(self->menubutton_blocklist), (g_strcmp0(name, "apps") == 0) ? 1 : 0); if (self->data->pipeline_type == PipelineType::input) { gtk_widget_set_visible(GTK_WIDGET(self->toggle_listen_mic), (g_strcmp0(name, "plugins") == 0) ? 1 : 0); } } void on_listen_mic_toggled(EffectsBox* self, GtkToggleButton* button) { self->data->application->sie->set_listen_to_mic(gtk_toggle_button_get_active(button) != 0); } void setup(EffectsBox* self, app::Application* application, PipelineType pipeline_type, GtkIconTheme* icon_theme) { self->data->application = application; self->data->pipeline_type = pipeline_type; self->icon_theme = icon_theme; switch (pipeline_type) { case PipelineType::input: { self->data->effects_base = static_cast(self->data->application->sie); self->apps_box_page = adw_view_stack_add_titled(self->stack, GTK_WIDGET(self->appsBox), "apps", _("Recorders")); adw_view_stack_page_set_icon_name(self->apps_box_page, "media-record-symbolic"); auto set_device_state_label = [=]() { auto source_rate = static_cast(application->pm->ee_source_node.rate) * 0.001F; gtk_label_set_text(self->device_state, fmt::format(ui::get_user_locale(), "{0:.1Lf} kHz", source_rate).c_str()); }; set_device_state_label(); self->data->connections.push_back(application->pm->source_changed.connect([=](const auto nd_info) { if (nd_info.id == application->pm->ee_source_node.id) { set_device_state_label(); } })); break; } case PipelineType::output: { self->data->effects_base = static_cast(self->data->application->soe); self->apps_box_page = adw_view_stack_add_titled(self->stack, GTK_WIDGET(self->appsBox), "apps", _("Players")); adw_view_stack_page_set_icon_name(self->apps_box_page, "multimedia-player-symbolic"); auto set_device_state_label = [=]() { auto sink_rate = static_cast(application->pm->ee_sink_node.rate) * 0.001F; gtk_label_set_text(self->device_state, fmt::format(ui::get_user_locale(), "{0:.1Lf} kHz", sink_rate).c_str()); }; set_device_state_label(); self->data->connections.push_back(application->pm->sink_changed.connect([=](const auto nd_info) { if (nd_info.id == application->pm->ee_sink_node.id) { set_device_state_label(); } })); break; } } self->plugins_box_page = adw_view_stack_add_titled(self->stack, GTK_WIDGET(self->pluginsBox), "plugins", _("Effects")); adw_view_stack_page_set_icon_name(self->plugins_box_page, "emblem-music-symbolic"); // setting up the boxes we added to the stack ui::apps_box::setup(self->appsBox, application, pipeline_type, icon_theme); ui::plugins_box::setup(self->pluginsBox, application, pipeline_type); ui::blocklist_menu::setup(self->blocklist_menu, application, pipeline_type); // output level self->data->connections.push_back( self->data->effects_base->output_level->output_level.connect([=](const float left, const float right) { self->data->global_output_level_left = left; self->data->global_output_level_right = right; if (!schedule_signal_idle) { return; } g_idle_add((GSourceFunc) + [](EffectsBox* self) { if (!schedule_signal_idle) { return G_SOURCE_REMOVE; } gtk_label_set_text(self->label_global_output_level_left, fmt::format("{0:.0f}", self->data->global_output_level_left).c_str()); gtk_label_set_text(self->label_global_output_level_right, fmt::format("{0:.0f}", self->data->global_output_level_right).c_str()); gtk_widget_set_opacity( GTK_WIDGET(self->saturation_icon), (self->data->global_output_level_left > 0.0 || self->data->global_output_level_right > 0.0) ? 1.0 : 0.0); return G_SOURCE_REMOVE; }, self); })); // spectrum array self->data->connections.push_back( self->data->effects_base->spectrum->power.connect([=](uint rate, uint n_bands, std::vector magnitudes) { if (self == nullptr) { return; } if (!ui::chart::get_is_visible(self->spectrum_chart)) { return; } if (!schedule_signal_idle) { return; } if (self->data->spectrum_rate != rate || self->data->spectrum_n_bands != n_bands) { self->data->spectrum_rate = rate; self->data->spectrum_n_bands = n_bands; init_spectrum_frequency_axis(self); } auto* acc = gsl_interp_accel_alloc(); auto* spline = gsl_spline_alloc(gsl_interp_steffen, n_bands); gsl_spline_init(spline, self->data->spectrum_freqs.data(), magnitudes.data(), n_bands); for (size_t n = 0; n < self->data->spectrum_x_axis.size(); n++) { self->data->spectrum_mag[n] = static_cast(gsl_spline_eval(spline, self->data->spectrum_x_axis[n], acc)); } gsl_spline_free(spline); gsl_interp_accel_free(acc); std::ranges::for_each(self->data->spectrum_mag, [](auto& v) { v = 10.0F * std::log10(v); if (!std::isinf(v)) { v = (v > util::minimum_db_level) ? v : util::minimum_db_level; } else { v = util::minimum_db_level; } }); ui::chart::set_y_data(self->spectrum_chart, self->data->spectrum_mag); })); // As we are showing the window we want the filters to send notifications about level meters, etc self->data->effects_base->spectrum->bypass = g_settings_get_boolean(self->settings_spectrum, "show") == 0; self->data->effects_base->output_level->set_post_messages(true); // pipeline latency gtk_label_set_text( self->latency_status, fmt::format(ui::get_user_locale(), " {0:.1Lf} ms", self->data->effects_base->get_pipeline_latency()).c_str()); self->data->connections.push_back(self->data->effects_base->pipeline_latency.connect([=](const float& v) { self->data->pipeline_latency_ms = v; if (!schedule_signal_idle) { return; } g_idle_add( (GSourceFunc) + [](EffectsBox* self) { if (!schedule_signal_idle) { return G_SOURCE_REMOVE; } gtk_label_set_text( self->latency_status, fmt::format(ui::get_user_locale(), " {0:.1Lf} ms", self->data->pipeline_latency_ms).c_str()); return G_SOURCE_REMOVE; }, self); })); } void realize(GtkWidget* widget) { schedule_signal_idle = true; GTK_WIDGET_CLASS(effects_box_parent_class)->realize(widget); } void unroot(GtkWidget* widget) { schedule_signal_idle = false; GTK_WIDGET_CLASS(effects_box_parent_class)->unroot(widget); } void dispose(GObject* object) { auto* self = EE_EFFECTS_BOX(object); schedule_signal_idle = false; self->data->effects_base->spectrum->bypass = true; for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections_spectrum) { g_signal_handler_disconnect(self->settings_spectrum, handler_id); } self->data->connections.clear(); self->data->gconnections_spectrum.clear(); g_object_unref(self->app_settings); g_object_unref(self->settings_spectrum); util::debug("disposed"); G_OBJECT_CLASS(effects_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_EFFECTS_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(effects_box_parent_class)->finalize(object); } void effects_box_class_init(EffectsBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; widget_class->realize = realize; widget_class->unroot = unroot; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::effects_box_ui); gtk_widget_class_bind_template_child(widget_class, EffectsBox, stack); gtk_widget_class_bind_template_child(widget_class, EffectsBox, device_state); gtk_widget_class_bind_template_child(widget_class, EffectsBox, latency_status); gtk_widget_class_bind_template_child(widget_class, EffectsBox, label_global_output_level_left); gtk_widget_class_bind_template_child(widget_class, EffectsBox, label_global_output_level_right); gtk_widget_class_bind_template_child(widget_class, EffectsBox, toggle_listen_mic); gtk_widget_class_bind_template_child(widget_class, EffectsBox, menubutton_blocklist); gtk_widget_class_bind_template_child(widget_class, EffectsBox, saturation_icon); gtk_widget_class_bind_template_callback(widget_class, stack_visible_child_changed); gtk_widget_class_bind_template_callback(widget_class, on_listen_mic_toggled); } void effects_box_init(EffectsBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); schedule_signal_idle = false; self->app_settings = g_settings_new(tags::app::id); self->settings_spectrum = g_settings_new(tags::schema::spectrum::id); self->spectrum_chart = ui::chart::create(); self->appsBox = ui::apps_box::create(); self->pluginsBox = ui::plugins_box::create(); self->blocklist_menu = ui::blocklist_menu::create(); gtk_menu_button_set_popover(self->menubutton_blocklist, GTK_WIDGET(self->blocklist_menu)); setup_spectrum(self); gtk_box_insert_child_after(GTK_BOX(self), GTK_WIDGET(self->spectrum_chart), nullptr); g_signal_connect(GTK_WIDGET(self->spectrum_chart), "show", G_CALLBACK(+[](GtkWidget* widget, EffectsBox* self) { self->data->effects_base->spectrum->bypass = false; }), self); g_signal_connect(GTK_WIDGET(self->spectrum_chart), "hide", G_CALLBACK(+[](GtkWidget* widget, EffectsBox* self) { self->data->effects_base->spectrum->bypass = true; }), self); } auto create() -> EffectsBox* { return static_cast(g_object_new(EE_TYPE_EFFECTS_BOX, nullptr)); } } // namespace ui::effects_box easyeffects-7.1.7/src/equalizer.cpp000066400000000000000000000363411463533416400173430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "equalizer.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_equalizer.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" using namespace std::string_literals; Equalizer::Equalizer(const std::string& tag, const std::string& schema, const std::string& schema_path, const std::string& schema_channel, const std::string& schema_channel_left_path, const std::string& schema_channel_right_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::equalizer, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type), settings_left(g_settings_new_with_path(schema_channel.c_str(), schema_channel_left_path.c_str())), settings_right(g_settings_new_with_path(schema_channel.c_str(), schema_channel_right_path.c_str())) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/para_equalizer_x32_lr"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/para_equalizer_x32_lr is not installed"); } lv2_wrapper->bind_key_enum<"mode", "mode">(settings); lv2_wrapper->bind_key_double<"bal", "balance">(settings); lv2_wrapper->bind_key_double<"frqs_l", "pitch-left">(settings); lv2_wrapper->bind_key_double<"frqs_r", "pitch-right">(settings); bind_bands(std::make_index_sequence()); on_split_channels(); gconnections.push_back(g_signal_connect(settings, "changed::num-bands", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const uint nbands = g_settings_get_int(settings, key); const bool split = g_settings_get_boolean(settings, "split-channels") != 0; using namespace tags::equalizer; for (uint n = 0U; n < self->max_bands; n++) { if (n >= nbands) { // turn off unused bands g_settings_set_enum(self->settings_left, band_type[n].data(), 0); if (split) { g_settings_set_enum(self->settings_right, band_type[n].data(), 0); } } } }), this)); gconnections.push_back(g_signal_connect( settings, "changed::split-channels", G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { self->on_split_channels(); }), this)); setup_input_output_gain(); } Equalizer::~Equalizer() { if (connected_to_pw) { disconnect_from_pw(); } for (auto& handler_id : this->gconnections_unified) { g_signal_handler_disconnect(this->settings_left, handler_id); } this->gconnections_unified.clear(); util::debug(log_tag + name + " destroyed"); } void Equalizer::on_split_channels() { if (g_settings_get_boolean(settings, "split-channels") != 0) { for (auto& handler_id : gconnections_unified) { g_signal_handler_disconnect(settings_left, handler_id); } gconnections_unified.clear(); return; } using namespace tags::equalizer; for (uint n = 0U; n < max_bands; n++) { g_settings_set_enum(settings_right, band_type[n].data(), g_settings_get_enum(settings_left, band_type[n].data())); g_settings_set_enum(settings_right, band_mode[n].data(), g_settings_get_enum(settings_left, band_mode[n].data())); g_settings_set_enum(settings_right, band_slope[n].data(), g_settings_get_enum(settings_left, band_slope[n].data())); g_settings_set_boolean(settings_right, band_solo[n].data(), g_settings_get_boolean(settings_left, band_solo[n].data())); g_settings_set_boolean(settings_right, band_mute[n].data(), g_settings_get_boolean(settings_left, band_mute[n].data())); g_settings_set_double(settings_right, band_frequency[n].data(), g_settings_get_double(settings_left, band_frequency[n].data())); g_settings_set_double(settings_right, band_gain[n].data(), g_settings_get_double(settings_left, band_gain[n].data())); g_settings_set_double(settings_right, band_q[n].data(), g_settings_get_double(settings_left, band_q[n].data())); g_settings_set_double(settings_right, band_width[n].data(), g_settings_get_double(settings_left, band_width[n].data())); /* When in unified mode we want settings applied to the left channel to be propagated to the right channel database */ gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_gain[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_double(self->settings_right, key, g_settings_get_double(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_frequency[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_double(self->settings_right, key, g_settings_get_double(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_q[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_double(self->settings_right, key, g_settings_get_double(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_width[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_double(self->settings_right, key, g_settings_get_double(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_type[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_enum(self->settings_right, key, g_settings_get_enum(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_mode[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_enum(self->settings_right, key, g_settings_get_enum(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_slope[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_enum(self->settings_right, key, g_settings_get_enum(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_mute[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_boolean(self->settings_right, key, g_settings_get_boolean(settings, key)); }), this)); gconnections_unified.push_back(g_signal_connect(settings_left, ("changed::"s + band_solo[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, Equalizer* self) { g_settings_set_boolean(self->settings_right, key, g_settings_get_boolean(settings, key)); }), this)); } } void Equalizer::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Equalizer::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } void Equalizer::sort_bands() { struct EQ_Band { gdouble freq; gint type; gint mode; gint slope; gdouble gain; gdouble q; gdouble width; gboolean solo; gboolean mute; }; const auto used_bands = static_cast(g_settings_get_int(settings, "num-bands")); if (used_bands < 1U || used_bands > max_bands) { return; } std::vector settings_channels{settings_left}; if (g_settings_get_boolean(settings, "split-channels") != 0) { settings_channels.push_back(settings_right); } using namespace tags::equalizer; for (auto* channel : settings_channels) { std::multimap sorted_bands; for (uint n = 0U; n < used_bands; n++) { const auto f = g_settings_get_double(channel, band_frequency[n].data()); sorted_bands.emplace( std::pair(f, {.freq = f, .type = g_settings_get_enum(channel, band_type[n].data()), .mode = g_settings_get_enum(channel, band_mode[n].data()), .slope = g_settings_get_enum(channel, band_slope[n].data()), .gain = g_settings_get_double(channel, band_gain[n].data()), .q = g_settings_get_double(channel, band_q[n].data()), .width = g_settings_get_double(channel, band_width[n].data()), .solo = g_settings_get_boolean(channel, band_solo[n].data()), .mute = g_settings_get_boolean(channel, band_mute[n].data())})); } for (uint n = 0U; const auto& p : sorted_bands) { g_settings_set_double(channel, band_frequency[n].data(), p.second.freq); g_settings_set_enum(channel, band_type[n].data(), p.second.type); g_settings_set_enum(channel, band_mode[n].data(), p.second.mode); g_settings_set_enum(channel, band_slope[n].data(), p.second.slope); g_settings_set_double(channel, band_gain[n].data(), p.second.gain); g_settings_set_double(channel, band_q[n].data(), p.second.q); g_settings_set_double(channel, band_width[n].data(), p.second.width); g_settings_set_boolean(channel, band_solo[n].data(), p.second.solo); g_settings_set_boolean(channel, band_mute[n].data(), p.second.mute); n++; } } } auto Equalizer::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/equalizer_band_box.cpp000066400000000000000000000200351463533416400211700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "equalizer_band_box.hpp" #include #include #include #include #include #include #include #include #include "tags_app.hpp" #include "tags_equalizer.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::equalizer_band_box { using namespace tags::equalizer; struct Data { public: ~Data() { util::debug("data struct destroyed"); } int index = 0; // index in the gsettings database }; struct _EqualizerBandBox { GtkBox parent_instance; AdwComboRow *band_type, *band_mode, *band_slope; GtkButton *reset_frequency, *reset_quality; GtkSwitch *band_solo, *band_mute; GtkScale* band_scale; GtkSpinButton *band_frequency, *band_gain, *band_quality, *band_width; GtkPopover* popover_menu; GtkLabel* band_number_label; GSettings *settings, *app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(EqualizerBandBox, equalizer_band_box, GTK_TYPE_BOX) void on_reset_frequency(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, band_frequency[self->data->index].data()); } void on_reset_gain(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, band_gain[self->data->index].data()); } void on_reset_quality(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, band_q[self->data->index].data()); } void on_reset_width(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, band_width[self->data->index].data()); } auto set_band_label(EqualizerBandBox* self, double value) -> const char* { if (value < 1000.0) { // Show no decimal digits: full integer. No need of locale. return g_strdup(fmt::format("{0:.0f} Hz", value).c_str()); } // Convert in kHz and show hHz as 1 decimal digit. Use locale. return g_strdup(fmt::format(ui::get_user_locale(), "{0:.1Lf} kHz", value / 1000.0).c_str()); } auto set_band_quality_label(EqualizerBandBox* self, double value) -> const char* { return g_strdup(fmt::format(ui::get_user_locale(), "Q {0:.2Lf}", value).c_str()); } auto set_band_gain_sensitive(EqualizerBandBox* self, const guint selected_id) -> gboolean { switch (selected_id) { case 0U: // Off case 2U: // High Pass case 4U: // Low Pass return 0; default: break; } return 1; } auto set_band_width_sensitive(EqualizerBandBox* self, const guint selected_id) -> gboolean { switch (selected_id) { case 9U: // Band Pass case 10U: // Ladder Pass case 11U: // Ladder Rej return 1; default: break; } return 0; } void setup(EqualizerBandBox* self, GSettings* settings) { self->settings = settings; } void bind(EqualizerBandBox* self, int index) { self->data->index = index; gtk_label_set_text(self->band_number_label, util::to_string(index + 1).c_str()); g_settings_bind(self->settings, band_gain[index].data(), gtk_range_get_adjustment(GTK_RANGE(self->band_scale)), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_frequency[index].data(), gtk_spin_button_get_adjustment(self->band_frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_q[index].data(), gtk_spin_button_get_adjustment(self->band_quality), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_width[index].data(), gtk_spin_button_get_adjustment(self->band_width), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_solo[index].data(), self->band_solo, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_mute[index].data(), self->band_mute, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_type[index].data(), self->band_type); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_mode[index].data(), self->band_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_slope[index].data(), self->band_slope); } void dispose(GObject* object) { auto* self = EE_EQUALIZER_BAND_BOX(object); g_object_unref(self->app_settings); util::debug("index: " + util::to_string(self->data->index) + " disposed"); G_OBJECT_CLASS(equalizer_band_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_EQUALIZER_BAND_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(equalizer_band_box_parent_class)->finalize(object); } void equalizer_band_box_class_init(EqualizerBandBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::equalizer_band_ui); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_type); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_mode); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_slope); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, reset_frequency); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, reset_quality); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_solo); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_mute); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_scale); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_frequency); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_gain); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_quality); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_width); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, popover_menu); gtk_widget_class_bind_template_child(widget_class, EqualizerBandBox, band_number_label); gtk_widget_class_bind_template_callback(widget_class, on_reset_frequency); gtk_widget_class_bind_template_callback(widget_class, on_reset_gain); gtk_widget_class_bind_template_callback(widget_class, on_reset_quality); gtk_widget_class_bind_template_callback(widget_class, on_reset_width); gtk_widget_class_bind_template_callback(widget_class, set_band_gain_sensitive); gtk_widget_class_bind_template_callback(widget_class, set_band_width_sensitive); gtk_widget_class_bind_template_callback(widget_class, set_band_label); gtk_widget_class_bind_template_callback(widget_class, set_band_quality_label); } void equalizer_band_box_init(EqualizerBandBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->app_settings = g_settings_new(tags::app::id); g_settings_bind(self->app_settings, "autohide-popovers", self->popover_menu, "autohide", G_SETTINGS_BIND_DEFAULT); prepare_scales<"">(self->band_scale); prepare_spinbuttons<"Hz">(self->band_frequency); prepare_spinbuttons<"dB">(self->band_gain); prepare_spinbuttons<"">(self->band_quality); prepare_spinbuttons<"oct">(self->band_width); } auto create() -> EqualizerBandBox* { return static_cast(g_object_new(EE_TYPE_EQUALIZER_BAND_BOX, nullptr)); } } // namespace ui::equalizer_band_box easyeffects-7.1.7/src/equalizer_preset.cpp000066400000000000000000000157301463533416400207240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "equalizer_preset.hpp" #include #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_equalizer.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" using namespace tags::equalizer; EqualizerPreset::EqualizerPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::equalizer::id, tags::schema::equalizer::input_path, tags::schema::equalizer::output_path, preset_type, index) { input_settings_left = g_settings_new_with_path( tags::schema::equalizer::channel_id, (tags::schema::equalizer::input_path + util::to_string(index) + "/leftchannel/").c_str()); input_settings_right = g_settings_new_with_path( tags::schema::equalizer::channel_id, (tags::schema::equalizer::input_path + util::to_string(index) + "/rightchannel/").c_str()); output_settings_left = g_settings_new_with_path( tags::schema::equalizer::channel_id, (tags::schema::equalizer::output_path + util::to_string(index) + "/leftchannel/").c_str()); output_settings_right = g_settings_new_with_path( tags::schema::equalizer::channel_id, (tags::schema::equalizer::output_path + util::to_string(index) + "/rightchannel/").c_str()); instance_name.assign(tags::plugin_name::equalizer).append("#").append(util::to_string(index)); } EqualizerPreset::~EqualizerPreset() { g_object_unref(input_settings_left); g_object_unref(input_settings_right); g_object_unref(output_settings_left); g_object_unref(output_settings_right); } void EqualizerPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["split-channels"] = g_settings_get_boolean(settings, "split-channels") != 0; json[section][instance_name]["balance"] = g_settings_get_double(settings, "balance"); json[section][instance_name]["pitch-left"] = g_settings_get_double(settings, "pitch-left"); json[section][instance_name]["pitch-right"] = g_settings_get_double(settings, "pitch-right"); const auto nbands = g_settings_get_int(settings, "num-bands"); json[section][instance_name]["num-bands"] = nbands; if (section == "input") { save_channel(json[section][instance_name]["left"], input_settings_left, nbands); save_channel(json[section][instance_name]["right"], input_settings_right, nbands); } else if (section == "output") { save_channel(json[section][instance_name]["left"], output_settings_left, nbands); save_channel(json[section][instance_name]["right"], output_settings_right, nbands); } } void EqualizerPreset::save_channel(nlohmann::json& json, GSettings* settings, const int& nbands) { for (int n = 0; n < nbands; n++) { const auto* const bandn = band_id[n]; json[bandn]["type"] = util::gsettings_get_string(settings, band_type[n].data()); json[bandn]["mode"] = util::gsettings_get_string(settings, band_mode[n].data()); json[bandn]["slope"] = util::gsettings_get_string(settings, band_slope[n].data()); json[bandn]["solo"] = g_settings_get_boolean(settings, band_solo[n].data()) != 0; json[bandn]["mute"] = g_settings_get_boolean(settings, band_mute[n].data()) != 0; json[bandn]["gain"] = g_settings_get_double(settings, band_gain[n].data()); json[bandn]["frequency"] = g_settings_get_double(settings, band_frequency[n].data()); json[bandn]["q"] = g_settings_get_double(settings, band_q[n].data()); json[bandn]["width"] = g_settings_get_double(settings, band_width[n].data()); } } void EqualizerPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "num-bands", "num-bands"); update_key(json.at(section).at(instance_name), settings, "split-channels", "split-channels"); update_key(json.at(section).at(instance_name), settings, "balance", "balance"); update_key(json.at(section).at(instance_name), settings, "pitch-left", "pitch-left"); update_key(json.at(section).at(instance_name), settings, "pitch-right", "pitch-right"); const auto nbands = g_settings_get_int(settings, "num-bands"); if (section == "input") { load_channel(json.at(section).at(instance_name).at("left"), input_settings_left, nbands); load_channel(json.at(section).at(instance_name).at("right"), input_settings_right, nbands); } else if (section == "output") { load_channel(json.at(section).at(instance_name).at("left"), output_settings_left, nbands); load_channel(json.at(section).at(instance_name).at("right"), output_settings_right, nbands); } } void EqualizerPreset::load_channel(const nlohmann::json& json, GSettings* settings, const int& nbands) { for (int n = 0; n < nbands; n++) { const auto bandn = "band" + util::to_string(n); update_key(json.at(bandn), settings, band_type[n].data(), "type"); update_key(json.at(bandn), settings, band_mode[n].data(), "mode"); update_key(json.at(bandn), settings, band_slope[n].data(), "slope"); update_key(json.at(bandn), settings, band_solo[n].data(), "solo"); update_key(json.at(bandn), settings, band_mute[n].data(), "mute"); update_key(json.at(bandn), settings, band_gain[n].data(), "gain"); update_key(json.at(bandn), settings, band_frequency[n].data(), "frequency"); update_key(json.at(bandn), settings, band_q[n].data(), "q"); update_key(json.at(bandn), settings, band_width[n].data(), "width"); } } easyeffects-7.1.7/src/equalizer_ui.cpp000066400000000000000000001221521463533416400200340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "equalizer_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "equalizer.hpp" #include "equalizer_band_box.hpp" #include "tags_equalizer.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::equalizer_box { using namespace tags::equalizer; enum Channel { left, right }; struct APO_Band { std::string type; float freq = 1000.0F; float gain = 0.0F; float quality = (1.0F / std::numbers::sqrt2_v); // default in LSP APO import }; struct GraphicEQ_Band { float freq = 1000.0F; float gain = 0.0F; }; std::map const ApoToEasyEffectsFilter = { {"OFF", "Off"}, {"PK", "Bell"}, {"MODAL", "Bell"}, {"PEQ", "Bell"}, {"LP", "Lo-pass"}, {"LPQ", "Lo-pass"}, {"HP", "Hi-pass"}, {"HPQ", "Hi-pass"}, {"BP", "Bandpass"}, {"LS", "Lo-shelf"}, {"LSC", "Lo-shelf"}, {"LS 6DB", "Lo-shelf"}, {"LS 12DB", "Lo-shelf"}, {"HS", "Hi-shelf"}, {"HSC", "Hi-shelf"}, {"HS 6DB", "Hi-shelf"}, {"HS 12DB", "Hi-shelf"}, {"NO", "Notch"}, {"AP", "Allpass"}}; std::map const EasyEffectsToApoFilter = { {"Bell", "PK"}, {"Lo-pass", "LPQ"}, {"Hi-pass", "HPQ"}, {"Lo-shelf", "LSC"}, {"Hi-shelf", "HSC"}, {"Notch", "NO"}, {"Allpass", "AP"}, {"Bandpass", "BP"}}; struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; app::Application* application{}; std::shared_ptr equalizer; std::vector connections; std::vector gconnections; }; struct _EqualizerBox { GtkBox parent_instance; AdwToastOverlay* toast_overlay; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkStack* stack; GtkListView *listview_left, *listview_right; GtkSpinButton *nbands, *balance, *pitch_left, *pitch_right; GtkDropDown* mode; GtkToggleButton *split_channels, *show_native_ui; GSettings *settings, *settings_left, *settings_right; GtkStringList *string_list_left, *string_list_right; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(EqualizerBox, equalizer_box, GTK_TYPE_BOX) void on_reset(EqualizerBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); util::reset_all_keys_except(self->settings_left); util::reset_all_keys_except(self->settings_right); } void on_show_native_window(EqualizerBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->equalizer->show_native_ui(); } else { self->data->equalizer->close_native_ui(); } } void on_flat_response(EqualizerBox* self, GtkButton* btn) { const auto& max_bands = self->data->equalizer->max_bands; for (uint n = 0U; n < max_bands; n++) { g_settings_reset(self->settings_left, band_gain[n].data()); g_settings_reset(self->settings_right, band_gain[n].data()); } } void on_calculate_frequencies(EqualizerBox* self, GtkButton* btn) { constexpr double min_freq = 20.0; constexpr double max_freq = 20000.0; double freq0 = min_freq; double freq1 = 0.0; const auto nbands = g_settings_get_int(self->settings, "num-bands"); // code taken from gstreamer equalizer sources: gstiirequalizer.c // function: gst_iir_equalizer_compute_frequencies const double step = std::pow(max_freq / min_freq, 1.0 / static_cast(nbands)); for (int n = 0; n < nbands; n++) { freq1 = freq0 * step; const double freq = freq0 + 0.5 * (freq1 - freq0); const double width = freq1 - freq0; const double q = freq / width; // std::cout << n << "\t" << freq << "\t" << width << std::endl; g_settings_set_double(self->settings_left, band_frequency[n].data(), freq); g_settings_set_double(self->settings_left, band_q[n].data(), q); g_settings_reset(self->settings_left, band_width[n].data()); g_settings_set_double(self->settings_right, band_frequency[n].data(), freq); g_settings_set_double(self->settings_right, band_q[n].data(), q); g_settings_reset(self->settings_right, band_width[n].data()); freq0 = freq1; } } // ### APO Preset Section ### auto parse_apo_preamp(const std::string& line, double& preamp) -> bool { std::smatch matches; static const auto re_preamp = std::regex(R"(preamp\s*:\s*([+-]?\d+(?:\.\d+)?)\s*db)", std::regex::icase); std::regex_search(line, matches, re_preamp); if (matches.size() != 2U) { return false; } return util::str_to_num(matches.str(1), preamp); } auto parse_apo_filter_type(const std::string& line, struct APO_Band& filter) -> bool { // Look for disabled filter. std::smatch matches_off; static const auto re_filter_off = std::regex(R"(filter\s*\d*\s*:\s*off\s)", std::regex::icase); std::regex_search(line, matches_off, re_filter_off); if (matches_off.size() == 1U) { // If the APO filter is disabled, we assume the "OFF" type. filter.type = "OFF"; return true; } // If the filter is enabled, look for the filter type. std::smatch matches_filter; static const auto re_filter_type = std::regex(R"(filter\s*\d*\s*:\s*on\s+([a-z]+(?:\s+(?:6|12)db)?))", std::regex::icase); std::regex_search(line, matches_filter, re_filter_type); if (matches_filter.size() != 2U) { return false; } // Possible multiple whitespaces are replaced by a single space filter.type = std::regex_replace(matches_filter.str(1), std::regex(R"(\s+)"), " "); // Filter string needed in uppercase for lookup in map std::transform(filter.type.begin(), filter.type.end(), filter.type.begin(), [](unsigned char c) { return std::toupper(c); }); return !filter.type.empty(); } auto parse_apo_frequency(const std::string& line, struct APO_Band& filter) -> bool { std::smatch matches; static const auto re_freq = std::regex(R"(fc\s+(\d+(?:,\d+)?(?:\.\d+)?)\s*hz)", std::regex::icase); std::regex_search(line, matches, re_freq); if (matches.size() != 2U) { return false; } // Frequency could have a comma as thousands separator // to be removed for the correct float conversion. return util::str_to_num(std::regex_replace(matches.str(1), std::regex(","), ""), filter.freq); } auto parse_apo_gain(const std::string& line, struct APO_Band& filter) -> bool { std::smatch matches; static const auto re_gain = std::regex(R"(gain\s+([+-]?\d+(?:\.\d+)?)\s*db)", std::regex::icase); std::regex_search(line, matches, re_gain); if (matches.size() != 2U) { return false; } return util::str_to_num(matches.str(1), filter.gain); } auto parse_apo_quality(const std::string& line, struct APO_Band& filter) -> bool { std::smatch matches; static const auto re_quality = std::regex(R"(q\s+(\d+(?:\.\d+)?))", std::regex::icase); std::regex_search(line, matches, re_quality); if (matches.size() != 2U) { return false; } return util::str_to_num(matches.str(1), filter.quality); } auto parse_apo_config_line(const std::string& line, struct APO_Band& filter) -> bool { // Retrieve filter type. if (!parse_apo_filter_type(line, filter)) { // If we can't parse the filter type, there's something wrong in the text line, // so exit with false. return false; } // Retrieve frequency. // To make it more permissive, we do not exit on false here (assume default). parse_apo_frequency(line, filter); // The following has been inspired by the function // "para_equalizer_ui::import_rew_file(const LSPString*)" // inside 'lsp-plugins/src/ui/plugins/para_equalizer_ui.cpp' at // https://github.com/sadko4u/lsp-plugins // Retrieve gain and/or quality parameters based on a specific filter type. // Calculate frequency/quality if needed. // If the APO filter type is different than the ones specified below, // it's set as "Off" and default values are assumed since // it may not be supported by LSP Equalizer. if (filter.type == "OFF") { // On disabled filter state, we still try to retrieve gain and quality, // even if the band won't be processed by LSP equalizer. parse_apo_gain(line, filter); parse_apo_quality(line, filter); } else if (filter.type == "PK" || filter.type == "MODAL" || filter.type == "PEQ") { // Peak/Bell filter parse_apo_gain(line, filter); parse_apo_quality(line, filter); } else if (filter.type == "LP" || filter.type == "LPQ" || filter.type == "HP" || filter.type == "HPQ" || filter.type == "BP") { // Low-pass, High-pass and Band-pass filters, // (LSP does not import Band-pass, but we do it anyway). parse_apo_quality(line, filter); } else if (filter.type == "LS" || filter.type == "LSC" || filter.type == "HS" || filter.type == "HSC") { // Low-shelf and High-shelf filters (with center freq., x dB per oct.) parse_apo_gain(line, filter); // Q value is optional for these filters according to APO config documentation, // but LSP import function always sets it to 2/3. filter.quality = 2.0F / 3.0F; } else if (filter.type == "LS 6DB") { // Low-shelf filter (6 dB per octave with corner freq.) parse_apo_gain(line, filter); // LSP import function sets custom freq and quality for this filter. filter.freq = filter.freq * 2.0F / 3.0F; filter.quality = std::numbers::sqrt2_v / 3.0F; } else if (filter.type == "LS 12DB") { // Low-shelf filter (12 dB per octave with corner freq.) parse_apo_gain(line, filter); // LSP import function sets custom freq for this filter. filter.freq = filter.freq * 3.0F / 2.0F; } else if (filter.type == "HS 6DB") { // High-shelf filter (6 dB per octave with corner freq.) parse_apo_gain(line, filter); // LSP import function sets custom freq and quality for this filter. filter.freq = filter.freq / (1.0F / std::numbers::sqrt2_v); filter.quality = std::numbers::sqrt2_v / 3.0F; } else if (filter.type == "HS 12DB") { // High-shelf filter (12 dB per octave with corner freq.) parse_apo_gain(line, filter); // LSP import function sets custom freq for this filter. filter.freq = filter.freq * (1.0F / std::numbers::sqrt2_v); } else if (filter.type == "NO") { // Notch filter // Q value is optional for this filter according to APO config documentation, // but LSP import function always sets it to 100/3. filter.quality = 100.0F / 3.0F; } else if (filter.type == "AP") { // All-pass filter // Q value is mandatory for this filter according to APO config documentation, // but LSP import function always sets it to 0, // no matter which quality value the APO config has. filter.quality = 0.0F; } return true; } auto import_apo_preset(EqualizerBox* self, const std::string& file_path) -> bool { std::filesystem::path p{file_path}; if (!std::filesystem::is_regular_file(p)) { return false; } std::ifstream eq_file; eq_file.open(p.c_str()); std::vector bands; double preamp = 0.0; if (const auto re = std::regex(R"(^[ \t]*#)"); eq_file.is_open()) { for (std::string line; std::getline(eq_file, line);) { if (std::regex_search(line, re)) { // Avoid commented lines continue; } if (struct APO_Band filter; parse_apo_config_line(line, filter)) { bands.push_back(filter); } else { parse_apo_preamp(line, preamp); } } } eq_file.close(); if (bands.empty()) { return false; } /* Sort bands by freq is made by user through Equalizer::sort_bands() std::ranges::stable_sort(bands, {}, &APO_Band::freq); */ const auto& max_bands = self->data->equalizer->max_bands; // Apply APO parameters obtained g_settings_set_int(self->settings, "num-bands", static_cast(std::min(static_cast(bands.size()), max_bands))); g_settings_set_double(self->settings, "input-gain", preamp); std::vector settings_channels; // Whether to apply the parameters to both channels or the selected one only if (g_settings_get_boolean(self->settings, "split-channels") == 0) { settings_channels.push_back(self->settings_left); settings_channels.push_back(self->settings_right); } else if (g_strcmp0(gtk_stack_get_visible_child_name(self->stack), "page_left_channel") == 0) { settings_channels.push_back(self->settings_left); } else { settings_channels.push_back(self->settings_right); } // Retrieve GSettingsSchema* for range check GSettingsSchema* schema = nullptr; g_object_get(self->settings_left, "settings-schema", &schema, nullptr); if (schema == nullptr) { return false; } // Apply APO parameters obtained for each band for (uint n = 0U, apo_bands = bands.size(); n < max_bands; n++) { for (auto* channel : settings_channels) { if (n < apo_bands) { // Band frequency and type auto* freq_schema_key = g_settings_schema_get_key(schema, band_frequency[n].data()); auto* freq_variant = g_variant_new_double(static_cast(bands[n].freq)); if (g_settings_schema_key_range_check(freq_schema_key, freq_variant) != 0) { g_settings_set_double(channel, band_frequency[n].data(), bands[n].freq); std::string curr_band_type; try { curr_band_type = ApoToEasyEffectsFilter.at(bands[n].type); } catch (std::out_of_range const&) { curr_band_type = "Off"; } g_settings_set_string(channel, band_type[n].data(), curr_band_type.c_str()); } else { // If the frequency is not in the valid range, we assume the filter is // unsupported or disabled, so reset to default frequency and set type Off. g_settings_reset(channel, band_frequency[n].data()); g_settings_set_string(channel, band_type[n].data(), "Off"); } g_variant_unref(freq_variant); g_settings_schema_key_unref(freq_schema_key); // Band gain auto* gain_schema_key = g_settings_schema_get_key(schema, band_gain[n].data()); auto* gain_variant = g_variant_new_double(static_cast(bands[n].gain)); if (g_settings_schema_key_range_check(gain_schema_key, gain_variant) != 0) { g_settings_set_double(channel, band_gain[n].data(), bands[n].gain); } else { g_settings_reset(channel, band_gain[n].data()); } g_variant_unref(gain_variant); g_settings_schema_key_unref(gain_schema_key); // Band quality auto* q_schema_key = g_settings_schema_get_key(schema, band_q[n].data()); auto* q_variant = g_variant_new_double(static_cast(bands[n].quality)); if (g_settings_schema_key_range_check(q_schema_key, q_variant) != 0) { g_settings_set_double(channel, band_q[n].data(), bands[n].quality); } else { g_settings_reset(channel, band_q[n].data()); } g_variant_unref(q_variant); g_settings_schema_key_unref(q_schema_key); // Band mode g_settings_set_string(channel, band_mode[n].data(), "APO (DR)"); } else { g_settings_reset(channel, band_frequency[n].data()); g_settings_set_string(channel, band_type[n].data(), "Off"); g_settings_reset(channel, band_gain[n].data()); g_settings_reset(channel, band_q[n].data()); g_settings_reset(channel, band_mode[n].data()); } g_settings_reset(channel, band_width[n].data()); g_settings_reset(channel, band_slope[n].data()); g_settings_reset(channel, band_mute[n].data()); g_settings_reset(channel, band_solo[n].data()); } } g_settings_schema_unref(schema); return true; } void on_import_apo_preset_clicked(EqualizerBox* self, GtkButton* btn) { auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto* dialog = gtk_file_dialog_new(); gtk_file_dialog_set_title(dialog, _("Import APO Preset File")); gtk_file_dialog_set_accept_label(dialog, _("Open")); GListStore* filters = g_list_store_new(GTK_TYPE_FILE_FILTER); auto* filter = gtk_file_filter_new(); gtk_file_filter_add_mime_type(filter, "text/plain"); gtk_file_filter_set_name(filter, _("APO Presets")); g_list_store_append(filters, filter); g_object_unref(filter); gtk_file_dialog_set_filters(dialog, G_LIST_MODEL(filters)); g_object_unref(filters); gtk_file_dialog_open( dialog, active_window, nullptr, +[](GObject* source_object, GAsyncResult* result, gpointer user_data) { auto* self = static_cast(user_data); auto* dialog = GTK_FILE_DIALOG(source_object); auto* file = gtk_file_dialog_open_finish(dialog, result, nullptr); if (file != nullptr) { auto* path = g_file_get_path(file); if (!import_apo_preset(self, path)) { // notify error on preset loading ui::show_fixed_toast( self->toast_overlay, _("APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its Content.")); } g_free(path); g_object_unref(file); } }, self); } auto export_apo_preset(EqualizerBox* self, GFile* file) { GFileOutputStream* output_stream = g_file_replace(file, nullptr, false, G_FILE_CREATE_NONE, nullptr, nullptr); if (output_stream == nullptr) { return false; } std::ostringstream write_buffer; const double preamp = g_settings_get_double(self->settings, "input-gain"); write_buffer << "Preamp: " << util::to_string(preamp) << " db" << "\n"; const auto nbands = gtk_spin_button_get_value_as_int(self->nbands); for (int i = 0, k = 1; i < nbands; ++i) { const auto curr_band_type = util::gsettings_get_string(self->settings_left, band_type[i].data()); if (curr_band_type == "Off") { // Skip disabled filters, we only export active ones. continue; } APO_Band apo_band; apo_band.type = EasyEffectsToApoFilter.at(curr_band_type); apo_band.freq = g_settings_get_double(self->settings_left, band_frequency[i].data()); apo_band.gain = g_settings_get_double(self->settings_left, band_gain[i].data()); apo_band.quality = g_settings_get_double(self->settings_left, band_q[i].data()); write_buffer << "Filter " << util::to_string(k++) << ": ON " << apo_band.type << " Fc " << util::to_string(apo_band.freq) << " Hz"; if (curr_band_type == "Bell" || curr_band_type == "Lo-shelf" || curr_band_type == "Hi-shelf") { // According to APO config documentation, gain value should only be defined // for Peak, Low-shelf and High-shelf filters. write_buffer << " Gain " << util::to_string(apo_band.gain) << " dB"; } write_buffer << " Q " << util::to_string(apo_band.quality) << "\n"; } if (g_output_stream_write(G_OUTPUT_STREAM(output_stream), write_buffer.str().c_str(), write_buffer.str().size(), nullptr, nullptr) == -1) { return false; } return g_output_stream_close(G_OUTPUT_STREAM(output_stream), nullptr, nullptr) != 0; } void on_export_apo_preset_clicked(EqualizerBox* self, GtkButton* btn) { if (static_cast(g_settings_get_boolean(self->settings, "split-channels"))) { ui::show_fixed_toast(self->toast_overlay, _("Split channels not yet supported when exporting APO presets.")); return; } auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto* dialog = gtk_file_dialog_new(); gtk_file_dialog_set_title(dialog, _("Export EqualizerAPO Preset File")); gtk_file_dialog_set_accept_label(dialog, _("Save")); GListStore* filters = g_list_store_new(GTK_TYPE_FILE_FILTER); auto* filter = gtk_file_filter_new(); gtk_file_filter_add_mime_type(filter, "text/plain"); gtk_file_filter_set_name(filter, _("EqualizerAPO Presets")); g_list_store_append(filters, filter); g_object_unref(filter); gtk_file_dialog_set_filters(dialog, G_LIST_MODEL(filters)); g_object_unref(filters); gtk_file_dialog_save( dialog, active_window, nullptr, +[](GObject* source_object, GAsyncResult* result, gpointer user_data) { auto* self = static_cast(user_data); auto* dialog = GTK_FILE_DIALOG(source_object); if (auto* file = gtk_file_dialog_save_finish(dialog, result, nullptr); file != nullptr) { export_apo_preset(self, file); g_object_unref(file); } }, self); } // ### End APO Preset Section ### // ### GraphicEQ Section ### auto parse_graphiceq_config(const std::string& str, std::vector& bands) -> bool { std::smatch full_match; // The first parsing stage is to ensure the given string contains a // substring corresponding to the GraphicEQ format reported in the documentation: // https://sourceforge.net/p/equalizerapo/wiki/Configuration%20reference/#graphiceq-since-version-10 // In order to do it, the following regular expression is used: static const auto re_geq = std::regex( R"(graphiceq\s*:((?:\s*\d+(?:,\d+)?(?:\.\d+)?\s+[+-]?\d+(?:\.\d+)?[ \t]*(?:;|$))+))", std::regex::icase); // That regex is quite permissive since: // - It's case insensitive; // - Gain values can be signed (with leading +/-); // - Frequency values can use a comma as thousand separator. // Note that the last class does not include the newline as whitespaces to allow // matching the `$` as the end of line (not needed in this case, but it will also // work if the input string will be multiline in the future). // This ensures the last band is captured with or without the final `;`. // The regex has been tested at https://regex101.com/r/JRwf4G/1 std::regex_search(str, full_match, re_geq); // The regex captures the full match and a group related to the sequential bands. if (full_match.size() != 2U) { return false; } // Save the substring with all the bands and use it to extract the values. // It can't be const because it's used to store the sub-sequential strings // from the match_result class with suffix(). See the following while loop. auto bands_substr = full_match.str(1); // Couldn't we extract the values in one only regex checking also the GraphicEQ format? // No, there's no way. Even with Perl Compatible Regex (PCRE) checking the whole format // and capturing the values will return only the last repeated group (the last band), // but we need all of them. std::smatch band_match; static const auto re_geq_band = std::regex(R"((\d+(?:,\d+)?(?:\.\d+)?)\s+([+-]?\d+(?:\.\d+)?))"); // C++ regex does not support the global PCRE flag, so we need to repeat the search in a loop. while (std::regex_search(bands_substr, band_match, re_geq_band)) { // The size of the match should be 3: // The full match with two additional groups (frequency and gain value). if (band_match.size() != 3U) { break; } struct GraphicEQ_Band band; // Extract frequency. It could have a comma as thousands separator // to be removed for the correct float conversion. const auto freq_str = std::regex_replace(band_match.str(1), std::regex(","), ""); util::str_to_num(freq_str, band.freq); // Extract gain. const auto gain_str = band_match.str(2); util::str_to_num(gain_str, band.gain); // Push the band into the vector. bands.push_back(band); // Save the sub-sequential string, so the regex can return the match // for the following band (if existing). bands_substr = band_match.suffix().str(); } return !bands.empty(); } auto import_graphiceq_preset(EqualizerBox* self, const std::string& file_path) -> bool { std::filesystem::path p{file_path}; if (!std::filesystem::is_regular_file(p)) { return false; } std::ifstream eq_file; eq_file.open(p.c_str()); std::vector bands; if (const auto re = std::regex(R"(^[ \t]*#)"); eq_file.is_open()) { for (std::string line; std::getline(eq_file, line);) { if (std::regex_search(line, re)) { // Avoid commented lines continue; } if (parse_graphiceq_config(line, bands)) { break; } } } eq_file.close(); if (bands.empty()) { return false; } /* Sort bands by freq is made by user through Equalizer::sort_bands() std::ranges::stable_sort(bands, {}, &GraphicEQ_Band::freq); */ const auto& max_bands = self->data->equalizer->max_bands; // Reset preamp g_settings_reset(self->settings, "input-gain"); // Apply GraphicEQ parameters obtained g_settings_set_int(self->settings, "num-bands", static_cast(std::min(static_cast(bands.size()), max_bands))); std::vector settings_channels; // Whether to apply the parameters to both channels or the selected one only if (g_settings_get_boolean(self->settings, "split-channels") == 0) { settings_channels.push_back(self->settings_left); settings_channels.push_back(self->settings_right); } else if (g_strcmp0(gtk_stack_get_visible_child_name(self->stack), "page_left_channel") == 0) { settings_channels.push_back(self->settings_left); } else { settings_channels.push_back(self->settings_right); } // Retrieve GSettingsSchema* for range check GSettingsSchema* schema = nullptr; g_object_get(self->settings_left, "settings-schema", &schema, nullptr); if (schema == nullptr) { return false; } // Apply GraphicEQ parameters obtained for each band for (uint n = 0U, geq_bands = bands.size(); n < max_bands; n++) { for (auto* channel : settings_channels) { if (n < geq_bands) { // Band frequency and type auto* freq_schema_key = g_settings_schema_get_key(schema, band_frequency[n].data()); auto* freq_variant = g_variant_new_double(static_cast(bands[n].freq)); if (g_settings_schema_key_range_check(freq_schema_key, freq_variant) != 0) { g_settings_set_double(channel, band_frequency[n].data(), bands[n].freq); g_settings_set_string(channel, band_type[n].data(), "Bell"); } else { // If the frequency is not in the valid range, we assume the filter is // unsupported or disabled, so reset to default frequency and set type Off. g_settings_reset(channel, band_frequency[n].data()); g_settings_set_string(channel, band_type[n].data(), "Off"); } g_variant_unref(freq_variant); g_settings_schema_key_unref(freq_schema_key); // Band gain auto* gain_schema_key = g_settings_schema_get_key(schema, band_gain[n].data()); auto* gain_variant = g_variant_new_double(static_cast(bands[n].gain)); if (g_settings_schema_key_range_check(gain_schema_key, gain_variant) != 0) { g_settings_set_double(channel, band_gain[n].data(), bands[n].gain); } else { g_settings_reset(channel, band_gain[n].data()); } g_variant_unref(gain_variant); g_settings_schema_key_unref(gain_schema_key); } else { g_settings_reset(channel, band_frequency[n].data()); g_settings_reset(channel, band_gain[n].data()); g_settings_set_string(channel, band_type[n].data(), "Off"); } g_settings_reset(channel, band_mode[n].data()); g_settings_reset(channel, band_q[n].data()); g_settings_reset(channel, band_width[n].data()); g_settings_reset(channel, band_slope[n].data()); g_settings_reset(channel, band_solo[n].data()); g_settings_reset(channel, band_mute[n].data()); } } g_settings_schema_unref(schema); return true; } void on_import_geq_preset_clicked(EqualizerBox* self, GtkButton* btn) { auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto* dialog = gtk_file_dialog_new(); gtk_file_dialog_set_title(dialog, _("Import GraphicEQ Preset File")); gtk_file_dialog_set_accept_label(dialog, _("Open")); GListStore* filters = g_list_store_new(GTK_TYPE_FILE_FILTER); auto* filter = gtk_file_filter_new(); gtk_file_filter_add_mime_type(filter, "text/plain"); gtk_file_filter_set_name(filter, _("GraphicEQ Presets")); g_list_store_append(filters, filter); g_object_unref(filter); gtk_file_dialog_set_filters(dialog, G_LIST_MODEL(filters)); g_object_unref(filters); gtk_file_dialog_open( dialog, active_window, nullptr, +[](GObject* source_object, GAsyncResult* result, gpointer user_data) { auto* self = static_cast(user_data); auto* dialog = GTK_FILE_DIALOG(source_object); auto* file = gtk_file_dialog_open_finish(dialog, result, nullptr); if (file != nullptr) { auto* path = g_file_get_path(file); if (!import_graphiceq_preset(self, path)) { // notify error on preset loading ui::show_fixed_toast( self->toast_overlay, _("GraphicEQ Preset Not Loaded. File Format May Be Not Supported. Please Check Its Content.")); } g_free(path); g_object_unref(file); } }, self); } // ### End GraphicEQ Section ### auto sort_band_widgets(EqualizerBox* self, const int nbands, GSettings* settings, const bool& sort_by_freq) -> std::vector { std::vector list(nbands); std::iota(list.begin(), list.end(), 0); if (sort_by_freq) { std::ranges::sort(list, [=](const int& a, const int& b) { const auto freq_a = g_settings_get_double(settings, band_frequency[a].data()); const auto freq_b = g_settings_get_double(settings, band_frequency[b].data()); return freq_a < freq_b; }); } std::vector output; output.reserve(nbands); for (int n = 0; n < nbands; n++) { output.push_back(util::to_string(list[n])); } return output; } void build_all_bands(EqualizerBox* self, const bool& sort_by_freq = false) { const auto split = g_settings_get_boolean(self->settings, "split-channels") != 0; const auto nbands = g_settings_get_int(self->settings, "num-bands"); auto list = sort_band_widgets(self, nbands, self->settings_left, sort_by_freq); gtk_string_list_splice(self->string_list_left, 0, g_list_model_get_n_items(G_LIST_MODEL(self->string_list_left)), util::make_gchar_pointer_vector(list).data()); if (split) { list = sort_band_widgets(self, nbands, self->settings_right, sort_by_freq); gtk_string_list_splice(self->string_list_right, 0, g_list_model_get_n_items(G_LIST_MODEL(self->string_list_right)), util::make_gchar_pointer_vector(list).data()); } } void on_sort_bands(EqualizerBox* self, GtkButton* btn) { self->data->equalizer->sort_bands(); } template void setup_listview(EqualizerBox* self) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect(factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, EqualizerBox* self) { auto* band_box = ui::equalizer_band_box::create(); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(band_box)); g_object_set_data(G_OBJECT(item), "band-box", band_box); if constexpr (channel == Channel::left) { ui::equalizer_band_box::setup(band_box, self->settings_left); } else if constexpr (channel == Channel::right) { ui::equalizer_band_box::setup(band_box, self->settings_right); } }), self); g_signal_connect( factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, EqualizerBox* self) { auto* band_box = static_cast(g_object_get_data(G_OBJECT(item), "band-box")); auto* child_item = gtk_list_item_get_item(item); auto* band_id_str = gtk_string_object_get_string(GTK_STRING_OBJECT(child_item)); int band_id = 0; util::str_to_num(band_id_str, band_id); ui::equalizer_band_box::bind(band_box, band_id); }), self); if constexpr (channel == Channel::left) { gtk_list_view_set_factory(self->listview_left, factory); } else if constexpr (channel == Channel::right) { gtk_list_view_set_factory(self->listview_right, factory); } g_object_unref(factory); } void setup(EqualizerBox* self, std::shared_ptr equalizer, const std::string& schema_path, app::Application* application) { self->data->equalizer = equalizer; self->data->application = application; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::equalizer::id, schema_path.c_str()); self->settings_left = g_settings_new_with_path(tags::schema::equalizer::channel_id, (schema_path + "leftchannel/").c_str()); self->settings_right = g_settings_new_with_path(tags::schema::equalizer::channel_id, (schema_path + "rightchannel/").c_str()); equalizer->set_post_messages(true); setup_listview(self); setup_listview(self); build_all_bands(self); self->data->connections.push_back(equalizer->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(equalizer->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->equalizer->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "num-bands", gtk_spin_button_get_adjustment(self->nbands), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "split-channels", self->split_channels, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->mode); g_settings_bind(self->settings, "balance", gtk_spin_button_get_adjustment(self->balance), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "pitch-left", gtk_spin_button_get_adjustment(self->pitch_left), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "pitch-right", gtk_spin_button_get_adjustment(self->pitch_right), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::num-bands", G_CALLBACK(+[](GSettings* settings, char* key, EqualizerBox* self) { build_all_bands(self); }), self)); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::split-channels", G_CALLBACK(+[](GSettings* settings, char* key, EqualizerBox* self) { gtk_stack_set_visible_child_name(self->stack, "page_left_channel"); build_all_bands(self); }), self)); } void dispose(GObject* object) { auto* self = EE_EQUALIZER_BOX(object); self->data->equalizer->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); g_object_unref(self->settings_left); g_object_unref(self->settings_right); util::debug("disposed"); G_OBJECT_CLASS(equalizer_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_EQUALIZER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(equalizer_box_parent_class)->finalize(object); } void equalizer_box_class_init(EqualizerBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::equalizer_ui); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, toast_overlay); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, input_gain); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, output_gain); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, stack); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, listview_left); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, listview_right); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, string_list_left); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, string_list_right); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, nbands); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, mode); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, split_channels); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, balance); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, pitch_left); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, pitch_right); gtk_widget_class_bind_template_child(widget_class, EqualizerBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); gtk_widget_class_bind_template_callback(widget_class, on_flat_response); gtk_widget_class_bind_template_callback(widget_class, on_calculate_frequencies); gtk_widget_class_bind_template_callback(widget_class, on_sort_bands); gtk_widget_class_bind_template_callback(widget_class, on_import_apo_preset_clicked); gtk_widget_class_bind_template_callback(widget_class, on_import_geq_preset_clicked); gtk_widget_class_bind_template_callback(widget_class, on_export_apo_preset_clicked); } void equalizer_box_init(EqualizerBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"%">(self->balance); prepare_spinbuttons<"st">(self->pitch_left, self->pitch_right); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> EqualizerBox* { return static_cast(g_object_new(EE_TYPE_EQUALIZER_BOX, nullptr)); } } // namespace ui::equalizer_box easyeffects-7.1.7/src/exciter.cpp000066400000000000000000000071561463533416400170070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "exciter.hpp" #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Exciter::Exciter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::exciter, tags::plugin_package::calf, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://calf.sourceforge.net/plugins/Exciter"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://calf.sourceforge.net/plugins/Exciter is not installed"); } lv2_wrapper->bind_key_double_db<"amount", "amount">(settings); lv2_wrapper->bind_key_double<"drive", "harmonics">(settings); lv2_wrapper->bind_key_double<"freq", "scope">(settings); lv2_wrapper->bind_key_double<"ceil", "ceil">(settings); lv2_wrapper->bind_key_double<"blend", "blend">(settings); lv2_wrapper->bind_key_bool<"ceil_active", "ceil-active">(settings); lv2_wrapper->bind_key_bool<"listen", "listen">(settings); setup_input_output_gain(); } Exciter::~Exciter() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Exciter::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Exciter::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { /// harmonics needed as double for levelbar widget ui, so we convert it here harmonics_port_value = static_cast(lv2_wrapper->get_control_port_value("meter_drive")); if (!post_messages) { return; } harmonics.emit(harmonics_port_value); notify(); } } } auto Exciter::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/exciter_preset.cpp000066400000000000000000000060761463533416400203710ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "exciter_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" ExciterPreset::ExciterPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::exciter::id, tags::schema::exciter::input_path, tags::schema::exciter::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::exciter).append("#").append(util::to_string(index)); } void ExciterPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["amount"] = g_settings_get_double(settings, "amount"); json[section][instance_name]["harmonics"] = g_settings_get_double(settings, "harmonics"); json[section][instance_name]["scope"] = g_settings_get_double(settings, "scope"); json[section][instance_name]["ceil"] = g_settings_get_double(settings, "ceil"); json[section][instance_name]["blend"] = g_settings_get_double(settings, "blend"); json[section][instance_name]["ceil-active"] = g_settings_get_boolean(settings, "ceil-active") != 0; } void ExciterPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "amount", "amount"); update_key(json.at(section).at(instance_name), settings, "harmonics", "harmonics"); update_key(json.at(section).at(instance_name), settings, "scope", "scope"); update_key(json.at(section).at(instance_name), settings, "ceil", "ceil"); update_key(json.at(section).at(instance_name), settings, "blend", "blend"); update_key(json.at(section).at(instance_name), settings, "ceil-active", "ceil-active"); } easyeffects-7.1.7/src/exciter_ui.cpp000066400000000000000000000205731463533416400175020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "exciter_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include "exciter.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::exciter_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr exciter; std::vector connections; std::vector gconnections; }; struct _ExciterBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkLevelBar* harmonics_levelbar; GtkLabel* harmonics_levelbar_label; GtkSpinButton *ceil, *amount, *harmonics, *scope; GtkScale* blend; GtkToggleButton *ceil_active, *listen; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ExciterBox, exciter_box, GTK_TYPE_BOX) void on_reset(ExciterBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(ExciterBox* self, std::shared_ptr exciter, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->exciter = exciter; self->settings = g_settings_new_with_path(tags::schema::exciter::id, schema_path.c_str()); exciter->set_post_messages(true); self->data->connections.push_back(exciter->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(exciter->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(exciter->harmonics.connect([=](const double value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->harmonics_levelbar) || !GTK_IS_LABEL(self->harmonics_levelbar_label)) { return; } gtk_level_bar_set_value(self->harmonics_levelbar, value); gtk_label_set_text(self->harmonics_levelbar_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->exciter->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "amount", gtk_spin_button_get_adjustment(self->amount), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "harmonics", gtk_spin_button_get_adjustment(self->harmonics), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "scope", gtk_spin_button_get_adjustment(self->scope), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "ceil", gtk_spin_button_get_adjustment(self->ceil), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "blend", gtk_range_get_adjustment(GTK_RANGE(self->blend)), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "listen", self->listen, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "ceil-active", self->ceil_active, "active", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_EXCITER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(exciter_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_EXCITER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(exciter_box_parent_class)->finalize(object); } void exciter_box_class_init(ExciterBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::exciter_ui); gtk_widget_class_bind_template_child(widget_class, ExciterBox, input_gain); gtk_widget_class_bind_template_child(widget_class, ExciterBox, output_gain); gtk_widget_class_bind_template_child(widget_class, ExciterBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, ExciterBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, ExciterBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, ExciterBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, ExciterBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, ExciterBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, ExciterBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, ExciterBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, ExciterBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, ExciterBox, harmonics_levelbar_label); gtk_widget_class_bind_template_child(widget_class, ExciterBox, harmonics_levelbar); gtk_widget_class_bind_template_child(widget_class, ExciterBox, ceil); gtk_widget_class_bind_template_child(widget_class, ExciterBox, amount); gtk_widget_class_bind_template_child(widget_class, ExciterBox, harmonics); gtk_widget_class_bind_template_child(widget_class, ExciterBox, scope); gtk_widget_class_bind_template_child(widget_class, ExciterBox, blend); gtk_widget_class_bind_template_child(widget_class, ExciterBox, ceil_active); gtk_widget_class_bind_template_child(widget_class, ExciterBox, listen); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void exciter_box_init(ExciterBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"dB">(self->amount); prepare_spinbuttons<"Hz">(self->scope, self->ceil); prepare_spinbuttons<"">(self->harmonics); prepare_scales<"">(self->blend); } auto create() -> ExciterBox* { return static_cast(g_object_new(EE_TYPE_EXCITER_BOX, nullptr)); } } // namespace ui::exciter_box easyeffects-7.1.7/src/expander.cpp000066400000000000000000000172261463533416400171510ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "expander.hpp" #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Expander::Expander(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::expander, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type, true) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/sc_expander_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_expander_stereo is not installed"); } gconnections.push_back(g_signal_connect(settings, "changed::sidechain-type", G_CALLBACK(+[](GSettings* settings, const char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input-device", G_CALLBACK(+[](GSettings* settings, const char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); lv2_wrapper->bind_key_enum<"em", "mode">(settings); lv2_wrapper->bind_key_enum<"sci", "sidechain-type">(settings); lv2_wrapper->bind_key_enum<"scm", "sidechain-mode">(settings); lv2_wrapper->bind_key_enum<"scs", "sidechain-source">(settings); lv2_wrapper->bind_key_enum<"sscs", "stereo-split-source">(settings); lv2_wrapper->bind_key_enum<"shpm", "hpf-mode">(settings); lv2_wrapper->bind_key_enum<"slpm", "lpf-mode">(settings); lv2_wrapper->bind_key_bool<"ssplit", "stereo-split">(settings); lv2_wrapper->bind_key_bool<"scl", "sidechain-listen">(settings); lv2_wrapper->bind_key_double<"at", "attack">(settings); lv2_wrapper->bind_key_double<"rt", "release">(settings); lv2_wrapper->bind_key_double<"er", "ratio">(settings); lv2_wrapper->bind_key_double<"scr", "sidechain-reactivity">(settings); lv2_wrapper->bind_key_double<"sla", "sidechain-lookahead">(settings); lv2_wrapper->bind_key_double<"shpf", "hpf-frequency">(settings); lv2_wrapper->bind_key_double<"slpf", "lpf-frequency">(settings); lv2_wrapper->bind_key_double_db<"al", "threshold">(settings); lv2_wrapper->bind_key_double_db<"kn", "knee">(settings); lv2_wrapper->bind_key_double_db<"mk", "makeup">(settings); lv2_wrapper->bind_key_double_db<"scp", "sidechain-preamp">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"rrl", "release-threshold", false>(settings); lv2_wrapper->bind_key_double_db<"cdr", "dry", false>(settings); lv2_wrapper->bind_key_double_db<"cwt", "wet", false>(settings); setup_input_output_gain(); } Expander::~Expander() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Expander::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Expander::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out, probe_left, probe_right); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { reduction_port_value = 0.5F * (lv2_wrapper->get_control_port_value("rlm_l") + lv2_wrapper->get_control_port_value("rlm_r")); sidechain_port_value = 0.5F * (lv2_wrapper->get_control_port_value("slm_l") + lv2_wrapper->get_control_port_value("slm_r")); curve_port_value = 0.5F * (lv2_wrapper->get_control_port_value("clm_l") + lv2_wrapper->get_control_port_value("clm_r")); envelope_port_value = 0.5F * (lv2_wrapper->get_control_port_value("elm_l") + lv2_wrapper->get_control_port_value("elm_r")); reduction.emit(reduction_port_value); sidechain.emit(sidechain_port_value); curve.emit(curve_port_value); envelope.emit(envelope_port_value); notify(); } } } void Expander::update_sidechain_links(const std::string& key) { if (util::gsettings_get_string(settings, "sidechain-type") != "External") { pm->destroy_links(list_proxies); list_proxies.clear(); return; } const auto device_name = util::gsettings_get_string(settings, "sidechain-input-device"); NodeInfo input_device = pm->ee_source_node; for (const auto& [serial, node] : pm->node_map) { if (node.name == device_name) { input_device = node; break; } } pm->destroy_links(list_proxies); list_proxies.clear(); for (const auto& link : pm->link_nodes(input_device.id, get_node_id(), true)) { list_proxies.push_back(link); } } void Expander::update_probe_links() { update_sidechain_links(""); } auto Expander::get_latency_seconds() -> float { return this->latency_value; } easyeffects-7.1.7/src/expander_preset.cpp000066400000000000000000000146171463533416400205340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "expander_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" ExpanderPreset::ExpanderPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::expander::id, tags::schema::expander::input_path, tags::schema::expander::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::expander).append("#").append(util::to_string(index)); } void ExpanderPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["dry"] = g_settings_get_double(settings, "dry"); json[section][instance_name]["wet"] = g_settings_get_double(settings, "wet"); json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["attack"] = g_settings_get_double(settings, "attack"); json[section][instance_name]["release"] = g_settings_get_double(settings, "release"); json[section][instance_name]["release-threshold"] = g_settings_get_double(settings, "release-threshold"); json[section][instance_name]["threshold"] = g_settings_get_double(settings, "threshold"); json[section][instance_name]["ratio"] = g_settings_get_double(settings, "ratio"); json[section][instance_name]["knee"] = g_settings_get_double(settings, "knee"); json[section][instance_name]["makeup"] = g_settings_get_double(settings, "makeup"); json[section][instance_name]["stereo-split"] = g_settings_get_boolean(settings, "stereo-split") != 0; json[section][instance_name]["sidechain"]["type"] = util::gsettings_get_string(settings, "sidechain-type"); json[section][instance_name]["sidechain"]["mode"] = util::gsettings_get_string(settings, "sidechain-mode"); json[section][instance_name]["sidechain"]["source"] = util::gsettings_get_string(settings, "sidechain-source"); json[section][instance_name]["sidechain"]["stereo-split-source"] = util::gsettings_get_string(settings, "stereo-split-source"); json[section][instance_name]["sidechain"]["preamp"] = g_settings_get_double(settings, "sidechain-preamp"); json[section][instance_name]["sidechain"]["reactivity"] = g_settings_get_double(settings, "sidechain-reactivity"); json[section][instance_name]["sidechain"]["lookahead"] = g_settings_get_double(settings, "sidechain-lookahead"); json[section][instance_name]["hpf-mode"] = util::gsettings_get_string(settings, "hpf-mode"); json[section][instance_name]["hpf-frequency"] = g_settings_get_double(settings, "hpf-frequency"); json[section][instance_name]["lpf-mode"] = util::gsettings_get_string(settings, "lpf-mode"); json[section][instance_name]["lpf-frequency"] = g_settings_get_double(settings, "lpf-frequency"); } void ExpanderPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "dry", "dry"); update_key(json.at(section).at(instance_name), settings, "wet", "wet"); update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "attack", "attack"); update_key(json.at(section).at(instance_name), settings, "release", "release"); update_key(json.at(section).at(instance_name), settings, "release-threshold", "release-threshold"); update_key(json.at(section).at(instance_name), settings, "threshold", "threshold"); update_key(json.at(section).at(instance_name), settings, "ratio", "ratio"); update_key(json.at(section).at(instance_name), settings, "knee", "knee"); update_key(json.at(section).at(instance_name), settings, "makeup", "makeup"); update_key(json.at(section).at(instance_name), settings, "stereo-split", "stereo-split"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-type", "type"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-mode", "mode"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "stereo-split-source", "stereo-split-source"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-source", "source"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-preamp", "preamp"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-reactivity", "reactivity"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-lookahead", "lookahead"); update_key(json.at(section).at(instance_name), settings, "hpf-mode", "hpf-mode"); update_key(json.at(section).at(instance_name), settings, "hpf-frequency", "hpf-frequency"); update_key(json.at(section).at(instance_name), settings, "lpf-mode", "lpf-mode"); update_key(json.at(section).at(instance_name), settings, "lpf-frequency", "lpf-frequency"); } easyeffects-7.1.7/src/expander_ui.cpp000066400000000000000000000434021463533416400176410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "expander_ui.hpp" #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "expander.hpp" #include "node_info_holder.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::expander_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr expander; std::vector connections; std::vector gconnections; }; struct _ExpanderBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkLabel *gain_label, *sidechain_label, *curve_label, *envelope_label; GtkSpinButton *attack, *release, *release_threshold, *threshold, *knee, *ratio, *makeup, *dry, *wet, *preamp, *reactivity, *lookahead, *hpf_freq, *lpf_freq; GtkToggleButton *listen, *show_native_ui; GtkCheckButton* stereo_split; GtkDropDown *expander_mode, *sidechain_type, *sidechain_mode, *sidechain_source, *stereo_split_source, *lpf_mode, *hpf_mode, *dropdown_input_devices; GListStore* input_devices_model; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ExpanderBox, expander_box, GTK_TYPE_BOX) void on_reset(ExpanderBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(ExpanderBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->expander->show_native_ui(); } else { self->data->expander->close_native_ui(); } } auto set_dropdown_sensitive(ExpanderBox* self, const guint selected_id) -> gboolean { // Sensitive on External Device selected return (selected_id == 1U) ? 1 : 0; } void setup_dropdown_input_device(ExpanderBox* self) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(self->input_devices_model)); g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, ExpanderBox* self) { if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->settings, "sidechain-input-device", holder->info->name.c_str()); } }), self); gtk_drop_down_set_model(self->dropdown_input_devices, G_LIST_MODEL(self->input_devices_model)); g_object_unref(selection); } void setup(ExpanderBox* self, std::shared_ptr expander, const std::string& schema_path, PipeManager* pm) { self->data->expander = expander; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::expander::id, schema_path.c_str()); expander->set_post_messages(true); setup_dropdown_input_device(self); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source || node.media_role == tags::pipewire::media_role::dsp) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); } } self->data->connections.push_back(expander->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(expander->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(expander->reduction.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->gain_label)) { return; } gtk_label_set_text(self->gain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(expander->envelope.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->envelope_label)) { return; } gtk_label_set_text(self->envelope_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(expander->sidechain.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->sidechain_label)) { return; } gtk_label_set_text(self->sidechain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(expander->curve.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->curve_label)) { return; } gtk_label_set_text(self->curve_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->expander->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "attack", gtk_spin_button_get_adjustment(self->attack), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "knee", gtk_spin_button_get_adjustment(self->knee), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "makeup", gtk_spin_button_get_adjustment(self->makeup), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "ratio", gtk_spin_button_get_adjustment(self->ratio), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "release", gtk_spin_button_get_adjustment(self->release), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "threshold", gtk_spin_button_get_adjustment(self->threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-preamp", gtk_spin_button_get_adjustment(self->preamp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-reactivity", gtk_spin_button_get_adjustment(self->reactivity), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-lookahead", gtk_spin_button_get_adjustment(self->lookahead), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "release-threshold", gtk_spin_button_get_adjustment(self->release_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hpf-frequency", gtk_spin_button_get_adjustment(self->hpf_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "lpf-frequency", gtk_spin_button_get_adjustment(self->lpf_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-listen", self->listen, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-split", self->stereo_split, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->expander_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-type", self->sidechain_type); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-mode", self->sidechain_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-source", self->sidechain_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, "stereo-split-source", self->stereo_split_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, "hpf-mode", self->hpf_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "lpf-mode", self->lpf_mode); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); // bind source dropdowns sensitive property to split-stereo gsettings boolean g_settings_bind(self->settings, "stereo-split", self->sidechain_source, "sensitive", static_cast(G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_INVERT_BOOLEAN)); g_settings_bind(self->settings, "stereo-split", self->stereo_split_source, "sensitive", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_EXPANDER_BOX(object); self->data->expander->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(expander_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_EXPANDER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(expander_box_parent_class)->finalize(object); } void expander_box_class_init(ExpanderBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::expander_ui); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, input_gain); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, output_gain); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, gain_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, sidechain_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, curve_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, envelope_label); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, attack); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, release); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, release_threshold); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, threshold); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, knee); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, ratio); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, makeup); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, dry); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, wet); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, preamp); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, reactivity); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, lookahead); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, hpf_freq); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, lpf_freq); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, expander_mode); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, sidechain_type); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, sidechain_mode); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, sidechain_source); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, stereo_split_source); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, stereo_split); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, lpf_mode); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, hpf_mode); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, listen); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, ExpanderBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); gtk_widget_class_bind_template_callback(widget_class, set_dropdown_sensitive); } void expander_box_init(ExpanderBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); prepare_spinbuttons<"dB">(self->threshold, self->knee, self->makeup, self->preamp); prepare_spinbuttons<"Hz">(self->hpf_freq, self->lpf_freq); prepare_spinbuttons<"ms">(self->attack, self->release, self->lookahead, self->reactivity); prepare_spinbuttons<"">(self->ratio); prepare_scales<"dB">(self->input_gain, self->output_gain); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->release_threshold, self->dry, self->wet); } auto create() -> ExpanderBox* { return static_cast(g_object_new(EE_TYPE_EXPANDER_BOX, nullptr)); } } // namespace ui::expander_box easyeffects-7.1.7/src/filter.cpp000066400000000000000000000075721463533416400166330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "filter.hpp" #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Filter::Filter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::filter, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/filter_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_gate_stereo is not installed"); } lv2_wrapper->bind_key_double<"f", "frequency">(settings); lv2_wrapper->bind_key_double<"w", "width">(settings); lv2_wrapper->bind_key_double<"q", "quality">(settings); lv2_wrapper->bind_key_double<"bal", "balance">(settings); lv2_wrapper->bind_key_double_db<"g", "gain">(settings); lv2_wrapper->bind_key_enum<"ft", "type">(settings); lv2_wrapper->bind_key_enum<"fm", "mode">(settings); lv2_wrapper->bind_key_enum<"mode", "equal-mode">(settings); lv2_wrapper->bind_key_enum<"s", "slope">(settings); setup_input_output_gain(); // g_timeout_add_seconds(1, GSourceFunc(+[](Filter* self) { // if (!self->lv2_wrapper->has_ui()) { // self->lv2_wrapper->load_ui(); // } else { // self->lv2_wrapper->notify_ui(); // self->lv2_wrapper->update_ui(); // } // return 1; // }), // this); } Filter::~Filter() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Filter::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Filter::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto Filter::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/filter_preset.cpp000066400000000000000000000071331463533416400202060ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "filter_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" FilterPreset::FilterPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::filter::id, tags::schema::filter::input_path, tags::schema::filter::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::filter).append("#").append(util::to_string(index)); } void FilterPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["frequency"] = g_settings_get_double(settings, "frequency"); json[section][instance_name]["width"] = g_settings_get_double(settings, "width"); json[section][instance_name]["gain"] = g_settings_get_double(settings, "gain"); json[section][instance_name]["quality"] = g_settings_get_double(settings, "quality"); json[section][instance_name]["balance"] = g_settings_get_double(settings, "balance"); json[section][instance_name]["type"] = util::gsettings_get_string(settings, "type"); json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["equal-mode"] = util::gsettings_get_string(settings, "equal-mode"); json[section][instance_name]["slope"] = util::gsettings_get_string(settings, "slope"); } void FilterPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "frequency", "frequency"); update_key(json.at(section).at(instance_name), settings, "width", "width"); update_key(json.at(section).at(instance_name), settings, "gain", "gain"); update_key(json.at(section).at(instance_name), settings, "quality", "quality"); update_key(json.at(section).at(instance_name), settings, "balance", "balance"); update_key(json.at(section).at(instance_name), settings, "type", "type"); update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "equal-mode", "equal-mode"); update_key(json.at(section).at(instance_name), settings, "slope", "slope"); } easyeffects-7.1.7/src/filter_ui.cpp000066400000000000000000000205561463533416400173250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "filter_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include "filter.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::filter_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr filter; std::vector connections; std::vector gconnections; }; struct _FilterBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkDropDown *mode, *equalizer_mode, *type, *slope; GtkSpinButton *frequency, *width, *gain, *quality, *balance; GtkToggleButton* show_native_ui; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(FilterBox, filter_box, GTK_TYPE_BOX) void on_reset(FilterBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(FilterBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->filter->show_native_ui(); } else { self->data->filter->close_native_ui(); } } void setup(FilterBox* self, std::shared_ptr filter, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->filter = filter; self->settings = g_settings_new_with_path(tags::schema::filter::id, schema_path.c_str()); filter->set_post_messages(true); self->data->connections.push_back(filter->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(filter->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->filter->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "frequency", gtk_spin_button_get_adjustment(self->frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "width", gtk_spin_button_get_adjustment(self->width), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "gain", gtk_spin_button_get_adjustment(self->gain), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "quality", gtk_spin_button_get_adjustment(self->quality), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "balance", gtk_spin_button_get_adjustment(self->balance), "value", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "type", self->type); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "equal-mode", self->equalizer_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "slope", self->slope); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_FILTER_BOX(object); self->data->filter->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(filter_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_FILTER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(filter_box_parent_class)->finalize(object); } void filter_box_class_init(FilterBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::filter_ui); gtk_widget_class_bind_template_child(widget_class, FilterBox, input_gain); gtk_widget_class_bind_template_child(widget_class, FilterBox, output_gain); gtk_widget_class_bind_template_child(widget_class, FilterBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, FilterBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, FilterBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, FilterBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, FilterBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, FilterBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, FilterBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, FilterBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, FilterBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, FilterBox, type); gtk_widget_class_bind_template_child(widget_class, FilterBox, mode); gtk_widget_class_bind_template_child(widget_class, FilterBox, equalizer_mode); gtk_widget_class_bind_template_child(widget_class, FilterBox, slope); gtk_widget_class_bind_template_child(widget_class, FilterBox, frequency); gtk_widget_class_bind_template_child(widget_class, FilterBox, width); gtk_widget_class_bind_template_child(widget_class, FilterBox, gain); gtk_widget_class_bind_template_child(widget_class, FilterBox, quality); gtk_widget_class_bind_template_child(widget_class, FilterBox, balance); gtk_widget_class_bind_template_child(widget_class, FilterBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); } void filter_box_init(FilterBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"Hz">(self->frequency); prepare_spinbuttons<"dB">(self->gain); prepare_spinbuttons<"">(self->width, self->quality); prepare_spinbuttons<"%">(self->balance); } auto create() -> FilterBox* { return static_cast(g_object_new(EE_TYPE_FILTER_BOX, nullptr)); } } // namespace ui::filter_box easyeffects-7.1.7/src/fir_filter_bandpass.cpp000066400000000000000000000035301463533416400213340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "fir_filter_bandpass.hpp" #include #include #include #include #include "fir_filter_base.hpp" FirFilterBandpass::FirFilterBandpass(std::string tag) : FirFilterBase(std::move(tag)) {} FirFilterBandpass::~FirFilterBandpass() = default; void FirFilterBandpass::setup() { const auto lowpass_kernel = create_lowpass_kernel(max_frequency, transition_band); // high-pass kernel auto highpass_kernel = create_lowpass_kernel(min_frequency, transition_band); std::ranges::for_each(highpass_kernel, [](auto& v) { v *= -1.0F; }); highpass_kernel[(highpass_kernel.size() - 1U) / 2U] += 1.0F; kernel.resize(highpass_kernel.size()); /* Creating a bandpass from a band reject through spectral inversion https://www.dspguide.com/ch16/4.htm */ for (size_t n = 0U; n < kernel.size(); n++) { kernel[n] = lowpass_kernel[n] + highpass_kernel[n]; } std::ranges::for_each(kernel, [](auto& v) { v *= -1.0F; }); kernel[(kernel.size() - 1U) / 2U] += 1.0F; delay = 0.5F * static_cast(kernel.size() - 1U) / static_cast(rate); setup_zita(); } easyeffects-7.1.7/src/fir_filter_base.cpp000066400000000000000000000122251463533416400204540ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "fir_filter_base.hpp" #include #include #include #include #include #include #include #include #include #include #include "util.hpp" namespace { constexpr auto CONVPROC_SCHEDULER_PRIORITY = 0; constexpr auto CONVPROC_SCHEDULER_CLASS = SCHED_FIFO; } // namespace FirFilterBase::FirFilterBase(std::string tag) : log_tag(std::move(tag)) {} FirFilterBase::~FirFilterBase() { zita_ready = false; if (conv != nullptr) { conv->stop_process(); conv->cleanup(); delete conv; } } void FirFilterBase::set_rate(const uint& value) { rate = value; } void FirFilterBase::set_n_samples(const uint& value) { n_samples = value; } void FirFilterBase::set_min_frequency(const float& value) { min_frequency = value; } void FirFilterBase::set_max_frequency(const float& value) { max_frequency = value; } void FirFilterBase::set_transition_band(const float& value) { transition_band = value; } void FirFilterBase::setup() {} auto FirFilterBase::create_lowpass_kernel(const float& cutoff, const float& transition_band) const -> std::vector { std::vector output; if (rate == 0U) { return output; } /* transition band frequency as a fraction of the sample rate */ const float b = transition_band / static_cast(rate); /* The kernel size must be odd: M + 1 where M is even. This is done so it can be symmetric around the main lobe https://www.dspguide.com/ch16/1.htm The kernel size is related to the transition bandwidth M = 4/BW */ auto M = static_cast(std::ceil(4.0F / b)); M = (M % 2U == 0U) ? M : M + 1U; // checking if M is even output.resize(M + 1U); /* cutoff frequency as a fraction of the sample rate */ const float fc = cutoff / static_cast(rate); float sum = 0.0F; for (size_t n = 0U; n < output.size(); n++) { /* windowed-sinc kernel https://www.dspguide.com/ch16/1.htm */ if (n == M / 2U) { output[n] = 2.0F * std::numbers::pi_v * fc; } else { output[n] = std::sin(2.0F * std::numbers::pi_v * fc * static_cast(n - static_cast(M / 2U))) / static_cast(n - static_cast(M / 2U)); } /* Blackman window https://www.dspguide.com/ch16/1.htm */ const float w = 0.42F - 0.5F * std::cos(2.0F * std::numbers::pi_v * static_cast(n) / static_cast(M)) + 0.08F * std::cos(4.0F * std::numbers::pi_v * static_cast(n) / static_cast(M)); output[n] *= w; sum += output[n]; } /* Normalizing so that we have unit gain at zero frequency */ std::ranges::for_each(output, [&](auto& v) { v /= sum; }); return output; } void FirFilterBase::setup_zita() { zita_ready = false; if (n_samples == 0U || kernel.empty()) { return; } if (conv != nullptr) { conv->stop_process(); conv->cleanup(); delete conv; } conv = new Convproc(); conv->set_options(0); int ret = conv->configure(2, 2, kernel.size(), n_samples, n_samples, n_samples, 0.0F /*density*/); if (ret != 0) { util::warning(log_tag + "can't initialise zita-convolver engine: " + util::to_string(ret, "")); return; } ret = conv->impdata_create(0, 0, 1, kernel.data(), 0, static_cast(kernel.size())); if (ret != 0) { util::warning(log_tag + "left impdata_create failed: " + util::to_string(ret, "")); return; } ret = conv->impdata_create(1, 1, 1, kernel.data(), 0, static_cast(kernel.size())); if (ret != 0) { util::warning(log_tag + "right impdata_create failed: " + util::to_string(ret, "")); return; } ret = conv->start_process(CONVPROC_SCHEDULER_PRIORITY, CONVPROC_SCHEDULER_CLASS); if (ret != 0) { util::warning(log_tag + "start_process failed: " + util::to_string(ret, "")); conv->stop_process(); conv->cleanup(); return; } // conv->print(); zita_ready = true; } void FirFilterBase::direct_conv(const std::vector& a, const std::vector& b, std::vector& c) { const uint M = (c.size() + 1U) / 2U; for (uint n = 0U; n < c.size(); n++) { c[n] = 0.0F; for (uint m = 0U; m < M; m++) { if (n > m && n - m < M) { c[n] += a[n - m] * b[m]; } } } } auto FirFilterBase::get_delay() const -> float { return delay; } easyeffects-7.1.7/src/fir_filter_highpass.cpp000066400000000000000000000024661463533416400213560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "fir_filter_highpass.hpp" #include #include #include #include "fir_filter_base.hpp" FirFilterHighpass::FirFilterHighpass(std::string tag) : FirFilterBase(std::move(tag)) {} FirFilterHighpass::~FirFilterHighpass() = default; void FirFilterHighpass::setup() { kernel = create_lowpass_kernel(min_frequency, transition_band); std::ranges::for_each(kernel, [](auto& v) { v *= -1.0F; }); kernel[(kernel.size() - 1U) / 2U] += 1.0F; delay = 0.5F * static_cast(kernel.size() - 1U) / static_cast(rate); setup_zita(); } easyeffects-7.1.7/src/fir_filter_lowpass.cpp000066400000000000000000000022561463533416400212350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "fir_filter_lowpass.hpp" #include #include #include "fir_filter_base.hpp" FirFilterLowpass::FirFilterLowpass(std::string tag) : FirFilterBase(std::move(tag)) {} FirFilterLowpass::~FirFilterLowpass() = default; void FirFilterLowpass::setup() { kernel = create_lowpass_kernel(max_frequency, transition_band); delay = 0.5F * static_cast(kernel.size() - 1U) / static_cast(rate); setup_zita(); } easyeffects-7.1.7/src/gate.cpp000066400000000000000000000202541463533416400162560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "gate.hpp" #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Gate::Gate(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::gate, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type, true) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/sc_gate_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_gate_stereo is not installed"); } gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); lv2_wrapper->bind_key_enum<"sci", "sidechain-input">(settings); lv2_wrapper->bind_key_enum<"scm", "sidechain-mode">(settings); lv2_wrapper->bind_key_enum<"scs", "sidechain-source">(settings); lv2_wrapper->bind_key_enum<"sscs", "stereo-split-source">(settings); lv2_wrapper->bind_key_enum<"shpm", "hpf-mode">(settings); lv2_wrapper->bind_key_enum<"slpm", "lpf-mode">(settings); lv2_wrapper->bind_key_bool<"ssplit", "stereo-split">(settings); lv2_wrapper->bind_key_bool<"scl", "sidechain-listen">(settings); lv2_wrapper->bind_key_double<"at", "attack">(settings); lv2_wrapper->bind_key_double<"rt", "release">(settings); lv2_wrapper->bind_key_double<"scr", "sidechain-reactivity">(settings); lv2_wrapper->bind_key_double<"sla", "sidechain-lookahead">(settings); lv2_wrapper->bind_key_double<"shpf", "hpf-frequency">(settings); lv2_wrapper->bind_key_double<"slpf", "lpf-frequency">(settings); lv2_wrapper->bind_key_double_db<"gt", "curve-threshold">(settings); lv2_wrapper->bind_key_double_db<"gz", "curve-zone">(settings); lv2_wrapper->bind_key_bool<"gh", "hysteresis">(settings); lv2_wrapper->bind_key_double_db<"ht", "hysteresis-threshold">(settings); lv2_wrapper->bind_key_double_db<"hz", "hysteresis-zone">(settings); lv2_wrapper->bind_key_double_db<"gr", "reduction">(settings); lv2_wrapper->bind_key_double_db<"mk", "makeup">(settings); lv2_wrapper->bind_key_double_db<"scp", "sidechain-preamp">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"cdr", "dry", false>(settings); lv2_wrapper->bind_key_double_db<"cwt", "wet", false>(settings); setup_input_output_gain(); } Gate::~Gate() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Gate::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Gate::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out, probe_left, probe_right); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { attack_zone_start_port_value = lv2_wrapper->get_control_port_value("gzs"); attack_threshold_port_value = lv2_wrapper->get_control_port_value("gt"); release_zone_start_port_value = lv2_wrapper->get_control_port_value("hts"); release_threshold_port_value = lv2_wrapper->get_control_port_value("hzs"); reduction_port_value = 0.5F * (lv2_wrapper->get_control_port_value("rlm_l") + lv2_wrapper->get_control_port_value("rlm_r")); sidechain_port_value = 0.5F * (lv2_wrapper->get_control_port_value("slm_l") + lv2_wrapper->get_control_port_value("slm_r")); curve_port_value = 0.5F * (lv2_wrapper->get_control_port_value("clm_l") + lv2_wrapper->get_control_port_value("clm_r")); envelope_port_value = 0.5F * (lv2_wrapper->get_control_port_value("elm_l") + lv2_wrapper->get_control_port_value("elm_r")); attack_zone_start.emit(attack_zone_start_port_value); attack_threshold.emit(attack_threshold_port_value); release_zone_start.emit(release_zone_start_port_value); release_threshold.emit(release_threshold_port_value); reduction.emit(reduction_port_value); sidechain.emit(sidechain_port_value); curve.emit(curve_port_value); envelope.emit(envelope_port_value); notify(); } } } void Gate::update_sidechain_links(const std::string& key) { if (util::gsettings_get_string(settings, "sidechain-input") != "External") { pm->destroy_links(list_proxies); list_proxies.clear(); return; } const auto device_name = util::gsettings_get_string(settings, "sidechain-input-device"); NodeInfo input_device = pm->ee_source_node; for (const auto& [serial, node] : pm->node_map) { if (node.name == device_name) { input_device = node; break; } } pm->destroy_links(list_proxies); list_proxies.clear(); for (const auto& link : pm->link_nodes(input_device.id, get_node_id(), true)) { list_proxies.push_back(link); } } void Gate::update_probe_links() { update_sidechain_links(""); } auto Gate::get_latency_seconds() -> float { return this->latency_value; } easyeffects-7.1.7/src/gate_preset.cpp000066400000000000000000000152461463533416400176450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "gate_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" GatePreset::GatePreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::gate::id, tags::schema::gate::input_path, tags::schema::gate::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::gate).append("#").append(util::to_string(index)); } void GatePreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["dry"] = g_settings_get_double(settings, "dry"); json[section][instance_name]["wet"] = g_settings_get_double(settings, "wet"); json[section][instance_name]["attack"] = g_settings_get_double(settings, "attack"); json[section][instance_name]["release"] = g_settings_get_double(settings, "release"); json[section][instance_name]["curve-threshold"] = g_settings_get_double(settings, "curve-threshold"); json[section][instance_name]["curve-zone"] = g_settings_get_double(settings, "curve-zone"); json[section][instance_name]["hysteresis"] = g_settings_get_boolean(settings, "hysteresis") != 0; json[section][instance_name]["hysteresis-threshold"] = g_settings_get_double(settings, "hysteresis-threshold"); json[section][instance_name]["hysteresis-zone"] = g_settings_get_double(settings, "hysteresis-zone"); json[section][instance_name]["reduction"] = g_settings_get_double(settings, "reduction"); json[section][instance_name]["makeup"] = g_settings_get_double(settings, "makeup"); json[section][instance_name]["stereo-split"] = g_settings_get_boolean(settings, "stereo-split") != 0; json[section][instance_name]["sidechain"]["input"] = util::gsettings_get_string(settings, "sidechain-input"); json[section][instance_name]["sidechain"]["mode"] = util::gsettings_get_string(settings, "sidechain-mode"); json[section][instance_name]["sidechain"]["source"] = util::gsettings_get_string(settings, "sidechain-source"); json[section][instance_name]["sidechain"]["stereo-split-source"] = util::gsettings_get_string(settings, "stereo-split-source"); json[section][instance_name]["sidechain"]["preamp"] = g_settings_get_double(settings, "sidechain-preamp"); json[section][instance_name]["sidechain"]["reactivity"] = g_settings_get_double(settings, "sidechain-reactivity"); json[section][instance_name]["sidechain"]["lookahead"] = g_settings_get_double(settings, "sidechain-lookahead"); json[section][instance_name]["hpf-mode"] = util::gsettings_get_string(settings, "hpf-mode"); json[section][instance_name]["hpf-frequency"] = g_settings_get_double(settings, "hpf-frequency"); json[section][instance_name]["lpf-mode"] = util::gsettings_get_string(settings, "lpf-mode"); json[section][instance_name]["lpf-frequency"] = g_settings_get_double(settings, "lpf-frequency"); } void GatePreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "dry", "dry"); update_key(json.at(section).at(instance_name), settings, "wet", "wet"); update_key(json.at(section).at(instance_name), settings, "attack", "attack"); update_key(json.at(section).at(instance_name), settings, "release", "release"); update_key(json.at(section).at(instance_name), settings, "curve-threshold", "curve-threshold"); update_key(json.at(section).at(instance_name), settings, "curve-zone", "curve-zone"); update_key(json.at(section).at(instance_name), settings, "hysteresis", "hysteresis"); update_key(json.at(section).at(instance_name), settings, "hysteresis-threshold", "hysteresis-threshold"); update_key(json.at(section).at(instance_name), settings, "hysteresis-zone", "hysteresis-zone"); update_key(json.at(section).at(instance_name), settings, "reduction", "reduction"); update_key(json.at(section).at(instance_name), settings, "makeup", "makeup"); update_key(json.at(section).at(instance_name), settings, "stereo-split", "stereo-split"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-input", "input"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-mode", "mode"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "stereo-split-source", "stereo-split-source"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-source", "source"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-preamp", "preamp"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-reactivity", "reactivity"); update_key(json.at(section).at(instance_name).at("sidechain"), settings, "sidechain-lookahead", "lookahead"); update_key(json.at(section).at(instance_name), settings, "hpf-mode", "hpf-mode"); update_key(json.at(section).at(instance_name), settings, "hpf-frequency", "hpf-frequency"); update_key(json.at(section).at(instance_name), settings, "lpf-mode", "lpf-mode"); update_key(json.at(section).at(instance_name), settings, "lpf-frequency", "lpf-frequency"); } easyeffects-7.1.7/src/gate_ui.cpp000066400000000000000000000510341463533416400167530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "gate_ui.hpp" #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "gate.hpp" #include "node_info_holder.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::gate_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr gate; std::vector connections; std::vector gconnections; }; struct _GateBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkLabel *attack_zone_start_label, *attack_threshold_label, *release_zone_start_label, *release_threshold_label; GtkLabel *gain_label, *sidechain_label, *curve_label, *envelope_label; GtkToggleButton *hysteresis, *listen, *show_native_ui; GtkCheckButton* stereo_split; GtkSpinButton *attack, *release, *curve_threshold, *curve_zone, *hysteresis_threshold, *hysteresis_zone, *dry, *wet, *reduction, *makeup, *preamp, *reactivity, *lookahead, *hpf_freq, *lpf_freq; GtkDropDown *sidechain_source, *stereo_split_source, *sidechain_mode, *dropdown_input_devices, *sidechain_input, *lpf_mode, *hpf_mode; GListStore* input_devices_model; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(GateBox, gate_box, GTK_TYPE_BOX) void on_reset(GateBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(GateBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->gate->show_native_ui(); } else { self->data->gate->close_native_ui(); } } auto set_dropdown_sensitive(GateBox* self, const guint selected_id) -> gboolean { // Sensitive on External Device selected return (selected_id == 0U) ? 0 : 1; } void setup_dropdown_input_device(GateBox* self) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(self->input_devices_model)); g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, GateBox* self) { if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->settings, "sidechain-input-device", holder->info->name.c_str()); } }), self); gtk_drop_down_set_model(self->dropdown_input_devices, G_LIST_MODEL(self->input_devices_model)); g_object_unref(selection); } void setup(GateBox* self, std::shared_ptr gate, const std::string& schema_path, PipeManager* pm) { self->data->gate = gate; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::gate::id, schema_path.c_str()); gate->set_post_messages(true); setup_dropdown_input_device(self); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source || node.media_role == tags::pipewire::media_role::dsp) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); } } self->data->connections.push_back(gate->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->attack_zone_start.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->attack_zone_start_label)) { return; } gtk_label_set_text(self->attack_zone_start_label, fmt::format(ui::get_user_locale(), "{0:.1Lf}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->attack_threshold.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->attack_threshold_label)) { return; } gtk_label_set_text(self->attack_threshold_label, fmt::format(ui::get_user_locale(), "{0:.1Lf}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->release_zone_start.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->release_zone_start_label)) { return; } gtk_label_set_text(self->release_zone_start_label, fmt::format(ui::get_user_locale(), "{0:.1Lf}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->release_threshold.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->release_threshold_label)) { return; } gtk_label_set_text(self->release_threshold_label, fmt::format(ui::get_user_locale(), "{0:.1Lf}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->reduction.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->gain_label)) { return; } gtk_label_set_text(self->gain_label, fmt::format("{0:.0Lf}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->envelope.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->envelope_label)) { return; } gtk_label_set_text(self->envelope_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->sidechain.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->sidechain_label)) { return; } gtk_label_set_text(self->sidechain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(gate->curve.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->curve_label)) { return; } gtk_label_set_text(self->curve_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->gate->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "attack", gtk_spin_button_get_adjustment(self->attack), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "release", gtk_spin_button_get_adjustment(self->release), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "curve-threshold", gtk_spin_button_get_adjustment(self->curve_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "curve-zone", gtk_spin_button_get_adjustment(self->curve_zone), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hysteresis", self->hysteresis, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hysteresis-threshold", gtk_spin_button_get_adjustment(self->hysteresis_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hysteresis-zone", gtk_spin_button_get_adjustment(self->hysteresis_zone), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "reduction", gtk_spin_button_get_adjustment(self->reduction), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "makeup", gtk_spin_button_get_adjustment(self->makeup), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-preamp", gtk_spin_button_get_adjustment(self->preamp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-reactivity", gtk_spin_button_get_adjustment(self->reactivity), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-lookahead", gtk_spin_button_get_adjustment(self->lookahead), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hpf-frequency", gtk_spin_button_get_adjustment(self->hpf_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "lpf-frequency", gtk_spin_button_get_adjustment(self->lpf_freq), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sidechain-listen", self->listen, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-split", self->stereo_split, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-input", self->sidechain_input); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-mode", self->sidechain_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "sidechain-source", self->sidechain_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, "stereo-split-source", self->stereo_split_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, "hpf-mode", self->hpf_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "lpf-mode", self->lpf_mode); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); // bind source dropdowns sensitive property to split-stereo gsettings boolean g_settings_bind(self->settings, "stereo-split", self->sidechain_source, "sensitive", static_cast(G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_INVERT_BOOLEAN)); g_settings_bind(self->settings, "stereo-split", self->stereo_split_source, "sensitive", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_GATE_BOX(object); self->data->gate->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(gate_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_GATE_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(gate_box_parent_class)->finalize(object); } void gate_box_class_init(GateBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::gate_ui); gtk_widget_class_bind_template_child(widget_class, GateBox, input_gain); gtk_widget_class_bind_template_child(widget_class, GateBox, output_gain); gtk_widget_class_bind_template_child(widget_class, GateBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, GateBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, GateBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, GateBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, GateBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, GateBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, GateBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, GateBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, GateBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, GateBox, attack_zone_start_label); gtk_widget_class_bind_template_child(widget_class, GateBox, attack_threshold_label); gtk_widget_class_bind_template_child(widget_class, GateBox, release_zone_start_label); gtk_widget_class_bind_template_child(widget_class, GateBox, release_threshold_label); gtk_widget_class_bind_template_child(widget_class, GateBox, gain_label); gtk_widget_class_bind_template_child(widget_class, GateBox, sidechain_label); gtk_widget_class_bind_template_child(widget_class, GateBox, curve_label); gtk_widget_class_bind_template_child(widget_class, GateBox, envelope_label); gtk_widget_class_bind_template_child(widget_class, GateBox, attack); gtk_widget_class_bind_template_child(widget_class, GateBox, release); gtk_widget_class_bind_template_child(widget_class, GateBox, curve_threshold); gtk_widget_class_bind_template_child(widget_class, GateBox, curve_zone); gtk_widget_class_bind_template_child(widget_class, GateBox, hysteresis); gtk_widget_class_bind_template_child(widget_class, GateBox, hysteresis_threshold); gtk_widget_class_bind_template_child(widget_class, GateBox, hysteresis_zone); gtk_widget_class_bind_template_child(widget_class, GateBox, dry); gtk_widget_class_bind_template_child(widget_class, GateBox, wet); gtk_widget_class_bind_template_child(widget_class, GateBox, reduction); gtk_widget_class_bind_template_child(widget_class, GateBox, makeup); gtk_widget_class_bind_template_child(widget_class, GateBox, preamp); gtk_widget_class_bind_template_child(widget_class, GateBox, reactivity); gtk_widget_class_bind_template_child(widget_class, GateBox, lookahead); gtk_widget_class_bind_template_child(widget_class, GateBox, hpf_freq); gtk_widget_class_bind_template_child(widget_class, GateBox, lpf_freq); gtk_widget_class_bind_template_child(widget_class, GateBox, sidechain_input); gtk_widget_class_bind_template_child(widget_class, GateBox, sidechain_mode); gtk_widget_class_bind_template_child(widget_class, GateBox, sidechain_source); gtk_widget_class_bind_template_child(widget_class, GateBox, stereo_split_source); gtk_widget_class_bind_template_child(widget_class, GateBox, stereo_split); gtk_widget_class_bind_template_child(widget_class, GateBox, lpf_mode); gtk_widget_class_bind_template_child(widget_class, GateBox, hpf_mode); gtk_widget_class_bind_template_child(widget_class, GateBox, listen); gtk_widget_class_bind_template_child(widget_class, GateBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, GateBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); gtk_widget_class_bind_template_callback(widget_class, set_dropdown_sensitive); } void gate_box_init(GateBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); prepare_spinbuttons<"dB">(self->curve_threshold, self->curve_zone, self->hysteresis_threshold, self->hysteresis_zone, self->reduction, self->makeup, self->preamp); prepare_spinbuttons<"Hz">(self->hpf_freq, self->lpf_freq); prepare_spinbuttons<"ms">(self->attack, self->release, self->lookahead, self->reactivity); prepare_scales<"dB">(self->input_gain, self->output_gain); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->dry, self->wet); } auto create() -> GateBox* { return static_cast(g_object_new(EE_TYPE_GATE_BOX, nullptr)); } } // namespace ui::gate_box easyeffects-7.1.7/src/ladspa_wrapper.cpp000066400000000000000000000546341463533416400203530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "ladspa_wrapper.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include "config.h" #include "util.hpp" namespace ladspa { static inline const char* get_ladspa_path() { const char* path = std::getenv("LADSPA_PATH"); if (path == nullptr || path[0] == '\0') { path = "/usr/local/lib/ladspa/:" LIB_DIR "/ladspa/:/usr/lib/ladspa/"; } return path; } struct dlhandle { dlhandle(void* handle) : dl_handle(handle) {} ~dlhandle() { if (dl_handle != nullptr) { dlclose(dl_handle); } } dlhandle(const dlhandle&) = delete; auto operator=(const dlhandle&) -> dlhandle& = delete; dlhandle(dlhandle&& other) noexcept : dl_handle(std::exchange(other.dl_handle, nullptr)) {} auto operator=(dlhandle&& other) noexcept -> dlhandle& { std::swap(dl_handle, other.dl_handle); return *this; } void disable() { dl_handle = nullptr; } void* dl_handle; }; static inline bool validate_ports(const LADSPA_Descriptor* descriptor) { unsigned long count_input = 0UL; unsigned long count_output = 0UL; for (unsigned long i = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { if (LADSPA_IS_PORT_AUDIO(descriptor->PortDescriptors[i])) { return false; } } else if (LADSPA_IS_PORT_AUDIO(descriptor->PortDescriptors[i])) { if (LADSPA_IS_PORT_INPUT(descriptor->PortDescriptors[i])) { if (++count_input > 4UL) { return false; } } else if (LADSPA_IS_PORT_OUTPUT(descriptor->PortDescriptors[i])) { if (++count_output > 2UL) { return false; } } else { return false; } } } return true; } LadspaWrapper::LadspaWrapper(const std::string& plugin_filename, const std::string& plugin_label) : plugin_name(plugin_label) { const char* ladspa_path = get_ladspa_path(); const char* p = nullptr; do { p = std::strchr(ladspa_path, ':'); if (!p) { p = std::strchr(ladspa_path, '\0'); } std::string path(ladspa_path, p - ladspa_path); if (*p == ':') { p++; } if (path.empty() || path[path.length() - 1] != '/') { path.push_back('/'); } path.append(plugin_filename); void* dl_handle = dlopen(path.c_str(), RTLD_NOW | RTLD_LOCAL); if (dl_handle == nullptr) { continue; } dlhandle h(dl_handle); auto func = (LADSPA_Descriptor_Function)dlsym(dl_handle, "ladspa_descriptor"); if (func == nullptr) { continue; } unsigned long i = 0UL; const LADSPA_Descriptor* descriptor = nullptr; do { descriptor = func(i); if (descriptor == nullptr) { break; } if (std::strcmp(descriptor->Label, plugin_label.c_str()) == 0) { break; } } while (i++ < std::numeric_limits::max()); if (descriptor != nullptr) { if (descriptor->instantiate != nullptr && descriptor->connect_port != nullptr && descriptor->run != nullptr && validate_ports(descriptor)) { unsigned long count = 0UL; for (unsigned long i = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { count++; } } auto* control_ports = new LADSPA_Data[count](); auto* control_ports_initialized = new bool[count](); h.disable(); this->dl_handle = dl_handle; this->descriptor = descriptor; this->found = true; this->control_ports = control_ports; this->control_ports_initialized = control_ports_initialized; for (unsigned long i = 0UL, j = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { map_cp_name_to_idx.insert(std::make_pair(descriptor->PortNames[i], j++)); } } } break; } } while (*(ladspa_path = p) != '\0'); } LadspaWrapper::~LadspaWrapper() { if (active) { deactivate(); } LADSPA_Handle instance = std::exchange(this->instance, nullptr); if (instance != nullptr && descriptor->cleanup != nullptr) { descriptor->cleanup(instance); } if (control_ports_initialized) { delete[] std::exchange(control_ports_initialized, nullptr); } if (control_ports) { delete[] std::exchange(control_ports, nullptr); } if (dl_handle != nullptr) { dlclose(std::exchange(dl_handle, nullptr)); } } struct ladspahandle { ladspahandle(LADSPA_Handle instance, void (*cleanup)(LADSPA_Handle)) : instance(instance), cleanup(cleanup) {} ~ladspahandle() { if (instance != nullptr) { cleanup(instance); } } ladspahandle(const ladspahandle&) = delete; auto operator=(const ladspahandle&) -> ladspahandle& = delete; ladspahandle(ladspahandle&& other) noexcept : instance(std::exchange(other.instance, nullptr)), cleanup(other.cleanup) {} auto operator=(ladspahandle&& other) noexcept -> ladspahandle& { std::swap(instance, other.instance); std::swap(cleanup, other.cleanup); return *this; } void disable() { instance = nullptr; } void* instance; void (*cleanup)(LADSPA_Handle); }; static inline void get_port_bounds(const LADSPA_Descriptor* descriptor, unsigned long port, uint rate, LADSPA_Data& min, LADSPA_Data& max) { min = -std::numeric_limits::infinity(); max = std::numeric_limits::infinity(); const LADSPA_PortRangeHint* hint = &descriptor->PortRangeHints[port]; if (LADSPA_IS_HINT_BOUNDED_BELOW(hint->HintDescriptor)) { min = hint->LowerBound; if (LADSPA_IS_HINT_SAMPLE_RATE(hint->HintDescriptor)) { min *= rate; } } if (LADSPA_IS_HINT_BOUNDED_ABOVE(hint->HintDescriptor)) { max = hint->UpperBound; if (LADSPA_IS_HINT_SAMPLE_RATE(hint->HintDescriptor)) { min *= rate; } } if (LADSPA_IS_HINT_TOGGLED(hint->HintDescriptor)) { min = 0.0F; max = 1.0F; } } static inline LADSPA_Data get_port_default_raw(const LADSPA_Descriptor* descriptor, unsigned long port, uint rate) { const LADSPA_PortRangeHint* hint = &descriptor->PortRangeHints[port]; if (LADSPA_IS_HINT_HAS_DEFAULT(hint->HintDescriptor)) { if (LADSPA_IS_HINT_DEFAULT_0(hint->HintDescriptor)) { return 0.0F; } else if (LADSPA_IS_HINT_DEFAULT_1(hint->HintDescriptor)) { return 1.0F; } else if (LADSPA_IS_HINT_DEFAULT_100(hint->HintDescriptor)) { return 100.0F; } else if (LADSPA_IS_HINT_DEFAULT_440(hint->HintDescriptor)) { return 440.0F; } else { LADSPA_Data min = 0.0F; LADSPA_Data max = 0.0F; get_port_bounds(descriptor, port, rate, min, max); if (LADSPA_IS_HINT_DEFAULT_MINIMUM(hint->HintDescriptor)) { return min; } else if (LADSPA_IS_HINT_DEFAULT_MAXIMUM(hint->HintDescriptor)) { return max; } else if (LADSPA_IS_HINT_LOGARITHMIC(hint->HintDescriptor)) { if (LADSPA_IS_HINT_DEFAULT_LOW(hint->HintDescriptor)) { return std::exp(std::log(min) * 0.75 + std::log(max) * 0.25); } else if (LADSPA_IS_HINT_DEFAULT_MIDDLE(hint->HintDescriptor)) { return std::exp(std::log(min) * 0.5 + std::log(max) * 0.5); } else if (LADSPA_IS_HINT_DEFAULT_HIGH(hint->HintDescriptor)) { return std::exp(std::log(min) * 0.25 + std::log(max) * 0.75); } } else { if (LADSPA_IS_HINT_DEFAULT_LOW(hint->HintDescriptor)) { return min * 0.75F + max * 0.25F; } else if (LADSPA_IS_HINT_DEFAULT_MIDDLE(hint->HintDescriptor)) { return min * 0.5F + max * 0.5F; } else if (LADSPA_IS_HINT_DEFAULT_HIGH(hint->HintDescriptor)) { return min * 0.25F + max * 0.75F; } } } } return 0.0F; } static inline LADSPA_Data clamp_port_value(const LADSPA_Descriptor* descriptor, unsigned long port, uint rate, LADSPA_Data val) { LADSPA_Data min = 0.0F; LADSPA_Data max = 0.0F; get_port_bounds(descriptor, port, rate, min, max); if (val < min) { val = min; } if (val > max) { val = max; } return val; } static inline LADSPA_Data get_port_default(const LADSPA_Descriptor* descriptor, unsigned long port, uint rate) { LADSPA_Data val = get_port_default_raw(descriptor, port, rate); return clamp_port_value(descriptor, port, rate, val); } static inline void scale_control_ports(const LADSPA_Descriptor* descriptor, LADSPA_Data* control_ports, bool* control_ports_initialized, uint old_rate, uint rate) { for (unsigned long i = 0UL, j = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { if (!control_ports_initialized[j]) { control_ports[j] = get_port_default(descriptor, i, rate); control_ports_initialized[j] = true; } else if (old_rate != 0U) { const LADSPA_PortRangeHint* hint = &descriptor->PortRangeHints[i]; if (LADSPA_IS_HINT_SAMPLE_RATE(hint->HintDescriptor)) { LADSPA_Data val = control_ports[j] * rate / old_rate; control_ports[j] = clamp_port_value(descriptor, i, rate, val); } } j++; } } } auto LadspaWrapper::create_instance(uint rate) -> bool { LADSPA_Handle new_instance = descriptor->instantiate(descriptor, rate); if (new_instance == nullptr) { return false; } ladspahandle h(new_instance, descriptor->cleanup); scale_control_ports(descriptor, control_ports, control_ports_initialized, this->rate, rate); for (unsigned long i = 0UL, j = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { descriptor->connect_port(new_instance, i, &control_ports[j++]); } } if (active) { deactivate(); } if (instance != nullptr && descriptor->cleanup != nullptr) { descriptor->cleanup(instance); } h.disable(); this->instance = new_instance; this->rate = rate; activate(); return true; } static inline int stricmp(const char* str1, const char* str2) { char c1 = 0; char c2 = 0; do { c1 = *str1; c2 = *str2; if (c1 != c2) { if (c1 >= 'A' && c1 <= 'Z') { c1 -= 'A'; } if (c2 >= 'A' && c2 <= 'Z') { c2 -= 'A'; } if (c1 != c2) { break; } } } while (c1 != '\0'); return (int)c1 - c2; } template static inline bool striendswith(const char* str, const char (&end)[N]) { std::size_t len = std::strlen(str); return len < (N - 1) && stricmp(&str[len - (N - 1)], end) == 0; } void LadspaWrapper::connect_data_ports(const std::span& left_in, const std::span& right_in, const std::span& left_out, const std::span& right_out) { if (instance == nullptr) { return; } unsigned long left_in_idx = -1L; unsigned long right_in_idx = -1L; unsigned long first_in_idx = -1L; unsigned long second_in_idx = -1L; unsigned long left_out_idx = -1L; unsigned long right_out_idx = -1L; unsigned long first_out_idx = -1L; unsigned long second_out_idx = -1L; int count_input = 0; int count_output = 0; for (unsigned long i = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_AUDIO(descriptor->PortDescriptors[i])) { if (LADSPA_IS_PORT_INPUT(descriptor->PortDescriptors[i])) { if (striendswith(descriptor->PortNames[i], " L") || striendswith(descriptor->PortNames[i], " (L)")) { left_in_idx = i; } else if (striendswith(descriptor->PortNames[i], " R") || striendswith(descriptor->PortNames[i], " (R)")) { right_in_idx = i; } if (count_input == 0) { first_in_idx = i; } else if (count_input == 1) { second_in_idx = i; } count_input++; } else if (LADSPA_IS_PORT_OUTPUT(descriptor->PortDescriptors[i])) { if (striendswith(descriptor->PortNames[i], " L") || striendswith(descriptor->PortNames[i], " (L)")) { left_out_idx = i; } else if (striendswith(descriptor->PortNames[i], " R") || striendswith(descriptor->PortNames[i], " (R)")) { right_out_idx = i; } if (count_output == 0) { first_out_idx = i; } else if (count_output == 1) { second_out_idx = i; } count_output++; } } } if (left_in_idx == null_ul || right_in_idx == null_ul) { left_in_idx = first_in_idx; right_in_idx = second_in_idx; } if (left_in_idx != null_ul) { descriptor->connect_port(instance, left_in_idx, const_cast(left_in.data())); } if (right_in_idx != null_ul) { descriptor->connect_port(instance, right_in_idx, const_cast(right_in.data())); } if (left_out_idx == null_ul || right_out_idx == null_ul) { left_out_idx = first_out_idx; right_out_idx = second_out_idx; } if (left_out_idx != null_ul) { descriptor->connect_port(instance, left_out_idx, left_out.data()); } if (right_out_idx != null_ul) { descriptor->connect_port(instance, right_out_idx, right_out.data()); } } static inline char* stristr(const char* haystack, const char* needle) { size_t hlen = std::strlen(haystack); size_t nlen = std::strlen(needle); while (nlen <= hlen) { if (stricmp(haystack, needle) == 0) { return (char*)haystack; } haystack++; hlen--; } return nullptr; } void LadspaWrapper::connect_data_ports(const std::span& left_in, const std::span& right_in, const std::span& left_out, const std::span& right_out, const std::span& probe_left, const std::span& probe_right) { if (instance == nullptr) { return; } unsigned long left_in_idx = -1L; unsigned long right_in_idx = -1L; unsigned long first_in_idx = -1L; unsigned long second_in_idx = -1L; unsigned long probe_left_idx = -1L; unsigned long probe_right_idx = -1L; unsigned long third_in_idx = -1L; unsigned long fourth_in_idx = -1L; unsigned long left_out_idx = -1L; unsigned long right_out_idx = -1L; unsigned long first_out_idx = -1L; unsigned long second_out_idx = -1L; int count_input = 0; int count_output = 0; for (unsigned long i = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_AUDIO(descriptor->PortDescriptors[i])) { if (LADSPA_IS_PORT_INPUT(descriptor->PortDescriptors[i])) { bool sc = stristr(descriptor->PortNames[i], "Probe") != nullptr || stristr(descriptor->PortNames[i], "Sidechain") != nullptr; if (striendswith(descriptor->PortNames[i], " L") || striendswith(descriptor->PortNames[i], " (L)")) { if (sc) { probe_left_idx = i; } else { left_in_idx = i; } } else if (striendswith(descriptor->PortNames[i], " R") || striendswith(descriptor->PortNames[i], " (R)")) { if (sc) { probe_right_idx = i; } else { right_in_idx = i; } } if (count_input == 0) { first_in_idx = i; } else if (count_input == 1) { second_in_idx = i; } else if (count_input == 2) { third_in_idx = i; } else if (count_input == 3) { fourth_in_idx = i; } count_input++; } else if (LADSPA_IS_PORT_OUTPUT(descriptor->PortDescriptors[i])) { if (striendswith(descriptor->PortNames[i], " L") || striendswith(descriptor->PortNames[i], " (L)")) { left_out_idx = i; } else if (striendswith(descriptor->PortNames[i], " R") || striendswith(descriptor->PortNames[i], " (R)")) { right_out_idx = i; } if (count_output == 0) { first_out_idx = i; } else if (count_output == 1) { second_out_idx = i; } count_output++; } } } if (left_in_idx == null_ul || right_in_idx == null_ul) { left_in_idx = first_in_idx; right_in_idx = second_in_idx; } if (left_in_idx != null_ul) { descriptor->connect_port(instance, left_in_idx, const_cast(left_in.data())); } if (right_in_idx != null_ul) { descriptor->connect_port(instance, right_in_idx, const_cast(left_in.data())); } if (probe_left_idx == null_ul || probe_right_idx == null_ul) { if (left_in_idx == first_in_idx) { if (right_in_idx == second_in_idx) { probe_left_idx = third_in_idx; } else { probe_left_idx = second_in_idx; } } else if (right_in_idx == first_in_idx) { if (left_in_idx == second_in_idx) { probe_left_idx = third_in_idx; } else { probe_left_idx = second_in_idx; } } else { probe_left_idx = first_in_idx; } if (left_in_idx == second_in_idx) { if (right_in_idx == third_in_idx) { probe_right_idx = fourth_in_idx; } else { probe_right_idx = third_in_idx; } } else if (right_in_idx == second_in_idx) { if (left_in_idx == third_in_idx) { probe_right_idx = fourth_in_idx; } else { probe_right_idx = third_in_idx; } } else { probe_right_idx = second_in_idx; } } if (probe_left_idx != null_ul) { descriptor->connect_port(instance, probe_left_idx, const_cast(probe_left.data())); } if (probe_right_idx != null_ul) { descriptor->connect_port(instance, probe_right_idx, const_cast(probe_right.data())); } if (left_out_idx == null_ul || right_out_idx == null_ul) { left_out_idx = first_out_idx; right_out_idx = second_out_idx; } if (left_out_idx != null_ul) { descriptor->connect_port(instance, left_out_idx, left_out.data()); } if (right_out_idx != null_ul) { descriptor->connect_port(instance, right_out_idx, left_out.data()); } } void LadspaWrapper::activate() { if (!active && descriptor->activate != nullptr) { descriptor->activate(instance); } active = true; } void LadspaWrapper::deactivate() { if (active && descriptor->activate != nullptr && descriptor->deactivate != nullptr) { descriptor->deactivate(instance); } active = false; } void LadspaWrapper::run() const { assert(active); assert(instance); descriptor->run(instance, n_samples); } auto LadspaWrapper::get_control_port_count() const -> uint { uint count = 0U; for (unsigned long i = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { count++; } } return count; } static inline unsigned long cp_to_port_idx(const LADSPA_Descriptor* descriptor, uint index) { for (unsigned long i = 0UL; i < descriptor->PortCount; i++) { if (LADSPA_IS_PORT_CONTROL(descriptor->PortDescriptors[i])) { if (index-- == 0U) { return i; } } } return (unsigned long)-1L; } auto LadspaWrapper::get_control_port_name(uint index) const -> std::string { const unsigned long i = cp_to_port_idx(descriptor, index); if (i == null_ul) { return {}; } return descriptor->PortNames[i]; } auto LadspaWrapper::is_control_port_output(uint index) const -> bool { const unsigned long i = cp_to_port_idx(descriptor, index); if (i == null_ul) { return false; } return LADSPA_IS_PORT_OUTPUT(descriptor->PortDescriptors[i]); } auto LadspaWrapper::get_control_port_range(uint index) const -> std::tuple { const unsigned long i = cp_to_port_idx(descriptor, index); if (i == null_ul) { return std::make_tuple(0.0F, 0.0F); } LADSPA_Data min = 0.0F; LADSPA_Data max = 0.0F; get_port_bounds(descriptor, i, rate, min, max); return std::make_tuple(min, max); } auto LadspaWrapper::get_control_port_default(uint index) const -> float { const unsigned long i = cp_to_port_idx(descriptor, index); if (i == null_ul) { return 0.0F; } return get_port_default(descriptor, i, rate); } auto LadspaWrapper::get_control_port_value(uint index) const -> float { assert(cp_to_port_idx(descriptor, index) != null_ul); assert(control_ports_initialized[index]); return control_ports[index]; } auto LadspaWrapper::get_control_port_value(const std::string& symbol) const -> float { auto iter = map_cp_name_to_idx.find(symbol); if (iter == map_cp_name_to_idx.end()) { util::warning(plugin_name + " port symbol not found: " + symbol); return 0.0F; } return get_control_port_value(static_cast(iter->second)); } auto LadspaWrapper::set_control_port_value_clamp(uint index, float value) -> float { const unsigned long i = cp_to_port_idx(descriptor, index); assert(i != null_ul); // If the value is out of bounds, get a new clamped one in LADSPA_Data (float) value = clamp_port_value(descriptor, i, rate, value); control_ports[index] = value; control_ports_initialized[index] = true; return value; } auto LadspaWrapper::set_control_port_value_clamp(const std::string& symbol, float value) -> float { auto iter = map_cp_name_to_idx.find(symbol); if (iter == map_cp_name_to_idx.end()) { util::warning(plugin_name + " port symbol not found: " + symbol); return value; } return set_control_port_value_clamp(static_cast(iter->second), value); } } // namespace ladspa easyeffects-7.1.7/src/level_meter.cpp000066400000000000000000000113151463533416400176370ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "level_meter.hpp" #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" LevelMeter::LevelMeter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::level_meter, tags::plugin_package::ebur128, schema, schema_path, pipe_manager, pipe_type) {} LevelMeter::~LevelMeter() { if (connected_to_pw) { disconnect_from_pw(); } for (auto& t : mythreads) { t.join(); } mythreads.clear(); std::scoped_lock lock(data_mutex); if (ebur_state != nullptr) { ebur128_destroy(&ebur_state); } util::debug(log_tag + name + " destroyed"); } auto LevelMeter::init_ebur128() -> bool { if (n_samples == 0U || rate == 0U) { return false; } if (ebur_state != nullptr) { ebur128_destroy(&ebur_state); ebur_state = nullptr; } ebur_state = ebur128_init( 2U, rate, EBUR128_MODE_S | EBUR128_MODE_I | EBUR128_MODE_LRA | EBUR128_MODE_TRUE_PEAK | EBUR128_MODE_HISTOGRAM); ebur128_set_channel(ebur_state, 0U, EBUR128_LEFT); ebur128_set_channel(ebur_state, 1U, EBUR128_RIGHT); return ebur_state != nullptr; } void LevelMeter::setup() { if (2U * static_cast(n_samples) != data.size()) { data.resize(static_cast(n_samples) * 2U); } if (rate != old_rate) { data_mutex.lock(); ebur128_ready = false; data_mutex.unlock(); mythreads.emplace_back([this]() { // Using emplace_back here makes sense if (ebur128_ready) { return; } auto status = true; old_rate = rate; status = init_ebur128(); data_mutex.lock(); ebur128_ready = status; data_mutex.unlock(); }); } } void LevelMeter::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); if (bypass || !ebur128_ready) { return; } for (size_t n = 0U; n < n_samples; n++) { data[2U * n] = left_in[n]; data[2U * n + 1U] = right_in[n]; } ebur128_add_frames_float(ebur_state, data.data(), n_samples); if (EBUR128_SUCCESS != ebur128_loudness_momentary(ebur_state, &momentary)) { momentary = 0.0; } if (EBUR128_SUCCESS != ebur128_loudness_shortterm(ebur_state, &shortterm)) { shortterm = 0.0; } if (EBUR128_SUCCESS != ebur128_loudness_global(ebur_state, &global)) { global = 0.0; } if (EBUR128_SUCCESS != ebur128_relative_threshold(ebur_state, &relative)) { relative = 0.0; } if (EBUR128_SUCCESS != ebur128_loudness_range(ebur_state, &range)) { range = 0.0; } if (EBUR128_SUCCESS != ebur128_true_peak(ebur_state, 0U, &true_peak_L)) { true_peak_L = 0.0; } if (EBUR128_SUCCESS != ebur128_true_peak(ebur_state, 1U, &true_peak_R)) { true_peak_R = 0.0; } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { results.emit(momentary, shortterm, global, relative, range, true_peak_L, true_peak_R); notify(); } } } auto LevelMeter::get_latency_seconds() -> float { return 0.0F; } void LevelMeter::reset_history() { mythreads.emplace_back([this]() { // Using emplace_back here makes sense data_mutex.lock(); ebur128_ready = false; data_mutex.unlock(); auto status = init_ebur128(); data_mutex.lock(); ebur128_ready = status; data_mutex.unlock(); }); } easyeffects-7.1.7/src/level_meter_preset.cpp000066400000000000000000000032461463533416400212250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "level_meter_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" LevelMeterPreset::LevelMeterPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::level_meter::id, tags::schema::level_meter::input_path, tags::schema::level_meter::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::level_meter).append("#").append(util::to_string(index)); } void LevelMeterPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; } void LevelMeterPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); } easyeffects-7.1.7/src/level_meter_ui.cpp000066400000000000000000000206351463533416400203410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "level_meter_ui.hpp" #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include "level_meter.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::level_meter_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr level_meter; std::vector connections; std::vector gconnections; }; struct _LevelMeterBox { GtkBox parent_instance; GtkLevelBar *input_level_left, *input_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *plugin_credit; GtkLevelBar *m_level, *s_level, *i_level, *r_level, *lra_level; GtkLabel *m_label, *s_label, *i_label, *r_label, *lra_label, *true_peak_left_label, *true_peak_right_label; GtkButton* reset_history; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(LevelMeterBox, level_meter_box, GTK_TYPE_BOX) void on_reset_history(LevelMeterBox* self, GtkButton* btn) { // Since there's no reason why someone would want to activate the reset-history // through a third party tool, we do not bind this action to a gsettings key // like it's done in the AutoGain. self->data->level_meter->reset_history(); } void setup(LevelMeterBox* self, std::shared_ptr level_meter, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->level_meter = level_meter; self->settings = g_settings_new_with_path(tags::schema::level_meter::id, schema_path.c_str()); level_meter->set_post_messages(true); self->data->connections.push_back(level_meter->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(level_meter->results.connect( [=](const double momentary, const double shortterm, const double integrated, const double relative, const double range, const double true_peak_L, const double true_peak_R) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->m_level) || !GTK_IS_LABEL(self->m_label) || !GTK_IS_LEVEL_BAR(self->s_level) || !GTK_IS_LABEL(self->s_label) || !GTK_IS_LEVEL_BAR(self->i_level) || !GTK_IS_LABEL(self->i_label) || !GTK_IS_LEVEL_BAR(self->r_level) || !GTK_IS_LABEL(self->r_label) || !GTK_IS_LEVEL_BAR(self->lra_level) || !GTK_IS_LABEL(self->lra_label) || !GTK_IS_LABEL(self->true_peak_left_label) || !GTK_IS_LABEL(self->true_peak_right_label)) { return; } gtk_label_set_text(self->true_peak_left_label, fmt::format("{0:.0f} dB", util::linear_to_db(true_peak_L)).c_str()); gtk_label_set_text(self->true_peak_right_label, fmt::format("{0:.0f} dB", util::linear_to_db(true_peak_R)).c_str()); gtk_level_bar_set_value(self->m_level, util::db_to_linear(momentary)); gtk_label_set_text(self->m_label, fmt::format("{0:.0f} LUFS", momentary).c_str()); gtk_level_bar_set_value(self->s_level, util::db_to_linear(shortterm)); gtk_label_set_text(self->s_label, fmt::format("{0:.0f} LUFS", shortterm).c_str()); gtk_level_bar_set_value(self->i_level, util::db_to_linear(integrated)); gtk_label_set_text(self->i_label, fmt::format("{0:.0f} LUFS", integrated).c_str()); gtk_level_bar_set_value(self->r_level, util::db_to_linear(relative)); gtk_label_set_text(self->r_label, fmt::format("{0:.0f} LUFS", relative).c_str()); gtk_level_bar_set_value(self->lra_level, util::db_to_linear(range)); gtk_label_set_text(self->lra_label, fmt::format("{0:.0f} LU", range).c_str()); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->level_meter->package).c_str()); } void dispose(GObject* object) { auto* self = EE_LEVEL_METER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(level_meter_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_LEVEL_METER_BOX(object); delete self->data; util::debug("finalize"); G_OBJECT_CLASS(level_meter_box_parent_class)->finalize(object); } void level_meter_box_class_init(LevelMeterBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::level_meter_ui); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, reset_history); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, m_level); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, s_level); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, i_level); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, r_level); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, lra_level); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, m_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, s_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, i_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, r_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, lra_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, true_peak_left_label); gtk_widget_class_bind_template_child(widget_class, LevelMeterBox, true_peak_right_label); gtk_widget_class_bind_template_callback(widget_class, on_reset_history); } void level_meter_box_init(LevelMeterBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); } auto create() -> LevelMeterBox* { return static_cast(g_object_new(EE_TYPE_LEVEL_METER_BOX, nullptr)); } } // namespace ui::level_meter_box easyeffects-7.1.7/src/libportal.cpp000066400000000000000000000220411463533416400173220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "libportal.hpp" #include #include #include #include #include #include #include #include "tags_app.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace { bool resetting_shutdown = false, resetting_autostart = false; GSettings* settings = nullptr; GtkSwitch *enable_autostart = nullptr, *shutdown_on_window_close = nullptr; } // namespace namespace libportal { using namespace std::string_literals; XdpPortal* portal = nullptr; void on_request_background_called(GObject* source, GAsyncResult* result, gpointer widgets_ptr) { if (enable_autostart == nullptr || shutdown_on_window_close == nullptr) { util::error("Programming error. When using libportal its pointers to our settings widgets must be initialized."); } g_autoptr(GError) error = nullptr; // libportal check if portal request worked if (xdp_portal_request_background_finish(portal, result, &error) == 0) { // NOLINTNEXTLINE(cppcoreguidelines-init-variables) std::string reason; // NOLINTNEXTLINE(cppcoreguidelines-init-variables) std::string explanation; // NOLINTNEXTLINE(cppcoreguidelines-init-variables) std::string error_message; if (error != nullptr) { error_message = error->message; if (error->code == 19) { // 19 seemingly corresponds to the "cancelled" error which actually means the permission is in a revoked state. reason = "Background access has been denied"; explanation = "Please allow Easy Effects to ask again with Flatpak permission-reset "s + tags::app::id; } else { reason = "Generic error"; explanation = "Please verify your system has a XDG Background Portal implementation running and working."; } } else { error_message = "unknown reason"; reason = "Unknown error"; explanation = "No explanation could be provided, error was null"; } util::debug("A background request failed: " + error_message); util::warning(reason); util::warning(explanation); // TODO find a bettery way of getting the preferences window // it shouldn't be possible to open the preferences window without the top level window open, // so the index 1 should correspond with the preferences window ui::show_simple_message_dialog(GTK_WIDGET(g_list_model_get_item(gtk_window_get_toplevels(), 1)), "Unable to get background access: " + reason, explanation); // if autostart is wrongly enabled (we got an error when talking to the portal), we must reset it if (static_cast(gtk_switch_get_active(enable_autostart)) || static_cast(gtk_switch_get_state(enable_autostart))) { resetting_autostart = true; util::warning("due to error, setting autostart state and switch to false"); gtk_switch_set_state(enable_autostart, 0); gtk_switch_set_active(enable_autostart, 0); } // if running in the background (which happens if we don't shutdown on window close) is wrongly enabled (we got an // error when talking to the portal), we must reset it if (!static_cast(gtk_switch_get_active(shutdown_on_window_close)) || !static_cast(gtk_switch_get_state(shutdown_on_window_close))) { resetting_shutdown = true; util::warning("due to error, setting shutdown on window close state and switch to true"); gtk_switch_set_state(shutdown_on_window_close, 1); gtk_switch_set_active(shutdown_on_window_close, 1); } resetting_autostart = false; resetting_shutdown = false; return; } gtk_switch_set_state(enable_autostart, gtk_switch_get_active(enable_autostart)); gtk_switch_set_state(shutdown_on_window_close, gtk_switch_get_active(shutdown_on_window_close)); resetting_autostart = false; resetting_shutdown = false; util::debug("a background request successfully completed"); } // generic portal update function void update_background_portal(const bool& use_autostart) { // clang-tidy doesn't seem to understand this is actually being inited. // NOLINTNEXTLINE(cppcoreguidelines-init-variables) XdpBackgroundFlags background_flags = XDP_BACKGROUND_FLAG_NONE; g_autoptr(GPtrArray) command_line = nullptr; if (use_autostart) { command_line = g_ptr_array_new_with_free_func(g_free); g_ptr_array_add(command_line, g_strdup("easyeffects")); g_ptr_array_add(command_line, g_strdup("--gapplication-service")); background_flags = XDP_BACKGROUND_FLAG_AUTOSTART; } auto* reason = g_strdup("Easy Effects Background Access"); // libportal portal request xdp_portal_request_background(portal, nullptr, reason, command_line, background_flags, nullptr, on_request_background_called, nullptr); g_free(reason); } void on_enable_autostart(GtkSwitch* obj, gboolean state, gpointer user_data) { // this callback could be triggered when the settings are reset by other code due to an error calling the portal, in // that case we must not call the portal again. if (!resetting_autostart) { state == 1 ? util::debug("requesting autostart file since autostart is enabled") : util::debug("not requesting autostart file since autostart is disabled"); update_background_portal(state != 0); } } void on_shutdown_on_window_close(GtkSwitch* btn, gboolean state, gpointer user_data) { // this callback could be triggered when the settings are reset by other code due to an error calling the portal, in // that case we must not call the portal again. if (!resetting_shutdown) { if (gtk_switch_get_active(enable_autostart) != 0) { const auto* msg = (state == 0) ? "requesting both background access and autostart file since autostart is enabled" : "requesting autostart access since autostart enabled"; util::debug(msg); update_background_portal(true); } else { if (state == 0) { util::debug("requesting only background access, not creating autostart file"); update_background_portal(false); } else { util::debug("not requesting any access since enabling shutdown on window close"); gtk_switch_set_state(shutdown_on_window_close, gtk_switch_get_active(shutdown_on_window_close)); } } } } void init(GtkSwitch* g_enable_autostart, GtkSwitch* g_shutdown_on_window_close) { enable_autostart = g_enable_autostart; shutdown_on_window_close = g_shutdown_on_window_close; if (enable_autostart == nullptr || shutdown_on_window_close == nullptr) { util::error("Programming error. When using libportal its pointers to our settings widgets must be initialized."); } if (portal == nullptr) { portal = xdp_portal_new(); } settings = g_settings_new("com.github.wwmm.easyeffects.libportal"); ui::gsettings_bind_widget(settings, "enable-autostart", g_enable_autostart); g_signal_connect(enable_autostart, "state-set", G_CALLBACK(on_enable_autostart), nullptr); g_signal_connect(shutdown_on_window_close, "state-set", G_CALLBACK(on_shutdown_on_window_close), nullptr); // sanity checks in case switch(es) was somehow already set previously. // give extra info for debugging purposes // the only the case where we must not ask the portal for access is if autostart is disabled and shutdown on window // close is disabled auto enable_autostart_state = gtk_switch_get_active(enable_autostart); auto shutdown_on_window_close_state = gtk_switch_get_active(shutdown_on_window_close); if ((enable_autostart_state == 0) && (shutdown_on_window_close_state == 0)) { util::debug("doing portal sanity check, autostart and shutdown switches are disabled"); update_background_portal(false); } else if ((enable_autostart_state != 0) && (shutdown_on_window_close_state != 0)) { util::debug("doing portal sanity check, autostart and shutdown switches are enabled"); update_background_portal(true); } else if ((enable_autostart_state != 0) && (shutdown_on_window_close_state == 0)) { util::debug("doing portal sanity check, autostart switch is enabled and shutdown switch is disabled"); update_background_portal(true); } else { util::debug( "not doing portal sanity check, autostart switch should be disabled and shutdown switch should be enabled so " "no background portal access is needed"); } } } // namespace libportal easyeffects-7.1.7/src/limiter.cpp000066400000000000000000000154371463533416400170120ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "limiter.hpp" #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Limiter::Limiter(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::limiter, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type, true) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/sc_limiter_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_limiter_stereo is not installed"); } gconnections.push_back(g_signal_connect(settings, "changed::external-sidechain", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); lv2_wrapper->bind_key_enum<"mode", "mode">(settings); lv2_wrapper->bind_key_enum<"ovs", "oversampling">(settings); lv2_wrapper->bind_key_enum<"dith", "dithering">(settings); lv2_wrapper->bind_key_double<"lk", "lookahead">(settings); lv2_wrapper->bind_key_double<"at", "attack">(settings); lv2_wrapper->bind_key_double<"rt", "release">(settings); lv2_wrapper->bind_key_double_db<"th", "threshold">(settings); lv2_wrapper->bind_key_bool<"boost", "gain-boost">(settings); lv2_wrapper->bind_key_double_db<"scp", "sidechain-preamp">(settings); lv2_wrapper->bind_key_double<"slink", "stereo-link">(settings); lv2_wrapper->bind_key_bool<"alr", "alr">(settings); lv2_wrapper->bind_key_double<"alr_at", "alr-attack">(settings); lv2_wrapper->bind_key_double<"alr_rt", "alr-release">(settings); lv2_wrapper->bind_key_double_db<"knee", "alr-knee">(settings); lv2_wrapper->bind_key_bool<"extsc", "external-sidechain">(settings); setup_input_output_gain(); } Limiter::~Limiter() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Limiter::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Limiter::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out, probe_left, probe_right); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { gain_l_port_value = lv2_wrapper->get_control_port_value("grlm_l"); gain_r_port_value = lv2_wrapper->get_control_port_value("grlm_r"); sidechain_l_port_value = lv2_wrapper->get_control_port_value("sclm_l"); sidechain_r_port_value = lv2_wrapper->get_control_port_value("sclm_r"); gain_left.emit(gain_l_port_value); gain_right.emit(gain_r_port_value); sidechain_left.emit(sidechain_l_port_value); sidechain_right.emit(sidechain_r_port_value); notify(); } } } void Limiter::update_sidechain_links(const std::string& key) { if (g_settings_get_boolean(settings, "external-sidechain") == 0) { pm->destroy_links(list_proxies); list_proxies.clear(); return; } const auto device_name = util::gsettings_get_string(settings, "sidechain-input-device"); NodeInfo input_device = pm->ee_source_node; for (const auto& [serial, node] : pm->node_map) { if (node.name == device_name) { input_device = node; break; } } pm->destroy_links(list_proxies); list_proxies.clear(); for (const auto& link : pm->link_nodes(input_device.id, get_node_id(), true)) { list_proxies.push_back(link); } } void Limiter::update_probe_links() { update_sidechain_links(""); } auto Limiter::get_latency_seconds() -> float { return this->latency_value; } easyeffects-7.1.7/src/limiter_preset.cpp000066400000000000000000000115331463533416400203650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "limiter_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" LimiterPreset::LimiterPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::limiter::id, tags::schema::limiter::input_path, tags::schema::limiter::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::limiter).append("#").append(util::to_string(index)); } void LimiterPreset::save(nlohmann::json& json) { json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["oversampling"] = util::gsettings_get_string(settings, "oversampling"); json[section][instance_name]["dithering"] = util::gsettings_get_string(settings, "dithering"); json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["lookahead"] = g_settings_get_double(settings, "lookahead"); json[section][instance_name]["attack"] = g_settings_get_double(settings, "attack"); json[section][instance_name]["release"] = g_settings_get_double(settings, "release"); json[section][instance_name]["threshold"] = g_settings_get_double(settings, "threshold"); json[section][instance_name]["sidechain-preamp"] = g_settings_get_double(settings, "sidechain-preamp"); json[section][instance_name]["stereo-link"] = g_settings_get_double(settings, "stereo-link"); json[section][instance_name]["alr-attack"] = g_settings_get_double(settings, "alr-attack"); json[section][instance_name]["alr-release"] = g_settings_get_double(settings, "alr-release"); json[section][instance_name]["alr-knee"] = g_settings_get_double(settings, "alr-knee"); json[section][instance_name]["alr"] = g_settings_get_boolean(settings, "alr") != 0; json[section][instance_name]["gain-boost"] = g_settings_get_boolean(settings, "gain-boost") != 0; json[section][instance_name]["external-sidechain"] = g_settings_get_boolean(settings, "external-sidechain") != 0; } void LimiterPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "oversampling", "oversampling"); update_key(json.at(section).at(instance_name), settings, "dithering", "dithering"); update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "lookahead", "lookahead"); update_key(json.at(section).at(instance_name), settings, "attack", "attack"); update_key(json.at(section).at(instance_name), settings, "release", "release"); update_key(json.at(section).at(instance_name), settings, "threshold", "threshold"); update_key(json.at(section).at(instance_name), settings, "sidechain-preamp", "sidechain-preamp"); update_key(json.at(section).at(instance_name), settings, "stereo-link", "stereo-link"); update_key(json.at(section).at(instance_name), settings, "alr-attack", "alr-attack"); update_key(json.at(section).at(instance_name), settings, "alr-release", "alr-release"); update_key(json.at(section).at(instance_name), settings, "alr-knee", "alr-knee"); update_key(json.at(section).at(instance_name), settings, "alr", "alr"); update_key(json.at(section).at(instance_name), settings, "gain-boost", "gain-boost"); update_key(json.at(section).at(instance_name), settings, "external-sidechain", "external-sidechain"); } easyeffects-7.1.7/src/limiter_ui.cpp000066400000000000000000000363231463533416400175040ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "limiter_ui.hpp" #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "limiter.hpp" #include "node_info_holder.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::limiter_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr limiter; std::vector connections; std::vector gconnections; }; struct _LimiterBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkDropDown *mode, *oversampling, *dither; GtkDropDown* dropdown_input_devices; GtkLabel *gain_left, *gain_right, *sidechain_left, *sidechain_right; GtkSpinButton *sc_preamp, *lookahead, *attack, *release, *threshold, *stereo_link, *alr_attack, *alr_release, *alr_knee; GtkCheckButton* gain_boost; GtkToggleButton *alr, *external_sidechain, *show_native_ui; GListStore* input_devices_model; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(LimiterBox, limiter_box, GTK_TYPE_BOX) void on_reset(LimiterBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(LimiterBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->limiter->show_native_ui(); } else { self->data->limiter->close_native_ui(); } } void setup_dropdown_input_device(LimiterBox* self) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(self->input_devices_model)); g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, LimiterBox* self) { if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->settings, "sidechain-input-device", holder->info->name.c_str()); } }), self); gtk_drop_down_set_model(self->dropdown_input_devices, G_LIST_MODEL(self->input_devices_model)); g_object_unref(selection); } void setup(LimiterBox* self, std::shared_ptr limiter, const std::string& schema_path, PipeManager* pm) { self->data->limiter = limiter; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::limiter::id, schema_path.c_str()); limiter->set_post_messages(true); setup_dropdown_input_device(self); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source || node.media_role == tags::pipewire::media_role::dsp) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); } } self->data->connections.push_back(limiter->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(limiter->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(limiter->gain_left.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->gain_left)) { return; } gtk_label_set_text(self->gain_left, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(limiter->gain_right.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->gain_right)) { return; } gtk_label_set_text(self->gain_right, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(limiter->sidechain_left.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->sidechain_left)) { return; } gtk_label_set_text(self->sidechain_left, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(limiter->sidechain_right.connect([=](const float value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LABEL(self->sidechain_right)) { return; } gtk_label_set_text(self->sidechain_right, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->limiter->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "sidechain-preamp", gtk_spin_button_get_adjustment(self->sc_preamp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "lookahead", gtk_spin_button_get_adjustment(self->lookahead), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "attack", gtk_spin_button_get_adjustment(self->attack), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "release", gtk_spin_button_get_adjustment(self->release), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "threshold", gtk_spin_button_get_adjustment(self->threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-link", gtk_spin_button_get_adjustment(self->stereo_link), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "alr-attack", gtk_spin_button_get_adjustment(self->alr_attack), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "alr-release", gtk_spin_button_get_adjustment(self->alr_release), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "alr-knee", gtk_spin_button_get_adjustment(self->alr_knee), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "gain-boost", self->gain_boost, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "external-sidechain", self->external_sidechain, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "alr", self->alr, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "oversampling", self->oversampling); ui::gsettings_bind_enum_to_combo_widget(self->settings, "dithering", self->dither); } void dispose(GObject* object) { auto* self = EE_LIMITER_BOX(object); self->data->limiter->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(limiter_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_LIMITER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(limiter_box_parent_class)->finalize(object); } void limiter_box_class_init(LimiterBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::limiter_ui); gtk_widget_class_bind_template_child(widget_class, LimiterBox, input_gain); gtk_widget_class_bind_template_child(widget_class, LimiterBox, output_gain); gtk_widget_class_bind_template_child(widget_class, LimiterBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, LimiterBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, LimiterBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, LimiterBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, LimiterBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, LimiterBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, LimiterBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, LimiterBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, LimiterBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, LimiterBox, mode); gtk_widget_class_bind_template_child(widget_class, LimiterBox, oversampling); gtk_widget_class_bind_template_child(widget_class, LimiterBox, dither); gtk_widget_class_bind_template_child(widget_class, LimiterBox, sc_preamp); gtk_widget_class_bind_template_child(widget_class, LimiterBox, lookahead); gtk_widget_class_bind_template_child(widget_class, LimiterBox, attack); gtk_widget_class_bind_template_child(widget_class, LimiterBox, release); gtk_widget_class_bind_template_child(widget_class, LimiterBox, threshold); gtk_widget_class_bind_template_child(widget_class, LimiterBox, stereo_link); gtk_widget_class_bind_template_child(widget_class, LimiterBox, alr_attack); gtk_widget_class_bind_template_child(widget_class, LimiterBox, alr_release); gtk_widget_class_bind_template_child(widget_class, LimiterBox, alr_knee); gtk_widget_class_bind_template_child(widget_class, LimiterBox, alr); gtk_widget_class_bind_template_child(widget_class, LimiterBox, external_sidechain); gtk_widget_class_bind_template_child(widget_class, LimiterBox, gain_boost); gtk_widget_class_bind_template_child(widget_class, LimiterBox, gain_left); gtk_widget_class_bind_template_child(widget_class, LimiterBox, gain_right); gtk_widget_class_bind_template_child(widget_class, LimiterBox, sidechain_left); gtk_widget_class_bind_template_child(widget_class, LimiterBox, sidechain_right); gtk_widget_class_bind_template_child(widget_class, LimiterBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, LimiterBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); } void limiter_box_init(LimiterBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"dB">(self->sc_preamp, self->threshold, self->alr_knee); prepare_spinbuttons<"ms">(self->lookahead, self->attack, self->release, self->alr_attack, self->alr_release); prepare_spinbuttons<"%">(self->stereo_link); } auto create() -> LimiterBox* { return static_cast(g_object_new(EE_TYPE_LIMITER_BOX, nullptr)); } } // namespace ui::limiter_box easyeffects-7.1.7/src/loudness.cpp000066400000000000000000000074631463533416400172010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "loudness.hpp" #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Loudness::Loudness(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::loudness, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/loud_comp_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/loud_comp_stereo is not installed"); } lv2_wrapper->bind_key_enum<"std", "std">(settings); lv2_wrapper->bind_key_enum<"fft", "fft">(settings); lv2_wrapper->bind_key_double<"volume", "volume">(settings); lv2_wrapper->bind_key_bool<"hclip", "clipping">(settings); lv2_wrapper->bind_key_double<"hcrange", "clipping-range">(settings); setup_input_output_gain(); } Loudness::~Loudness() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Loudness::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Loudness::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto Loudness::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/loudness_preset.cpp000066400000000000000000000056631463533416400205630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "loudness_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" LoudnessPreset::LoudnessPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::loudness::id, tags::schema::loudness::input_path, tags::schema::loudness::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::loudness).append("#").append(util::to_string(index)); } void LoudnessPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["fft"] = util::gsettings_get_string(settings, "fft"); json[section][instance_name]["std"] = util::gsettings_get_string(settings, "std"); json[section][instance_name]["volume"] = g_settings_get_double(settings, "volume"); json[section][instance_name]["clipping"] = g_settings_get_boolean(settings, "clipping") != 0; json[section][instance_name]["clipping-range"] = g_settings_get_double(settings, "clipping-range"); } void LoudnessPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "fft", "fft"); update_key(json.at(section).at(instance_name), settings, "std", "std"); update_key(json.at(section).at(instance_name), settings, "volume", "volume"); update_key(json.at(section).at(instance_name), settings, "clipping", "clipping"); update_key(json.at(section).at(instance_name), settings, "clipping-range", "clipping-range"); } easyeffects-7.1.7/src/loudness_ui.cpp000066400000000000000000000171341463533416400176720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "loudness_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include "loudness.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::loudness_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr loudness; std::vector connections; std::vector gconnections; }; struct _LoudnessBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkDropDown *fft_size, *standard; GtkSwitch* clipping; GtkSpinButton *volume, *clipping_range; GtkToggleButton* show_native_ui; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(LoudnessBox, loudness_box, GTK_TYPE_BOX) void on_reset(LoudnessBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(LoudnessBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->loudness->show_native_ui(); } else { self->data->loudness->close_native_ui(); } } void setup(LoudnessBox* self, std::shared_ptr loudness, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->loudness = loudness; self->settings = g_settings_new_with_path(tags::schema::loudness::id, schema_path.c_str()); loudness->set_post_messages(true); self->data->connections.push_back(loudness->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(loudness->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->loudness->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); ui::gsettings_bind_enum_to_combo_widget(self->settings, "fft", self->fft_size); ui::gsettings_bind_enum_to_combo_widget(self->settings, "std", self->standard); g_settings_bind(self->settings, "volume", gtk_spin_button_get_adjustment(self->volume), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "clipping", self->clipping, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "clipping-range", gtk_spin_button_get_adjustment(self->clipping_range), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_LOUDNESS_BOX(object); self->data->loudness->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(loudness_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_LOUDNESS_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(loudness_box_parent_class)->finalize(object); } void loudness_box_class_init(LoudnessBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::loudness_ui); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, input_gain); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, output_gain); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, volume); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, standard); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, fft_size); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, clipping); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, clipping_range); gtk_widget_class_bind_template_child(widget_class, LoudnessBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); } void loudness_box_init(LoudnessBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"dB">(self->volume, self->clipping_range); } auto create() -> LoudnessBox* { return static_cast(g_object_new(EE_TYPE_LOUDNESS_BOX, nullptr)); } } // namespace ui::loudness_box easyeffects-7.1.7/src/lv2_wrapper.cpp000066400000000000000000000524511463533416400176050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "lv2_wrapper.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "util.hpp" namespace lv2 { constexpr auto min_quantum = 32; constexpr auto max_quantum = 8192; auto lv2_printf(LV2_Log_Handle handle, LV2_URID type, const char* format, ...) -> int { va_list args; va_start(args, format); int r = std::vprintf(format, args); va_end(args); return r; } Lv2Wrapper::Lv2Wrapper(const std::string& plugin_uri) : plugin_uri(plugin_uri), world(lilv_world_new()) { if (world == nullptr) { util::warning("failed to initialized the world"); return; } auto* const uri = lilv_new_uri(world, plugin_uri.c_str()); if (uri == nullptr) { util::warning("Invalid plugin URI: " + plugin_uri); return; } lilv_world_load_all(world); const LilvPlugins* plugins = lilv_world_get_all_plugins(world); plugin = lilv_plugins_get_by_uri(plugins, uri); lilv_node_free(uri); if (plugin == nullptr) { util::warning("Could not find the plugin: " + plugin_uri); return; } found_plugin = true; check_required_features(); create_ports(); } Lv2Wrapper::~Lv2Wrapper() { if (instance != nullptr) { lilv_instance_deactivate(instance); lilv_instance_free(instance); instance = nullptr; } if (world != nullptr) { lilv_world_free(world); } } void Lv2Wrapper::check_required_features() { LilvNodes* required_features = lilv_plugin_get_required_features(plugin); if (required_features != nullptr) { for (auto* i = lilv_nodes_begin(required_features); !lilv_nodes_is_end(required_features, i); i = lilv_nodes_next(required_features, i)) { const LilvNode* required_feature = lilv_nodes_get(required_features, i); const char* required_feature_uri = lilv_node_as_uri(required_feature); util::debug(plugin_uri + " requires feature: " + required_feature_uri); } lilv_nodes_free(required_features); } } void Lv2Wrapper::create_ports() { n_ports = lilv_plugin_get_num_ports(plugin); ports.resize(n_ports); // Get min, max and default values for all ports std::vector values(n_ports); std::vector minimum(n_ports); std::vector maximum(n_ports); lilv_plugin_get_port_ranges_float(plugin, minimum.data(), maximum.data(), values.data()); LilvNode* lv2_InputPort = lilv_new_uri(world, LV2_CORE__InputPort); LilvNode* lv2_OutputPort = lilv_new_uri(world, LV2_CORE__OutputPort); LilvNode* lv2_AudioPort = lilv_new_uri(world, LV2_CORE__AudioPort); LilvNode* lv2_ControlPort = lilv_new_uri(world, LV2_CORE__ControlPort); LilvNode* lv2_AtomPort = lilv_new_uri(world, LV2_ATOM__AtomPort); LilvNode* lv2_connectionOptional = lilv_new_uri(world, LV2_CORE__connectionOptional); for (uint n = 0U; n < n_ports; n++) { auto* port = &ports[n]; const auto* lilv_port = lilv_plugin_get_port_by_index(plugin, n); auto* port_name = lilv_port_get_name(plugin, lilv_port); port->index = n; port->name = lilv_node_as_string(port_name); port->symbol = lilv_node_as_string(lilv_port_get_symbol(plugin, lilv_port)); port->optional = lilv_port_has_property(plugin, lilv_port, lv2_connectionOptional); // Save port default value if (!std::isnan(values[n])) { port->value = values[n]; } // Save minimum and maximum values if (!std::isnan(minimum[n])) { port->min = minimum[n]; } if (!std::isnan(maximum[n])) { port->max = maximum[n]; } // util::warning("port name: " + port->name); // util::warning("port symbol: " + port->symbol); if (lilv_port_is_a(plugin, lilv_port, lv2_InputPort)) { port->is_input = true; } else if (!lilv_port_is_a(plugin, lilv_port, lv2_OutputPort) && !port->optional) { util::warning("Port " + port->name + " is neither input nor output!"); } if (lilv_port_is_a(plugin, lilv_port, lv2_ControlPort)) { port->type = TYPE_CONTROL; } else if (lilv_port_is_a(plugin, lilv_port, lv2_AtomPort)) { port->type = TYPE_ATOM; // util::warning("port name: " + port->name); } else if (lilv_port_is_a(plugin, lilv_port, lv2_AudioPort)) { port->type = TYPE_AUDIO; n_audio_in = (port->is_input) ? n_audio_in + 1 : n_audio_in; n_audio_out = (!port->is_input) ? n_audio_out + 1 : n_audio_out; } else if (!port->optional) { util::warning("Port " + port->name + " has un unsupported type!"); } lilv_node_free(port_name); } // util::warning("n audio_in ports: " + util::to_string(n_audio_in)); // util::warning("n audio_out ports: " + util::to_string(n_audio_out)); lilv_node_free(lv2_connectionOptional); lilv_node_free(lv2_ControlPort); lilv_node_free(lv2_AtomPort); lilv_node_free(lv2_AudioPort); lilv_node_free(lv2_OutputPort); lilv_node_free(lv2_InputPort); } auto Lv2Wrapper::create_instance(const uint& rate) -> bool { this->rate = rate; if (instance != nullptr) { deactivate(); lilv_instance_free(instance); instance = nullptr; } LV2_Log_Log lv2_log = {this, &lv2_printf, [](LV2_Log_Handle handle, LV2_URID type, const char* fmt, va_list ap) { return std::vprintf(fmt, ap); }}; LV2_URID_Map lv2_map = {this, [](LV2_URID_Map_Handle handle, const char* uri) { auto* lw = static_cast(handle); return lw->map_urid(uri); }}; LV2_URID_Unmap lv2_unmap = {this, [](LV2_URID_Unmap_Handle handle, LV2_URID urid) { auto* lw = static_cast(handle); return lw->map_urid_to_uri[urid].c_str(); }}; const LV2_Feature lv2_log_feature = {LV2_LOG__log, &lv2_log}; const LV2_Feature lv2_map_feature = {LV2_URID__map, &lv2_map}; const LV2_Feature lv2_unmap_feature = {LV2_URID__unmap, &lv2_unmap}; auto options = std::to_array( {{LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_PARAMETERS__sampleRate), sizeof(float), map_urid(LV2_ATOM__Float), &rate}, {LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_BUF_SIZE__minBlockLength), sizeof(int32_t), map_urid(LV2_ATOM__Int), &min_quantum}, {LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_BUF_SIZE__maxBlockLength), sizeof(int32_t), map_urid(LV2_ATOM__Int), &max_quantum}, {LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_BUF_SIZE__nominalBlockLength), sizeof(int32_t), map_urid(LV2_ATOM__Int), &n_samples}, {LV2_OPTIONS_INSTANCE, 0, 0, 0, 0, nullptr}}); LV2_Feature feature_options = {.URI = LV2_OPTIONS__options, .data = options.data()}; const auto features = std::to_array( {&lv2_log_feature, &lv2_map_feature, &lv2_unmap_feature, &feature_options, static_features.data(), nullptr}); instance = lilv_plugin_instantiate(plugin, rate, features.data()); if (instance == nullptr) { util::warning("failed to instantiate " + plugin_uri); return false; } connect_control_ports(); activate(); return true; } void Lv2Wrapper::connect_control_ports() { for (auto& p : ports) { if (p.type == PortType::TYPE_CONTROL) { lilv_instance_connect_port(instance, p.index, &p.value); } } } void Lv2Wrapper::connect_data_ports(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (instance == nullptr) { return; } int count_input = 0; int count_output = 0; for (const auto& p : ports) { if (p.type == PortType::TYPE_AUDIO) { if (p.is_input) { if (count_input == 0) { lilv_instance_connect_port(instance, p.index, left_in.data()); } else if (count_input == 1) { lilv_instance_connect_port(instance, p.index, right_in.data()); } count_input++; } else { if (count_output == 0) { lilv_instance_connect_port(instance, p.index, left_out.data()); } else if (count_output == 1) { lilv_instance_connect_port(instance, p.index, right_out.data()); } count_output++; } } } } void Lv2Wrapper::connect_data_ports(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (instance == nullptr) { return; } int count_input = 0; int count_output = 0; for (const auto& p : ports) { if (p.type == PortType::TYPE_AUDIO) { if (p.is_input) { if (count_input == 0) { lilv_instance_connect_port(instance, p.index, left_in.data()); } else if (count_input == 1) { lilv_instance_connect_port(instance, p.index, right_in.data()); } else if (count_input == 2) { lilv_instance_connect_port(instance, p.index, probe_left.data()); } else if (count_input == 3) { lilv_instance_connect_port(instance, p.index, probe_right.data()); } count_input++; } else { if (count_output == 0) { lilv_instance_connect_port(instance, p.index, left_out.data()); } else if (count_output == 1) { lilv_instance_connect_port(instance, p.index, right_out.data()); } count_output++; } } } } void Lv2Wrapper::set_n_samples(const uint& value) { this->n_samples = value; } auto Lv2Wrapper::get_n_samples() const -> uint { return this->n_samples; } auto Lv2Wrapper::get_rate() const -> uint { return this->rate; } void Lv2Wrapper::activate() { lilv_instance_activate(instance); } void Lv2Wrapper::run() const { if (instance != nullptr) { lilv_instance_run(instance, n_samples); } } void Lv2Wrapper::deactivate() { lilv_instance_deactivate(instance); } void Lv2Wrapper::set_control_port_value(const std::string& symbol, const float& value) { auto found = false; for (auto& p : ports) { if (p.type == PortType::TYPE_CONTROL && p.symbol == symbol) { if (!p.is_input) { util::warning(plugin_uri + " port " + symbol + " is not an input!"); return; } ui_port_event(p.index, value); // Check port bounds if (value < p.min) { // util::warning(plugin_uri + ": value " + util::to_string(value) + " is out of minimum limit for port " + // p.symbol + " (" + p.name + ")"); p.value = p.min; } else if (value > p.max) { // util::warning(plugin_uri + ": value " + util::to_string(value) + " is out of maximum limit for port " + // p.symbol + " (" + p.name + ")"); p.value = p.max; } else { p.value = value; } found = true; break; } } if (!found) { util::warning(plugin_uri + " port symbol not found: " + symbol); } } auto Lv2Wrapper::get_control_port_value(const std::string& symbol) -> float { for (const auto& p : ports) { if (p.type == PortType::TYPE_CONTROL && p.symbol == symbol) { return p.value; } } util::warning(plugin_uri + " port symbol not found: " + symbol); return 0.0F; } auto Lv2Wrapper::has_instance() -> bool { return instance != nullptr; } auto Lv2Wrapper::map_urid(const std::string& uri) -> LV2_URID { if (map_uri_to_urid.contains(uri)) { return map_uri_to_urid[uri]; } const auto hash = std::hash{}(uri); map_uri_to_urid[uri] = hash; map_urid_to_uri[hash] = uri; return static_cast(hash); } void Lv2Wrapper::load_ui() { // preparing the thread that loads the native ui and updates it over time std::thread ui_updater([this]() { { std::scoped_lock lku(ui_mutex); if (instance == nullptr) { return; } LilvUIs* uis = lilv_plugin_get_uis(plugin); if (uis == nullptr) { return; } /* Code based on: https://github.com/moddevices/mod-host/blob/f36bce78eed80f4f7194c923afd4dcae2c80bc79/src/effects.c#L8203 https://github.com/zrythm/zrythm/blob/1bc89335ca42b83ce759fd4cd0fd518e43b7983d/src/plugins/lv2/lv2_ui.c#L394 */ LILV_FOREACH(uis, u, uis) { const LilvUI* ui = lilv_uis_get(uis, u); std::string ui_uri = lilv_node_as_uri(lilv_ui_get_uri(ui)); util::debug(plugin_uri + " ui uri: " + ui_uri); const LilvNode* binary_node = lilv_ui_get_binary_uri(ui); const LilvNode* bundle_node = lilv_ui_get_bundle_uri(ui); { auto path = lilv_file_uri_parse(lilv_node_as_uri(binary_node), nullptr); libhandle = dlopen(path, RTLD_NOW); lilv_free(path); } if (libhandle == nullptr) { continue; } auto descfn = reinterpret_cast(dlsym(libhandle, "lv2ui_descriptor")); if (descfn == nullptr) { dlclose(libhandle); continue; } const LV2UI_Show_Interface* show_iface = nullptr; uint32_t index = 0U; while ((ui_descriptor = descfn(index++)) != nullptr) { if (ui_descriptor->extension_data == nullptr || ui_descriptor->URI != ui_uri) { continue; } idle_iface = static_cast(ui_descriptor->extension_data(LV2_UI__idleInterface)); show_iface = static_cast(ui_descriptor->extension_data(LV2_UI__showInterface)); if (idle_iface == nullptr) { continue; } // initializing features LV2_Log_Log lv2_log = { this, &lv2_printf, [](LV2_Log_Handle handle, LV2_URID type, const char* fmt, va_list ap) { return std::vprintf(fmt, ap); }}; LV2_URID_Map lv2_map = {this, [](LV2_URID_Map_Handle handle, const char* uri) { auto* lw = static_cast(handle); return lw->map_urid(uri); }}; LV2_URID_Unmap lv2_unmap = {this, [](LV2_URID_Unmap_Handle handle, LV2_URID urid) { auto* lw = static_cast(handle); return lw->map_urid_to_uri[urid].c_str(); }}; const LV2_Feature lv2_log_feature = {LV2_LOG__log, &lv2_log}; const LV2_Feature lv2_map_feature = {LV2_URID__map, &lv2_map}; const LV2_Feature lv2_unmap_feature = {LV2_URID__unmap, &lv2_unmap}; auto options = std::to_array({{LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_PARAMETERS__sampleRate), sizeof(float), map_urid(LV2_ATOM__Float), &rate}, {LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_BUF_SIZE__minBlockLength), sizeof(int32_t), map_urid(LV2_ATOM__Int), &min_quantum}, {LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_BUF_SIZE__maxBlockLength), sizeof(int32_t), map_urid(LV2_ATOM__Int), &max_quantum}, {LV2_OPTIONS_INSTANCE, 0, map_urid(LV2_BUF_SIZE__nominalBlockLength), sizeof(int32_t), map_urid(LV2_ATOM__Int), &n_samples}, {LV2_OPTIONS_INSTANCE, 0, 0, 0, 0, nullptr}}); LV2_Feature feature_options = {.URI = LV2_OPTIONS__options, .data = options.data()}; LV2_Extension_Data_Feature extension_data = {instance->lv2_descriptor->extension_data}; const LV2_Feature feature_dataAccess = {LV2_DATA_ACCESS_URI, &extension_data}; const LV2_Feature feature_instAccess = {LV2_INSTANCE_ACCESS_URI, instance->lv2_handle}; const LV2_Feature idle_feature = {LV2_UI__idleInterface, nullptr}; const LV2_Feature parent_feature = {LV2_UI__parent, nullptr}; const LV2_Feature fixed_size_feature = {LV2_UI__fixedSize, nullptr}; const LV2_Feature no_user_resize_feature = {LV2_UI__noUserResize, nullptr}; const LV2_Feature make_resident_feature = {LV2_UI_makeResident, nullptr}; const LV2_Feature make_soname_resident_feature = {LV2_UI_makeSONameResident, nullptr}; const auto features = std::to_array( {&lv2_log_feature, &lv2_map_feature, &lv2_unmap_feature, &feature_options, static_features.data(), &feature_dataAccess, &feature_instAccess, &idle_feature, &parent_feature, &fixed_size_feature, &no_user_resize_feature, &make_resident_feature, &make_soname_resident_feature, nullptr}); LV2UI_Widget widget = nullptr; auto bundle_path = lilv_file_uri_parse(lilv_node_as_uri(bundle_node), nullptr); ui_handle = ui_descriptor->instantiate( ui_descriptor, plugin_uri.c_str(), bundle_path, +[](LV2UI_Controller controller, uint32_t port_index, uint32_t buffer_size, uint32_t port_protocol, const void* buffer) { auto self = static_cast(controller); for (auto& p : self->ports) { if (p.index == port_index) { // util::warning("The user clicked on port: " + p.name + " -> " + p.symbol); if (port_protocol == 0) { // port is a ui:floatProtocol p.value = *static_cast(buffer); } } } }, this, &widget, features.data()); lilv_free(bundle_path); if (ui_handle == nullptr) { continue; } util::debug("found ui handle for" + ui_uri); if (show_iface != nullptr) { if (show_iface->show(ui_handle) != 0) { util::warning("failed to show ui for " + ui_uri); } } break; } } lilv_uis_free(uis); } // initilizing the ui with the current control values for (const auto& p : ports) { if (p.type == PortType::TYPE_CONTROL) { ui_descriptor->port_event(ui_handle, p.index, sizeof(float), 0, &p.value); } } while (has_ui()) { { std::scoped_lock lk(ui_mutex); notify_ui(); update_ui(); } std::this_thread::sleep_for(std::chrono::milliseconds(static_cast(1000.0 / ui_update_rate))); } }); ui_updater.detach(); } void Lv2Wrapper::notify_ui() { if (ui_descriptor == nullptr || ui_handle == nullptr) { return; } if (ui_descriptor->port_event == nullptr) { return; } for (const auto& p : ports) { if (p.type == PortType::TYPE_CONTROL && !p.is_input) { ui_descriptor->port_event(ui_handle, p.index, sizeof(float), 0, &p.value); } } } void Lv2Wrapper::update_ui() { if (idle_iface == nullptr || ui_handle == nullptr) { return; } idle_iface->idle(ui_handle); } auto Lv2Wrapper::has_ui() -> bool { return ui_handle != nullptr; } void Lv2Wrapper::close_ui() { std::scoped_lock lk(ui_mutex); if (ui_descriptor != nullptr && ui_handle != nullptr) { ui_descriptor->cleanup(ui_handle); } if (libhandle != nullptr) { dlclose(libhandle); } ui_handle = nullptr; ui_descriptor = nullptr; libhandle = nullptr; } void Lv2Wrapper::set_ui_update_rate(const uint& value) { ui_update_rate = value; } void Lv2Wrapper::ui_port_event(const uint& port_index, const float& value) { if (ui_descriptor == nullptr || ui_handle == nullptr) { return; } ui_descriptor->port_event(ui_handle, port_index, sizeof(float), 0, &value); } void Lv2Wrapper::native_ui_to_gsettings() { if (ui_descriptor == nullptr || ui_handle == nullptr) { // only write to the database if the native ui is being used return; } for (const auto& func : gsettings_sync_funcs) { func(); } } } // namespace lv2 easyeffects-7.1.7/src/maximizer.cpp000066400000000000000000000104561463533416400173460ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "maximizer.hpp" #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Maximizer::Maximizer(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::maximizer, tags::plugin_package::zam, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("urn:zamaudio:ZaMaximX2"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "urn:zamaudio:ZaMaximX2 is not installed"); } lv2_wrapper->bind_key_double<"thresh", "threshold">(settings); lv2_wrapper->bind_key_double<"rel", "release">(settings); setup_input_output_gain(); // g_timeout_add_seconds(1, GSourceFunc(+[](Maximizer* self) { // if (!self->lv2_wrapper->has_ui()) { // self->lv2_wrapper->load_ui(); // } else { // self->lv2_wrapper->notify_ui(); // self->lv2_wrapper->update_ui(); // } // return 1; // }), // this); } Maximizer::~Maximizer() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Maximizer::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Maximizer::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("lv2_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { // reduction needed as double for levelbar widget ui, so we convert it here reduction_port_value = static_cast(lv2_wrapper->get_control_port_value("gr")); reduction.emit(reduction_port_value); notify(); } } } auto Maximizer::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/maximizer_preset.cpp000066400000000000000000000046141463533416400207270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "maximizer_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" MaximizerPreset::MaximizerPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::maximizer::id, tags::schema::maximizer::input_path, tags::schema::maximizer::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::maximizer).append("#").append(util::to_string(index)); } void MaximizerPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["release"] = g_settings_get_double(settings, "release"); json[section][instance_name]["threshold"] = g_settings_get_double(settings, "threshold"); } void MaximizerPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "release", "release"); update_key(json.at(section).at(instance_name), settings, "threshold", "threshold"); } easyeffects-7.1.7/src/maximizer_ui.cpp000066400000000000000000000165071463533416400200460ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "maximizer_ui.hpp" #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include "maximizer.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::maximizer_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr maximizer; std::vector connections; std::vector gconnections; }; struct _MaximizerBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *release, *threshold; GtkLevelBar* reduction_levelbar; GtkLabel* reduction_label; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(MaximizerBox, maximizer_box, GTK_TYPE_BOX) void on_reset(MaximizerBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(MaximizerBox* self, std::shared_ptr maximizer, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->maximizer = maximizer; self->settings = g_settings_new_with_path(tags::schema::maximizer::id, schema_path.c_str()); maximizer->set_post_messages(true); self->data->connections.push_back(maximizer->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(maximizer->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(maximizer->reduction.connect([=](const double value) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } if (!GTK_IS_LEVEL_BAR(self->reduction_levelbar) || !GTK_IS_LABEL(self->reduction_label)) { return; } gtk_level_bar_set_value(self->reduction_levelbar, value); gtk_label_set_text(self->reduction_label, fmt::format("{0:.0f}", value).c_str()); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->maximizer->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "release", gtk_spin_button_get_adjustment(self->release), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "threshold", gtk_spin_button_get_adjustment(self->threshold), "value", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_MAXIMIZER_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(maximizer_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_MAXIMIZER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(maximizer_box_parent_class)->finalize(object); } void maximizer_box_class_init(MaximizerBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::maximizer_ui); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, input_gain); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, output_gain); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, release); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, threshold); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, reduction_levelbar); gtk_widget_class_bind_template_child(widget_class, MaximizerBox, reduction_label); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void maximizer_box_init(MaximizerBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbutton<"dB">(self->threshold); prepare_spinbuttons<"ms">(self->release); } auto create() -> MaximizerBox* { return static_cast(g_object_new(EE_TYPE_MAXIMIZER_BOX, nullptr)); } } // namespace ui::maximizer_box easyeffects-7.1.7/src/meson.build000066400000000000000000000125511463533416400167750ustar00rootroot00000000000000easyeffects_sources = [ 'easyeffects.cpp', 'application.cpp', 'application_ui.cpp', 'apps_box.cpp', 'app_info.cpp', 'autogain.cpp', 'autogain_preset.cpp', 'autogain_ui.cpp', 'bass_enhancer.cpp', 'bass_enhancer_preset.cpp', 'bass_enhancer_ui.cpp', 'bass_loudness.cpp', 'bass_loudness_preset.cpp', 'bass_loudness_ui.cpp', 'blocklist_menu.cpp', 'chart.cpp', 'client_info_holder.cpp', 'compressor.cpp', 'compressor_preset.cpp', 'compressor_ui.cpp', 'convolver.cpp', 'convolver_menu_impulses.cpp', 'convolver_menu_combine.cpp', 'convolver_preset.cpp', 'convolver_ui.cpp', 'convolver_ui_common.cpp', 'crossfeed.cpp', 'crossfeed_preset.cpp', 'crossfeed_ui.cpp', 'crystalizer.cpp', 'crystalizer_preset.cpp', 'crystalizer_ui.cpp', 'deepfilternet.cpp', 'deepfilternet_preset.cpp', 'deepfilternet_ui.cpp', 'deesser.cpp', 'deesser_preset.cpp', 'deesser_ui.cpp', 'delay.cpp', 'delay_preset.cpp', 'delay_ui.cpp', 'echo_canceller.cpp', 'echo_canceller_preset.cpp', 'echo_canceller_ui.cpp', 'effects_base.cpp', 'effects_box.cpp', 'equalizer_band_box.cpp', 'equalizer.cpp', 'equalizer_preset.cpp', 'equalizer_ui.cpp', 'exciter.cpp', 'exciter_preset.cpp', 'exciter_ui.cpp', 'expander.cpp', 'expander_preset.cpp', 'expander_ui.cpp', 'filter.cpp', 'filter_preset.cpp', 'filter_ui.cpp', 'fir_filter_bandpass.cpp', 'fir_filter_base.cpp', 'fir_filter_lowpass.cpp', 'fir_filter_highpass.cpp', 'gate.cpp', 'gate_preset.cpp', 'gate_ui.cpp', 'ladspa_wrapper.cpp', 'level_meter.cpp', 'level_meter_preset.cpp', 'level_meter_ui.cpp', 'limiter.cpp', 'limiter_preset.cpp', 'limiter_ui.cpp', 'loudness.cpp', 'loudness_preset.cpp', 'loudness_ui.cpp', 'lv2_wrapper.cpp', 'maximizer.cpp', 'maximizer_preset.cpp', 'maximizer_ui.cpp', 'module_info_holder.cpp', 'multiband_compressor.cpp', 'multiband_compressor_band_box.cpp', 'multiband_compressor_preset.cpp', 'multiband_compressor_ui.cpp', 'multiband_gate.cpp', 'multiband_gate_band_box.cpp', 'multiband_gate_preset.cpp', 'multiband_gate_ui.cpp', 'node_info_holder.cpp', 'output_level.cpp', 'pipe_manager.cpp', 'pipe_manager_box.cpp', 'pitch.cpp', 'pitch_preset.cpp', 'pitch_ui.cpp', 'plugin_base.cpp', 'plugin_preset_base.cpp', 'plugins_box.cpp', 'plugins_menu.cpp', 'preferences_general.cpp', 'preferences_spectrum.cpp', 'preferences_window.cpp', 'presets_autoloading_holder.cpp', 'presets_menu.cpp', 'presets_manager.cpp', 'reverb.cpp', 'reverb_preset.cpp', 'reverb_ui.cpp', 'resampler.cpp', 'rnnoise.cpp', 'rnnoise_preset.cpp', 'rnnoise_ui.cpp', 'spectrum.cpp', 'speex.cpp', 'speex_preset.cpp', 'speex_ui.cpp', 'stereo_tools.cpp', 'stereo_tools_preset.cpp', 'stereo_tools_ui.cpp', 'stream_output_effects.cpp', 'stream_input_effects.cpp', 'tags_plugin_name.cpp', 'test_signals.cpp', 'ui_helpers.cpp', 'util.cpp', gresources ] cc = meson.get_compiler('c') # apparantly this is not available as a standard dependency have_ladspa = cc.has_header('ladspa.h') if not have_ladspa error('Dependency "ladspa" not found, tried looking for ladspa.h') endif cxx = meson.get_compiler('cpp') zita_convolver = cxx.find_library('zita-convolver', required: true) # always require these libraries if the respective meson option is enabled, so they can't be accidentally left out rnnoise = dependency('rnnoise', include_type: 'system', required: get_option('enable-rnnoise')) if get_option('enable-rnnoise') add_project_arguments('-DENABLE_RNNOISE=1', language : 'cpp') else status += 'The RNNoise library is not being used. The calls to its functions will be disabled.' endif libportal = dependency('libportal-gtk4', include_type: 'system', required: get_option('enable-libportal')) if get_option('enable-libportal') add_project_arguments('-DENABLE_LIBPORTAL=1', language : 'cpp') easyeffects_sources += 'libportal.cpp' status += 'Using libportal to handle autostart files.' endif if get_option('enable-libcpp-workarounds') add_project_arguments('-DENABLE_LIBCPP_WORKAROUNDS=1', language : 'cpp') status += 'Using libc++ workarounds.' endif tbb = cxx.find_library('tbb', required: true) easyeffects_deps = [ dependency('libpipewire-0.3', version: '>=0.3.58', include_type: 'system'), dependency('glib-2.0', version: '>=2.56', include_type: 'system'), dependency('gtk4', version: '>=4.10', include_type: 'system'), dependency('libadwaita-1', version: '>=1.2.0', include_type: 'system'), dependency('sigc++-3.0', version: '>=3.0.6', include_type: 'system'), dependency('lilv-0', version: '>=0.22', include_type: 'system'), dependency('lv2', version: '>=1.18.2', include_type: 'system'), dependency('libbs2b', include_type: 'system'), dependency('sndfile', include_type: 'system'), dependency('fftw3f', include_type: 'system'), dependency('fftw3', include_type: 'system'), dependency('libebur128',version: '>=1.2.0', include_type: 'system'), dependency('samplerate', include_type: 'system'), dependency('soundtouch', include_type: 'system'), dependency('speexdsp', include_type: 'system'), dependency('nlohmann_json', include_type: 'system'), dependency('fmt', version: '>=8.0.0', include_type: 'system'), dependency('gsl', include_type: 'system'), dependency('threads'), tbb, zita_convolver, rnnoise, libportal, config_h ] executable( meson.project_name(), easyeffects_sources, include_directories : [include_dir,config_h_dir], dependencies : easyeffects_deps, install: true, link_args: link_args ) easyeffects-7.1.7/src/module_info_holder.cpp000066400000000000000000000100531463533416400211670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "module_info_holder.hpp" #include #include #include #include #include #include "pipe_objects.hpp" #include "util.hpp" namespace ui::holders { enum { PROP_0, PROP_ID, PROP_NAME, PROP_DESCRIPTION, PROP_FILENAME }; // NOLINTNEXTLINE G_DEFINE_TYPE(ModuleInfoHolder, module_info_holder, G_TYPE_OBJECT); void module_info_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) { auto* self = EE_MODULE_INFO_HOLDER(object); switch (prop_id) { case PROP_ID: self->info->id = g_value_get_uint(value); break; case PROP_NAME: self->info->name = g_value_get_string(value); break; case PROP_DESCRIPTION: self->info->description = g_value_get_string(value); break; case PROP_FILENAME: self->info->filename = g_value_get_string(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } } void module_info_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) { auto* self = EE_MODULE_INFO_HOLDER(object); switch (prop_id) { case PROP_ID: g_value_set_uint(value, self->info->id); break; case PROP_NAME: g_value_set_string(value, self->info->name.c_str()); break; case PROP_DESCRIPTION: g_value_set_string(value, self->info->description.c_str()); break; case PROP_FILENAME: g_value_set_string(value, self->info->filename.c_str()); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } } void module_info_holder_finalize(GObject* object) { auto* self = EE_MODULE_INFO_HOLDER(object); self->info_updated.clear(); util::debug(util::to_string(self->info->id) + ", " + self->info->name + " finalized"); delete self->info; G_OBJECT_CLASS(module_info_holder_parent_class)->finalize(object); } void module_info_holder_class_init(ModuleInfoHolderClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); object_class->finalize = module_info_holder_finalize; object_class->set_property = module_info_set_property; object_class->get_property = module_info_get_property; g_object_class_install_property( object_class, PROP_ID, g_param_spec_uint("id", "Id", "Id", G_MININT, G_MAXUINT, SPA_ID_INVALID, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_NAME, g_param_spec_string("name", "Name", "Name", nullptr, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_DESCRIPTION, g_param_spec_string("description", "Description", "Description", nullptr, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_FILENAME, g_param_spec_string("file-name", "File Name", "File Name", nullptr, G_PARAM_READWRITE)); } void module_info_holder_init(ModuleInfoHolder* self) { self->info = new ModuleInfo(); } auto create(const ModuleInfo& info) -> ModuleInfoHolder* { auto* holder = static_cast(g_object_new(EE_TYPE_MODULE_INFO_HOLDER, nullptr)); holder->info->id = info.id; holder->info->name = info.name; holder->info->description = info.description; holder->info->filename = info.filename; return holder; } } // namespace ui::holders easyeffects-7.1.7/src/multiband_compressor.cpp000066400000000000000000000155721463533416400216000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_compressor.hpp" #include #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" MultibandCompressor::MultibandCompressor(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::multiband_compressor, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type, true) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/sc_mb_compressor_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_mb_compressor_stereo is not installed"); } gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); lv2_wrapper->bind_key_enum<"mode", "compressor-mode">(settings); lv2_wrapper->bind_key_enum<"envb", "envelope-boost">(settings); lv2_wrapper->bind_key_bool<"ssplit", "stereo-split">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"g_dry", "dry", false>(settings); lv2_wrapper->bind_key_double_db<"g_wet", "wet", false>(settings); bind_bands(std::make_index_sequence()); setup_input_output_gain(); } MultibandCompressor::~MultibandCompressor() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void MultibandCompressor::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void MultibandCompressor::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out, probe_left, probe_right); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { for (uint n = 0U; n < n_bands; n++) { const auto nstr = util::to_string(n); frequency_range_end_port_array.at(n) = lv2_wrapper->get_control_port_value("fre_" + nstr); envelope_port_array.at(n) = 0.5F * (lv2_wrapper->get_control_port_value("elm_" + nstr + "l") + lv2_wrapper->get_control_port_value("elm_" + nstr + "r")); curve_port_array.at(n) = 0.5F * (lv2_wrapper->get_control_port_value("clm_" + nstr + "l") + lv2_wrapper->get_control_port_value("clm_" + nstr + "r")); reduction_port_array.at(n) = 0.5F * (lv2_wrapper->get_control_port_value("rlm_" + nstr + "l") + lv2_wrapper->get_control_port_value("rlm_" + nstr + "r")); } frequency_range.emit(frequency_range_end_port_array); envelope.emit(envelope_port_array); curve.emit(curve_port_array); reduction.emit(reduction_port_array); notify(); } } } void MultibandCompressor::update_sidechain_links(const std::string& key) { auto external_sidechain_enabled = false; for (uint n = 0U; !external_sidechain_enabled && n < n_bands; n++) { const auto nstr = util::to_string(n); external_sidechain_enabled = g_settings_get_boolean(settings, ("external-sidechain" + nstr).c_str()) != 0; } if (!external_sidechain_enabled) { pm->destroy_links(list_proxies); list_proxies.clear(); return; } const auto device_name = util::gsettings_get_string(settings, "sidechain-input-device"); NodeInfo input_device = pm->ee_source_node; for (const auto& [serial, node] : pm->node_map) { if (node.name == device_name) { input_device = node; break; } } pm->destroy_links(list_proxies); list_proxies.clear(); for (const auto& link : pm->link_nodes(input_device.id, get_node_id(), true)) { list_proxies.push_back(link); } } void MultibandCompressor::update_probe_links() { update_sidechain_links(""); } auto MultibandCompressor::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/multiband_compressor_band_box.cpp000066400000000000000000000326751463533416400234370ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_compressor_band_box.hpp" #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include "tags_multiband_compressor.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::multiband_compressor_band_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } int index; std::vector gconnections; }; struct _MultibandCompressorBandBox { GtkBox parent_instance; GtkToggleButton *bypass, *mute, *solo, *external_sidechain; GtkLabel *end_label, *gain_label, *envelope_label, *curve_label; GtkSpinButton *split_frequency, *lowcut_filter_frequency, *highcut_filter_frequency, *attack_time, *attack_threshold, *release_time, *release_threshold, *ratio, *knee, *makeup, *sidechain_preamp, *sidechain_reactivity, *sidechain_lookahead, *boost_amount, *boost_threshold; GtkCheckButton *lowcut_filter, *highcut_filter; GtkDropDown *compression_mode, *sidechain_mode, *sidechain_source, *stereo_split_source; GtkBox* split_frequency_box; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(MultibandCompressorBandBox, multiband_compressor_band_box, GTK_TYPE_BOX) gboolean set_boost_threshold_sensitive(MultibandCompressorBandBox* self, const guint selected_id) { switch (selected_id) { case 0U: // Downward case 2U: // Boosting return 0; default: break; } return 1; } gboolean set_boost_amount_sensitive(MultibandCompressorBandBox* self, const guint selected_id) { switch (selected_id) { case 0U: // Downward case 1U: // Upward return 0; default: break; } return 1; } void set_end_label(MultibandCompressorBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->end_label)) { return; } gtk_label_set_text(self->end_label, fmt::format("{0:.0f}", value).c_str()); } void set_envelope_label(MultibandCompressorBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->envelope_label)) { return; } gtk_label_set_text(self->envelope_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); } void set_curve_label(MultibandCompressorBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->curve_label)) { return; } gtk_label_set_text(self->curve_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); } void set_gain_label(MultibandCompressorBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->gain_label)) { return; } gtk_label_set_text(self->gain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); } void setup(MultibandCompressorBandBox* self, GSettings* settings, int index) { self->data->index = index; self->settings = settings; using namespace tags::multiband_compressor; if (index > 0) { g_settings_bind(settings, band_split_frequency[index].data(), gtk_spin_button_get_adjustment(self->split_frequency), "value", G_SETTINGS_BIND_DEFAULT); } else { // removing split frequency from band 0 for (auto* child = gtk_widget_get_last_child(GTK_WIDGET(self->split_frequency_box)); child != nullptr; child = gtk_widget_get_last_child(GTK_WIDGET(self->split_frequency_box))) { gtk_box_remove(self->split_frequency_box, child); } auto* label = gtk_label_new("0 Hz"); gtk_widget_set_halign(GTK_WIDGET(label), GTK_ALIGN_CENTER); gtk_box_append(self->split_frequency_box, GTK_WIDGET(label)); } ui::gsettings_bind_enum_to_combo_widget(self->settings, band_compression_mode[index].data(), self->compression_mode); g_settings_bind(self->settings, band_compressor_enable[index].data(), self->bypass, "active", G_SETTINGS_BIND_INVERT_BOOLEAN); g_settings_bind(self->settings, band_mute[index].data(), self->mute, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_solo[index].data(), self->solo, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_lowcut_filter[index].data(), self->lowcut_filter, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_highcut_filter[index].data(), self->highcut_filter, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_external_sidechain[index].data(), self->external_sidechain, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_sidechain_mode[index].data(), self->sidechain_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_sidechain_source[index].data(), self->sidechain_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_stereo_split_source[index].data(), self->stereo_split_source); g_settings_bind(settings, band_lowcut_filter_frequency[index].data(), gtk_spin_button_get_adjustment(self->lowcut_filter_frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_highcut_filter_frequency[index].data(), gtk_spin_button_get_adjustment(self->highcut_filter_frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_attack_time[index].data(), gtk_spin_button_get_adjustment(self->attack_time), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_attack_threshold[index].data(), gtk_spin_button_get_adjustment(self->attack_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_release_time[index].data(), gtk_spin_button_get_adjustment(self->release_time), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_release_threshold[index].data(), gtk_spin_button_get_adjustment(self->release_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_ratio[index].data(), gtk_spin_button_get_adjustment(self->ratio), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_knee[index].data(), gtk_spin_button_get_adjustment(self->knee), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_makeup[index].data(), gtk_spin_button_get_adjustment(self->makeup), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_sidechain_preamp[index].data(), gtk_spin_button_get_adjustment(self->sidechain_preamp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_sidechain_reactivity[index].data(), gtk_spin_button_get_adjustment(self->sidechain_reactivity), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_sidechain_lookahead[index].data(), gtk_spin_button_get_adjustment(self->sidechain_lookahead), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_boost_amount[index].data(), gtk_spin_button_get_adjustment(self->boost_amount), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_boost_threshold[index].data(), gtk_spin_button_get_adjustment(self->boost_threshold), "value", G_SETTINGS_BIND_DEFAULT); // bind source dropdowns sensitive property to split-stereo gsettings boolean g_settings_bind(self->settings, "stereo-split", self->sidechain_source, "sensitive", static_cast(G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_INVERT_BOOLEAN)); g_settings_bind(self->settings, "stereo-split", self->stereo_split_source, "sensitive", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_MULTIBAND_COMPRESSOR_BAND_BOX(object); for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->gconnections.clear(); util::debug("index: " + util::to_string(self->data->index) + " disposed"); G_OBJECT_CLASS(multiband_compressor_band_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_MULTIBAND_COMPRESSOR_BAND_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(multiband_compressor_band_box_parent_class)->finalize(object); } void multiband_compressor_band_box_class_init(MultibandCompressorBandBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::multiband_compressor_band_ui); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, bypass); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, mute); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, solo); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, external_sidechain); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, end_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, gain_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, envelope_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, curve_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, split_frequency); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, split_frequency_box); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, lowcut_filter); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, highcut_filter); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, lowcut_filter_frequency); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, highcut_filter_frequency); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, attack_time); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, attack_threshold); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, release_time); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, release_threshold); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, ratio); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, knee); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, makeup); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, sidechain_preamp); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, sidechain_reactivity); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, sidechain_lookahead); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, boost_amount); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, boost_threshold); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, compression_mode); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, sidechain_mode); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, sidechain_source); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBandBox, stereo_split_source); gtk_widget_class_bind_template_callback(widget_class, set_boost_amount_sensitive); gtk_widget_class_bind_template_callback(widget_class, set_boost_threshold_sensitive); } void multiband_compressor_band_box_init(MultibandCompressorBandBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"Hz">(self->lowcut_filter_frequency, self->highcut_filter_frequency, self->split_frequency); prepare_spinbuttons<"ms">(self->attack_time, self->release_time, self->sidechain_reactivity, self->sidechain_lookahead); prepare_spinbuttons<"dB">(self->attack_threshold, self->knee, self->makeup, self->sidechain_preamp, self->boost_amount, self->boost_threshold); prepare_spinbuttons<"">(self->ratio); // This spinbutton can assume -inf prepare_spinbuttons<"dB", false>(self->release_threshold); } auto create() -> MultibandCompressorBandBox* { return static_cast(g_object_new(EE_TYPE_MULTIBAND_COMPRESSOR_BAND_BOX, nullptr)); } } // namespace ui::multiband_compressor_band_box easyeffects-7.1.7/src/multiband_compressor_preset.cpp000066400000000000000000000250731463533416400231570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_compressor_preset.hpp" #include #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" MultibandCompressorPreset::MultibandCompressorPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::multiband_compressor::id, tags::schema::multiband_compressor::input_path, tags::schema::multiband_compressor::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::multiband_compressor).append("#").append(util::to_string(index)); } void MultibandCompressorPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["dry"] = g_settings_get_double(settings, "dry"); json[section][instance_name]["wet"] = g_settings_get_double(settings, "wet"); json[section][instance_name]["compressor-mode"] = util::gsettings_get_string(settings, "compressor-mode"); json[section][instance_name]["envelope-boost"] = util::gsettings_get_string(settings, "envelope-boost"); json[section][instance_name]["stereo-split"] = g_settings_get_boolean(settings, "stereo-split") != 0; for (uint n = 0U; n < n_bands; n++) { const auto nstr = util::to_string(n); const auto bandn = "band" + nstr; if (n > 0U) { json[section][instance_name][bandn]["enable-band"] = g_settings_get_boolean(settings, ("enable-band" + nstr).c_str()) != 0; json[section][instance_name][bandn]["split-frequency"] = g_settings_get_double(settings, ("split-frequency" + nstr).c_str()); } json[section][instance_name][bandn]["compressor-enable"] = g_settings_get_boolean(settings, ("compressor-enable" + nstr).c_str()) != 0; json[section][instance_name][bandn]["solo"] = g_settings_get_boolean(settings, ("solo" + nstr).c_str()) != 0; json[section][instance_name][bandn]["mute"] = g_settings_get_boolean(settings, ("mute" + nstr).c_str()) != 0; json[section][instance_name][bandn]["attack-threshold"] = g_settings_get_double(settings, ("attack-threshold" + nstr).c_str()); json[section][instance_name][bandn]["attack-time"] = g_settings_get_double(settings, ("attack-time" + nstr).c_str()); json[section][instance_name][bandn]["release-threshold"] = g_settings_get_double(settings, ("release-threshold" + nstr).c_str()); json[section][instance_name][bandn]["release-time"] = g_settings_get_double(settings, ("release-time" + nstr).c_str()); json[section][instance_name][bandn]["ratio"] = g_settings_get_double(settings, ("ratio" + nstr).c_str()); json[section][instance_name][bandn]["knee"] = g_settings_get_double(settings, ("knee" + nstr).c_str()); json[section][instance_name][bandn]["makeup"] = g_settings_get_double(settings, ("makeup" + nstr).c_str()); json[section][instance_name][bandn]["compression-mode"] = util::gsettings_get_string(settings, ("compression-mode" + nstr).c_str()); json[section][instance_name][bandn]["external-sidechain"] = g_settings_get_boolean(settings, ("external-sidechain" + nstr).c_str()) != 0; json[section][instance_name][bandn]["sidechain-mode"] = util::gsettings_get_string(settings, ("sidechain-mode" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-source"] = util::gsettings_get_string(settings, ("sidechain-source" + nstr).c_str()); json[section][instance_name][bandn]["stereo-split-source"] = util::gsettings_get_string(settings, ("stereo-split-source" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-lookahead"] = g_settings_get_double(settings, ("sidechain-lookahead" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-reactivity"] = g_settings_get_double(settings, ("sidechain-reactivity" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-preamp"] = g_settings_get_double(settings, ("sidechain-preamp" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-custom-lowcut-filter"] = g_settings_get_boolean(settings, ("sidechain-custom-lowcut-filter" + nstr).c_str()) != 0; json[section][instance_name][bandn]["sidechain-custom-highcut-filter"] = g_settings_get_boolean(settings, ("sidechain-custom-highcut-filter" + nstr).c_str()) != 0; json[section][instance_name][bandn]["sidechain-lowcut-frequency"] = g_settings_get_double(settings, ("sidechain-lowcut-frequency" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-highcut-frequency"] = g_settings_get_double(settings, ("sidechain-highcut-frequency" + nstr).c_str()); json[section][instance_name][bandn]["boost-threshold"] = g_settings_get_double(settings, ("boost-threshold" + nstr).c_str()); json[section][instance_name][bandn]["boost-amount"] = g_settings_get_double(settings, ("boost-amount" + nstr).c_str()); } } void MultibandCompressorPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "dry", "dry"); update_key(json.at(section).at(instance_name), settings, "wet", "wet"); update_key(json.at(section).at(instance_name), settings, "compressor-mode", "compressor-mode"); update_key(json.at(section).at(instance_name), settings, "envelope-boost", "envelope-boost"); update_key(json.at(section).at(instance_name), settings, "stereo-split", "stereo-split"); for (uint n = 0U; n < n_bands; n++) { const auto nstr = util::to_string(n); const auto bandn = "band" + nstr; if (n > 0U) { update_key(json.at(section).at(instance_name).at(bandn), settings, "enable-band" + nstr, "enable-band"); update_key(json.at(section).at(instance_name).at(bandn), settings, "split-frequency" + nstr, "split-frequency"); } update_key(json.at(section).at(instance_name).at(bandn), settings, "compressor-enable" + nstr, "compressor-enable"); update_key(json.at(section).at(instance_name).at(bandn), settings, "solo" + nstr, "solo"); update_key(json.at(section).at(instance_name).at(bandn), settings, "mute" + nstr, "mute"); update_key(json.at(section).at(instance_name).at(bandn), settings, "attack-threshold" + nstr, "attack-threshold"); update_key(json.at(section).at(instance_name).at(bandn), settings, "attack-time" + nstr, "attack-time"); update_key(json.at(section).at(instance_name).at(bandn), settings, "release-threshold" + nstr, "release-threshold"); update_key(json.at(section).at(instance_name).at(bandn), settings, "release-time" + nstr, "release-time"); update_key(json.at(section).at(instance_name).at(bandn), settings, "ratio" + nstr, "ratio"); update_key(json.at(section).at(instance_name).at(bandn), settings, "knee" + nstr, "knee"); update_key(json.at(section).at(instance_name).at(bandn), settings, "makeup" + nstr, "makeup"); update_key(json.at(section).at(instance_name).at(bandn), settings, "compression-mode" + nstr, "compression-mode"); update_key(json.at(section).at(instance_name).at(bandn), settings, "external-sidechain" + nstr, "external-sidechain"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-mode" + nstr, "sidechain-mode"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-source" + nstr, "sidechain-source"); update_key(json.at(section).at(instance_name).at(bandn), settings, "stereo-split-source" + nstr, "stereo-split-source"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-lookahead" + nstr, "sidechain-lookahead"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-reactivity" + nstr, "sidechain-reactivity"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-preamp" + nstr, "sidechain-preamp"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-custom-lowcut-filter" + nstr, "sidechain-custom-lowcut-filter"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-custom-highcut-filter" + nstr, "sidechain-custom-highcut-filter"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-lowcut-frequency" + nstr, "sidechain-lowcut-frequency"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-highcut-frequency" + nstr, "sidechain-highcut-frequency"); update_key(json.at(section).at(instance_name).at(bandn), settings, "boost-threshold" + nstr, "boost-threshold"); update_key(json.at(section).at(instance_name).at(bandn), settings, "boost-amount" + nstr, "boost-amount"); } } easyeffects-7.1.7/src/multiband_compressor_ui.cpp000066400000000000000000000420661463533416400222730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_compressor_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "multiband_compressor.hpp" #include "multiband_compressor_band_box.hpp" #include "node_info_holder.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_multiband_compressor.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::multiband_compressor_box { using namespace std::string_literals; struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr multiband_compressor; std::vector connections; std::vector gconnections; }; struct _MultibandCompressorBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkStack* stack; GtkCheckButton *enable_band1, *enable_band2, *enable_band3, *enable_band4, *enable_band5, *enable_band6, *enable_band7; GtkSpinButton *dry, *wet; GtkDropDown *compressor_mode, *envelope_boost; GtkDropDown* dropdown_input_devices; GtkToggleButton *show_native_ui, *stereo_split; GListStore* input_devices_model; GSettings* settings; std::array bands; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(MultibandCompressorBox, multiband_compressor_box, GTK_TYPE_BOX) void on_reset(MultibandCompressorBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(MultibandCompressorBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->multiband_compressor->show_native_ui(); } else { self->data->multiband_compressor->close_native_ui(); } } void on_listbox_row_selected(MultibandCompressorBox* self, GtkListBoxRow* row, GtkListBox* listbox) { if (auto* selected_row = gtk_list_box_get_selected_row(listbox); selected_row != nullptr) { if (auto index = gtk_list_box_row_get_index(selected_row); index != -1) { gtk_stack_set_visible_child_name(self->stack, ("band" + util::to_string(index)).c_str()); } } } void set_dropdown_input_devices_sensitivity(MultibandCompressorBox* self) { for (uint n = 0U; n < tags::multiband_compressor::n_bands; n++) { if (g_settings_get_boolean(self->settings, tags::multiband_compressor::band_external_sidechain[n].data()) != 0) { gtk_widget_set_sensitive(GTK_WIDGET(self->dropdown_input_devices), 1); return; } } gtk_widget_set_sensitive(GTK_WIDGET(self->dropdown_input_devices), 0); } void create_bands(MultibandCompressorBox* self) { for (uint n = 0U; n < tags::multiband_compressor::n_bands; n++) { auto* band_box = ui::multiband_compressor_band_box::create(); ui::multiband_compressor_band_box::setup(band_box, self->settings, n); gtk_stack_add_named(self->stack, GTK_WIDGET(band_box), ("band" + util::to_string(n)).c_str()); self->bands[n] = band_box; self->data->gconnections.push_back(g_signal_connect( self->settings, ("changed::"s + tags::multiband_compressor::band_external_sidechain[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, MultibandCompressorBox* self) { set_dropdown_input_devices_sensitivity(self); }), self)); } } void setup_dropdown_input_device(MultibandCompressorBox* self) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(self->input_devices_model)); g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, MultibandCompressorBox* self) { if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->settings, "sidechain-input-device", holder->info->name.c_str()); } }), self); gtk_drop_down_set_model(self->dropdown_input_devices, G_LIST_MODEL(self->input_devices_model)); g_object_unref(selection); } void setup(MultibandCompressorBox* self, std::shared_ptr multiband_compressor, const std::string& schema_path, PipeManager* pm) { self->data->multiband_compressor = multiband_compressor; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::multiband_compressor::id, schema_path.c_str()); multiband_compressor->set_post_messages(true); setup_dropdown_input_device(self); set_dropdown_input_devices_sensitivity(self); create_bands(self); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source || node.media_role == tags::pipewire::media_role::dsp) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); } } self->data->connections.push_back(multiband_compressor->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_compressor->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(multiband_compressor->frequency_range.connect( [=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_compressor_band_box::set_end_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_compressor->envelope.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_compressor_band_box::set_envelope_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_compressor->curve.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_compressor_band_box::set_curve_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_compressor->reduction.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_compressor_band_box::set_gain_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->multiband_compressor->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-split", self->stereo_split, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "compressor-mode", self->compressor_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "envelope-boost", self->envelope_boost); g_settings_bind(self->settings, "enable-band1", self->enable_band1, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band2", self->enable_band2, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band3", self->enable_band3, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band4", self->enable_band4, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band5", self->enable_band5, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band6", self->enable_band6, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band7", self->enable_band7, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_MULTIBAND_COMPRESSOR_BOX(object); self->data->multiband_compressor->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(multiband_compressor_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_MULTIBAND_COMPRESSOR_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(multiband_compressor_box_parent_class)->finalize(object); } void multiband_compressor_box_class_init(MultibandCompressorBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::multiband_compressor_ui); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, input_gain); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, output_gain); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, stack); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band1); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band2); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band3); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band4); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band5); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band6); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, enable_band7); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, dry); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, wet); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, stereo_split); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, compressor_mode); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, envelope_boost); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, MultibandCompressorBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); gtk_widget_class_bind_template_callback(widget_class, on_listbox_row_selected); } void multiband_compressor_box_init(MultibandCompressorBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->dry, self->wet); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> MultibandCompressorBox* { return static_cast(g_object_new(EE_TYPE_MULTIBAND_COMPRESSOR_BOX, nullptr)); } } // namespace ui::multiband_compressor_box easyeffects-7.1.7/src/multiband_gate.cpp000066400000000000000000000153111463533416400203130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_gate.hpp" #include #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" MultibandGate::MultibandGate(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::multiband_gate, tags::plugin_package::lsp, schema, schema_path, pipe_manager, pipe_type, true) { lv2_wrapper = std::make_unique("http://lsp-plug.in/plugins/lv2/sc_mb_gate_stereo"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/sc_mb_gate_stereo is not installed"); } gconnections.push_back(g_signal_connect(settings, "changed::sidechain-input-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->update_sidechain_links(key); }), this)); lv2_wrapper->bind_key_enum<"mode", "gate-mode">(settings); lv2_wrapper->bind_key_enum<"envb", "envelope-boost">(settings); lv2_wrapper->bind_key_bool<"ssplit", "stereo-split">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"g_dry", "dry", false>(settings); lv2_wrapper->bind_key_double_db<"g_wet", "wet", false>(settings); bind_bands(std::make_index_sequence()); setup_input_output_gain(); } MultibandGate::~MultibandGate() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void MultibandGate::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void MultibandGate::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out, probe_left, probe_right); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } /* This plugin gives the latency in number of samples */ const auto lv = static_cast(lv2_wrapper->get_control_port_value("out_latency")); if (latency_n_frames != lv) { latency_n_frames = lv; latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { for (uint n = 0U; n < n_bands; n++) { const auto nstr = util::to_string(n); frequency_range_end_port_array.at(n) = lv2_wrapper->get_control_port_value("fre_" + nstr); envelope_port_array.at(n) = 0.5F * (lv2_wrapper->get_control_port_value("elm_" + nstr + "l") + lv2_wrapper->get_control_port_value("elm_" + nstr + "r")); curve_port_array.at(n) = 0.5F * (lv2_wrapper->get_control_port_value("clm_" + nstr + "l") + lv2_wrapper->get_control_port_value("clm_" + nstr + "r")); reduction_port_array.at(n) = 0.5F * (lv2_wrapper->get_control_port_value("rlm_" + nstr + "l") + lv2_wrapper->get_control_port_value("rlm_" + nstr + "r")); } frequency_range.emit(frequency_range_end_port_array); envelope.emit(envelope_port_array); curve.emit(curve_port_array); reduction.emit(reduction_port_array); notify(); } } } void MultibandGate::update_sidechain_links(const std::string& key) { auto external_sidechain_enabled = false; for (uint n = 0U; !external_sidechain_enabled && n < n_bands; n++) { const auto nstr = util::to_string(n); external_sidechain_enabled = g_settings_get_boolean(settings, ("external-sidechain" + nstr).c_str()) != 0; } if (!external_sidechain_enabled) { pm->destroy_links(list_proxies); list_proxies.clear(); return; } const auto device_name = util::gsettings_get_string(settings, "sidechain-input-device"); NodeInfo input_device = pm->ee_source_node; for (const auto& [serial, node] : pm->node_map) { if (node.name == device_name) { input_device = node; break; } } pm->destroy_links(list_proxies); list_proxies.clear(); for (const auto& link : pm->link_nodes(input_device.id, get_node_id(), true)) { list_proxies.push_back(link); } } void MultibandGate::update_probe_links() { update_sidechain_links(""); } auto MultibandGate::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/multiband_gate_band_box.cpp000066400000000000000000000302111463533416400221430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_gate_band_box.hpp" #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include "tags_multiband_gate.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::multiband_gate_band_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } int index; std::vector gconnections; }; struct _MultibandGateBandBox { GtkBox parent_instance; GtkToggleButton *bypass, *mute, *solo, *external_sidechain, *hysteresis; GtkLabel *end_label, *gain_label, *envelope_label, *curve_label; GtkSpinButton *split_frequency, *lowcut_filter_frequency, *highcut_filter_frequency, *attack_time, *release_time, *hysteresis_threshold, *hysteresis_zone, *curve_threshold, *curve_zone, *reduction, *makeup, *sidechain_preamp, *sidechain_reactivity, *sidechain_lookahead; GtkCheckButton *lowcut_filter, *highcut_filter; GtkDropDown *sidechain_mode, *sidechain_source, *stereo_split_source; GtkBox* split_frequency_box; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(MultibandGateBandBox, multiband_gate_band_box, GTK_TYPE_BOX) void set_end_label(MultibandGateBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->end_label)) { return; } gtk_label_set_text(self->end_label, fmt::format("{0:.0f}", value).c_str()); } void set_envelope_label(MultibandGateBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->envelope_label)) { return; } gtk_label_set_text(self->envelope_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); } void set_curve_label(MultibandGateBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->curve_label)) { return; } gtk_label_set_text(self->curve_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); } void set_gain_label(MultibandGateBandBox* self, const float& value) { if (!GTK_IS_WIDGET(self)) { return; } if (!GTK_IS_LABEL(self->gain_label)) { return; } gtk_label_set_text(self->gain_label, fmt::format("{0:.0f}", util::linear_to_db(value)).c_str()); } void setup(MultibandGateBandBox* self, GSettings* settings, int index) { self->data->index = index; self->settings = settings; using namespace tags::multiband_gate; if (index > 0) { g_settings_bind(settings, band_split_frequency[index].data(), gtk_spin_button_get_adjustment(self->split_frequency), "value", G_SETTINGS_BIND_DEFAULT); } else { // removing split frequency from band 0 for (auto* child = gtk_widget_get_last_child(GTK_WIDGET(self->split_frequency_box)); child != nullptr; child = gtk_widget_get_last_child(GTK_WIDGET(self->split_frequency_box))) { gtk_box_remove(self->split_frequency_box, child); } auto* label = gtk_label_new("0 Hz"); gtk_widget_set_halign(GTK_WIDGET(label), GTK_ALIGN_CENTER); gtk_box_append(self->split_frequency_box, GTK_WIDGET(label)); } g_settings_bind(self->settings, band_gate_enable[index].data(), self->bypass, "active", G_SETTINGS_BIND_INVERT_BOOLEAN); g_settings_bind(self->settings, band_mute[index].data(), self->mute, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_solo[index].data(), self->solo, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_lowcut_filter[index].data(), self->lowcut_filter, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_highcut_filter[index].data(), self->highcut_filter, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_external_sidechain[index].data(), self->external_sidechain, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_sidechain_mode[index].data(), self->sidechain_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_sidechain_source[index].data(), self->sidechain_source); ui::gsettings_bind_enum_to_combo_widget(self->settings, band_stereo_split_source[index].data(), self->stereo_split_source); g_settings_bind(settings, band_lowcut_filter_frequency[index].data(), gtk_spin_button_get_adjustment(self->lowcut_filter_frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_highcut_filter_frequency[index].data(), gtk_spin_button_get_adjustment(self->highcut_filter_frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_attack_time[index].data(), gtk_spin_button_get_adjustment(self->attack_time), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_release_time[index].data(), gtk_spin_button_get_adjustment(self->release_time), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, band_hysteresis[index].data(), self->hysteresis, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_hysteresis_threshold[index].data(), gtk_spin_button_get_adjustment(self->hysteresis_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_hysteresis_zone[index].data(), gtk_spin_button_get_adjustment(self->hysteresis_zone), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_curve_threshold[index].data(), gtk_spin_button_get_adjustment(self->curve_threshold), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_curve_zone[index].data(), gtk_spin_button_get_adjustment(self->curve_zone), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_reduction[index].data(), gtk_spin_button_get_adjustment(self->reduction), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_makeup[index].data(), gtk_spin_button_get_adjustment(self->makeup), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_sidechain_preamp[index].data(), gtk_spin_button_get_adjustment(self->sidechain_preamp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_sidechain_reactivity[index].data(), gtk_spin_button_get_adjustment(self->sidechain_reactivity), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, band_sidechain_lookahead[index].data(), gtk_spin_button_get_adjustment(self->sidechain_lookahead), "value", G_SETTINGS_BIND_DEFAULT); // bind source dropdowns sensitive property to split-stereo gsettings boolean g_settings_bind(self->settings, "stereo-split", self->sidechain_source, "sensitive", static_cast(G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_INVERT_BOOLEAN)); g_settings_bind(self->settings, "stereo-split", self->stereo_split_source, "sensitive", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_MULTIBAND_GATE_BAND_BOX(object); for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->gconnections.clear(); util::debug("index: " + util::to_string(self->data->index) + " disposed"); G_OBJECT_CLASS(multiband_gate_band_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_MULTIBAND_GATE_BAND_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(multiband_gate_band_box_parent_class)->finalize(object); } void multiband_gate_band_box_class_init(MultibandGateBandBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::multiband_gate_band_ui); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, bypass); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, mute); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, solo); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, external_sidechain); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, end_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, gain_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, envelope_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, curve_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, split_frequency); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, split_frequency_box); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, lowcut_filter); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, highcut_filter); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, lowcut_filter_frequency); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, highcut_filter_frequency); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, attack_time); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, release_time); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, hysteresis); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, hysteresis_threshold); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, hysteresis_zone); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, curve_threshold); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, curve_zone); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, reduction); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, makeup); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, sidechain_preamp); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, sidechain_reactivity); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, sidechain_lookahead); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, sidechain_mode); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, sidechain_source); gtk_widget_class_bind_template_child(widget_class, MultibandGateBandBox, stereo_split_source); } void multiband_gate_band_box_init(MultibandGateBandBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_spinbuttons<"Hz">(self->lowcut_filter_frequency, self->highcut_filter_frequency, self->split_frequency); prepare_spinbuttons<"ms">(self->attack_time, self->release_time, self->sidechain_reactivity, self->sidechain_lookahead); prepare_spinbuttons<"dB">(self->hysteresis_threshold, self->hysteresis_zone, self->curve_threshold, self->curve_zone, self->reduction, self->makeup, self->sidechain_preamp); } auto create() -> MultibandGateBandBox* { return static_cast(g_object_new(EE_TYPE_MULTIBAND_GATE_BAND_BOX, nullptr)); } } // namespace ui::multiband_gate_band_box easyeffects-7.1.7/src/multiband_gate_preset.cpp000066400000000000000000000243031463533416400216760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_gate_preset.hpp" #include #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" MultibandGatePreset::MultibandGatePreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::multiband_gate::id, tags::schema::multiband_gate::input_path, tags::schema::multiband_gate::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::multiband_gate).append("#").append(util::to_string(index)); } void MultibandGatePreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["dry"] = g_settings_get_double(settings, "dry"); json[section][instance_name]["wet"] = g_settings_get_double(settings, "wet"); json[section][instance_name]["gate-mode"] = util::gsettings_get_string(settings, "gate-mode"); json[section][instance_name]["envelope-boost"] = util::gsettings_get_string(settings, "envelope-boost"); json[section][instance_name]["stereo-split"] = g_settings_get_boolean(settings, "stereo-split") != 0; for (uint n = 0U; n < n_bands; n++) { const auto nstr = util::to_string(n); const auto bandn = "band" + nstr; if (n > 0U) { json[section][instance_name][bandn]["enable-band"] = g_settings_get_boolean(settings, ("enable-band" + nstr).c_str()) != 0; json[section][instance_name][bandn]["split-frequency"] = g_settings_get_double(settings, ("split-frequency" + nstr).c_str()); } json[section][instance_name][bandn]["gate-enable"] = g_settings_get_boolean(settings, ("gate-enable" + nstr).c_str()) != 0; json[section][instance_name][bandn]["solo"] = g_settings_get_boolean(settings, ("solo" + nstr).c_str()) != 0; json[section][instance_name][bandn]["mute"] = g_settings_get_boolean(settings, ("mute" + nstr).c_str()) != 0; json[section][instance_name][bandn]["attack-time"] = g_settings_get_double(settings, ("attack-time" + nstr).c_str()); json[section][instance_name][bandn]["release-time"] = g_settings_get_double(settings, ("release-time" + nstr).c_str()); json[section][instance_name][bandn]["hysteresis"] = g_settings_get_boolean(settings, ("hysteresis" + nstr).c_str()) != 0; json[section][instance_name][bandn]["hysteresis-threshold"] = g_settings_get_double(settings, ("hysteresis-threshold" + nstr).c_str()); json[section][instance_name][bandn]["hysteresis-zone"] = g_settings_get_double(settings, ("hysteresis-zone" + nstr).c_str()); json[section][instance_name][bandn]["curve-threshold"] = g_settings_get_double(settings, ("curve-threshold" + nstr).c_str()); json[section][instance_name][bandn]["curve-zone"] = g_settings_get_double(settings, ("curve-zone" + nstr).c_str()); json[section][instance_name][bandn]["reduction"] = g_settings_get_double(settings, ("reduction" + nstr).c_str()); json[section][instance_name][bandn]["makeup"] = g_settings_get_double(settings, ("makeup" + nstr).c_str()); json[section][instance_name][bandn]["external-sidechain"] = g_settings_get_boolean(settings, ("external-sidechain" + nstr).c_str()) != 0; json[section][instance_name][bandn]["sidechain-mode"] = util::gsettings_get_string(settings, ("sidechain-mode" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-source"] = util::gsettings_get_string(settings, ("sidechain-source" + nstr).c_str()); json[section][instance_name][bandn]["stereo-split-source"] = util::gsettings_get_string(settings, ("stereo-split-source" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-lookahead"] = g_settings_get_double(settings, ("sidechain-lookahead" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-reactivity"] = g_settings_get_double(settings, ("sidechain-reactivity" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-preamp"] = g_settings_get_double(settings, ("sidechain-preamp" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-custom-lowcut-filter"] = g_settings_get_boolean(settings, ("sidechain-custom-lowcut-filter" + nstr).c_str()) != 0; json[section][instance_name][bandn]["sidechain-custom-highcut-filter"] = g_settings_get_boolean(settings, ("sidechain-custom-highcut-filter" + nstr).c_str()) != 0; json[section][instance_name][bandn]["sidechain-lowcut-frequency"] = g_settings_get_double(settings, ("sidechain-lowcut-frequency" + nstr).c_str()); json[section][instance_name][bandn]["sidechain-highcut-frequency"] = g_settings_get_double(settings, ("sidechain-highcut-frequency" + nstr).c_str()); } } void MultibandGatePreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "dry", "dry"); update_key(json.at(section).at(instance_name), settings, "wet", "wet"); update_key(json.at(section).at(instance_name), settings, "gate-mode", "gate-mode"); update_key(json.at(section).at(instance_name), settings, "envelope-boost", "envelope-boost"); update_key(json.at(section).at(instance_name), settings, "stereo-split", "stereo-split"); for (uint n = 0U; n < n_bands; n++) { const auto nstr = util::to_string(n); const auto bandn = "band" + nstr; if (n > 0U) { update_key(json.at(section).at(instance_name).at(bandn), settings, "enable-band" + nstr, "enable-band"); update_key(json.at(section).at(instance_name).at(bandn), settings, "split-frequency" + nstr, "split-frequency"); } update_key(json.at(section).at(instance_name).at(bandn), settings, "gate-enable" + nstr, "gate-enable"); update_key(json.at(section).at(instance_name).at(bandn), settings, "solo" + nstr, "solo"); update_key(json.at(section).at(instance_name).at(bandn), settings, "mute" + nstr, "mute"); update_key(json.at(section).at(instance_name).at(bandn), settings, "attack-time" + nstr, "attack-time"); update_key(json.at(section).at(instance_name).at(bandn), settings, "release-time" + nstr, "release-time"); update_key(json.at(section).at(instance_name).at(bandn), settings, "hysteresis" + nstr, "hysteresis"); update_key(json.at(section).at(instance_name).at(bandn), settings, "hysteresis-threshold" + nstr, "hysteresis-threshold"); update_key(json.at(section).at(instance_name).at(bandn), settings, "hysteresis-zone" + nstr, "hysteresis-zone"); update_key(json.at(section).at(instance_name).at(bandn), settings, "curve-threshold" + nstr, "curve-threshold"); update_key(json.at(section).at(instance_name).at(bandn), settings, "curve-zone" + nstr, "curve-zone"); update_key(json.at(section).at(instance_name).at(bandn), settings, "reduction" + nstr, "reduction"); update_key(json.at(section).at(instance_name).at(bandn), settings, "makeup" + nstr, "makeup"); update_key(json.at(section).at(instance_name).at(bandn), settings, "external-sidechain" + nstr, "external-sidechain"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-mode" + nstr, "sidechain-mode"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-source" + nstr, "sidechain-source"); update_key(json.at(section).at(instance_name).at(bandn), settings, "stereo-split-source" + nstr, "stereo-split-source"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-lookahead" + nstr, "sidechain-lookahead"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-reactivity" + nstr, "sidechain-reactivity"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-preamp" + nstr, "sidechain-preamp"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-custom-lowcut-filter" + nstr, "sidechain-custom-lowcut-filter"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-custom-highcut-filter" + nstr, "sidechain-custom-highcut-filter"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-lowcut-frequency" + nstr, "sidechain-lowcut-frequency"); update_key(json.at(section).at(instance_name).at(bandn), settings, "sidechain-highcut-frequency" + nstr, "sidechain-highcut-frequency"); } } easyeffects-7.1.7/src/multiband_gate_ui.cpp000066400000000000000000000407331463533416400210160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "multiband_gate_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "multiband_gate.hpp" #include "multiband_gate_band_box.hpp" #include "node_info_holder.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_multiband_gate.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::multiband_gate_box { using namespace std::string_literals; struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr multiband_gate; std::vector connections; std::vector gconnections; }; struct _MultibandGateBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkStack* stack; GtkCheckButton *enable_band1, *enable_band2, *enable_band3, *enable_band4, *enable_band5, *enable_band6, *enable_band7; GtkSpinButton *dry, *wet; GtkDropDown *gate_mode, *envelope_boost; GtkDropDown* dropdown_input_devices; GtkToggleButton *show_native_ui, *stereo_split; GListStore* input_devices_model; GSettings* settings; std::array bands; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(MultibandGateBox, multiband_gate_box, GTK_TYPE_BOX) void on_reset(MultibandGateBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_show_native_window(MultibandGateBox* self, GtkToggleButton* btn) { if (gtk_toggle_button_get_active(btn) != 0) { self->data->multiband_gate->show_native_ui(); } else { self->data->multiband_gate->close_native_ui(); } } void on_listbox_row_selected(MultibandGateBox* self, GtkListBoxRow* row, GtkListBox* listbox) { if (auto* selected_row = gtk_list_box_get_selected_row(listbox); selected_row != nullptr) { if (auto index = gtk_list_box_row_get_index(selected_row); index != -1) { gtk_stack_set_visible_child_name(self->stack, ("band" + util::to_string(index)).c_str()); } } } void set_dropdown_input_devices_sensitivity(MultibandGateBox* self) { for (uint n = 0U; n < tags::multiband_gate::n_bands; n++) { if (g_settings_get_boolean(self->settings, tags::multiband_gate::band_external_sidechain[n].data()) != 0) { gtk_widget_set_sensitive(GTK_WIDGET(self->dropdown_input_devices), 1); return; } } gtk_widget_set_sensitive(GTK_WIDGET(self->dropdown_input_devices), 0); } void create_bands(MultibandGateBox* self) { for (uint n = 0U; n < tags::multiband_gate::n_bands; n++) { auto* band_box = ui::multiband_gate_band_box::create(); ui::multiband_gate_band_box::setup(band_box, self->settings, static_cast(n)); gtk_stack_add_named(self->stack, GTK_WIDGET(band_box), ("band" + util::to_string(n)).c_str()); self->bands[n] = band_box; self->data->gconnections.push_back(g_signal_connect( self->settings, ("changed::"s + tags::multiband_gate::band_external_sidechain[n].data()).c_str(), G_CALLBACK(+[](GSettings* settings, char* key, MultibandGateBox* self) { set_dropdown_input_devices_sensitivity(self); }), self)); } } void setup_dropdown_input_device(MultibandGateBox* self) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(self->input_devices_model)); g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, MultibandGateBox* self) { if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->settings, "sidechain-input-device", holder->info->name.c_str()); } }), self); gtk_drop_down_set_model(self->dropdown_input_devices, G_LIST_MODEL(self->input_devices_model)); g_object_unref(selection); } void setup(MultibandGateBox* self, std::shared_ptr multiband_gate, const std::string& schema_path, PipeManager* pm) { self->data->multiband_gate = multiband_gate; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::multiband_gate::id, schema_path.c_str()); multiband_gate->set_post_messages(true); setup_dropdown_input_device(self); set_dropdown_input_devices_sensitivity(self); create_bands(self); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source || node.media_role == tags::pipewire::media_role::dsp) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); } } self->data->connections.push_back(multiband_gate->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(multiband_gate->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_gate->frequency_range.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_gate_band_box::set_end_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_gate->envelope.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_gate_band_box::set_envelope_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_gate->curve.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_gate_band_box::set_curve_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back( multiband_gate->reduction.connect([=](const std::array values) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } for (size_t n = 0U; n < values.size(); n++) { ui::multiband_gate_band_box::set_gain_label(self->bands[n], values[n]); } }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->multiband_gate->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-split", self->stereo_split, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "gate-mode", self->gate_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, "envelope-boost", self->envelope_boost); g_settings_bind(self->settings, "enable-band1", self->enable_band1, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band2", self->enable_band2, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band3", self->enable_band3, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band4", self->enable_band4, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band5", self->enable_band5, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band6", self->enable_band6, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "enable-band7", self->enable_band7, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(ui::get_global_app_settings(), "show-native-plugin-ui", self->show_native_ui, "visible", G_SETTINGS_BIND_DEFAULT); } void dispose(GObject* object) { auto* self = EE_MULTIBAND_GATE_BOX(object); self->data->multiband_gate->close_native_ui(); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(multiband_gate_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_MULTIBAND_GATE_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(multiband_gate_box_parent_class)->finalize(object); } void multiband_gate_box_class_init(MultibandGateBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::multiband_gate_ui); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, input_gain); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, output_gain); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, stack); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band1); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band2); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band3); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band4); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band5); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band6); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, enable_band7); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, dry); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, wet); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, stereo_split); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, gate_mode); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, envelope_boost); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, MultibandGateBox, show_native_ui); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_show_native_window); gtk_widget_class_bind_template_callback(widget_class, on_listbox_row_selected); } void multiband_gate_box_init(MultibandGateBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->dry, self->wet); prepare_scales<"dB">(self->input_gain, self->output_gain); } auto create() -> MultibandGateBox* { return static_cast(g_object_new(EE_TYPE_MULTIBAND_GATE_BOX, nullptr)); } } // namespace ui::multiband_gate_box easyeffects-7.1.7/src/node_info_holder.cpp000066400000000000000000000132031463533416400206270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "node_info_holder.hpp" #include #include #include #include #include #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "util.hpp" namespace ui::holders { enum { PROP_0, PROP_SERIAL, PROP_ID, PROP_DEVICE_ID, PROP_NAME, PROP_MEDIA_CLASS, PROP_DESCRIPTION, PROP_ICON_NAME }; // NOLINTNEXTLINE G_DEFINE_TYPE(NodeInfoHolder, node_info_holder, G_TYPE_OBJECT); void node_info_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) { auto* self = EE_NODE_INFO_HOLDER(object); switch (prop_id) { case PROP_SERIAL: self->info->serial = g_value_get_uint64(value); break; case PROP_ID: self->info->id = g_value_get_uint(value); break; case PROP_DEVICE_ID: self->info->device_id = g_value_get_uint(value); break; case PROP_NAME: self->info->name = g_value_get_string(value); break; case PROP_MEDIA_CLASS: self->info->media_class = g_value_get_string(value); break; case PROP_DESCRIPTION: self->info->description = g_value_get_string(value); break; case PROP_ICON_NAME: self->icon_name = g_value_get_string(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } } void node_info_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) { auto* self = EE_NODE_INFO_HOLDER(object); switch (prop_id) { case PROP_SERIAL: g_value_set_uint64(value, self->info->serial); break; case PROP_ID: g_value_set_uint(value, self->info->id); break; case PROP_DEVICE_ID: g_value_set_uint(value, self->info->device_id); break; case PROP_NAME: g_value_set_string(value, self->info->name.c_str()); break; case PROP_MEDIA_CLASS: g_value_set_string(value, self->info->media_class.c_str()); break; case PROP_DESCRIPTION: g_value_set_string(value, self->info->description.c_str()); break; case PROP_ICON_NAME: g_value_set_string(value, self->icon_name.c_str()); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } } void node_info_holder_finalize(GObject* object) { auto* self = EE_NODE_INFO_HOLDER(object); self->info_updated.clear(); util::debug(util::to_string(self->info->id) + ", " + self->info->name + " finalized"); delete self->info; G_OBJECT_CLASS(node_info_holder_parent_class)->finalize(object); } void node_info_holder_class_init(NodeInfoHolderClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); object_class->finalize = node_info_holder_finalize; object_class->set_property = node_info_set_property; object_class->get_property = node_info_get_property; // Using G_MININT64 as minimum parameter causes // assertion 'default_value >= minimum && default_value <= maximum' failed g_object_class_install_property(object_class, PROP_SERIAL, g_param_spec_uint64("serial", "Serial", "Serial", SPA_ID_INVALID, G_MAXUINT64, SPA_ID_INVALID, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_ID, g_param_spec_uint("id", "Id", "Id", G_MININT, G_MAXUINT, SPA_ID_INVALID, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_DEVICE_ID, g_param_spec_uint("device-id", "Device Id", "Device Id", G_MININT, G_MAXUINT, SPA_ID_INVALID, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_NAME, g_param_spec_string("name", "Name", "Name", nullptr, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_MEDIA_CLASS, g_param_spec_string("media-class", "Media Class", "Media Class", nullptr, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_DESCRIPTION, g_param_spec_string("description", "Description", "Description", nullptr, G_PARAM_READWRITE)); g_object_class_install_property( object_class, PROP_ICON_NAME, g_param_spec_string("icon-name", "Icon Name", "Icon Name", nullptr, G_PARAM_READWRITE)); } void node_info_holder_init(NodeInfoHolder* self) { self->info = new NodeInfo(); } auto create(const NodeInfo& info) -> NodeInfoHolder* { auto* holder = static_cast(g_object_new(EE_TYPE_NODE_INFO_HOLDER, nullptr)); *holder->info = info; if (info.media_class == tags::pipewire::media_class::sink || info.name.starts_with("ee_soe")) { holder->icon_name = "audio-speakers-symbolic"; } else if (info.media_class == tags::pipewire::media_class::source || info.media_class == tags::pipewire::media_class::virtual_source || info.name.starts_with("ee_sie")) { holder->icon_name = "audio-input-microphone-symbolic"; } return holder; } } // namespace ui::holders easyeffects-7.1.7/src/output_level.cpp000066400000000000000000000042531463533416400200660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "output_level.hpp" #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" OutputLevel::OutputLevel(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, "output_level", tags::plugin_package::ee, schema, schema_path, pipe_manager, pipe_type) {} OutputLevel::~OutputLevel() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void OutputLevel::setup() { util::debug(log_tag + name + ": PipeWire blocksize: " + util::to_string(n_samples, "")); util::debug(log_tag + name + ": PipeWire sampling rate: " + util::to_string(rate, "")); } void OutputLevel::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto OutputLevel::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/pipe_manager.cpp000066400000000000000000001656201463533416400177740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "pipe_manager.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_objects.hpp" #include "tags_app.hpp" #include "tags_pipewire.hpp" #include "util.hpp" namespace { struct node_data { pw_proxy* proxy = nullptr; spa_hook proxy_listener{}; spa_hook object_listener{}; PipeManager* pm = nullptr; NodeInfo* nd_info{}; }; struct proxy_data { pw_proxy* proxy = nullptr; spa_hook proxy_listener{}; spa_hook object_listener{}; PipeManager* pm = nullptr; uint id = SPA_ID_INVALID; uint64_t serial = SPA_ID_INVALID; }; template auto spa_dict_get_string(const spa_dict* props, const char* key, T& str) -> bool { // If we will use string views in the future, this template could be useful. if (const auto* s = spa_dict_lookup(props, key)) { str = s; return true; } return false; } template auto spa_dict_get_num(const spa_dict* props, const char* key, T& num) -> bool { if (const auto* n = spa_dict_lookup(props, key)) { return util::str_to_num(std::string(n), num); } return false; } auto spa_dict_get_bool(const spa_dict* props, const char* key, bool& b) -> bool { // Returning bool is for conversion success state. // The bool value is assigned to reference parameter. if (const auto* v = spa_dict_lookup(props, key)) { b = (g_strcmp0(v, "true") == 0); return true; } return false; } void on_removed_proxy(void* data) { auto* const pd = static_cast(data); // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) if (pd->object_listener.link.next != nullptr || pd->object_listener.link.prev != nullptr) { spa_hook_remove(&pd->object_listener); } pw_proxy_destroy(pd->proxy); } auto link_info_from_props(const spa_dict* props) -> LinkInfo { LinkInfo info; spa_dict_get_num(props, PW_KEY_LINK_ID, info.id); spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, info.serial); spa_dict_get_string(props, PW_KEY_OBJECT_PATH, info.path); spa_dict_get_num(props, PW_KEY_LINK_INPUT_NODE, info.input_node_id); spa_dict_get_num(props, PW_KEY_LINK_INPUT_PORT, info.input_port_id); spa_dict_get_num(props, PW_KEY_LINK_OUTPUT_NODE, info.output_node_id); spa_dict_get_num(props, PW_KEY_LINK_OUTPUT_PORT, info.output_port_id); spa_dict_get_bool(props, PW_KEY_LINK_PASSIVE, info.passive); return info; } auto port_info_from_props(const spa_dict* props) -> PortInfo { PortInfo info; spa_dict_get_num(props, PW_KEY_PORT_ID, info.port_id); spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, info.serial); spa_dict_get_string(props, PW_KEY_PORT_NAME, info.name); spa_dict_get_num(props, PW_KEY_NODE_ID, info.node_id); spa_dict_get_string(props, PW_KEY_PORT_DIRECTION, info.direction); spa_dict_get_string(props, PW_KEY_AUDIO_CHANNEL, info.audio_channel); spa_dict_get_string(props, PW_KEY_AUDIO_FORMAT, info.format_dsp); spa_dict_get_bool(props, PW_KEY_PORT_PHYSICAL, info.physical); spa_dict_get_bool(props, PW_KEY_PORT_TERMINAL, info.terminal); spa_dict_get_bool(props, PW_KEY_PORT_MONITOR, info.monitor); return info; } void on_removed_node_proxy(void* data) { auto* const nd = static_cast(data); spa_hook_remove(&nd->object_listener); pw_proxy_destroy(nd->proxy); } void on_destroy_node_proxy(void* data) { auto* const nd = static_cast(data); auto* const pm = nd->pm; auto node_it = pm->node_map.find(nd->nd_info->serial); if (node_it == pm->node_map.end()) { return; } nd->nd_info->proxy = nullptr; node_it->second.proxy = nullptr; spa_hook_remove(&nd->proxy_listener); pm->node_map.erase(node_it); if (!PipeManager::exiting) { if (nd->nd_info->media_class == tags::pipewire::media_class::source) { const auto nd_info_copy = *nd->nd_info; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->source_removed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::sink) { const auto nd_info_copy = *nd->nd_info; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->sink_removed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::output_stream) { const auto serial = nd->nd_info->serial; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->stream_output_removed.emit(serial); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::input_stream) { const auto serial = nd->nd_info->serial; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->stream_input_removed.emit(serial); }); } } util::debug(nd->nd_info->media_class + " " + util::to_string(nd->nd_info->id) + " " + nd->nd_info->name + " has been removed"); delete nd->nd_info; } void on_node_info(void* object, const struct pw_node_info* info) { if (PipeManager::exiting) { return; } auto* const nd = static_cast(object); auto* const pm = nd->pm; // Check if the node is inside our map auto node_it = pm->node_map.find(nd->nd_info->serial); if (node_it == pm->node_map.end()) { return; } // Check if the node has to be removed bool remove_node = false; // Exclude blocklisted App id. // To be checked here because PW_KEY_APP_ID is not set in on_registry_global. if (const auto* app_id = spa_dict_lookup(info->props, PW_KEY_APP_ID)) { if (std::ranges::find(pm->blocklist_app_id, app_id) != pm->blocklist_app_id.end()) { remove_node = true; } } // Exclude capture streams. // Even PW_KEY_STREAM_CAPTURE_SINK is not set in on_registry_global. // Useful to exclude OBS recording streams. if (g_strcmp0(spa_dict_lookup(info->props, PW_KEY_STREAM_CAPTURE_SINK), "true") == 0 && PipeManager::exclude_monitor_stream) { remove_node = true; } bool ignore_input_stream = false; bool ignore_output_stream = false; if (nd->nd_info->media_class == tags::pipewire::media_class::input_stream && !pm->input_device.name.empty()) { if (const auto* target_object = spa_dict_lookup(info->props, PW_KEY_TARGET_OBJECT)) { /* target.object can a name or serial number: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/keys.h#L334 */ uint64_t serial = SPA_ID_INVALID; util::str_to_num(target_object, serial); if (target_object != pm->input_device.name) { ignore_input_stream = true; } else if (serial != SPA_ID_INVALID && serial != pm->input_device.serial) { ignore_input_stream = true; } if (ignore_input_stream) { util::debug("The input stream " + nd->nd_info->name + " does not have as target the same mic used as EE input: " + pm->input_device.name + "\n The user wants it to record from device " + target_object + ". We will ignore this stream."); remove_node = true; } } } if (nd->nd_info->media_class == tags::pipewire::media_class::output_stream && !pm->output_device.name.empty()) { if (const auto* target_object = spa_dict_lookup(info->props, PW_KEY_TARGET_OBJECT)) { /* target.object can a name or serial number: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/keys.h#L334 */ uint64_t serial = SPA_ID_INVALID; util::str_to_num(target_object, serial); if (target_object != pm->output_device.name) { ignore_output_stream = true; } else if (serial != SPA_ID_INVALID && serial != pm->output_device.serial) { ignore_output_stream = true; } if (ignore_output_stream) { util::debug("The output stream " + nd->nd_info->name + " does not have as target the same output device used as EE: " + pm->output_device.name + "\n The user wants it to play to device " + target_object + ". We will ignore this stream."); remove_node = true; } } } if (remove_node) { nd->nd_info->proxy = nullptr; node_it->second.proxy = nullptr; spa_hook_remove(&nd->proxy_listener); pm->node_map.erase(node_it); if (nd->nd_info->media_class == tags::pipewire::media_class::source) { const auto nd_info_copy = *nd->nd_info; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->source_removed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::sink) { const auto nd_info_copy = *nd->nd_info; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->sink_removed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::output_stream) { const auto serial = nd->nd_info->serial; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->stream_output_removed.emit(serial); pm->disconnect_stream(nd->nd_info->id); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::input_stream) { const auto serial = nd->nd_info->serial; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->stream_input_removed.emit(serial); pm->disconnect_stream(nd->nd_info->id); }); } util::debug(nd->nd_info->media_class + " " + util::to_string(nd->nd_info->id) + " " + nd->nd_info->name + " has been removed"); return; } // Chech for node info updates auto app_info_ui_changed = false; if (info->state != nd->nd_info->state) { nd->nd_info->state = info->state; app_info_ui_changed = true; } nd->nd_info->n_input_ports = static_cast(info->n_input_ports); nd->nd_info->n_output_ports = static_cast(info->n_output_ports); spa_dict_get_num(info->props, PW_KEY_PRIORITY_SESSION, nd->nd_info->priority); if (const auto* app_id = spa_dict_lookup(info->props, PW_KEY_APP_ID)) { if (app_id != nd->nd_info->application_id) { nd->nd_info->application_id = app_id; } } // spa_dict_get_string(props, PW_KEY_APP_PROCESS_BINARY, app_process_binary); if (const auto* app_name = spa_dict_lookup(info->props, PW_KEY_APP_NAME)) { if (app_name != nd->nd_info->app_name) { nd->nd_info->app_name = app_name; app_info_ui_changed = true; } } if (const auto* app_process_id = spa_dict_lookup(info->props, PW_KEY_APP_PROCESS_ID)) { if (app_process_id != nd->nd_info->app_process_id) { nd->nd_info->app_process_id = app_process_id; app_info_ui_changed = true; } } if (const auto* app_process_binary = spa_dict_lookup(info->props, PW_KEY_APP_PROCESS_BINARY)) { if (app_process_binary != nd->nd_info->app_process_binary) { nd->nd_info->app_process_binary = app_process_binary; app_info_ui_changed = true; } } if (const auto* app_icon_name = spa_dict_lookup(info->props, PW_KEY_APP_ICON_NAME)) { if (app_icon_name != nd->nd_info->app_icon_name) { nd->nd_info->app_icon_name = app_icon_name; app_info_ui_changed = true; } } if (const auto* media_icon_name = spa_dict_lookup(info->props, PW_KEY_MEDIA_ICON_NAME)) { if (media_icon_name != nd->nd_info->media_icon_name) { nd->nd_info->media_icon_name = media_icon_name; app_info_ui_changed = true; } } spa_dict_get_string(info->props, PW_KEY_DEVICE_ICON_NAME, nd->nd_info->device_icon_name); if (const auto* media_name = spa_dict_lookup(info->props, PW_KEY_MEDIA_NAME)) { if (media_name != nd->nd_info->media_name) { nd->nd_info->media_name = media_name; app_info_ui_changed = true; } } if (const auto* node_latency = spa_dict_lookup(info->props, PW_KEY_NODE_LATENCY)) { const auto str = std::string(node_latency); const auto delimiter_pos = str.find('/'); int rate = 1; if (util::str_to_num(str.substr(delimiter_pos + 1U), rate)) { if (rate != nd->nd_info->rate) { nd->nd_info->rate = rate; app_info_ui_changed = true; } } float pw_lat = 0.0F; if (util::str_to_num(str.substr(0U, delimiter_pos), pw_lat)) { if (auto latency = (pw_lat / static_cast(nd->nd_info->rate)); latency != nd->nd_info->latency) { nd->nd_info->latency = latency; app_info_ui_changed = true; } } } spa_dict_get_num(info->props, PW_KEY_DEVICE_ID, nd->nd_info->device_id); if ((info->change_mask & PW_NODE_CHANGE_MASK_PARAMS) != 0U) { auto params = std::span(info->params, info->n_params); for (auto param : params) { if ((param.flags & SPA_PARAM_INFO_READ) == 0U) { continue; } if (const auto id = param.id; id == SPA_PARAM_Props || id == SPA_PARAM_EnumFormat || id == SPA_PARAM_Format) { pw_node_enum_params((struct pw_node*)nd->proxy, 0, id, 0, -1, nullptr); } } } // update NodeInfo inside map node_it->second = *nd->nd_info; // sometimes PipeWire destroys the pointer before signal_idle is called, // therefore we make a copy if (nd->nd_info->connected != pm->stream_is_connected(info->id, nd->nd_info->media_class)) { nd->nd_info->connected = !nd->nd_info->connected; app_info_ui_changed = true; } if (app_info_ui_changed) { const auto nd_info_copy = *nd->nd_info; if (nd->nd_info->media_class == tags::pipewire::media_class::output_stream) { util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->stream_output_changed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::input_stream) { util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->stream_input_changed.emit(nd_info_copy); }); } } else if (nd->nd_info->media_class == tags::pipewire::media_class::source) { const auto nd_info_copy = *nd->nd_info; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->source_changed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::sink) { const auto nd_info_copy = *nd->nd_info; util::idle_add([=]() { if (PipeManager::exiting) { return; } pm->sink_changed.emit(nd_info_copy); }); } // const struct spa_dict_item* item = nullptr; // spa_dict_for_each(item, info->props) printf("\t\t%s: \"%s\"\n", item->key, item->value); } void on_node_event_param(void* object, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod* param) { if (PipeManager::exiting) { return; } auto* const nd = static_cast(object); auto* const pm = nd->pm; if (param == nullptr) { return; } spa_pod_prop* pod_prop = nullptr; auto* obj = (spa_pod_object*)param; const auto serial = nd->nd_info->serial; auto notify = false; SPA_POD_OBJECT_FOREACH(obj, pod_prop) { switch (pod_prop->key) { case SPA_FORMAT_AUDIO_format: { uint format = 0U; if (spa_pod_get_id(&pod_prop->value, &format) != 0) { break; } auto node_it = pm->node_map.find(serial); if (node_it == pm->node_map.end()) { break; } std::string format_str = "unknown"; for (const auto type_info : std::to_array(spa_type_audio_format)) { if (format == type_info.type) { if (type_info.name != nullptr) { std::string long_name = type_info.name; format_str = long_name.substr(long_name.rfind(':') + 1U); } } } if (format_str != nd->nd_info->format) { node_it->second.format = format_str; nd->nd_info->format = format_str; notify = true; } break; } case SPA_FORMAT_AUDIO_rate: { int rate = 1; if (spa_pod_get_int(&pod_prop->value, &rate) != 0) { break; } if (rate == nd->nd_info->rate) { break; } if (auto node_it = pm->node_map.find(serial); node_it != pm->node_map.end()) { node_it->second.rate = rate; nd->nd_info->rate = rate; notify = true; } break; } case SPA_PROP_mute: { auto v = false; if (spa_pod_get_bool(&pod_prop->value, &v) != 0) { break; } if (v == nd->nd_info->mute) { break; } if (auto node_it = pm->node_map.find(serial); node_it != pm->node_map.end()) { node_it->second.mute = v; nd->nd_info->mute = v; notify = true; } break; } case SPA_PROP_channelVolumes: { auto node_it = pm->node_map.find(serial); if (node_it == pm->node_map.end()) { break; } std::array volumes{}; const auto n_volumes = spa_pod_copy_array(&pod_prop->value, SPA_TYPE_Float, volumes.data(), SPA_AUDIO_MAX_CHANNELS); float max = 0.0F; for (uint i = 0U; i < n_volumes; i++) { max = std::max(volumes.at(i), max); } if (n_volumes != nd->nd_info->n_volume_channels || max != nd->nd_info->volume) { node_it->second.n_volume_channels = n_volumes; node_it->second.volume = max; nd->nd_info->n_volume_channels = n_volumes; nd->nd_info->volume = max; notify = true; } break; } default: break; } } if (notify) { // sometimes PipeWire destroys the pointer before signal_idle is called, // therefore we make a copy if (nd->nd_info->media_class == tags::pipewire::media_class::output_stream) { const auto nd_info_copy = *nd->nd_info; util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->stream_output_changed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::input_stream) { const auto nd_info_copy = *nd->nd_info; util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->stream_input_changed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::virtual_source) { const auto nd_info_copy = *nd->nd_info; if (nd_info_copy.serial == pm->ee_source_node.serial) { pm->ee_source_node = nd_info_copy; } util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->source_changed.emit(nd_info_copy); }); } else if (nd->nd_info->media_class == tags::pipewire::media_class::sink) { const auto nd_info_copy = *nd->nd_info; if (nd_info_copy.serial == pm->ee_sink_node.serial) { pm->ee_sink_node = nd_info_copy; } util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->sink_changed.emit(nd_info_copy); }); } } } void on_link_info(void* object, const struct pw_link_info* info) { auto* const ld = static_cast(object); auto* const pm = ld->pm; LinkInfo link_copy; for (auto& l : ld->pm->list_links) { if (l.serial == ld->serial) { l.state = info->state; link_copy = l; util::idle_add([pm, link_copy] { if (PipeManager::exiting) { return; } pm->link_changed.emit(link_copy); }); // util::warning(pw_link_state_as_string(l.state)); break; } } // const struct spa_dict_item* item = nullptr; // spa_dict_for_each(item, info->props) printf("\t\t%s: \"%s\"\n", item->key, item->value); } void on_destroy_link_proxy(void* data) { auto* const ld = static_cast(data); spa_hook_remove(&ld->proxy_listener); ld->pm->list_links.erase(std::remove_if(ld->pm->list_links.begin(), ld->pm->list_links.end(), [=](const auto& n) { return n.serial == ld->serial; }), ld->pm->list_links.end()); } void on_destroy_port_proxy(void* data) { auto* const pd = static_cast(data); spa_hook_remove(&pd->proxy_listener); pd->pm->list_ports.erase(std::remove_if(pd->pm->list_ports.begin(), pd->pm->list_ports.end(), [=](const auto& n) { return n.serial == pd->serial; }), pd->pm->list_ports.end()); } void on_module_info(void* object, const struct pw_module_info* info) { auto* const md = static_cast(object); for (auto& module : md->pm->list_modules) { if (module.id == info->id) { if (info->filename != nullptr) { module.filename = info->filename; } spa_dict_get_string(info->props, PW_KEY_MODULE_DESCRIPTION, module.description); break; } } } void on_destroy_module_proxy(void* data) { auto* const md = static_cast(data); spa_hook_remove(&md->proxy_listener); md->pm->list_modules.erase(std::remove_if(md->pm->list_modules.begin(), md->pm->list_modules.end(), [=](const auto& n) { return n.id == md->id; }), md->pm->list_modules.end()); } void on_client_info(void* object, const struct pw_client_info* info) { auto* const cd = static_cast(object); for (auto& client : cd->pm->list_clients) { if (client.id == info->id) { spa_dict_get_string(info->props, PW_KEY_APP_NAME, client.name); spa_dict_get_string(info->props, PW_KEY_ACCESS, client.access); spa_dict_get_string(info->props, PW_KEY_CLIENT_API, client.api); break; } } } void on_destroy_client_proxy(void* data) { auto* const cd = static_cast(data); spa_hook_remove(&cd->proxy_listener); cd->pm->list_clients.erase(std::remove_if(cd->pm->list_clients.begin(), cd->pm->list_clients.end(), [=](const auto& n) { return n.serial == cd->serial; }), cd->pm->list_clients.end()); } void on_device_info(void* object, const struct pw_device_info* info) { auto* const dd = static_cast(object); for (auto& device : dd->pm->list_devices) { if (device.id != info->id) { continue; } spa_dict_get_string(info->props, PW_KEY_DEVICE_NAME, device.name); spa_dict_get_string(info->props, PW_KEY_DEVICE_NICK, device.nick); spa_dict_get_string(info->props, PW_KEY_DEVICE_DESCRIPTION, device.description); spa_dict_get_string(info->props, PW_KEY_DEVICE_API, device.api); if (spa_dict_get_string(info->props, SPA_KEY_DEVICE_BUS_ID, device.bus_id)) { std::ranges::replace(device.bus_id, ':', '_'); std::ranges::replace(device.bus_id, '+', '_'); } if (spa_dict_get_string(info->props, PW_KEY_DEVICE_BUS_PATH, device.bus_path)) { std::ranges::replace(device.bus_path, ':', '_'); std::ranges::replace(device.bus_path, '+', '_'); } /* For some reason bluez5 devices do not define bus-path or bus-id. So as a workaround we set SPA_KEY_API_BLUEZ5_ADDRESS as bus_path */ if (device.api == "bluez5") { if (spa_dict_get_string(info->props, SPA_KEY_API_BLUEZ5_ADDRESS, device.bus_path)) { std::replace(device.bus_path.begin(), device.bus_path.end(), ':', '_'); } } if ((info->change_mask & PW_DEVICE_CHANGE_MASK_PARAMS) != 0U) { auto params = std::span(info->params, info->n_params); for (auto param : params) { if ((param.flags & SPA_PARAM_INFO_READ) == 0U) { continue; } if (const auto id = param.id; id == SPA_PARAM_Route) { pw_device_enum_params((struct pw_device*)dd->proxy, 0, id, 0, -1, nullptr); } } } break; } } void on_device_event_param(void* object, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod* param) { if (id != SPA_PARAM_Route) { return; } auto* const dd = static_cast(object); const char* name = nullptr; enum spa_direction direction {}; enum spa_param_availability available {}; if (spa_pod_parse_object(param, SPA_TYPE_OBJECT_ParamRoute, nullptr, SPA_PARAM_ROUTE_direction, SPA_POD_Id(&direction), SPA_PARAM_ROUTE_name, SPA_POD_String(&name), SPA_PARAM_ROUTE_available, SPA_POD_Id(&available)) < 0) { return; } if (name == nullptr) { return; } for (auto& device : dd->pm->list_devices) { if (device.id != dd->id) { continue; } auto* const pm = dd->pm; if (direction == SPA_DIRECTION_INPUT) { if (name != device.input_route_name || available != device.input_route_available) { device.input_route_name = name; device.input_route_available = available; util::idle_add([pm, device] { if (PipeManager::exiting) { return; } pm->device_input_route_changed.emit(device); }); } } else if (direction == SPA_DIRECTION_OUTPUT) { if (name != device.output_route_name || available != device.output_route_available) { device.output_route_name = name; device.output_route_available = available; util::idle_add([pm, device] { if (PipeManager::exiting) { return; } pm->device_output_route_changed.emit(device); }); } } break; } } void on_destroy_device_proxy(void* data) { auto* const dd = static_cast(data); spa_hook_remove(&dd->proxy_listener); dd->pm->list_devices.erase(std::remove_if(dd->pm->list_devices.begin(), dd->pm->list_devices.end(), [=](const auto& n) { return n.id == dd->id; }), dd->pm->list_devices.end()); } auto on_metadata_property(void* data, uint32_t id, const char* key, const char* type, const char* value) -> int { auto* const pm = static_cast(data); const std::string str_key = (key != nullptr) ? key : ""; const std::string str_type = (type != nullptr) ? type : ""; const std::string str_value = (value != nullptr) ? value : ""; util::debug("new metadata property: " + util::to_string(id) + ", " + str_key + ", " + str_type + ", " + str_value); if (str_value.empty()) { return 0; } if (str_key == "default.audio.sink") { std::array v{}; PipeManager::json_object_find(str_value.c_str(), "name", v.data(), v.size() * sizeof(char)); if (g_strcmp0(v.data(), tags::pipewire::ee_sink_name) == 0) { return 0; } pm->default_output_device_name = v.data(); util::idle_add([pm] { if (PipeManager::exiting) { return; } pm->new_default_sink_name.emit(pm->default_output_device_name); }); } if (str_key == "default.audio.source") { std::array v{}; PipeManager::json_object_find(str_value.c_str(), "name", v.data(), v.size() * sizeof(char)); if (g_strcmp0(v.data(), tags::pipewire::ee_source_name) == 0) { return 0; } pm->default_input_device_name = v.data(); util::idle_add([pm] { if (PipeManager::exiting) { return; } pm->new_default_source_name.emit(pm->default_input_device_name); }); } return 0; } const struct pw_metadata_events metadata_events = {PW_VERSION_METADATA_EVENTS, on_metadata_property}; const struct pw_proxy_events link_proxy_events = {.destroy = on_destroy_link_proxy, .bound = nullptr, .removed = on_removed_proxy, .done = nullptr, .error = nullptr}; const struct pw_proxy_events port_proxy_events = {.destroy = on_destroy_port_proxy, .bound = nullptr, .removed = on_removed_proxy, .done = nullptr, .error = nullptr}; const struct pw_proxy_events module_proxy_events = {.destroy = on_destroy_module_proxy, .bound = nullptr, .removed = on_removed_proxy, .done = nullptr, .error = nullptr}; const struct pw_proxy_events client_proxy_events = {.destroy = on_destroy_client_proxy, .bound = nullptr, .removed = on_removed_proxy, .done = nullptr, .error = nullptr}; const struct pw_proxy_events device_proxy_events = {.destroy = on_destroy_device_proxy, .bound = nullptr, .removed = on_removed_proxy, .done = nullptr, .error = nullptr}; const struct pw_proxy_events node_proxy_events = {.destroy = on_destroy_node_proxy, .bound = nullptr, .removed = on_removed_node_proxy, .done = nullptr, .error = nullptr}; const struct pw_node_events node_events = {.info = on_node_info, .param = on_node_event_param}; const struct pw_link_events link_events = { .info = on_link_info, }; const struct pw_module_events module_events = { .info = on_module_info, }; const struct pw_client_events client_events = { .info = on_client_info, }; const struct pw_device_events device_events = {.info = on_device_info, .param = on_device_event_param}; void on_registry_global(void* data, uint32_t id, uint32_t permissions, const char* type, uint32_t version, const struct spa_dict* props) { if (id == SPA_ID_INVALID) { // If PipeWire send us a wrong id, we don't have issues return; } auto* const pm = static_cast(data); if (g_strcmp0(type, PW_TYPE_INTERFACE_Node) == 0) { bool is_ee_filter = false; if (const auto* key_media_role = spa_dict_lookup(props, PW_KEY_MEDIA_ROLE)) { // Exclude blocklisted media roles if (std::ranges::find(pm->blocklist_media_role, std::string(key_media_role)) != pm->blocklist_media_role.end()) { return; } if (g_strcmp0(key_media_role, "DSP") == 0) { if (const auto* key_media_category = spa_dict_lookup(props, PW_KEY_MEDIA_CATEGORY)) { if (g_strcmp0(key_media_category, "Filter") == 0) { if (const auto* key_node_name = spa_dict_lookup(props, PW_KEY_NODE_NAME)) { if (std::string node_name(key_node_name); node_name.size() > 3U) { if (node_name.starts_with("ee_")) { is_ee_filter = true; } } } } } } } std::string media_class; std::string media_role; if (const auto* key_media_class = spa_dict_lookup(props, PW_KEY_MEDIA_CLASS)) { media_class = key_media_class; } if (const auto* key_media_role = spa_dict_lookup(props, PW_KEY_MEDIA_ROLE)) { media_role = key_media_role; } constexpr auto class_array = std::to_array({tags::pipewire::media_class::output_stream, tags::pipewire::media_class::input_stream, tags::pipewire::media_class::sink, tags::pipewire::media_class::source, tags::pipewire::media_class::virtual_source}); if (!is_ee_filter && !std::any_of(class_array.begin(), class_array.end(), [&](const auto& str) { return str == media_class; })) { return; } std::string node_name; spa_dict_get_string(props, PW_KEY_NODE_NAME, node_name); // At least for now I do not think there is a point in showing the spectrum adn the output level filters in menus if (util::str_contains(node_name, "output_level") || util::str_contains(node_name, "spectrum")) { return; } // Exclude blocklisted node names if (std::ranges::find(PipeManager::blocklist_node_name, node_name) != PipeManager::blocklist_node_name.end()) { return; } uint64_t serial = 0U; if (!spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, serial)) { util::warning( "An error occurred while retrieving the object serial. The node cannot be handled by Easy Effects."); return; } // New node can be added into the node map auto* proxy = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_NODE, sizeof(node_data))); auto* nd = static_cast(pw_proxy_get_user_data(proxy)); nd->proxy = proxy; nd->pm = pm; nd->nd_info = new NodeInfo(); nd->nd_info->proxy = proxy; nd->nd_info->serial = serial; nd->nd_info->id = id; nd->nd_info->media_class = media_class; nd->nd_info->media_role = media_role; nd->nd_info->name = node_name; spa_dict_get_string(props, PW_KEY_NODE_DESCRIPTION, nd->nd_info->description); spa_dict_get_num(props, PW_KEY_PRIORITY_SESSION, nd->nd_info->priority); spa_dict_get_num(props, PW_KEY_DEVICE_ID, nd->nd_info->device_id); const auto [node_it, success] = pm->node_map.insert({serial, *nd->nd_info}); if (!success) { util::warning("Cannot insert node " + util::to_string(id) + " " + node_name + " into the node map because there's already an existing serial " + util::to_string(serial)); return; } pw_node_add_listener(proxy, &nd->object_listener, &node_events, nd); pw_proxy_add_listener(proxy, &nd->proxy_listener, &node_proxy_events, nd); // sometimes PipeWire destroys the pointer before signal_idle is called, // therefore we make a copy of NodeInfo const auto nd_info_copy = *nd->nd_info; if (media_class == tags::pipewire::media_class::source && node_name != tags::pipewire::ee_source_name) { util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->source_added.emit(nd_info_copy); }); } else if (media_class == tags::pipewire::media_class::sink && node_name != tags::pipewire::ee_sink_name) { util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->sink_added.emit(nd_info_copy); }); } else if (media_class == tags::pipewire::media_class::output_stream) { util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->stream_output_added.emit(nd_info_copy); }); } else if (media_class == tags::pipewire::media_class::input_stream) { util::idle_add([pm, nd_info_copy] { if (PipeManager::exiting) { return; } pm->stream_input_added.emit(nd_info_copy); }); } // We will have debug info about our filters later if (!is_ee_filter) { util::debug(media_class + " " + util::to_string(id) + " " + nd->nd_info->name + " with serial " + util::to_string(serial) + " has been added"); } return; } if (g_strcmp0(type, PW_TYPE_INTERFACE_Link) == 0) { uint64_t serial = 0U; if (!spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, serial)) { util::warning( "An error occurred while retrieving the object serial. This link cannot be handled by Easy Effects."); return; } auto* proxy = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_LINK, sizeof(proxy_data))); auto* const pd = static_cast(pw_proxy_get_user_data(proxy)); pd->proxy = proxy; pd->pm = pm; pd->id = id; pd->serial = serial; pw_link_add_listener(proxy, &pd->object_listener, &link_events, pd); pw_proxy_add_listener(proxy, &pd->proxy_listener, &link_proxy_events, pd); auto link_info = link_info_from_props(props); link_info.id = id; link_info.serial = serial; pm->list_links.push_back(link_info); try { const auto input_node = pm->node_map_at_id(link_info.input_node_id); const auto output_node = pm->node_map_at_id(link_info.output_node_id); util::debug(output_node.name + " port " + util::to_string(link_info.output_port_id) + " is connected to " + input_node.name + " port " + util::to_string(link_info.input_port_id)); } catch (std::out_of_range& e) { util::debug(e.what()); } return; } if (g_strcmp0(type, PW_TYPE_INTERFACE_Port) == 0) { uint64_t serial = 0U; if (!spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, serial)) { util::warning( "An error occurred while retrieving the object serial. This port cannot be handled by Easy Effects."); return; } auto* proxy = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_PORT, sizeof(proxy_data))); auto* const pd = static_cast(pw_proxy_get_user_data(proxy)); pd->proxy = proxy; pd->pm = pm; pd->id = id; pd->serial = serial; pw_proxy_add_listener(proxy, &pd->proxy_listener, &port_proxy_events, pd); auto port_info = port_info_from_props(props); port_info.id = id; port_info.serial = serial; // std::cout << port_info.name << "\t" << port_info.audio_channel << "\t" << port_info.direction << "\t" // << port_info.format_dsp << "\t" << port_info.port_id << "\t" << port_info.node_id << std::endl; pm->list_ports.push_back(port_info); return; } if (g_strcmp0(type, PW_TYPE_INTERFACE_Module) == 0) { uint64_t serial = 0U; if (!spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, serial)) { util::warning( "An error occurred while retrieving the object serial. This module cannot be handled by Easy Effects."); return; } auto* proxy = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_MODULE, sizeof(proxy_data))); auto* const pd = static_cast(pw_proxy_get_user_data(proxy)); pd->proxy = proxy; pd->pm = pm; pd->id = id; pd->serial = serial; pw_module_add_listener(proxy, &pd->object_listener, &module_events, pd); pw_proxy_add_listener(proxy, &pd->proxy_listener, &module_proxy_events, pd); ModuleInfo m_info{.id = id, .serial = serial}; spa_dict_get_string(props, PW_KEY_MODULE_NAME, m_info.name); pm->list_modules.push_back(m_info); return; } if (g_strcmp0(type, PW_TYPE_INTERFACE_Client) == 0) { uint64_t serial = 0U; if (!spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, serial)) { util::warning( "An error occurred while retrieving the object serial. This client cannot be handled by Easy Effects."); return; } auto* proxy = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_CLIENT, sizeof(proxy_data))); auto* const pd = static_cast(pw_proxy_get_user_data(proxy)); pd->proxy = proxy; pd->pm = pm; pd->id = id; pd->serial = serial; pw_client_add_listener(proxy, &pd->object_listener, &client_events, pd); pw_proxy_add_listener(proxy, &pd->proxy_listener, &client_proxy_events, pd); ClientInfo c_info{.id = id, .serial = serial}; pm->list_clients.push_back(c_info); return; } if (g_strcmp0(type, PW_TYPE_INTERFACE_Metadata) == 0) { if (const auto* name = spa_dict_lookup(props, PW_KEY_METADATA_NAME)) { using namespace std::string_literals; util::debug("found metadata: "s + name); if (g_strcmp0(name, "default") == 0) { if (pm->metadata != nullptr) { util::debug("A new default metadata is available. We will use it"); spa_hook_remove(&pm->metadata_listener); } pm->metadata = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_METADATA, 0)); if (pm->metadata != nullptr) { pw_metadata_add_listener(pm->metadata, &pm->metadata_listener, &metadata_events, pm); } else { util::warning("pw_registry_bind returned a null metadata object"); } } } return; } if (g_strcmp0(type, PW_TYPE_INTERFACE_Device) == 0) { if (const auto* key_media_class = spa_dict_lookup(props, PW_KEY_MEDIA_CLASS)) { const std::string media_class = key_media_class; if (media_class == tags::pipewire::media_class::device) { uint64_t serial = 0U; if (!spa_dict_get_num(props, PW_KEY_OBJECT_SERIAL, serial)) { util::warning( "An error occurred while converting the object serial. This device cannot be handled by Easy Effects."); return; } auto* proxy = static_cast(pw_registry_bind(pm->registry, id, type, PW_VERSION_DEVICE, sizeof(proxy_data))); auto* const pd = static_cast(pw_proxy_get_user_data(proxy)); pd->proxy = proxy; pd->pm = pm; pd->id = id; pd->serial = serial; pw_device_add_listener(proxy, &pd->object_listener, &device_events, pd); pw_proxy_add_listener(proxy, &pd->proxy_listener, &device_proxy_events, pd); DeviceInfo d_info{.id = id, .serial = serial, .media_class = media_class}; pm->list_devices.push_back(d_info); } } return; } } void on_core_error(void* data, uint32_t id, int seq, int res, const char* message) { auto* const pm = static_cast(data); using namespace std::string_literals; if (id == PW_ID_CORE) { util::warning("Remote error res: "s + spa_strerror(res)); util::warning("Remote error message: "s + message); pw_thread_loop_signal(pm->thread_loop, false); } } void on_core_info(void* data, const struct pw_core_info* info) { using namespace std::string_literals; auto* const pm = static_cast(data); pm->core_name = info->name; pm->version = info->version; spa_dict_get_string(info->props, "default.clock.rate", pm->default_clock_rate); spa_dict_get_string(info->props, "default.clock.min-quantum", pm->default_min_quantum); spa_dict_get_string(info->props, "default.clock.max-quantum", pm->default_max_quantum); spa_dict_get_string(info->props, "default.clock.quantum", pm->default_quantum); util::debug("core version: "s + info->version); util::debug("core name: "s + info->name); } void on_core_done(void* data, uint32_t id, int seq) { auto* const pm = static_cast(data); if (id == PW_ID_CORE) { pw_thread_loop_signal(pm->thread_loop, false); } } const struct pw_core_events core_events = {.version = PW_VERSION_CORE_EVENTS, .info = on_core_info, .done = on_core_done, .error = on_core_error}; const struct pw_registry_events registry_events = { .global = on_registry_global, }; } // namespace PipeManager::PipeManager() : header_version(pw_get_headers_version()), library_version(pw_get_library_version()) { pw_init(nullptr, nullptr); spa_zero(core_listener); spa_zero(registry_listener); util::debug("compiled with PipeWire: " + header_version); util::debug("linked to PipeWire: " + library_version); // this needs to occur after pw_init(), so putting it before pw_init() in the initializer breaks this // NOLINTNEXTLINE(cppcoreguidelines-prefer-member-initializer) thread_loop = pw_thread_loop_new("ee-pipewire-thread", nullptr); // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) if (thread_loop == nullptr) { util::error("could not create PipeWire loop"); } if (pw_thread_loop_start(thread_loop) != 0) { util::error("could not start the loop"); } lock(); pw_properties* props_context = pw_properties_new(nullptr, nullptr); pw_properties_set(props_context, PW_KEY_CONFIG_NAME, "client-rt.conf"); pw_properties_set(props_context, PW_KEY_MEDIA_TYPE, "Audio"); pw_properties_set(props_context, PW_KEY_MEDIA_CATEGORY, "Manager"); pw_properties_set(props_context, PW_KEY_MEDIA_ROLE, "Music"); context = pw_context_new(pw_thread_loop_get_loop(thread_loop), props_context, 0); if (context == nullptr) { util::error("could not create PipeWire context"); } core = pw_context_connect(context, nullptr, 0); if (core == nullptr) { util::error("context connection failed"); } registry = pw_core_get_registry(core, PW_VERSION_REGISTRY, 0); if (registry == nullptr) { util::error("could not get the registry"); } pw_registry_add_listener(registry, ®istry_listener, ®istry_events, this); pw_core_add_listener(core, &core_listener, &core_events, this); // loading Easy Effects sink pw_properties* props_sink = pw_properties_new(nullptr, nullptr); pw_properties_set(props_sink, PW_KEY_APP_ID, tags::app::id); pw_properties_set(props_sink, PW_KEY_NODE_NAME, tags::pipewire::ee_sink_name); pw_properties_set(props_sink, PW_KEY_NODE_DESCRIPTION, "Easy Effects Sink"); pw_properties_set(props_sink, PW_KEY_NODE_VIRTUAL, "true"); pw_properties_set(props_sink, PW_KEY_NODE_PASSIVE, "out"); pw_properties_set(props_sink, "factory.name", "support.null-audio-sink"); pw_properties_set(props_sink, PW_KEY_MEDIA_CLASS, tags::pipewire::media_class::sink); pw_properties_set(props_sink, "audio.position", "FL,FR"); pw_properties_set(props_sink, "monitor.channel-volumes", "false"); pw_properties_set(props_sink, "monitor.passthrough", "true"); pw_properties_set(props_sink, "priority.session", "0"); proxy_stream_output_sink = static_cast( pw_core_create_object(core, "adapter", PW_TYPE_INTERFACE_Node, PW_VERSION_NODE, &props_sink->dict, 0)); pw_properties_free(props_sink); // loading our source pw_properties* props_source = pw_properties_new(nullptr, nullptr); pw_properties_set(props_source, PW_KEY_APP_ID, tags::app::id); pw_properties_set(props_source, PW_KEY_NODE_NAME, tags::pipewire::ee_source_name); pw_properties_set(props_source, PW_KEY_NODE_DESCRIPTION, "Easy Effects Source"); pw_properties_set(props_source, PW_KEY_NODE_VIRTUAL, "true"); pw_properties_set(props_source, "factory.name", "support.null-audio-sink"); pw_properties_set(props_source, PW_KEY_MEDIA_CLASS, tags::pipewire::media_class::virtual_source); pw_properties_set(props_source, "audio.position", "FL,FR"); pw_properties_set(props_source, "monitor.channel-volumes", "false"); pw_properties_set(props_source, "monitor.passthrough", "true"); pw_properties_set(props_source, "priority.session", "0"); proxy_stream_input_source = static_cast( pw_core_create_object(core, "adapter", PW_TYPE_INTERFACE_Node, PW_VERSION_NODE, &props_source->dict, 0)); pw_properties_free(props_source); sync_wait_unlock(); using namespace std::string_literals; do { std::this_thread::sleep_for(std::chrono::milliseconds(1)); for (const auto& [serial, node] : node_map) { if (ee_sink_node.name.empty() && node.name == tags::pipewire::ee_sink_name) { ee_sink_node = node; util::debug(tags::pipewire::ee_sink_name + " node successfully retrieved with id "s + util::to_string(node.id) + " and serial " + util::to_string(node.serial)); } else if (ee_source_node.name.empty() && node.name == tags::pipewire::ee_source_name) { ee_source_node = node; util::debug(tags::pipewire::ee_source_name + " node successfully retrieved with id "s + util::to_string(node.id) + " and serial " + util::to_string(node.serial)); } } } while (ee_sink_node.id == SPA_ID_INVALID || ee_source_node.id == SPA_ID_INVALID); } PipeManager::~PipeManager() { exiting = true; lock(); spa_hook_remove(®istry_listener); spa_hook_remove(&core_listener); spa_hook_remove(&metadata_listener); if (metadata != nullptr) { pw_proxy_destroy((struct pw_proxy*)metadata); } pw_proxy_destroy(proxy_stream_output_sink); pw_proxy_destroy(proxy_stream_input_source); util::debug("Destroying PipeWire registry..."); pw_proxy_destroy((struct pw_proxy*)registry); util::debug("Disconnecting PipeWire core..."); pw_core_disconnect(core); unlock(); util::debug("Stopping PipeWire's loop..."); pw_thread_loop_stop(thread_loop); util::debug("Destroying PipeWire's context..."); pw_context_destroy(context); util::debug("Destroying PipeWire's loop..."); pw_thread_loop_destroy(thread_loop); } auto PipeManager::node_map_at_id(const uint& id) -> NodeInfo& { // Helper method to access easily a node by id, same functionality as map.at() for (auto& [serial, node] : node_map) { if (node.id == id) { return node; } } throw std::out_of_range("No node with id " + util::to_string(id) + " in our node_map"); } auto PipeManager::stream_is_connected(const uint& id, const std::string& media_class) -> bool { if (media_class == tags::pipewire::media_class::output_stream) { for (const auto& link : list_links) { if (link.output_node_id == id && link.input_node_id == ee_sink_node.id) { return true; } } } else if (media_class == tags::pipewire::media_class::input_stream) { for (const auto& link : list_links) { if (link.output_node_id == ee_source_node.id && link.input_node_id == id) { return true; } } } return false; } void PipeManager::connect_stream_output(const uint& id) const { set_metadata_target_node(id, ee_sink_node.id, ee_sink_node.serial); } void PipeManager::connect_stream_input(const uint& id) const { set_metadata_target_node(id, ee_source_node.id, ee_source_node.serial); } void PipeManager::set_metadata_target_node(const uint& origin_id, const uint& target_id, const uint64_t& target_serial) const { if (metadata == nullptr) { return; } lock(); // target.node for backward compatibility with old PW session managers pw_metadata_set_property(metadata, origin_id, "target.node", "Spa:Id", util::to_string(target_id).c_str()); pw_metadata_set_property(metadata, origin_id, "target.object", "Spa:Id", util::to_string(target_serial).c_str()); sync_wait_unlock(); } void PipeManager::disconnect_stream(const uint& stream_id) const { if (metadata == nullptr) { return; } lock(); // target.node for backward compatibility with old PW session managers pw_metadata_set_property(metadata, stream_id, "target.node", nullptr, nullptr); pw_metadata_set_property(metadata, stream_id, "target.object", nullptr, nullptr); sync_wait_unlock(); } void PipeManager::set_node_volume(pw_proxy* proxy, const uint& n_vol_ch, const float& value) { std::array volumes{}; std::ranges::fill(volumes, 0.0F); std::fill_n(volumes.begin(), n_vol_ch, value); std::array buffer{}; auto builder = SPA_POD_BUILDER_INIT(buffer.data(), sizeof(buffer)); pw_node_set_param( (struct pw_node*)proxy, SPA_PARAM_Props, 0, (spa_pod*)spa_pod_builder_add_object(&builder, SPA_TYPE_OBJECT_Props, SPA_PARAM_Props, SPA_PROP_channelVolumes, SPA_POD_Array(sizeof(float), SPA_TYPE_Float, n_vol_ch, volumes.data()))); } void PipeManager::set_node_mute(pw_proxy* proxy, const bool& state) { std::array buffer{}; auto builder = SPA_POD_BUILDER_INIT(buffer.data(), sizeof(buffer)); pw_node_set_param((pw_node*)proxy, SPA_PARAM_Props, 0, (spa_pod*)spa_pod_builder_add_object(&builder, SPA_TYPE_OBJECT_Props, SPA_PARAM_Props, SPA_PROP_mute, SPA_POD_Bool(state))); } auto PipeManager::count_node_ports(const uint& node_id) -> uint { uint count = 0U; for (const auto& port : list_ports) { if (port.node_id == node_id) { count++; } } return count; } auto PipeManager::link_nodes(const uint& output_node_id, const uint& input_node_id, const bool& probe_link, const bool& link_passive) -> std::vector { std::vector list; std::vector list_output_ports; std::vector list_input_ports; auto use_audio_channel = true; for (const auto& port : list_ports) { if (port.node_id == output_node_id && port.direction == "out") { list_output_ports.push_back(port); if (!probe_link) { if (port.audio_channel != "FL" && port.audio_channel != "FR") { use_audio_channel = false; } } } if (port.node_id == input_node_id && port.direction == "in") { if (!probe_link) { list_input_ports.push_back(port); if (port.audio_channel != "FL" && port.audio_channel != "FR") { use_audio_channel = false; } } else { if (port.audio_channel == "PROBE_FL" || port.audio_channel == "PROBE_FR") { list_input_ports.push_back(port); } } } } if (list_input_ports.empty()) { util::debug("node " + util::to_string(input_node_id) + " has no input ports yet. Aborting the link"); return list; } if (list_output_ports.empty()) { util::debug("node " + util::to_string(output_node_id) + " has no output ports yet. Aborting the link"); return list; } for (const auto& outp : list_output_ports) { for (const auto& inp : list_input_ports) { bool ports_match = false; if (!probe_link) { if (use_audio_channel) { ports_match = outp.audio_channel == inp.audio_channel; } else { ports_match = outp.port_id == inp.port_id; } } else { if (outp.audio_channel == "FL" && inp.audio_channel == "PROBE_FL") { ports_match = true; } if (outp.audio_channel == "FR" && inp.audio_channel == "PROBE_FR") { ports_match = true; } } if (ports_match) { pw_properties* props = pw_properties_new(nullptr, nullptr); pw_properties_set(props, PW_KEY_LINK_PASSIVE, (link_passive) ? "true" : "false"); pw_properties_set(props, PW_KEY_OBJECT_LINGER, "false"); pw_properties_set(props, PW_KEY_LINK_OUTPUT_NODE, util::to_string(output_node_id).c_str()); pw_properties_set(props, PW_KEY_LINK_OUTPUT_PORT, util::to_string(outp.id).c_str()); pw_properties_set(props, PW_KEY_LINK_INPUT_NODE, util::to_string(input_node_id).c_str()); pw_properties_set(props, PW_KEY_LINK_INPUT_PORT, util::to_string(inp.id).c_str()); lock(); auto* proxy = static_cast( pw_core_create_object(core, "link-factory", PW_TYPE_INTERFACE_Link, PW_VERSION_LINK, &props->dict, 0)); pw_properties_free(props); if (proxy == nullptr) { util::warning("failed to link the node " + util::to_string(output_node_id) + " to " + util::to_string(input_node_id)); unlock(); return list; } sync_wait_unlock(); list.push_back(proxy); } } } return list; } void PipeManager::lock() const { pw_thread_loop_lock(thread_loop); } void PipeManager::unlock() const { pw_thread_loop_unlock(thread_loop); } void PipeManager::sync_wait_unlock() const { pw_core_sync(core, PW_ID_CORE, 0); pw_thread_loop_wait(thread_loop); pw_thread_loop_unlock(thread_loop); } auto PipeManager::wait_full() const -> int { timespec abstime; pw_thread_loop_get_time(thread_loop, &abstime, 30 * SPA_NSEC_PER_SEC); return pw_thread_loop_timed_wait_full(thread_loop, &abstime); } void PipeManager::destroy_object(const int& id) const { lock(); pw_registry_destroy(registry, id); sync_wait_unlock(); } void PipeManager::destroy_links(const std::vector& list) const { for (auto* proxy : list) { if (proxy != nullptr) { lock(); pw_proxy_destroy(proxy); sync_wait_unlock(); } } } /* Function inspired by code present in PipeWire's sources: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/include/spa/utils/json.h#L350 */ auto PipeManager::json_object_find(const char* obj, const char* key, char* value, const size_t& len) -> int { const char* v = nullptr; std::array sjson{}; std::array res{}; spa_json_init(sjson.data(), obj, strlen(obj)); if (spa_json_enter_object(sjson.data(), sjson.data() + 1) <= 0) { return -EINVAL; } while (spa_json_get_string(sjson.data() + 1, res.data(), res.size() * sizeof(char) - 1) > 0) { if (g_strcmp0(res.data(), key) == 0) { if (spa_json_get_string(sjson.data() + 1, value, static_cast(len)) <= 0) { continue; } return 0; } if (spa_json_next(sjson.data() + 1, &v) <= 0) { break; } } return -ENOENT; } easyeffects-7.1.7/src/pipe_manager_box.cpp000066400000000000000000001126101463533416400206330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "pipe_manager_box.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "client_info_holder.hpp" #include "module_info_holder.hpp" #include "node_info_holder.hpp" #include "pipe_objects.hpp" #include "preset_type.hpp" #include "presets_autoloading_holder.hpp" #include "tags_pipewire.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "test_signals.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::pipe_manager_box { using namespace std::string_literals; struct Data { public: ~Data() { util::debug("data struct destroyed"); } app::Application* application; std::unique_ptr ts; std::vector connections; std::vector gconnections_sie, gconnections_soe; }; struct _PipeManagerBox { GtkBox parent_instance; GtkSwitch *use_default_input, *use_default_output, *enable_test_signal; GtkDropDown *dropdown_input_devices, *dropdown_output_devices, *dropdown_autoloading_output_devices, *dropdown_autoloading_input_devices, *dropdown_autoloading_output_presets, *dropdown_autoloading_input_presets; GtkListView *listview_modules, *listview_clients, *listview_autoloading_output, *listview_autoloading_input; GtkButton *autoloading_add_input_profile, *autoloading_add_output_profile; GtkLabel *header_version, *library_version, *quantum, *max_quantum, *min_quantum, *server_rate; GtkSpinButton* spinbutton_test_signal_frequency; GListStore *input_devices_model, *output_devices_model, *modules_model, *clients_model, *autoloading_input_model, *autoloading_output_model, *autoloading_input_devices_model, *autoloading_output_devices_model; GtkStringList *input_presets_string_list, *output_presets_string_list; GSettings *sie_settings, *soe_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PipeManagerBox, pipe_manager_box, GTK_TYPE_BOX) void on_enable_test_signal(PipeManagerBox* self, gboolean state, GtkSwitch* btn) { self->data->ts->set_state(state != 0); } void on_checkbutton_channel_left(PipeManagerBox* self, GtkCheckButton* btn) { if (gtk_check_button_get_active(btn) != 0) { self->data->ts->create_left_channel = true; self->data->ts->create_right_channel = false; } } void on_checkbutton_channel_right(PipeManagerBox* self, GtkCheckButton* btn) { if (gtk_check_button_get_active(btn) != 0) { self->data->ts->create_left_channel = false; self->data->ts->create_right_channel = true; } } void on_checkbutton_channel_both(PipeManagerBox* self, GtkCheckButton* btn) { if (gtk_check_button_get_active(btn) != 0) { self->data->ts->create_left_channel = true; self->data->ts->create_right_channel = true; } } void on_checkbutton_signal_sine(PipeManagerBox* self, GtkCheckButton* btn) { if (gtk_check_button_get_active(btn) != 0) { self->data->ts->signal_type = TestSignalType::sine_wave; self->data->ts->sine_phase = 0.0F; } } void on_checkbutton_signal_gaussian(PipeManagerBox* self, GtkCheckButton* btn) { if (gtk_check_button_get_active(btn) != 0) { self->data->ts->signal_type = TestSignalType::gaussian; } } void on_autoloading_add_input_profile(PipeManagerBox* self, GtkButton* btn) { auto* holder = static_cast( gtk_drop_down_get_selected_item(self->dropdown_autoloading_input_devices)); if (holder == nullptr) { return; } std::string device_profile; for (const auto& device : self->data->application->pm->list_devices) { if (util::str_contains(holder->info->name, device.bus_path) || util::str_contains(holder->info->name, device.bus_id)) { device_profile = device.input_route_name; break; } } // first we remove any autoloading profile associated to the target device so that our ui is updated for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->autoloading_input_model)); n++) { auto* item = static_cast( g_list_model_get_item(G_LIST_MODEL(self->autoloading_input_model), n)); if (holder->info->name == item->data->device && device_profile == item->data->device_profile) { self->data->application->presets_manager->remove_autoload(PresetType::input, item->data->preset_name, item->data->device, item->data->device_profile); g_object_unref(item); break; } g_object_unref(item); } auto* selected_preset = gtk_drop_down_get_selected_item(self->dropdown_autoloading_input_presets); if (selected_preset == nullptr) { return; } const auto* preset_name = gtk_string_object_get_string(GTK_STRING_OBJECT(selected_preset)); self->data->application->presets_manager->add_autoload(PresetType::input, preset_name, holder->info->name, holder->info->description, device_profile); } void on_autoloading_add_output_profile(PipeManagerBox* self, GtkButton* btn) { auto* holder = static_cast( gtk_drop_down_get_selected_item(self->dropdown_autoloading_output_devices)); if (holder == nullptr) { return; } std::string device_profile; for (const auto& device : self->data->application->pm->list_devices) { if (util::str_contains(holder->info->name, device.bus_path) || util::str_contains(holder->info->name, device.bus_id)) { device_profile = device.output_route_name; break; } } // first we remove any autoloading profile associated to the target device so that our ui is updated for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->autoloading_output_model)); n++) { auto* item = static_cast( g_list_model_get_item(G_LIST_MODEL(self->autoloading_output_model), n)); if (holder->info->name == item->data->device && device_profile == item->data->device_profile) { self->data->application->presets_manager->remove_autoload(PresetType::output, item->data->preset_name, item->data->device, item->data->device_profile); g_object_unref(item); break; } g_object_unref(item); } auto* selected_preset = gtk_drop_down_get_selected_item(self->dropdown_autoloading_output_presets); if (selected_preset == nullptr) { return; } const auto* preset_name = gtk_string_object_get_string(GTK_STRING_OBJECT(selected_preset)); self->data->application->presets_manager->add_autoload(PresetType::output, preset_name, holder->info->name, holder->info->description, device_profile); } void update_modules_info(PipeManagerBox* self) { std::vector values; for (const auto& info : self->data->application->pm->list_modules) { values.push_back(ui::holders::create(info)); } g_list_store_splice(self->modules_model, 0, g_list_model_get_n_items(G_LIST_MODEL(self->modules_model)), (gpointer*)(values.data()), values.size()); for (auto* holder : values) { g_object_unref(holder); } } void update_clients_info(PipeManagerBox* self) { std::vector values; for (const auto& info : self->data->application->pm->list_clients) { values.push_back(ui::holders::create(info)); } g_list_store_splice(self->clients_model, 0, g_list_model_get_n_items(G_LIST_MODEL(self->clients_model)), (gpointer*)(values.data()), values.size()); for (auto* holder : values) { g_object_unref(holder); } } void on_stack_visible_child_changed(PipeManagerBox* self, GParamSpec* pspec, GtkWidget* stack) { if (const auto* const name = gtk_stack_get_visible_child_name(GTK_STACK(stack)); g_strcmp0(name, "page_modules") == 0) { update_modules_info(self); } else if (g_strcmp0(name, "page_clients") == 0) { update_clients_info(self); } } void setup_listview_modules(PipeManagerBox* self) { auto* selection = gtk_no_selection_new(G_LIST_MODEL(self->modules_model)); gtk_list_view_set_model(self->listview_modules, GTK_SELECTION_MODEL(selection)); g_object_unref(selection); } void setup_listview_clients(PipeManagerBox* self) { auto* selection = gtk_no_selection_new(G_LIST_MODEL(self->clients_model)); gtk_list_view_set_model(self->listview_clients, GTK_SELECTION_MODEL(selection)); g_object_unref(selection); } template void setup_listview_autoloading(PipeManagerBox* self) { GListStore* model = nullptr; GtkListView* listview = nullptr; if constexpr (preset_type == PresetType::output) { model = self->autoloading_output_model; listview = self->listview_autoloading_output; } else if constexpr (preset_type == PresetType::input) { model = self->autoloading_input_model; listview = self->listview_autoloading_input; } auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect( factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PipeManagerBox* self) { auto builder = gtk_builder_new_from_resource(tags::resources::autoload_row_ui); auto* top_box = gtk_builder_get_object(builder, "top_box"); g_object_set_data(G_OBJECT(item), "device", gtk_builder_get_object(builder, "device")); g_object_set_data(G_OBJECT(item), "device_description", gtk_builder_get_object(builder, "device_description")); g_object_set_data(G_OBJECT(item), "device_profile", gtk_builder_get_object(builder, "device_profile")); g_object_set_data(G_OBJECT(item), "preset_name", gtk_builder_get_object(builder, "preset_name")); auto* remove = gtk_builder_get_object(builder, "remove"); g_object_set_data(G_OBJECT(item), "remove", remove); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(top_box)); g_object_unref(builder); g_signal_connect( remove, "clicked", G_CALLBACK(+[](GtkButton* btn, PipeManagerBox* self) { if (auto* holder = static_cast(g_object_get_data(G_OBJECT(btn), "holder")); holder != nullptr) { self->data->application->presets_manager->remove_autoload( preset_type, holder->data->preset_name, holder->data->device, holder->data->device_profile); } }), self); }), self); g_signal_connect( factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PipeManagerBox* self) { auto* device = static_cast(g_object_get_data(G_OBJECT(item), "device")); auto* device_description = static_cast(g_object_get_data(G_OBJECT(item), "device_description")); auto* device_profile = static_cast(g_object_get_data(G_OBJECT(item), "device_profile")); auto* preset_name = static_cast(g_object_get_data(G_OBJECT(item), "preset_name")); auto* remove = static_cast(g_object_get_data(G_OBJECT(item), "remove")); auto* holder = static_cast(gtk_list_item_get_item(item)); g_object_set_data(G_OBJECT(remove), "holder", holder); gtk_label_set_text(device, holder->data->device.c_str()); gtk_label_set_text(device_description, holder->data->device_description.c_str()); gtk_label_set_text(device_profile, holder->data->device_profile.c_str()); gtk_label_set_text(preset_name, holder->data->preset_name.c_str()); gtk_accessible_update_property(GTK_ACCESSIBLE(remove), GTK_ACCESSIBLE_PROPERTY_LABEL, (_("Remove Autoloading Preset") + " "s + holder->data->preset_name).c_str(), -1); }), self); gtk_list_view_set_factory(listview, factory); g_object_unref(factory); // setting the model const auto profiles = self->data->application->presets_manager->get_autoload_profiles(preset_type); for (const auto& json : profiles) { const auto device = json.value("device", ""); const auto device_description = json.value("device-description", ""); const auto device_profile = json.value("device-profile", ""); const auto preset_name = json.value("preset-name", ""); auto* holder = ui::holders::create(device, device_description, device_profile, preset_name); g_list_store_append(model, holder); g_object_unref(holder); } auto* selection = gtk_no_selection_new(G_LIST_MODEL(model)); gtk_list_view_set_model(listview, GTK_SELECTION_MODEL(selection)); g_object_unref(selection); } template void setup_dropdown_presets(PipeManagerBox* self) { GtkDropDown* dropdown = nullptr; GtkStringList* string_list = nullptr; if constexpr (preset_type == PresetType::output) { dropdown = self->dropdown_autoloading_output_presets; string_list = self->output_presets_string_list; } else if constexpr (preset_type == PresetType::input) { dropdown = self->dropdown_autoloading_input_presets; string_list = self->input_presets_string_list; } for (const auto& name : self->data->application->presets_manager->get_local_presets_name(preset_type)) { gtk_string_list_append(string_list, name.c_str()); } // sorter auto* sorter = gtk_string_sorter_new(gtk_property_expression_new(GTK_TYPE_STRING_OBJECT, nullptr, "string")); auto* sorter_model = gtk_sort_list_model_new(G_LIST_MODEL(string_list), GTK_SORTER(sorter)); // setting the dropdown model auto* selection = gtk_single_selection_new(G_LIST_MODEL(sorter_model)); gtk_drop_down_set_model(dropdown, G_LIST_MODEL(selection)); g_object_unref(selection); } void setup_dropdown_devices(PipeManagerBox* self, GtkDropDown* dropdown, GListStore* model) { auto* selection = gtk_single_selection_new(G_LIST_MODEL(model)); gtk_drop_down_set_model(dropdown, G_LIST_MODEL(model)); g_object_unref(selection); } void setup(PipeManagerBox* self, app::Application* application) { self->data->application = application; auto* pm = application->pm; self->data->ts = std::make_unique(pm); for (const auto& [serial, node] : pm->node_map) { if (node.name == tags::pipewire::ee_sink_name || node.name == tags::pipewire::ee_source_name) { continue; } if (node.media_class == tags::pipewire::media_class::sink) { auto* holder = ui::holders::create(node); g_list_store_append(self->output_devices_model, holder); g_list_store_append(self->autoloading_output_devices_model, holder); g_object_unref(holder); } else if (node.media_class == tags::pipewire::media_class::source || node.media_class == tags::pipewire::media_class::virtual_source) { auto* holder = ui::holders::create(node); g_list_store_append(self->input_devices_model, holder); g_list_store_append(self->autoloading_input_devices_model, holder); g_object_unref(holder); } } int rate = 0; util::str_to_num(std::string(pm->default_clock_rate), rate); gtk_label_set_text(self->header_version, pm->header_version.c_str()); gtk_label_set_text(self->library_version, pm->library_version.c_str()); gtk_label_set_text(self->server_rate, fmt::format(ui::get_user_locale(), "{0:Ld} Hz", rate).c_str()); gtk_label_set_text(self->min_quantum, pm->default_min_quantum.c_str()); gtk_label_set_text(self->max_quantum, pm->default_max_quantum.c_str()); gtk_label_set_text(self->quantum, pm->default_quantum.c_str()); setup_listview_modules(self); setup_listview_clients(self); setup_listview_autoloading(self); setup_listview_autoloading(self); setup_dropdown_devices(self, self->dropdown_input_devices, self->input_devices_model); setup_dropdown_devices(self, self->dropdown_output_devices, self->output_devices_model); setup_dropdown_devices(self, self->dropdown_autoloading_input_devices, self->autoloading_input_devices_model); setup_dropdown_devices(self, self->dropdown_autoloading_output_devices, self->autoloading_output_devices_model); setup_dropdown_presets(self); setup_dropdown_presets(self); /* This connection is being done here after initializing the dropdowns to avoid unnecessary emittions while EE is initializing */ g_signal_connect(self->dropdown_input_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, PipeManagerBox* self) { if (gtk_switch_get_state(self->use_default_input) != 0) { return; } if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->sie_settings, "input-device", holder->info->name.c_str()); } }), self); g_signal_connect(self->dropdown_output_devices, "notify::selected-item", G_CALLBACK(+[](GtkDropDown* dropdown, GParamSpec* pspec, PipeManagerBox* self) { if (gtk_switch_get_state(self->use_default_output) != 0) { return; } if (auto selected_item = gtk_drop_down_get_selected_item(dropdown); selected_item != nullptr) { auto* holder = static_cast(selected_item); g_settings_set_string(self->soe_settings, "output-device", holder->info->name.c_str()); } }), self); // initializing the custom device selection dropdowns to the previoulsly used device { auto* holder_selected = static_cast(gtk_drop_down_get_selected_item(self->dropdown_input_devices)); if (holder_selected != nullptr) { const auto input_device_name = util::gsettings_get_string(self->sie_settings, "input-device"); if (holder_selected->info->name != input_device_name) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* item = static_cast( g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (item->info->name == input_device_name) { gtk_drop_down_set_selected(self->dropdown_input_devices, n); g_object_unref(item); break; } g_object_unref(item); } } } } { auto* holder_selected = static_cast(gtk_drop_down_get_selected_item(self->dropdown_output_devices)); if (holder_selected != nullptr) { const auto output_device_name = util::gsettings_get_string(self->soe_settings, "output-device"); if (holder_selected->info->name != output_device_name) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_devices_model)); n++) { auto* item = static_cast( g_list_model_get_item(G_LIST_MODEL(self->output_devices_model), n)); if (item->info->name == output_device_name) { gtk_drop_down_set_selected(self->dropdown_output_devices, n); g_object_unref(item); break; } g_object_unref(item); } } } } // signals related to device insertion/removal self->data->connections.push_back(pm->sink_added.connect([=](const NodeInfo& info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->output_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->output_devices_model, holder); g_list_store_append(self->autoloading_output_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->sink_removed.connect([=](const NodeInfo& info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->output_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->output_devices_model, n); g_list_store_remove(self->autoloading_output_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); self->data->connections.push_back(pm->source_added.connect([=](const NodeInfo& info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_object_unref(holder); return; } g_object_unref(holder); } auto* holder = ui::holders::create(info); g_list_store_append(self->input_devices_model, holder); g_list_store_append(self->autoloading_input_devices_model, holder); g_object_unref(holder); })); self->data->connections.push_back(pm->source_removed.connect([=](const NodeInfo& info) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->id == info.id) { g_list_store_remove(self->input_devices_model, n); g_list_store_remove(self->autoloading_input_devices_model, n); g_object_unref(holder); return; } g_object_unref(holder); } })); // updating the devices dropdown when the default device is changed self->data->connections.push_back(pm->new_default_sink_name.connect([=](const std::string new_default_device_name) { if (gtk_switch_get_state(self->use_default_output) != 1) { return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->output_devices_model), n)); if (holder->info->name == new_default_device_name) { g_object_unref(holder); gtk_drop_down_set_selected(self->dropdown_output_devices, n); return; } g_object_unref(holder); } })); self->data->connections.push_back(pm->new_default_source_name.connect([=](const std::string new_default_device_name) { if (gtk_switch_get_state(self->use_default_input) != 1) { return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* holder = static_cast(g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (holder->info->name == new_default_device_name) { g_object_unref(holder); gtk_drop_down_set_selected(self->dropdown_input_devices, n); return; } g_object_unref(holder); } })); // signals related to presets creation/destruction self->data->connections.push_back( application->presets_manager->user_output_preset_created.connect([=](const std::string& preset_name) { if (preset_name.empty()) { util::warning("can't retrieve information about the preset file"); return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_presets_string_list)); n++) { if (gtk_string_list_get_string(self->output_presets_string_list, n) == preset_name) { return; } } gtk_string_list_append(self->output_presets_string_list, preset_name.c_str()); })); self->data->connections.push_back( application->presets_manager->user_output_preset_removed.connect([=](const std::string& preset_name) { if (preset_name.empty()) { util::warning("can't retrieve information about the preset file"); return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_presets_string_list)); n++) { if (gtk_string_list_get_string(self->output_presets_string_list, n) == preset_name) { gtk_string_list_remove(self->output_presets_string_list, n); return; } } })); self->data->connections.push_back( application->presets_manager->user_input_preset_created.connect([=](const std::string& preset_name) { if (preset_name.empty()) { util::warning("can't retrieve information about the preset file"); return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_presets_string_list)); n++) { if (gtk_string_list_get_string(self->input_presets_string_list, n) == preset_name) { return; } } gtk_string_list_append(self->input_presets_string_list, preset_name.c_str()); })); self->data->connections.push_back( application->presets_manager->user_input_preset_removed.connect([=](const std::string& preset_name) { if (preset_name.empty()) { util::warning("can't retrieve information about the preset file"); return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_presets_string_list)); n++) { if (gtk_string_list_get_string(self->input_presets_string_list, n) == preset_name) { gtk_string_list_remove(self->input_presets_string_list, n); return; } } })); // signals related to autoload profiles self->data->connections.push_back(application->presets_manager->autoload_input_profiles_changed.connect( [=](const std::vector& profiles) { std::vector list; for (const auto& json : profiles) { const auto device = json.value("device", ""); const auto device_description = json.value("device-description", ""); const auto device_profile = json.value("device-profile", ""); const auto preset_name = json.value("preset-name", ""); list.push_back(ui::holders::create(device, device_description, device_profile, preset_name)); } g_list_store_splice(self->autoloading_input_model, 0, g_list_model_get_n_items(G_LIST_MODEL(self->autoloading_input_model)), (gpointer*)(list.data()), list.size()); for (auto* holder : list) { g_object_unref(holder); } })); self->data->connections.push_back(application->presets_manager->autoload_output_profiles_changed.connect( [=](const std::vector& profiles) { std::vector list; for (const auto& json : profiles) { const auto device = json.value("device", ""); const auto device_description = json.value("device-description", ""); const auto device_profile = json.value("device-profile", ""); const auto preset_name = json.value("preset-name", ""); list.push_back(ui::holders::create(device, device_description, device_profile, preset_name)); } g_list_store_splice(self->autoloading_output_model, 0, g_list_model_get_n_items(G_LIST_MODEL(self->autoloading_output_model)), (gpointer*)(list.data()), list.size()); for (auto* holder : list) { g_object_unref(holder); } })); } void dispose(GObject* object) { auto* self = EE_PIPE_MANAGER_BOX(object); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections_sie) { g_signal_handler_disconnect(self->sie_settings, handler_id); } for (auto& handler_id : self->data->gconnections_soe) { g_signal_handler_disconnect(self->soe_settings, handler_id); } self->data->connections.clear(); self->data->gconnections_sie.clear(); self->data->gconnections_soe.clear(); g_object_unref(self->sie_settings); g_object_unref(self->soe_settings); util::debug("disposed"); G_OBJECT_CLASS(pipe_manager_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_PIPE_MANAGER_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(pipe_manager_box_parent_class)->finalize(object); } void pipe_manager_box_class_init(PipeManagerBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::pipe_manager_box_ui); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, use_default_input); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, use_default_output); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, enable_test_signal); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, dropdown_input_devices); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, dropdown_output_devices); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, dropdown_autoloading_input_devices); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, dropdown_autoloading_output_devices); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, dropdown_autoloading_input_presets); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, dropdown_autoloading_output_presets); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, listview_modules); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, listview_clients); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, listview_autoloading_input); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, listview_autoloading_output); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, autoloading_add_input_profile); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, autoloading_add_output_profile); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, header_version); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, library_version); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, quantum); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, max_quantum); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, min_quantum); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, server_rate); gtk_widget_class_bind_template_child(widget_class, PipeManagerBox, spinbutton_test_signal_frequency); gtk_widget_class_bind_template_callback(widget_class, on_enable_test_signal); gtk_widget_class_bind_template_callback(widget_class, on_checkbutton_channel_left); gtk_widget_class_bind_template_callback(widget_class, on_checkbutton_channel_right); gtk_widget_class_bind_template_callback(widget_class, on_checkbutton_channel_both); gtk_widget_class_bind_template_callback(widget_class, on_checkbutton_signal_sine); gtk_widget_class_bind_template_callback(widget_class, on_checkbutton_signal_gaussian); gtk_widget_class_bind_template_callback(widget_class, on_stack_visible_child_changed); gtk_widget_class_bind_template_callback(widget_class, on_autoloading_add_input_profile); gtk_widget_class_bind_template_callback(widget_class, on_autoloading_add_output_profile); } void pipe_manager_box_init(PipeManagerBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->input_presets_string_list = gtk_string_list_new(nullptr); self->output_presets_string_list = gtk_string_list_new(nullptr); self->input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); self->output_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); self->modules_model = g_list_store_new(ui::holders::module_info_holder_get_type()); self->clients_model = g_list_store_new(ui::holders::client_info_holder_get_type()); self->autoloading_input_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); self->autoloading_output_devices_model = g_list_store_new(ui::holders::node_info_holder_get_type()); self->autoloading_input_model = g_list_store_new(ui::holders::presets_autoloading_holder_get_type()); self->autoloading_output_model = g_list_store_new(ui::holders::presets_autoloading_holder_get_type()); self->sie_settings = g_settings_new(tags::schema::id_input); self->soe_settings = g_settings_new(tags::schema::id_output); prepare_spinbuttons<"Hz">(self->spinbutton_test_signal_frequency); g_settings_bind(self->sie_settings, "use-default-input-device", self->use_default_input, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->soe_settings, "use-default-output-device", self->use_default_output, "active", G_SETTINGS_BIND_DEFAULT); g_signal_connect(self->spinbutton_test_signal_frequency, "value-changed", G_CALLBACK(+[](GtkSpinButton* btn, PipeManagerBox* self) { self->data->ts->set_frequency(static_cast(gtk_spin_button_get_value(btn))); }), self); g_signal_connect( self->use_default_input, "notify::active", G_CALLBACK(+[](GtkSwitch* btn, GParamSpec* pspec, PipeManagerBox* self) { if (gtk_switch_get_active(btn) != 0) { g_settings_set_string(self->sie_settings, "input-device", self->data->application->pm->default_input_device_name.c_str()); auto* holder = static_cast(gtk_drop_down_get_selected_item(self->dropdown_input_devices)); if (holder == nullptr) { return; } if (holder->info->name != self->data->application->pm->default_input_device_name) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->input_devices_model)); n++) { auto* item = static_cast( g_list_model_get_item(G_LIST_MODEL(self->input_devices_model), n)); if (item->info->name == self->data->application->pm->default_input_device_name) { gtk_drop_down_set_selected(self->dropdown_input_devices, n); g_object_unref(item); break; } g_object_unref(item); } } } }), self); g_signal_connect( self->use_default_output, "notify::active", G_CALLBACK(+[](GtkSwitch* btn, GParamSpec* pspec, PipeManagerBox* self) { if (gtk_switch_get_active(btn) != 0) { g_settings_set_string(self->soe_settings, "output-device", self->data->application->pm->default_output_device_name.c_str()); auto* holder = static_cast(gtk_drop_down_get_selected_item(self->dropdown_output_devices)); if (holder == nullptr) { return; } if (holder->info->name != self->data->application->pm->default_output_device_name) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->output_devices_model)); n++) { auto* item = static_cast( g_list_model_get_item(G_LIST_MODEL(self->output_devices_model), n)); if (item->info->name == self->data->application->pm->default_output_device_name) { gtk_drop_down_set_selected(self->dropdown_output_devices, n); g_object_unref(item); break; } g_object_unref(item); } } } }), self); } auto create() -> PipeManagerBox* { return static_cast(g_object_new(EE_TYPE_PIPE_MANAGER_BOX, nullptr)); } } // namespace ui::pipe_manager_box easyeffects-7.1.7/src/pitch.cpp000066400000000000000000000331171463533416400164470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "pitch.hpp" #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Pitch::Pitch(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::pitch, tags::plugin_package::sound_touch, schema, schema_path, pipe_manager, pipe_type) { quick_seek = g_settings_get_boolean(settings, "quick-seek") != 0; anti_alias = g_settings_get_boolean(settings, "anti-alias") != 0; sequence_length_ms = g_settings_get_int(settings, "sequence-length"); seek_window_ms = g_settings_get_int(settings, "seek-window"); overlap_length_ms = g_settings_get_int(settings, "overlap-length"); tempo_difference = g_settings_get_double(settings, "tempo-difference"); rate_difference = g_settings_get_double(settings, "rate-difference"); semitones = g_settings_get_double(settings, "semitones"); // resetting soundtouch when bypass is pressed so its internal data is discarded gconnections.push_back(g_signal_connect(settings, "changed::bypass", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); util::idle_add([&, self] { self->data_mutex.lock(); self->soundtouch_ready = false; self->data_mutex.unlock(); self->init_soundtouch(); self->data_mutex.lock(); self->soundtouch_ready = true; self->data_mutex.unlock(); }); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::quick-seek", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->quick_seek = g_settings_get_boolean(settings, key) != 0; if (!self->soundtouch_ready) { return; } self->set_quick_seek(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::anti-alias", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->anti_alias = g_settings_get_boolean(settings, key) != 0; if (!self->soundtouch_ready) { return; } self->set_quick_seek(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::sequence-length", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->sequence_length_ms = g_settings_get_int(settings, key); if (!self->soundtouch_ready) { return; } self->set_sequence_length(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::seek-window", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->seek_window_ms = g_settings_get_int(settings, key); if (!self->soundtouch_ready) { return; } self->set_seek_window(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::overlap-length", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->overlap_length_ms = g_settings_get_int(settings, key); if (!self->soundtouch_ready) { return; } self->set_overlap_length(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::tempo-difference", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->tempo_difference = g_settings_get_double(settings, key); if (!self->soundtouch_ready) { return; } self->set_tempo_difference(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::rate-difference", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->rate_difference = g_settings_get_double(settings, key); if (!self->soundtouch_ready) { return; } self->set_rate_difference(); }), this)); gconnections.push_back(g_signal_connect(settings, "changed::semitones", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->semitones = g_settings_get_double(settings, key); if (!self->soundtouch_ready) { return; } self->set_semitones(); }), this)); setup_input_output_gain(); } Pitch::~Pitch() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Pitch::setup() { soundtouch_ready = false; latency_n_frames = 0U; if (data.size() != static_cast(n_samples) * 2) { data.resize(2U * static_cast(n_samples)); } deque_out_L.resize(0U); deque_out_R.resize(0U); util::idle_add([&, this] { if (soundtouch_ready) { return; } init_soundtouch(); std::scoped_lock lock(data_mutex); soundtouch_ready = true; }); } void Pitch::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass || !soundtouch_ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } for (size_t n = 0U; n < left_in.size(); n++) { data[n * 2U] = left_in[n]; data[n * 2U + 1U] = right_in[n]; } snd_touch->putSamples(data.data(), n_samples); uint n_received = 0U; do { n_received = snd_touch->receiveSamples(data.data(), n_samples); for (size_t n = 0U; n < n_received; n++) { deque_out_L.push_back(data[n * 2U]); deque_out_R.push_back(data[n * 2U + 1U]); } } while (n_received != 0); if (deque_out_L.size() >= left_out.size()) { for (float& v : left_out) { v = deque_out_L.front(); deque_out_L.pop_front(); } for (float& v : right_out) { v = deque_out_R.front(); deque_out_R.pop_front(); } } else { const uint offset = left_out.size() - deque_out_L.size(); if (offset != latency_n_frames) { latency_n_frames = offset; notify_latency = true; } for (uint n = 0U; !deque_out_L.empty() && n < left_out.size(); n++) { if (n < offset) { left_out[n] = 0.0F; right_out[n] = 0.0F; } else { left_out[n] = deque_out_L.front(); right_out[n] = deque_out_R.front(); deque_out_R.pop_front(); deque_out_L.pop_front(); } } } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (notify_latency) { latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); notify_latency = false; } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } void Pitch::set_semitones() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setPitchSemiTones(semitones); } void Pitch::set_sequence_length() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setSetting(SETTING_SEQUENCE_MS, sequence_length_ms); } void Pitch::set_seek_window() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setSetting(SETTING_SEEKWINDOW_MS, seek_window_ms); } void Pitch::set_overlap_length() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setSetting(SETTING_OVERLAP_MS, overlap_length_ms); } void Pitch::set_quick_seek() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setSetting(SETTING_USE_QUICKSEEK, static_cast(quick_seek)); } void Pitch::set_anti_alias() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setSetting(SETTING_USE_AA_FILTER, static_cast(anti_alias)); } void Pitch::set_tempo_difference() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setTempoChange(tempo_difference); } void Pitch::set_rate_difference() { if (snd_touch == nullptr) { return; } std::scoped_lock lock(data_mutex); snd_touch->setRateChange(rate_difference); } void Pitch::init_soundtouch() { delete snd_touch; snd_touch = new soundtouch::SoundTouch(); snd_touch->setSampleRate(rate); snd_touch->setChannels(2); set_semitones(); set_quick_seek(); set_anti_alias(); set_sequence_length(); set_seek_window(); set_overlap_length(); set_tempo_difference(); set_rate_difference(); } auto Pitch::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/pitch_preset.cpp000066400000000000000000000070761463533416400200360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "pitch_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" PitchPreset::PitchPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::pitch::id, tags::schema::pitch::input_path, tags::schema::pitch::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::pitch).append("#").append(util::to_string(index)); } void PitchPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["quick-seek"] = g_settings_get_boolean(settings, "quick-seek") != 0; json[section][instance_name]["anti-alias"] = g_settings_get_boolean(settings, "anti-alias") != 0; json[section][instance_name]["sequence-length"] = g_settings_get_int(settings, "sequence-length"); json[section][instance_name]["seek-window"] = g_settings_get_int(settings, "seek-window"); json[section][instance_name]["overlap-length"] = g_settings_get_int(settings, "overlap-length"); json[section][instance_name]["tempo-difference"] = g_settings_get_double(settings, "tempo-difference"); json[section][instance_name]["rate-difference"] = g_settings_get_double(settings, "rate-difference"); json[section][instance_name]["semitones"] = g_settings_get_double(settings, "semitones"); } void PitchPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "quick-seek", "quick-seek"); update_key(json.at(section).at(instance_name), settings, "anti-alias", "anti-alias"); update_key(json.at(section).at(instance_name), settings, "sequence-length", "sequence-length"); update_key(json.at(section).at(instance_name), settings, "seek-window", "seek-window"); update_key(json.at(section).at(instance_name), settings, "overlap-length", "overlap-length"); update_key(json.at(section).at(instance_name), settings, "tempo-difference", "tempo-difference"); update_key(json.at(section).at(instance_name), settings, "rate-difference", "rate-difference"); update_key(json.at(section).at(instance_name), settings, "semitones", "semitones"); } easyeffects-7.1.7/src/pitch_ui.cpp000066400000000000000000000160321463533416400171410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "pitch_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "pitch.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::pitch_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr pitch; std::vector connections; std::vector gconnections; }; struct _PitchBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSpinButton *semitones, *sequence_length, *seek_window, *overlap_length, *tempo_difference, *rate_difference; GtkSwitch *quick_seek, *anti_alias; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PitchBox, pitch_box, GTK_TYPE_BOX) void on_reset(PitchBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(PitchBox* self, std::shared_ptr pitch, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->pitch = pitch; self->settings = g_settings_new_with_path(tags::schema::pitch::id, schema_path.c_str()); pitch->set_post_messages(true); self->data->connections.push_back(pitch->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(pitch->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->pitch->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); gsettings_bind_widgets<"quick-seek", "anti-alias", "sequence-length", "seek-window", "overlap-length", "tempo-difference", "rate-difference", "semitones">( self->settings, self->quick_seek, self->anti_alias, self->sequence_length, self->seek_window, self->overlap_length, self->tempo_difference, self->rate_difference, self->semitones); } void dispose(GObject* object) { auto* self = EE_PITCH_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(pitch_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_PITCH_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(pitch_box_parent_class)->finalize(object); } void pitch_box_class_init(PitchBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::pitch_ui); gtk_widget_class_bind_template_child(widget_class, PitchBox, input_gain); gtk_widget_class_bind_template_child(widget_class, PitchBox, output_gain); gtk_widget_class_bind_template_child(widget_class, PitchBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, PitchBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, PitchBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, PitchBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, PitchBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, PitchBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, PitchBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, PitchBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, PitchBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, PitchBox, quick_seek); gtk_widget_class_bind_template_child(widget_class, PitchBox, anti_alias); gtk_widget_class_bind_template_child(widget_class, PitchBox, sequence_length); gtk_widget_class_bind_template_child(widget_class, PitchBox, seek_window); gtk_widget_class_bind_template_child(widget_class, PitchBox, overlap_length); gtk_widget_class_bind_template_child(widget_class, PitchBox, tempo_difference); gtk_widget_class_bind_template_child(widget_class, PitchBox, rate_difference); gtk_widget_class_bind_template_child(widget_class, PitchBox, semitones); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void pitch_box_init(PitchBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"ms">(self->sequence_length, self->seek_window, self->overlap_length); prepare_spinbuttons<"%">(self->tempo_difference, self->rate_difference); } auto create() -> PitchBox* { return static_cast(g_object_new(EE_TYPE_PITCH_BOX, nullptr)); } } // namespace ui::pitch_box easyeffects-7.1.7/src/plugin_base.cpp000066400000000000000000000424621463533416400176330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "plugin_base.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "tags_app.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" namespace { void on_process(void* userdata, spa_io_position* position) { auto* d = static_cast(userdata); const auto n_samples = position->clock.duration; const auto rate = position->clock.rate.denom; if (n_samples == 0 || rate == 0) { return; } if (rate != d->pb->rate || n_samples != d->pb->n_samples) { d->pb->rate = rate; d->pb->n_samples = n_samples; d->pb->dummy_left.resize(n_samples); d->pb->dummy_right.resize(n_samples); std::ranges::fill(d->pb->dummy_left, 0.0F); std::ranges::fill(d->pb->dummy_right, 0.0F); d->pb->clock_start = std::chrono::system_clock::now(); d->pb->setup(); } d->pb->delta_t = 0.001F * static_cast(std::chrono::duration_cast( std::chrono::system_clock::now() - d->pb->clock_start) .count()); d->pb->send_notifications = d->pb->delta_t >= d->pb->notification_time_window; // util::warning("processing: " + util::to_string(n_samples)); auto* in_left = static_cast(pw_filter_get_dsp_buffer(d->in_left, n_samples)); auto* in_right = static_cast(pw_filter_get_dsp_buffer(d->in_right, n_samples)); auto* out_left = static_cast(pw_filter_get_dsp_buffer(d->out_left, n_samples)); auto* out_right = static_cast(pw_filter_get_dsp_buffer(d->out_right, n_samples)); std::span left_in; std::span right_in; std::span left_out; std::span right_out; if (in_left != nullptr) { left_in = std::span(in_left, n_samples); } else { left_in = d->pb->dummy_left; } if (in_right != nullptr) { right_in = std::span(in_right, n_samples); } else { right_in = d->pb->dummy_right; } if (out_left != nullptr) { left_out = std::span(out_left, n_samples); } else { left_out = d->pb->dummy_left; } if (out_right != nullptr) { right_out = std::span(out_right, n_samples); } else { right_out = d->pb->dummy_right; } if (!d->pb->enable_probe) { d->pb->process(left_in, right_in, left_out, right_out); } else { auto* probe_left = static_cast(pw_filter_get_dsp_buffer(d->probe_left, n_samples)); auto* probe_right = static_cast(pw_filter_get_dsp_buffer(d->probe_right, n_samples)); if (probe_left == nullptr || probe_right == nullptr) { std::span l(d->pb->dummy_left.data(), n_samples); std::span r(d->pb->dummy_right.data(), n_samples); d->pb->process(left_in, right_in, left_out, right_out, l, r); } else { std::span l(probe_left, n_samples); std::span r(probe_right, n_samples); d->pb->process(left_in, right_in, left_out, right_out, l, r); } } if (d->pb->send_notifications) { d->pb->clock_start = std::chrono::system_clock::now(); d->pb->send_notifications = false; } } auto update_filter(struct spa_loop* loop, bool async, uint32_t seq, const void* data, size_t size, void* user_data) -> int { auto* self = static_cast(user_data); spa_process_latency_info latency_info{}; latency_info.ns = static_cast(self->latency_value * 1000000000.0F); std::array buffer{}; spa_pod_builder b{}; spa_pod_builder_init(&b, buffer.data(), sizeof(buffer)); const spa_pod* param = spa_process_latency_build(&b, SPA_PARAM_ProcessLatency, &latency_info); pw_filter_update_params(self->filter, nullptr, ¶m, 1); return 0; } void on_filter_state_changed(void* userdata, pw_filter_state old, pw_filter_state state, const char* error) { auto* d = static_cast(userdata); d->pb->state = state; switch (state) { case PW_FILTER_STATE_ERROR: d->pb->can_get_node_id = false; break; case PW_FILTER_STATE_UNCONNECTED: d->pb->can_get_node_id = false; break; case PW_FILTER_STATE_CONNECTING: d->pb->can_get_node_id = false; break; case PW_FILTER_STATE_STREAMING: d->pb->can_get_node_id = true; break; case PW_FILTER_STATE_PAUSED: d->pb->can_get_node_id = true; break; default: break; } } const struct pw_filter_events filter_events = {.state_changed = on_filter_state_changed, .process = on_process}; } // namespace PluginBase::PluginBase(std::string tag, std::string plugin_name, std::string package, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type, const bool& enable_probe) : log_tag(std::move(tag)), name(std::move(plugin_name)), package(std::move(package)), pipeline_type(pipe_type), enable_probe(enable_probe), settings(g_settings_new_with_path(schema.c_str(), schema_path.c_str())), global_settings(g_settings_new(tags::app::id)), pm(pipe_manager) { std::string description; if (name != "output_level" && name != "spectrum") { description = tags::plugin_name::get_translated()[name]; bypass = g_settings_get_boolean(settings, "bypass") != 0; gconnections.push_back(g_signal_connect(settings, "changed::bypass", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->bypass = g_settings_get_boolean(settings, "bypass") != 0; }), this)); } else if (name == "output_level") { description = _("Output Level Meter"); } else if (name == "spectrum") { description = _("Spectrum"); } pf_data.pb = this; const auto filter_name = "ee_" + log_tag.substr(0U, log_tag.size() - 2U) + "_" + name; pm->lock(); auto* props_filter = pw_properties_new(nullptr, nullptr); pw_properties_set(props_filter, PW_KEY_APP_ID, tags::app::id); pw_properties_set(props_filter, PW_KEY_NODE_NAME, filter_name.c_str()); pw_properties_set(props_filter, PW_KEY_NODE_NICK, name.c_str()); pw_properties_set(props_filter, PW_KEY_NODE_DESCRIPTION, description.c_str()); pw_properties_set(props_filter, PW_KEY_MEDIA_TYPE, "Audio"); pw_properties_set(props_filter, PW_KEY_MEDIA_CATEGORY, "Filter"); pw_properties_set(props_filter, PW_KEY_MEDIA_ROLE, "DSP"); pw_properties_set(props_filter, PW_KEY_NODE_PASSIVE, "true"); filter = pw_filter_new(pm->core, filter_name.c_str(), props_filter); // left channel input auto* props_in_left = pw_properties_new(nullptr, nullptr); pw_properties_set(props_in_left, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_in_left, PW_KEY_PORT_NAME, "input_FL"); pw_properties_set(props_in_left, "audio.channel", "FL"); pf_data.in_left = static_cast(pw_filter_add_port(filter, PW_DIRECTION_INPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_in_left, nullptr, 0)); // right channel input auto* props_in_right = pw_properties_new(nullptr, nullptr); pw_properties_set(props_in_right, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_in_right, PW_KEY_PORT_NAME, "input_FR"); pw_properties_set(props_in_right, "audio.channel", "FR"); pf_data.in_right = static_cast(pw_filter_add_port(filter, PW_DIRECTION_INPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_in_right, nullptr, 0)); // left channel output auto* props_out_left = pw_properties_new(nullptr, nullptr); pw_properties_set(props_out_left, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_out_left, PW_KEY_PORT_NAME, "output_FL"); pw_properties_set(props_out_left, "audio.channel", "FL"); pf_data.out_left = static_cast(pw_filter_add_port(filter, PW_DIRECTION_OUTPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_out_left, nullptr, 0)); // right channel output auto* props_out_right = pw_properties_new(nullptr, nullptr); pw_properties_set(props_out_right, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_out_right, PW_KEY_PORT_NAME, "output_FR"); pw_properties_set(props_out_right, "audio.channel", "FR"); pf_data.out_right = static_cast(pw_filter_add_port( filter, PW_DIRECTION_OUTPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_out_right, nullptr, 0)); if (enable_probe) { n_ports += 2; // probe left input auto* props_left = pw_properties_new(nullptr, nullptr); pw_properties_set(props_left, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_left, PW_KEY_PORT_NAME, "probe_FL"); pw_properties_set(props_left, "audio.channel", "PROBE_FL"); pf_data.probe_left = static_cast(pw_filter_add_port( filter, PW_DIRECTION_INPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_left, nullptr, 0)); // probe right input auto* props_right = pw_properties_new(nullptr, nullptr); pw_properties_set(props_right, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_right, PW_KEY_PORT_NAME, "probe_FR"); pw_properties_set(props_right, "audio.channel", "PROBE_FR"); pf_data.probe_right = static_cast(pw_filter_add_port( filter, PW_DIRECTION_INPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_right, nullptr, 0)); } pm->sync_wait_unlock(); } PluginBase::~PluginBase() { post_messages = false; pm->lock(); if (listener.link.next != nullptr || listener.link.prev != nullptr) { spa_hook_remove(&listener); } pw_filter_destroy(filter); pm->sync_wait_unlock(); for (auto& handler_id : gconnections) { g_signal_handler_disconnect(settings, handler_id); } gconnections.clear(); g_object_unref(settings); } void PluginBase::set_post_messages(const bool& state) { post_messages = state; } void PluginBase::reset_settings() { util::reset_all_keys_except(settings); } auto PluginBase::connect_to_pw() -> bool { connected_to_pw = false; can_get_node_id = false; state = PW_FILTER_STATE_UNCONNECTED; pm->lock(); if (pw_filter_connect(filter, PW_FILTER_FLAG_RT_PROCESS, nullptr, 0) != 0) { pm->unlock(); util::warning(log_tag + name + " cannot connect the filter to PipeWire!"); return false; } initialize_listener(); pm->sync_wait_unlock(); while (!can_get_node_id) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); if (state == PW_FILTER_STATE_ERROR) { util::warning(log_tag + name + " is in an error"); return false; } } pm->lock(); node_id = pw_filter_get_node_id(filter); pm->sync_wait_unlock(); /* The filter we link in our pipeline have at least 4 ports. Some have six. Before we try to link filters we have to wait until the information about their ports is available in PipeManager's list_ports vector. */ while (pm->count_node_ports(node_id) != n_ports) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); } connected_to_pw = true; util::debug(log_tag + name + " successfully connected to PipeWire graph"); return true; } void PluginBase::initialize_listener() { pw_filter_add_listener(filter, &listener, &filter_events, &pf_data); } auto PluginBase::get_node_id() const -> uint { return node_id; } void PluginBase::set_active(const bool& state) const { pw_filter_set_active(filter, state); } void PluginBase::disconnect_from_pw() { pm->lock(); set_active(false); // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) if (listener.link.next != nullptr || listener.link.prev != nullptr) { spa_hook_remove(&listener); } pw_filter_disconnect(filter); connected_to_pw = false; pm->sync_wait_unlock(); node_id = SPA_ID_INVALID; } void PluginBase::setup() {} void PluginBase::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) {} void PluginBase::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out, std::span& probe_left, std::span& probe_right) {} auto PluginBase::get_latency_seconds() -> float { return 0.0F; } void PluginBase::show_native_ui() { if (lv2_wrapper == nullptr) { return; } if (!lv2_wrapper->has_ui()) { lv2_wrapper->load_ui(); } } void PluginBase::close_native_ui() { if (lv2_wrapper == nullptr) { return; } lv2_wrapper->native_ui_to_gsettings(); lv2_wrapper->close_ui(); } void PluginBase::set_native_ui_update_frequency(const uint& value) { if (lv2_wrapper == nullptr) { return; } lv2_wrapper->set_ui_update_rate(value); } void PluginBase::get_peaks(const std::span& left_in, const std::span& right_in, std::span& left_out, std::span& right_out) { if (!post_messages) { return; } // input level float peak_l = std::ranges::max(left_in); float peak_r = std::ranges::max(right_in); input_peak_left = (peak_l > input_peak_left) ? peak_l : input_peak_left; input_peak_right = (peak_r > input_peak_right) ? peak_r : input_peak_right; // output level peak_l = std::ranges::max(left_out); peak_r = std::ranges::max(right_out); output_peak_left = (peak_l > output_peak_left) ? peak_l : output_peak_left; output_peak_right = (peak_r > output_peak_right) ? peak_r : output_peak_right; } void PluginBase::setup_input_output_gain() { input_gain = static_cast(util::db_to_linear(g_settings_get_double(settings, "input-gain"))); output_gain = static_cast(util::db_to_linear(g_settings_get_double(settings, "output-gain"))); g_signal_connect(settings, "changed::input-gain", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->input_gain = util::db_to_linear(g_settings_get_double(settings, key)); }), this); g_signal_connect(settings, "changed::output-gain", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->output_gain = util::db_to_linear(g_settings_get_double(settings, key)); }), this); } void PluginBase::apply_gain(std::span& left, std::span& right, const float& gain) { if (left.empty() || right.empty()) { return; } std::ranges::for_each(left, [&](auto& v) { v *= gain; }); std::ranges::for_each(right, [&](auto& v) { v *= gain; }); } void PluginBase::notify() { const auto input_peak_db_l = util::linear_to_db(input_peak_left); const auto input_peak_db_r = util::linear_to_db(input_peak_right); const auto output_peak_db_l = util::linear_to_db(output_peak_left); const auto output_peak_db_r = util::linear_to_db(output_peak_right); input_level.emit(input_peak_db_l, input_peak_db_r); output_level.emit(output_peak_db_l, output_peak_db_r); input_peak_left = util::minimum_linear_level; input_peak_right = util::minimum_linear_level; output_peak_left = util::minimum_linear_level; output_peak_right = util::minimum_linear_level; } void PluginBase::update_probe_links() {} void PluginBase::update_filter_params() { pw_loop_invoke(pw_thread_loop_get_loop(pm->thread_loop), update_filter, 1, nullptr, 0, false, this); } easyeffects-7.1.7/src/plugin_preset_base.cpp000066400000000000000000000032431463533416400212070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "plugin_preset_base.hpp" #include #include #include "preset_type.hpp" #include "util.hpp" PluginPresetBase::PluginPresetBase(const char* schema_id, const char* schema_path_input, const char* schema_path_output, PresetType preset_type, const int& index) : index(index), preset_type(preset_type) { switch (preset_type) { case PresetType::input: section = "input"; settings = g_settings_new_with_path(schema_id, (schema_path_input + util::to_string(index) + "/").c_str()); break; case PresetType::output: section = "output"; settings = g_settings_new_with_path(schema_id, (schema_path_output + util::to_string(index) + "/").c_str()); break; } } PluginPresetBase::~PluginPresetBase() { g_object_unref(settings); } easyeffects-7.1.7/src/plugins_box.cpp000066400000000000000000001042531463533416400176710ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "plugins_box.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "autogain.hpp" #include "autogain_ui.hpp" #include "bass_enhancer.hpp" #include "bass_enhancer_ui.hpp" #include "bass_loudness.hpp" #include "bass_loudness_ui.hpp" #include "compressor.hpp" #include "compressor_ui.hpp" #include "convolver.hpp" #include "convolver_ui.hpp" #include "crossfeed.hpp" #include "crossfeed_ui.hpp" #include "crystalizer.hpp" #include "crystalizer_ui.hpp" #include "deepfilternet.hpp" #include "deepfilternet_ui.hpp" #include "deesser.hpp" #include "deesser_ui.hpp" #include "delay.hpp" #include "delay_ui.hpp" #include "echo_canceller.hpp" #include "echo_canceller_ui.hpp" #include "effects_base.hpp" #include "equalizer.hpp" #include "equalizer_ui.hpp" #include "exciter.hpp" #include "exciter_ui.hpp" #include "expander.hpp" #include "expander_ui.hpp" #include "filter.hpp" #include "filter_ui.hpp" #include "gate.hpp" #include "gate_ui.hpp" #include "level_meter.hpp" #include "level_meter_ui.hpp" #include "limiter.hpp" #include "limiter_ui.hpp" #include "loudness.hpp" #include "loudness_ui.hpp" #include "maximizer.hpp" #include "maximizer_ui.hpp" #include "multiband_compressor.hpp" #include "multiband_compressor_ui.hpp" #include "multiband_gate.hpp" #include "multiband_gate_ui.hpp" #include "pipeline_type.hpp" #include "pitch.hpp" #include "pitch_ui.hpp" #include "plugins_menu.hpp" #include "reverb.hpp" #include "reverb_ui.hpp" #include "rnnoise.hpp" #include "rnnoise_ui.hpp" #include "speex.hpp" #include "speex_ui.hpp" #include "stereo_tools.hpp" #include "stereo_tools_ui.hpp" #include "tags_app.hpp" #include "tags_plugin_name.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::plugins_box { using namespace std::string_literals; struct Data { public: Data() { this->translated = tags::plugin_name::get_translated(); } ~Data() { util::debug("data struct destroyed"); } bool schedule_signal_idle = false; app::Application* application = nullptr; PipelineType pipeline_type{}; std::string schema_path; std::map translated; std::vector connections; std::vector gconnections; }; struct _PluginsBox { GtkBox parent_instance; GtkToggleButton* toggle_plugins_list; GtkMenuButton* menubutton_plugins; GtkOverlay* plugin_overlay; AdwStatusPage* overlay_no_plugins; GtkListView* listview; GtkStack* stack; GtkBox *startpoint_box, *endpoint_box; GtkImage *startpoint_icon, *endpoint_icon; GtkLabel *startpoint_name, *endpoint_name; ui::plugins_menu::PluginsMenu* plugins_menu; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PluginsBox, plugins_box, GTK_TYPE_BOX) template void add_plugins_to_stack(PluginsBox* self) { EffectsBase* effects_base = nullptr; if constexpr (pipeline_type == PipelineType::input) { effects_base = self->data->application->sie; } else if constexpr (pipeline_type == PipelineType::output) { effects_base = self->data->application->soe; } // saving the current visible page name for later usage const std::string visible_page_name = (gtk_stack_get_visible_child_name(self->stack) != nullptr) ? gtk_stack_get_visible_child_name(self->stack) : ""; // removing all plugins for (auto* child = gtk_widget_get_first_child(GTK_WIDGET(self->stack)); child != nullptr;) { auto* next_child = gtk_widget_get_next_sibling(child); uint serial = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(child), "serial")); set_ignore_filter_idle_add(serial, true); gtk_stack_remove(self->stack, child); child = next_child; } // Adding to the stack the plugins in the list that are not there yet auto plugins_list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "plugins")); for (const auto& name : plugins_list) { auto path = self->data->schema_path + tags::plugin_name::get_base_name(name) + "/" + util::to_string(tags::plugin_name::get_id(name)) + "/"; path.erase(std::remove(path.begin(), path.end(), '_'), path.end()); if (name.starts_with(tags::plugin_name::autogain)) { auto plugin_ptr = effects_base->get_plugin_instance(name); auto* box = ui::autogain_box::create(); ui::autogain_box::setup(box, plugin_ptr, path); gtk_stack_add_named(self->stack, GTK_WIDGET(box), name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::bass_enhancer)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::bass_enhancer_box::create(); ui::bass_enhancer_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::bass_loudness)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::bass_loudness_box::create(); ui::bass_loudness_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::compressor)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::compressor_box::create(); ui::compressor_box::setup(plugin_box, plugin_ptr, path, self->data->application->pm); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (name.starts_with(tags::plugin_name::convolver)) { auto plugin_ptr = effects_base->get_plugin_instance(name); auto* box = ui::convolver_box::create(); ui::convolver_box::setup(box, plugin_ptr, path, self->data->application); gtk_stack_add_named(self->stack, GTK_WIDGET(box), name.c_str()); } else if (name.starts_with(tags::plugin_name::crossfeed)) { auto plugin_ptr = effects_base->get_plugin_instance(name); auto* box = ui::crossfeed_box::create(); ui::crossfeed_box::setup(box, plugin_ptr, path); gtk_stack_add_named(self->stack, GTK_WIDGET(box), name.c_str()); } else if (name.starts_with(tags::plugin_name::crystalizer)) { auto plugin_ptr = effects_base->get_plugin_instance(name); auto* box = ui::crystalizer_box::create(); ui::crystalizer_box::setup(box, plugin_ptr, path); gtk_stack_add_named(self->stack, GTK_WIDGET(box), name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::deepfilternet)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::deepfilternet_box::create(); ui::deepfilternet_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::deesser)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::deesser_box::create(); ui::deesser_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::delay)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::delay_box::create(); ui::delay_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (name.starts_with(tags::plugin_name::echo_canceller)) { auto plugin_ptr = effects_base->get_plugin_instance(name); auto* box = ui::echo_canceller_box::create(); ui::echo_canceller_box::setup(box, plugin_ptr, path); gtk_stack_add_named(self->stack, GTK_WIDGET(box), name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::exciter)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::exciter_box::create(); ui::exciter_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::expander)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::expander_box::create(); ui::expander_box::setup(plugin_box, plugin_ptr, path, self->data->application->pm); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::equalizer)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::equalizer_box::create(); ui::equalizer_box::setup(plugin_box, plugin_ptr, path, self->data->application); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::filter)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::filter_box::create(); ui::filter_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::gate)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::gate_box::create(); ui::gate_box::setup(plugin_box, plugin_ptr, path, self->data->application->pm); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::level_meter)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::level_meter_box::create(); ui::level_meter_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::limiter)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::limiter_box::create(); ui::limiter_box::setup(plugin_box, plugin_ptr, path, self->data->application->pm); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::loudness)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::loudness_box::create(); ui::loudness_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::maximizer)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::maximizer_box::create(); ui::maximizer_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::multiband_compressor)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::multiband_compressor_box::create(); ui::multiband_compressor_box::setup(plugin_box, plugin_ptr, path, self->data->application->pm); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::multiband_gate)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::multiband_gate_box::create(); ui::multiband_gate_box::setup(plugin_box, plugin_ptr, path, self->data->application->pm); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (name.starts_with(tags::plugin_name::pitch)) { auto plugin_ptr = effects_base->get_plugin_instance(name); auto* box = ui::pitch_box::create(); ui::pitch_box::setup(box, plugin_ptr, path); gtk_stack_add_named(self->stack, GTK_WIDGET(box), name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::reverb)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::reverb_box::create(); ui::reverb_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::rnnoise)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::rnnoise_box::create(); ui::rnnoise_box::setup(plugin_box, plugin_ptr, path, self->data->application); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::speex)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::speex_box::create(); ui::speex_box::setup(plugin_box, plugin_ptr, path, self->data->application); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } else if (GtkWidget* box = nullptr; name.starts_with(tags::plugin_name::stereo_tools)) { auto plugin_ptr = effects_base->get_plugin_instance(name); if (plugin_ptr->package_installed) { auto* plugin_box = ui::stereo_tools_box::create(); ui::stereo_tools_box::setup(plugin_box, plugin_ptr, path); box = GTK_WIDGET(plugin_box); } else { box = ui::missing_plugin_box(plugin_ptr->name, plugin_ptr->package); } gtk_stack_add_named(self->stack, box, name.c_str()); } } if (plugins_list.empty()) { gtk_widget_set_visible(GTK_WIDGET(self->overlay_no_plugins), 1); gtk_widget_set_visible(GTK_WIDGET(self->startpoint_box), 0); gtk_widget_set_visible(GTK_WIDGET(self->endpoint_box), 0); } else { gtk_widget_set_visible(GTK_WIDGET(self->overlay_no_plugins), 0); gtk_widget_set_visible(GTK_WIDGET(self->startpoint_box), 1); gtk_widget_set_visible(GTK_WIDGET(self->endpoint_box), 1); if (std::ranges::find(plugins_list, visible_page_name) != plugins_list.end()) { gtk_stack_set_visible_child_name(self->stack, visible_page_name.c_str()); } } } void show_adjacent_plugin(PluginsBox* self, const int& increment) { const auto plugins_list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "plugins")); if (plugins_list.empty()) { return; } const std::string visible_page_name = (gtk_stack_get_visible_child_name(self->stack) != nullptr) ? gtk_stack_get_visible_child_name(self->stack) : ""; if (visible_page_name.empty()) { return; } auto it = std::ranges::find(plugins_list, visible_page_name); if (it == plugins_list.end()) { return; } if (auto adj_it = it + increment; adj_it >= plugins_list.begin() && adj_it < plugins_list.end()) { gtk_stack_set_visible_child_name(self->stack, (*adj_it).c_str()); } } void on_prev_plugin(PluginsBox* self, GtkButton* button) { show_adjacent_plugin(self, -1); } void on_next_plugin(PluginsBox* self, GtkButton* button) { show_adjacent_plugin(self, 1); } void setup_listview(PluginsBox* self) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect( factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PluginsBox* self) { auto builder = gtk_builder_new_from_resource(tags::resources::plugin_row_ui); auto* top_box = gtk_builder_get_object(builder, "top_box"); auto* plugin_enabled_icon = gtk_builder_get_object(builder, "plugin_enabled_icon"); auto* plugin_bypassed_icon = gtk_builder_get_object(builder, "plugin_bypassed_icon"); auto* remove = gtk_builder_get_object(builder, "remove"); auto* enable = gtk_builder_get_object(builder, "enable"); auto* drag_handle = gtk_builder_get_object(builder, "drag_handle"); g_object_set_data(G_OBJECT(item), "top_box", top_box); g_object_set_data(G_OBJECT(item), "plugin_enabled_icon", plugin_enabled_icon); g_object_set_data(G_OBJECT(item), "plugin_bypassed_icon", plugin_bypassed_icon); g_object_set_data(G_OBJECT(item), "name", gtk_builder_get_object(builder, "name")); g_object_set_data(G_OBJECT(item), "remove", remove); g_object_set_data(G_OBJECT(item), "enable", enable); g_object_set_data(G_OBJECT(item), "drag_handle", drag_handle); gtk_list_item_set_child(item, GTK_WIDGET(top_box)); g_object_unref(builder); // showing/hiding icons based on wether the mouse is over the plugin row auto* controller = gtk_event_controller_motion_new(); g_object_set_data(G_OBJECT(controller), "remove", remove); g_object_set_data(G_OBJECT(controller), "enable", enable); g_object_set_data(G_OBJECT(controller), "drag_handle", drag_handle); g_signal_connect(controller, "enter", G_CALLBACK(+[](GtkEventControllerMotion* controller, gdouble x, gdouble y, PluginsBox* self) { gtk_widget_set_opacity(GTK_WIDGET(g_object_get_data(G_OBJECT(controller), "remove")), 1.0); gtk_widget_set_opacity(GTK_WIDGET(g_object_get_data(G_OBJECT(controller), "enable")), 1.0); gtk_widget_set_opacity(GTK_WIDGET(g_object_get_data(G_OBJECT(controller), "drag_handle")), 1.0); }), self); g_signal_connect(controller, "leave", G_CALLBACK(+[](GtkEventControllerMotion* controller, PluginsBox* self) { gtk_widget_set_opacity(GTK_WIDGET(g_object_get_data(G_OBJECT(controller), "remove")), 0.0); gtk_widget_set_opacity(GTK_WIDGET(g_object_get_data(G_OBJECT(controller), "enable")), 0.0); gtk_widget_set_opacity(GTK_WIDGET(g_object_get_data(G_OBJECT(controller), "drag_handle")), 0.0); }), self); gtk_widget_add_controller(GTK_WIDGET(top_box), controller); // Configuring row drag and drop auto* drag_source = gtk_drag_source_new(); gtk_drag_source_set_actions(drag_source, GDK_ACTION_MOVE); g_object_set_data(G_OBJECT(drag_source), "top_box", top_box); g_signal_connect( drag_source, "prepare", G_CALLBACK(+[](GtkDragSource* source, double x, double y, PluginsBox* self) { auto* top_box = static_cast(g_object_get_data(G_OBJECT(source), "top_box")); auto* paintable = gtk_widget_paintable_new(GTK_WIDGET(top_box)); gtk_drag_source_set_icon(source, paintable, 0, 0); if (auto* plugin_name = static_cast(g_object_get_data(G_OBJECT(top_box), "page-name")); plugin_name != nullptr) { return gdk_content_provider_new_typed(G_TYPE_STRING, plugin_name); } return gdk_content_provider_new_typed(G_TYPE_STRING, ""); }), self); auto* drop_target = gtk_drop_target_new(G_TYPE_STRING, GDK_ACTION_MOVE); g_object_set_data(G_OBJECT(drop_target), "top_box", top_box); g_signal_connect( drop_target, "drop", G_CALLBACK(+[](GtkDropTarget* target, const GValue* value, double x, double y, PluginsBox* self) { if (!G_VALUE_HOLDS(value, G_TYPE_STRING)) { return false; } auto* top_box = static_cast(g_object_get_data(G_OBJECT(target), "top_box")); if (auto* dst = static_cast(g_object_get_data(G_OBJECT(top_box), "page-name")); dst != nullptr) { auto* src = g_value_get_string(value); if (g_strcmp0(src, dst) != 0) { auto list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "plugins")); auto iter_src = std::ranges::find(list, src); auto iter_dst = std::ranges::find(list, dst); auto insert_after = iter_src - list.begin() < iter_dst - list.begin(); list.erase(iter_src); iter_dst = std::ranges::find(list, dst); list.insert(((insert_after) ? (iter_dst + 1) : iter_dst), src); g_settings_set_strv(self->settings, "plugins", util::make_gchar_pointer_vector(list).data()); return true; } return false; } return false; }), self); gtk_widget_add_controller(GTK_WIDGET(drag_handle), GTK_EVENT_CONTROLLER(drag_source)); gtk_widget_add_controller(GTK_WIDGET(top_box), GTK_EVENT_CONTROLLER(drop_target)); g_signal_connect(remove, "clicked", G_CALLBACK(+[](GtkButton* btn, PluginsBox* self) { if (auto* name = static_cast(g_object_get_data(G_OBJECT(btn), "page-name")); name != nullptr) { auto list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "plugins")); list.erase(std::remove_if(list.begin(), list.end(), [=](const auto& plugin_name) { return plugin_name == name; }), list.end()); g_settings_set_strv(self->settings, "plugins", util::make_gchar_pointer_vector(list).data()); } }), self); }), self); g_signal_connect( factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PluginsBox* self) { auto* top_box = static_cast(g_object_get_data(G_OBJECT(item), "top_box")); auto* label = static_cast(g_object_get_data(G_OBJECT(item), "name")); auto* remove = static_cast(g_object_get_data(G_OBJECT(item), "remove")); auto* enable = static_cast(g_object_get_data(G_OBJECT(item), "enable")); auto* child_item = gtk_list_item_get_item(item); auto page = GTK_STACK_PAGE(child_item); auto page_name = gtk_stack_page_get_name(page); const auto base_name = tags::plugin_name::get_base_name(page_name); g_object_set_data(G_OBJECT(top_box), "page-name", const_cast(page_name)); g_object_set_data(G_OBJECT(remove), "page-name", const_cast(page_name)); gtk_label_set_text(label, self->data->translated[base_name].c_str()); gtk_accessible_update_property(GTK_ACCESSIBLE(remove), GTK_ACCESSIBLE_PROPERTY_LABEL, (_("Remove") + " "s + self->data->translated[base_name]).c_str(), -1); // binding the enable button to the bypass key auto gname = base_name; gname.erase(std::remove(gname.begin(), gname.end(), '_'), gname.end()); auto schema_path = self->data->schema_path + gname + "/" + util::to_string(tags::plugin_name::get_id(page_name)) + "/"; auto schema_id = tags::app::id + "."s + gname; auto* settings = g_settings_new_with_path(schema_id.c_str(), schema_path.c_str()); gsettings_bind_widget(settings, "bypass", enable, G_SETTINGS_BIND_INVERT_BOOLEAN); g_object_unref(settings); }), self); gtk_list_view_set_factory(self->listview, factory); g_object_unref(factory); } void setup(PluginsBox* self, app::Application* application, PipelineType pipeline_type) { self->data->application = application; self->data->pipeline_type = pipeline_type; switch (pipeline_type) { case PipelineType::input: { self->settings = g_settings_new(tags::schema::id_input); self->data->schema_path = tags::app::path_stream_inputs; add_plugins_to_stack(self); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::plugins", G_CALLBACK(+[](GSettings* settings, char* key, PluginsBox* self) { add_plugins_to_stack(self); }), self)); gtk_image_set_from_icon_name(self->startpoint_icon, "audio-input-microphone-symbolic"); gtk_image_set_from_icon_name(self->endpoint_icon, "ee-applications-multimedia-symbolic"); gtk_label_set_text(self->startpoint_name, _("Input Device")); gtk_label_set_text(self->endpoint_name, _("Recorders")); break; } case PipelineType::output: { self->settings = g_settings_new(tags::schema::id_output); self->data->schema_path = tags::app::path_stream_outputs; add_plugins_to_stack(self); self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::plugins", G_CALLBACK(+[](GSettings* settings, char* key, PluginsBox* self) { add_plugins_to_stack(self); }), self)); gtk_image_set_from_icon_name(self->startpoint_icon, "ee-applications-multimedia-symbolic"); gtk_image_set_from_icon_name(self->endpoint_icon, "audio-speakers-symbolic"); gtk_label_set_text(self->startpoint_name, _("Players")); gtk_label_set_text(self->endpoint_name, _("Output Device")); break; } } gsettings_bind_widget(self->settings, "show-plugins-list", self->toggle_plugins_list); ui::plugins_menu::setup(self->plugins_menu, application, pipeline_type); setup_listview(self); } void realize(GtkWidget* widget) { auto* self = EE_PLUGINS_BOX(widget); self->data->schedule_signal_idle = true; GTK_WIDGET_CLASS(plugins_box_parent_class)->realize(widget); } void unroot(GtkWidget* widget) { auto* self = EE_PLUGINS_BOX(widget); self->data->schedule_signal_idle = false; GTK_WIDGET_CLASS(plugins_box_parent_class)->unroot(widget); } void dispose(GObject* object) { auto* self = EE_PLUGINS_BOX(object); // Setting post_messages = false for all plugins now that the window is not visible. EffectsBase* effects_base = nullptr; if (self->data->pipeline_type == PipelineType::input) { effects_base = self->data->application->sie; } else if (self->data->pipeline_type == PipelineType::output) { effects_base = self->data->application->soe; } for (auto& plugin : effects_base->get_plugins_map() | std::views::values) { plugin->set_post_messages(false); } // Removing gsettings connections for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); // Trying to avoid that the functions scheduled by the plugins are executed when the widgets have already been // disposed for (auto* child = gtk_widget_get_first_child(GTK_WIDGET(self->stack)); child != nullptr;) { auto* next_child = gtk_widget_get_next_sibling(child); uint serial = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(child), "serial")); set_ignore_filter_idle_add(serial, true); child = next_child; } util::debug("disposed"); G_OBJECT_CLASS(plugins_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_PLUGINS_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(plugins_box_parent_class)->finalize(object); } void plugins_box_class_init(PluginsBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; widget_class->realize = realize; widget_class->unroot = unroot; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::plugins_box_ui); gtk_widget_class_bind_template_child(widget_class, PluginsBox, toggle_plugins_list); gtk_widget_class_bind_template_child(widget_class, PluginsBox, menubutton_plugins); gtk_widget_class_bind_template_child(widget_class, PluginsBox, plugin_overlay); gtk_widget_class_bind_template_child(widget_class, PluginsBox, overlay_no_plugins); gtk_widget_class_bind_template_child(widget_class, PluginsBox, listview); gtk_widget_class_bind_template_child(widget_class, PluginsBox, stack); gtk_widget_class_bind_template_child(widget_class, PluginsBox, startpoint_box); gtk_widget_class_bind_template_child(widget_class, PluginsBox, startpoint_icon); gtk_widget_class_bind_template_child(widget_class, PluginsBox, startpoint_name); gtk_widget_class_bind_template_child(widget_class, PluginsBox, endpoint_box); gtk_widget_class_bind_template_child(widget_class, PluginsBox, endpoint_icon); gtk_widget_class_bind_template_child(widget_class, PluginsBox, endpoint_name); gtk_widget_class_bind_template_callback(widget_class, on_prev_plugin); gtk_widget_class_bind_template_callback(widget_class, on_next_plugin); } void plugins_box_init(PluginsBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->data->schedule_signal_idle = false; self->plugins_menu = ui::plugins_menu::create(); gtk_menu_button_set_popover(self->menubutton_plugins, GTK_WIDGET(self->plugins_menu)); gtk_overlay_set_clip_overlay(self->plugin_overlay, GTK_WIDGET(self->overlay_no_plugins), 1); } auto create() -> PluginsBox* { return static_cast(g_object_new(EE_TYPE_PLUGINS_BOX, nullptr)); } } // namespace ui::plugins_box easyeffects-7.1.7/src/plugins_menu.cpp000066400000000000000000000256341463533416400200520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "plugins_menu.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "pipeline_type.hpp" #include "tags_app.hpp" #include "tags_plugin_name.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "util.hpp" namespace ui::plugins_menu { using namespace std::string_literals; struct Data { public: Data() { this->translated = tags::plugin_name::get_translated(); } ~Data() { util::debug("data struct destroyed"); } bool schedule_signal_idle; app::Application* application; std::map translated; std::vector connections; std::vector gconnections; }; struct _PluginsMenu { GtkPopover parent_instance; GtkScrolledWindow* scrolled_window; GtkListView* listview; GtkStringList* string_list; GSettings *settings, *app_settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PluginsMenu, plugins_menu, GTK_TYPE_POPOVER) void add_new_plugin_to_pipeline(GtkButton* btn, PluginsMenu* self) { auto* string_object = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(btn), "string-object")); if (string_object == nullptr) { return; } auto* translated_name = gtk_string_object_get_string(string_object); std::string base_name; for (const auto& [key, value] : self->data->translated) { if (translated_name == value) { base_name = key; break; } } if (base_name.empty()) { return; } auto list = util::gchar_array_to_vector(g_settings_get_strv(self->settings, "plugins")); std::vector index_list; for (const auto& name : list) { if (tags::plugin_name::get_base_name(name) == base_name) { index_list.emplace_back(tags::plugin_name::get_id(name)); } } auto new_id = (index_list.empty()) ? 0 : std::ranges::max(index_list) + 1; auto new_name = base_name + "#" + util::to_string(new_id); if (list.empty()) { list.push_back(new_name); g_settings_set_strv(self->settings, "plugins", util::make_gchar_pointer_vector(list).data()); return; } // If the list is not empty and the user is careful protecting // their device with a plugin of type limiter at the last position // of the filter chain, we follow this behaviour trying to insert // the new plugin at the second to last position. // To do so, we first check if the new plugin is a limiter or the // level meter and place it directly at the last position (those // plugins do not need to be placed elsewhere and in most of the // cases the user wants them at the bottom of the pipeline). static constexpr auto limiters_and_meters = std::to_array({tags::plugin_name::limiter, tags::plugin_name::maximizer, tags::plugin_name::level_meter}); if (std::any_of(limiters_and_meters.begin(), limiters_and_meters.end(), [&](const auto& str) { return new_name.starts_with(str); })) { list.push_back(new_name); g_settings_set_strv(self->settings, "plugins", util::make_gchar_pointer_vector(list).data()); return; } // If the new plugin is not one of the above mentioned, we have to // check the last plugin of the pipeline handling various cases. static constexpr auto limiters = std::to_array({tags::plugin_name::limiter, tags::plugin_name::maximizer}); if (std::any_of(limiters.begin(), limiters.end(), [&](const auto& str) { return list.back().starts_with(str); })) { // If the last plugin is a limiter, we place the new plugin at // the second to last position. list.insert(list.cend() - 1U, new_name); } else if (list.back().starts_with(tags::plugin_name::level_meter)) { // If the last plugin is not a limiter, but a level meter, we still // try to place the new plugin before a limiter, if this limiter is in // the second to last position. // The reason is that we still want to preserve the "limiter protection" // in case the last plugins are a limiter followed by a meter. // Calculate the position of the second to last element. const auto second_to_last_pos = std::max(static_cast(list.size()) - 2, 0); // Check if the plugin at the second to last position is a limiter. if (std::any_of(limiters.begin(), limiters.end(), [&](const auto& str) { return list.at(second_to_last_pos).starts_with(str); })) { // It's a limiter, so place the new plugin before it. const auto second_to_last_iter = std::max(list.cend() - 2U, list.cbegin()); list.insert(second_to_last_iter, new_name); } else { // It's not a limiter, so place the new plugin after the level meter. list.push_back(new_name); } } else { // If the last plugin is neither a limiter nor a meter, just place // the new plugin at the last position. list.push_back(new_name); } g_settings_set_strv(self->settings, "plugins", util::make_gchar_pointer_vector(list).data()); } void setup_listview(PluginsMenu* self) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect(factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PluginsMenu* self) { auto* box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); auto* label = gtk_label_new(nullptr); auto* button = gtk_button_new_from_icon_name("list-add-symbolic"); gtk_widget_set_halign(GTK_WIDGET(label), GTK_ALIGN_START); gtk_widget_set_hexpand(GTK_WIDGET(label), 1); gtk_box_append(GTK_BOX(box), GTK_WIDGET(label)); gtk_box_append(GTK_BOX(box), GTK_WIDGET(button)); gtk_widget_add_css_class(GTK_WIDGET(button), "circular"); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(box)); g_object_set_data(G_OBJECT(item), "name", label); g_object_set_data(G_OBJECT(item), "add", button); g_signal_connect(button, "clicked", G_CALLBACK(add_new_plugin_to_pipeline), self); }), self); g_signal_connect(factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PluginsMenu* self) { auto* label = static_cast(g_object_get_data(G_OBJECT(item), "name")); auto* btn_add = static_cast(g_object_get_data(G_OBJECT(item), "add")); auto* child_item = gtk_list_item_get_item(item); auto* string_object = GTK_STRING_OBJECT(child_item); g_object_set_data(G_OBJECT(btn_add), "string-object", string_object); auto* translated_name = gtk_string_object_get_string(GTK_STRING_OBJECT(child_item)); gtk_label_set_text(label, translated_name); gtk_accessible_update_property(GTK_ACCESSIBLE(btn_add), GTK_ACCESSIBLE_PROPERTY_LABEL, (_("Add") + " "s + translated_name).c_str(), -1); }), self); gtk_list_view_set_factory(self->listview, factory); g_object_unref(factory); for (const auto& translated_name : std::views::values(self->data->translated)) { gtk_string_list_append(self->string_list, translated_name.c_str()); } } void setup(PluginsMenu* self, app::Application* application, PipelineType pipeline_type) { self->data->application = application; switch (pipeline_type) { case PipelineType::input: { self->settings = g_settings_new(tags::schema::id_input); break; } case PipelineType::output: { self->settings = g_settings_new(tags::schema::id_output); break; } } setup_listview(self); } void show(GtkWidget* widget) { auto* self = EE_PLUGINS_MENU(widget); auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto active_window_height = gtk_widget_get_height(GTK_WIDGET(active_window)); const int menu_height = static_cast(0.5F * static_cast(active_window_height)); gtk_scrolled_window_set_max_content_height(self->scrolled_window, menu_height); GTK_WIDGET_CLASS(plugins_menu_parent_class)->show(widget); } void dispose(GObject* object) { auto* self = EE_PLUGINS_MENU(object); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); g_object_unref(self->app_settings); util::debug("disposed"); G_OBJECT_CLASS(plugins_menu_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_PLUGINS_MENU(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(plugins_menu_parent_class)->finalize(object); } void plugins_menu_class_init(PluginsMenuClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; widget_class->show = show; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::plugins_menu_ui); gtk_widget_class_bind_template_child(widget_class, PluginsMenu, string_list); gtk_widget_class_bind_template_child(widget_class, PluginsMenu, scrolled_window); gtk_widget_class_bind_template_child(widget_class, PluginsMenu, listview); } void plugins_menu_init(PluginsMenu* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->app_settings = g_settings_new(tags::app::id); g_settings_bind(self->app_settings, "autohide-popovers", self, "autohide", G_SETTINGS_BIND_DEFAULT); } auto create() -> PluginsMenu* { return static_cast(g_object_new(EE_TYPE_PLUGINS_MENU, nullptr)); } } // namespace ui::plugins_menu easyeffects-7.1.7/src/preferences_general.cpp000066400000000000000000000144731463533416400213420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "preferences_general.hpp" #include #include #include #include #include #include #include #include #include "tags_app.hpp" #include "tags_resources.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::preferences::general { using namespace std::string_literals; struct _PreferencesGeneral { AdwPreferencesPage parent_instance; GtkSwitch *enable_autostart, *process_all_inputs, *process_all_outputs, *theme_switch, *shutdown_on_window_close, *use_cubic_volumes, *inactivity_timer_enable, *autohide_popovers, *exclude_monitor_streams, *show_native_plugin_ui; GtkSpinButton *inactivity_timeout, *meters_update_interval, *lv2ui_update_frequency; GSettings* settings; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PreferencesGeneral, preferences_general, ADW_TYPE_PREFERENCES_PAGE) #ifndef ENABLE_LIBPORTAL auto on_enable_autostart(GtkSwitch* obj, gboolean state, gpointer user_data) -> gboolean { std::filesystem::path autostart_dir{g_get_user_config_dir() + "/autostart"s}; if (!std::filesystem::is_directory(autostart_dir)) { std::filesystem::create_directories(autostart_dir); } std::filesystem::path autostart_file{g_get_user_config_dir() + "/autostart/easyeffects-service.desktop"s}; if (state != 0) { if (!std::filesystem::exists(autostart_file)) { std::ofstream ofs{autostart_file}; ofs << "[Desktop Entry]\n"; ofs << "Name=Easy Effects\n"; ofs << "Comment=Easy Effects Service\n"; ofs << "Exec=easyeffects --gapplication-service\n"; ofs << "Icon=com.github.wwmm.easyeffects\n"; ofs << "StartupNotify=false\n"; ofs << "Terminal=false\n"; ofs << "Type=Application\n"; ofs.close(); util::debug("autostart file created"); } } else { if (std::filesystem::exists(autostart_file)) { std::filesystem::remove(autostart_file); util::debug("autostart file removed"); } } return 0; } #endif void dispose(GObject* object) { auto* self = EE_PREFERENCES_GENERAL(object); g_object_unref(self->settings); #ifdef ENABLE_LIBPORTAL g_settings_unbind(self->enable_autostart, "active"); g_settings_unbind(self->shutdown_on_window_close, "active"); #endif util::debug("disposed"); G_OBJECT_CLASS(preferences_general_parent_class)->dispose(object); } void preferences_general_class_init(PreferencesGeneralClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::preferences_general_ui); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, enable_autostart); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, process_all_inputs); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, process_all_outputs); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, theme_switch); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, autohide_popovers); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, shutdown_on_window_close); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, use_cubic_volumes); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, exclude_monitor_streams); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, inactivity_timer_enable); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, inactivity_timeout); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, meters_update_interval); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, lv2ui_update_frequency); gtk_widget_class_bind_template_child(widget_class, PreferencesGeneral, show_native_plugin_ui); } void preferences_general_init(PreferencesGeneral* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->settings = g_settings_new(tags::app::id); prepare_spinbuttons<"s">(self->inactivity_timeout); prepare_spinbuttons<"ms">(self->meters_update_interval); prepare_spinbuttons<"Hz">(self->lv2ui_update_frequency); // initializing some widgets gsettings_bind_widgets<"process-all-inputs", "process-all-outputs", "use-dark-theme", "shutdown-on-window-close", "use-cubic-volumes", "autohide-popovers", "exclude-monitor-streams", "inactivity-timer-enable", "inactivity-timeout", "meters-update-interval", "lv2ui-update-frequency", "show-native-plugin-ui">( self->settings, self->process_all_inputs, self->process_all_outputs, self->theme_switch, self->shutdown_on_window_close, self->use_cubic_volumes, self->autohide_popovers, self->exclude_monitor_streams, self->inactivity_timer_enable, self->inactivity_timeout, self->meters_update_interval, self->lv2ui_update_frequency, self->show_native_plugin_ui); #ifdef ENABLE_LIBPORTAL libportal::init(self->enable_autostart, self->shutdown_on_window_close); #else gtk_switch_set_active(self->enable_autostart, static_cast(std::filesystem::is_regular_file( g_get_user_config_dir() + "/autostart/easyeffects-service.desktop"s))); g_signal_connect(self->enable_autostart, "state-set", G_CALLBACK(on_enable_autostart), nullptr); #endif } auto create() -> PreferencesGeneral* { return static_cast(g_object_new(EE_TYPE_PREFERENCES_GENERAL, nullptr)); } } // namespace ui::preferences::general easyeffects-7.1.7/src/preferences_spectrum.cpp000066400000000000000000000206641463533416400215660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "preferences_spectrum.hpp" #include #include #include #include #include #include #include #include #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::preferences::spectrum { struct Data { public: ~Data() { util::debug("data struct destroyed"); } std::vector gconnections; }; struct _PreferencesSpectrum { AdwPreferencesPage parent_instance; GtkSwitch *show, *fill, *show_bar_border, *rounded_corners, *dynamic_y_scale; GtkColorDialogButton *color_button, *axis_color_button; GtkDropDown* type; GtkSpinButton *n_points, *height, *line_width, *minimum_frequency, *maximum_frequency; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PreferencesSpectrum, preferences_spectrum, ADW_TYPE_PREFERENCES_PAGE) void on_spectrum_color_set(GtkColorDialogButton* button, GParamSpec* pspec, PreferencesSpectrum* self) { auto* rgba = gtk_color_dialog_button_get_rgba(button); g_settings_set(self->settings, "color", "(dddd)", rgba->red, rgba->green, rgba->blue, rgba->alpha); } void on_spectrum_axis_color_set(GtkColorDialogButton* button, GParamSpec* pspec, PreferencesSpectrum* self) { auto* rgba = gtk_color_dialog_button_get_rgba(button); g_settings_set(self->settings, "color-axis-labels", "(dddd)", rgba->red, rgba->green, rgba->blue, rgba->alpha); } void dispose(GObject* object) { auto* self = EE_PREFERENCES_SPECTRUM(object); for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(preferences_spectrum_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_PREFERENCES_SPECTRUM(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(preferences_spectrum_parent_class)->finalize(object); } void preferences_spectrum_class_init(PreferencesSpectrumClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::preferences_spectrum_ui); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, show); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, type); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, fill); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, n_points); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, line_width); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, height); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, show_bar_border); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, rounded_corners); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, dynamic_y_scale); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, color_button); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, axis_color_button); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, minimum_frequency); gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, maximum_frequency); gtk_widget_class_bind_template_callback(widget_class, on_spectrum_color_set); gtk_widget_class_bind_template_callback(widget_class, on_spectrum_axis_color_set); } void preferences_spectrum_init(PreferencesSpectrum* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->settings = g_settings_new(tags::schema::spectrum::id); // initializing some widgets auto color = util::gsettings_get_color(self->settings, "color"); gtk_color_dialog_button_set_rgba(self->color_button, &color); color = util::gsettings_get_color(self->settings, "color-axis-labels"); gtk_color_dialog_button_set_rgba(self->axis_color_button, &color); // connecting some widgets signals prepare_spinbuttons<"px">(self->height, self->line_width); g_signal_connect(self->minimum_frequency, "output", G_CALLBACK(+[](GtkSpinButton* button, gpointer user_data) { return parse_spinbutton_output(button, "Hz"); }), nullptr); g_signal_connect(self->minimum_frequency, "input", G_CALLBACK(+[](GtkSpinButton* button, gdouble* new_value, PreferencesSpectrum* self) { const auto parse_result = parse_spinbutton_input(button, new_value); if (parse_result != GTK_INPUT_ERROR) { const auto max_freq = static_cast(g_settings_get_int(self->settings, "maximum-frequency")); if (const auto valid_min_freq = max_freq - 100.0; *new_value > valid_min_freq) { *new_value = valid_min_freq; } } return parse_result; }), self); g_signal_connect(self->maximum_frequency, "output", G_CALLBACK(+[](GtkSpinButton* button, gpointer user_data) { return parse_spinbutton_output(button, "Hz"); }), nullptr); g_signal_connect(self->maximum_frequency, "input", G_CALLBACK(+[](GtkSpinButton* button, gdouble* new_value, PreferencesSpectrum* self) { const auto parse_result = parse_spinbutton_input(button, new_value); if (parse_result != GTK_INPUT_ERROR) { const auto min_freq = static_cast(g_settings_get_int(self->settings, "minimum-frequency")); if (const auto valid_max_freq = min_freq + 100.0; *new_value < valid_max_freq) { *new_value = valid_max_freq; } } return parse_result; }), self); // spectrum section gsettings bindings gsettings_bind_widgets<"show", "fill", "rounded-corners", "show-bar-border", "dynamic-y-scale", "n-points", "height", "line-width", "minimum-frequency", "maximum-frequency">( self->settings, self->show, self->fill, self->rounded_corners, self->show_bar_border, self->dynamic_y_scale, self->n_points, self->height, self->line_width, self->minimum_frequency, self->maximum_frequency); ui::gsettings_bind_enum_to_combo_widget(self->settings, "type", self->type); // Spectrum gsettings signals connections self->data->gconnections.push_back(g_signal_connect( self->settings, "changed::color", G_CALLBACK(+[](GSettings* settings, char* key, PreferencesSpectrum* self) { auto color = util::gsettings_get_color(settings, key); gtk_color_dialog_button_set_rgba(self->color_button, &color); }), self)); self->data->gconnections.push_back( g_signal_connect(self->settings, "changed::color-axis-labels", G_CALLBACK(+[](GSettings* settings, char* key, PreferencesSpectrum* self) { auto color = util::gsettings_get_color(settings, key); gtk_color_dialog_button_set_rgba(self->axis_color_button, &color); }), self)); } auto create() -> PreferencesSpectrum* { return static_cast(g_object_new(EE_TYPE_PREFERENCES_SPECTRUM, nullptr)); } } // namespace ui::preferences::spectrum easyeffects-7.1.7/src/preferences_window.cpp000066400000000000000000000054621463533416400212320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "preferences_window.hpp" #include #include #include #include #include #include "config.h" #include "preferences_general.hpp" #include "preferences_spectrum.hpp" #include "tags_app.hpp" #include "tags_resources.hpp" #include "util.hpp" namespace ui::preferences::window { struct _PreferencesWindow { AdwPreferencesWindow parent_instance; ui::preferences::general::PreferencesGeneral* page_general; ui::preferences::spectrum::PreferencesSpectrum* page_spectrum; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PreferencesWindow, preferences_window, ADW_TYPE_PREFERENCES_WINDOW) void dispose(GObject* object) { auto* self = EE_PREFERENCES_WINDOW(object); gtk_window_set_icon_name(GTK_WINDOW(self), IS_DEVEL_BUILD ? std::string(tags::app::id).append(".Devel").c_str() : tags::app::id); adw_preferences_window_remove(ADW_PREFERENCES_WINDOW(self), ADW_PREFERENCES_PAGE(self->page_general)); adw_preferences_window_remove(ADW_PREFERENCES_WINDOW(self), ADW_PREFERENCES_PAGE(self->page_spectrum)); util::debug("disposed"); G_OBJECT_CLASS(preferences_window_parent_class)->dispose(object); } void preferences_window_class_init(PreferencesWindowClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::preferences_window_ui); } void preferences_window_init(PreferencesWindow* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->page_general = ui::preferences::general::create(); self->page_spectrum = ui::preferences::spectrum::create(); adw_preferences_window_add(ADW_PREFERENCES_WINDOW(self), ADW_PREFERENCES_PAGE(self->page_general)); adw_preferences_window_add(ADW_PREFERENCES_WINDOW(self), ADW_PREFERENCES_PAGE(self->page_spectrum)); } auto create() -> PreferencesWindow* { return static_cast(g_object_new(EE_TYPE_PREFERENCES_WINDOW, nullptr)); } } // namespace ui::preferences::window easyeffects-7.1.7/src/presets_autoloading_holder.cpp000066400000000000000000000042211463533416400227420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "presets_autoloading_holder.hpp" #include #include #include #include "util.hpp" namespace ui::holders { // NOLINTNEXTLINE G_DEFINE_TYPE(PresetsAutoloadingHolder, presets_autoloading_holder, G_TYPE_OBJECT); void presets_autoloading_holder_finalize(GObject* object) { auto* self = EE_PRESETS_AUTOLOADING_HOLDER(object); util::debug(self->data->device + ", " + self->data->preset_name + " finalized"); delete self->data; G_OBJECT_CLASS(presets_autoloading_holder_parent_class)->finalize(object); } void presets_autoloading_holder_class_init(PresetsAutoloadingHolderClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); object_class->finalize = presets_autoloading_holder_finalize; } void presets_autoloading_holder_init(PresetsAutoloadingHolder* self) { self->data = new PresetsAutoLoadingData(); } auto create(const std::string& device, const std::string& device_description, const std::string& device_profile, const std::string& preset_name) -> PresetsAutoloadingHolder* { auto* holder = static_cast(g_object_new(EE_TYPE_PRESETS_AUTOLOADING_HOLDER, nullptr)); holder->data->device = device; holder->data->device_description = device_description; holder->data->device_profile = device_profile; holder->data->preset_name = preset_name; return holder; } } // namespace ui::holderseasyeffects-7.1.7/src/presets_manager.cpp000066400000000000000000001241731463533416400205220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "presets_manager.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "autogain_preset.hpp" #include "bass_enhancer_preset.hpp" #include "bass_loudness_preset.hpp" #include "compressor_preset.hpp" #include "convolver_preset.hpp" #include "crossfeed_preset.hpp" #include "crystalizer_preset.hpp" #include "deepfilternet_preset.hpp" #include "deesser_preset.hpp" #include "delay_preset.hpp" #include "echo_canceller_preset.hpp" #include "equalizer_preset.hpp" #include "exciter_preset.hpp" #include "expander_preset.hpp" #include "filter_preset.hpp" #include "gate_preset.hpp" #include "level_meter_preset.hpp" #include "limiter_preset.hpp" #include "loudness_preset.hpp" #include "maximizer_preset.hpp" #include "multiband_compressor_preset.hpp" #include "multiband_gate_preset.hpp" #include "pitch_preset.hpp" #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "reverb_preset.hpp" #include "rnnoise_preset.hpp" #include "speex_preset.hpp" #include "stereo_tools_preset.hpp" #include "tags_app.hpp" #include "tags_plugin_name.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "util.hpp" PresetsManager::PresetsManager() : user_config_dir(g_get_user_config_dir()), user_input_dir(user_config_dir + "/easyeffects/input"), user_output_dir(user_config_dir + "/easyeffects/output"), user_irs_dir(user_config_dir + "/easyeffects/irs"), user_rnnoise_dir(user_config_dir + "/easyeffects/rnnoise"), autoload_input_dir(user_config_dir + "/easyeffects/autoload/input"), autoload_output_dir(user_config_dir + "/easyeffects/autoload/output"), settings(g_settings_new(tags::app::id)), soe_settings(g_settings_new(tags::schema::id_output)), sie_settings(g_settings_new(tags::schema::id_input)) { // Initialize input and output directories for community presets. // Flatpak specific path (.flatpak-info always present for apps running in the flatpak sandbox). if (std::filesystem::is_regular_file(tags::resources::flatpak_info_file)) { system_data_dir_input.push_back("/app/extensions/Presets/input"); system_data_dir_output.push_back("/app/extensions/Presets/output"); system_data_dir_irs.push_back("/app/extensions/Presets/irs"); system_data_dir_rnnoise.push_back("/app/extensions/Presets/rnnoise"); } // Regular paths. for (const gchar* const* xdg_data_dirs = g_get_system_data_dirs(); *xdg_data_dirs != nullptr;) { std::string dir = *xdg_data_dirs++; dir += dir.ends_with("/") ? "" : "/"; system_data_dir_input.push_back(dir + "easyeffects/input"); system_data_dir_output.push_back(dir + "easyeffects/output"); system_data_dir_irs.push_back(dir + "easyeffects/irs"); system_data_dir_rnnoise.push_back(dir + "easyeffects/rnnoise"); } // create user presets directories create_user_directory(user_input_dir); create_user_directory(user_output_dir); create_user_directory(user_irs_dir); create_user_directory(user_rnnoise_dir); create_user_directory(autoload_input_dir); create_user_directory(autoload_output_dir); auto* gfile = g_file_new_for_path(user_output_dir.c_str()); user_output_monitor = g_file_monitor_directory(gfile, G_FILE_MONITOR_NONE, nullptr, nullptr); g_signal_connect(user_output_monitor, "changed", G_CALLBACK(+[](GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer user_data) { auto* self = static_cast(user_data); switch (event_type) { case G_FILE_MONITOR_EVENT_CREATED: { const auto preset_name = util::remove_filename_extension(g_file_get_basename(file)); self->user_output_preset_created.emit(preset_name); break; } case G_FILE_MONITOR_EVENT_DELETED: { const auto preset_name = util::remove_filename_extension(g_file_get_basename(file)); self->user_output_preset_removed.emit(preset_name); break; } default: break; } }), this); g_object_unref(gfile); gfile = g_file_new_for_path(user_input_dir.c_str()); user_input_monitor = g_file_monitor_directory(gfile, G_FILE_MONITOR_NONE, nullptr, nullptr); g_signal_connect(user_input_monitor, "changed", G_CALLBACK(+[](GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer user_data) { auto* self = static_cast(user_data); switch (event_type) { case G_FILE_MONITOR_EVENT_CREATED: { const auto preset_name = util::remove_filename_extension(g_file_get_basename(file)); self->user_input_preset_created.emit(preset_name); break; } case G_FILE_MONITOR_EVENT_DELETED: { const auto preset_name = util::remove_filename_extension(g_file_get_basename(file)); self->user_input_preset_removed.emit(preset_name); break; } default: break; } }), this); g_object_unref(gfile); gfile = g_file_new_for_path(autoload_input_dir.c_str()); autoload_input_monitor = g_file_monitor_directory(gfile, G_FILE_MONITOR_NONE, nullptr, nullptr); g_signal_connect(autoload_input_monitor, "changed", G_CALLBACK(+[](GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer user_data) { auto* self = static_cast(user_data); if (event_type == G_FILE_MONITOR_EVENT_CREATED || event_type == G_FILE_MONITOR_EVENT_DELETED) { const auto profiles = self->get_autoload_profiles(PresetType::input); self->autoload_input_profiles_changed.emit(profiles); } }), this); g_object_unref(gfile); gfile = g_file_new_for_path(autoload_output_dir.c_str()); autoload_output_monitor = g_file_monitor_directory(gfile, G_FILE_MONITOR_NONE, nullptr, nullptr); g_signal_connect(autoload_output_monitor, "changed", G_CALLBACK(+[](GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer user_data) { auto* self = static_cast(user_data); if (event_type == G_FILE_MONITOR_EVENT_CREATED || event_type == G_FILE_MONITOR_EVENT_DELETED) { const auto profiles = self->get_autoload_profiles(PresetType::output); self->autoload_output_profiles_changed.emit(profiles); } }), this); g_object_unref(gfile); } PresetsManager::~PresetsManager() { g_file_monitor_cancel(user_output_monitor); g_file_monitor_cancel(user_input_monitor); g_file_monitor_cancel(autoload_input_monitor); g_file_monitor_cancel(autoload_output_monitor); g_object_unref(user_output_monitor); g_object_unref(user_input_monitor); g_object_unref(autoload_input_monitor); g_object_unref(autoload_output_monitor); g_object_unref(settings); g_object_unref(sie_settings); g_object_unref(soe_settings); util::debug("destroyed"); } void PresetsManager::create_user_directory(const std::filesystem::path& path) { if (std::filesystem::is_directory(path)) { util::debug("user presets directory already exists: " + path.string()); return; } if (std::filesystem::create_directories(path)) { util::debug("user presets directory created: " + path.string()); return; } util::warning("failed to create user presets directory: " + path.string()); } auto PresetsManager::get_local_presets_name(const PresetType& preset_type) -> std::vector { const auto conf_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; auto it = std::filesystem::directory_iterator{conf_dir}; auto names = search_names(it); // Sort alphabetically not needed anymore because // the GtkSortListModel does it already. // std::sort(names.begin(), names.end()); // Removing duplicates not needed anymore because // we get the presets from a single folder. // names.erase(std::unique(names.begin(), names.end()), names.end()); return names; } auto PresetsManager::search_names(std::filesystem::directory_iterator& it) -> std::vector { std::vector names; try { while (it != std::filesystem::directory_iterator{}) { if (std::filesystem::is_regular_file(it->status()) && it->path().extension().c_str() == json_ext) { names.emplace_back(it->path().stem().c_str()); } ++it; } } catch (const std::exception& e) { util::warning(e.what()); } return names; } void PresetsManager::add(const PresetType& preset_type, const std::string& name) { // This method assumes the filename is valid. for (const auto& p : get_local_presets_name(preset_type)) { if (p == name) { return; } } save_preset_file(preset_type, name); } auto PresetsManager::get_all_community_presets_paths(const PresetType& preset_type) -> std::vector { std::vector cp_paths; const auto scan_level = 2U; const auto cp_dir_vect = (preset_type == PresetType::output) ? system_data_dir_output : system_data_dir_input; for (const auto& cp_dir : cp_dir_vect) { auto cp_fs_path = std::filesystem::path{cp_dir}; if (!std::filesystem::exists(cp_fs_path)) { continue; } // Scan community package directories for 2 levels (the folder itself and only its subfolders). auto it = std::filesystem::directory_iterator{cp_fs_path}; try { while (it != std::filesystem::directory_iterator{}) { if (auto package_path = it->path(); std::filesystem::is_directory(it->status())) { const auto package_path_name = package_path.string(); util::debug("scan directory for community presets: " + package_path_name); auto package_it = std::filesystem::directory_iterator{package_path}; /* When C++23 is available, the following line is enough: cp_paths.append_range( scan_community_package_recursive(package_it, scan_level, package_path_name)); */ const auto sub_cp_vect = scan_community_package_recursive(package_it, scan_level, package_path_name); cp_paths.insert(cp_paths.end(), sub_cp_vect.cbegin(), sub_cp_vect.cend()); } ++it; } } catch (const std::exception& e) { util::warning(e.what()); } } return cp_paths; } auto PresetsManager::scan_community_package_recursive(std::filesystem::directory_iterator& it, const uint& top_scan_level, const std::string& origin) -> std::vector { const auto scan_level = top_scan_level - 1U; std::vector cp_paths; try { while (it != std::filesystem::directory_iterator{}) { if (std::filesystem::is_regular_file(it->status()) && it->path().extension().c_str() == json_ext) { cp_paths.emplace_back(origin + "/" + it->path().stem().c_str()); } else if (scan_level > 0U && std::filesystem::is_directory(it->status())) { if (auto path = it->path(); !path.empty()) { auto subdir_it = std::filesystem::directory_iterator{path}; /* When C++23 is available, the following line is enough: cp_paths.append_range( scan_community_package_recursive(subdir_it, scan_level, origin + "/" + path.filename().c_str())); */ const auto sub_cp_vect = scan_community_package_recursive(subdir_it, scan_level, origin + "/" + path.filename().c_str()); cp_paths.insert(cp_paths.end(), sub_cp_vect.cbegin(), sub_cp_vect.cend()); } } ++it; } } catch (const std::exception& e) { util::warning(e.what()); } return cp_paths; } auto PresetsManager::get_community_preset_info(const PresetType& preset_type, const std::string& path) -> std::pair { // Given the full path of a community preset, extract and return: // 1. the preset name // 2. the package name static const auto re_pack_name = std::regex(R"(^\/([^/]+))"); static const auto re_preset_name = std::regex(R"([^/]+$)"); const auto cp_dir_vect = (preset_type == PresetType::output) ? system_data_dir_output : system_data_dir_input; for (const auto& cp_dir : cp_dir_vect) { // In order to extract the package name, let's check if // the preset belongs to the selected system data directory. const auto cp_dir_size = cp_dir.size(); // Skip if the lenght of the path is shorter than `cp_dir + "/"`. if (path.size() <= cp_dir_size + 1U) { continue; } // Check if the preset is contained in the selected system data directory. // starts_with gets a string_view, so we use the version with character array. if (!path.starts_with(cp_dir.c_str())) { continue; } // Extract the package name. std::smatch pack_match; // Get the subdirectory/package. // - Full match: "/pack_name" // - Group 1: "pack_name" std::regex_search(path.cbegin() + cp_dir_size, path.cend(), pack_match, re_pack_name); // Skip if the match failed. if (pack_match.size() != 2U) { continue; } // Extract the preset name. std::smatch name_match; std::regex_search(path.cbegin() + cp_dir_size, path.cend(), name_match, re_preset_name); // Skip if the match failed. if (name_match.size() != 1U) { continue; } return std::make_pair(name_match.str(0), pack_match.str(1)); } util::warning("can't extract info strings for the community preset: " + path); // Placeholders in case of issues return std::make_pair(std::string(_("Community Preset")), std::string(_("Package"))); } void PresetsManager::save_blocklist(const PresetType& preset_type, nlohmann::json& json) { std::vector blocklist; switch (preset_type) { case PresetType::output: { const auto list = util::gchar_array_to_vector(g_settings_get_strv(soe_settings, "blocklist")); for (const auto& l : list) { blocklist.push_back(l); } json["output"]["blocklist"] = blocklist; break; } case PresetType::input: { const auto list = util::gchar_array_to_vector(g_settings_get_strv(sie_settings, "blocklist")); for (const auto& l : list) { blocklist.push_back(l); } json["input"]["blocklist"] = blocklist; break; } } } auto PresetsManager::load_blocklist(const PresetType& preset_type, const nlohmann::json& json) -> bool { std::vector blocklist; switch (preset_type) { case PresetType::input: { try { auto list = json.at("input").at("blocklist").get>(); g_settings_set_strv(sie_settings, "blocklist", util::make_gchar_pointer_vector(list).data()); } catch (const nlohmann::json::exception& e) { g_settings_reset(sie_settings, "blocklist"); notify_error(PresetError::blocklist_format); util::warning(e.what()); return false; } catch (...) { g_settings_reset(sie_settings, "blocklist"); notify_error(PresetError::blocklist_generic); return false; } break; } case PresetType::output: { try { auto list = json.at("output").at("blocklist").get>(); g_settings_set_strv(soe_settings, "blocklist", util::make_gchar_pointer_vector(list).data()); } catch (const nlohmann::json::exception& e) { g_settings_reset(soe_settings, "blocklist"); notify_error(PresetError::blocklist_format); util::warning(e.what()); return false; } catch (...) { g_settings_reset(soe_settings, "blocklist"); notify_error(PresetError::blocklist_generic); return false; } break; } } return true; } void PresetsManager::save_preset_file(const PresetType& preset_type, const std::string& name) { nlohmann::json json; std::filesystem::path output_file; save_blocklist(preset_type, json); switch (preset_type) { case PresetType::output: { const auto plugins = util::gchar_array_to_vector(g_settings_get_strv(soe_settings, "plugins")); std::vector list; list.reserve(plugins.size()); for (const auto& p : plugins) { list.push_back(p); } json["output"]["plugins_order"] = list; write_plugins_preset(preset_type, plugins, json); output_file = user_output_dir / std::filesystem::path{name + json_ext}; break; } case PresetType::input: { const auto plugins = util::gchar_array_to_vector(g_settings_get_strv(sie_settings, "plugins")); std::vector list; list.reserve(plugins.size()); for (const auto& p : plugins) { list.push_back(p); } json["input"]["plugins_order"] = list; write_plugins_preset(preset_type, plugins, json); output_file = user_input_dir / std::filesystem::path{name + json_ext}; break; } } std::ofstream o(output_file.c_str()); o << std::setw(4) << json << '\n'; // std::cout << std::setw(4) << json << std::endl; util::debug("saved preset: " + output_file.string()); } void PresetsManager::write_plugins_preset(const PresetType& preset_type, const std::vector& plugins, nlohmann::json& json) { for (const auto& name : plugins) { if (auto wrapper = create_wrapper(preset_type, name); wrapper != std::nullopt) { if (wrapper.has_value()) { wrapper.value()->write(json); } } } } void PresetsManager::remove(const PresetType& preset_type, const std::string& name) { std::filesystem::path preset_file; const auto conf_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; preset_file = conf_dir / std::filesystem::path{name + json_ext}; if (std::filesystem::exists(preset_file)) { std::filesystem::remove(preset_file); util::debug("removed preset: " + preset_file.string()); } } auto PresetsManager::load_local_preset_file(const PresetType& preset_type, const std::string& name) -> bool { const auto conf_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; const auto input_file = conf_dir / std::filesystem::path{name + json_ext}; // Check preset existence if (!std::filesystem::exists(input_file)) { util::debug("can't find the local preset \"" + name + "\" on the filesystem"); return false; } set_last_preset_keys(preset_type, name); const auto loaded = load_preset_file(preset_type, input_file); if (!loaded) { set_last_preset_keys(preset_type); } return loaded; } auto PresetsManager::load_community_preset_file(const PresetType& preset_type, const std::string& full_path_stem, const std::string& package_name) -> bool { const auto input_file = std::filesystem::path{full_path_stem + json_ext}; // Check preset existence if (!std::filesystem::exists(input_file)) { util::warning("the community preset \"" + input_file.string() + "\" does not exist on the filesystem"); return false; } set_last_preset_keys(preset_type, input_file.stem().string(), package_name); const auto loaded = load_preset_file(preset_type, input_file); if (!loaded) { set_last_preset_keys(preset_type); } return loaded; } auto PresetsManager::load_preset_file(const PresetType& preset_type, const std::filesystem::path& input_file) -> bool { nlohmann::json json; std::vector plugins; // Read effects_pipeline if (!read_effects_pipeline_from_preset(preset_type, input_file, json, plugins)) { return false; } // After the plugin order list, load the blocklist and then // apply the parameters of the loaded plugins. if (load_blocklist(preset_type, json) && read_plugins_preset(preset_type, plugins, json)) { util::debug("successfully loaded the preset: " + input_file.string()); return true; } return false; } auto PresetsManager::read_effects_pipeline_from_preset(const PresetType& preset_type, const std::filesystem::path& input_file, nlohmann::json& json, std::vector& plugins) -> bool { const auto* preset_type_str = (preset_type == PresetType::input) ? "input" : "output"; GSettings* settings = (preset_type == PresetType::input) ? sie_settings : soe_settings; try { std::ifstream is(input_file); is >> json; for (const auto& p : json.at(preset_type_str).at("plugins_order").get>()) { for (const auto& v : tags::plugin_name::list) { if (p.starts_with(v)) { /* Old format presets do not have the instance id number in the filter names. They are equal to the base name. */ if (p != v) { plugins.push_back(p); } else { plugins.push_back(p + "#0"); } break; } } } } catch (const nlohmann::json::exception& e) { notify_error(PresetError::pipeline_format); util::warning(e.what()); return false; } catch (...) { notify_error(PresetError::pipeline_generic); return false; } g_settings_set_strv(settings, "plugins", util::make_gchar_pointer_vector(plugins).data()); return true; } auto PresetsManager::read_plugins_preset(const PresetType& preset_type, const std::vector& plugins, const nlohmann::json& json) -> bool { for (const auto& name : plugins) { if (auto wrapper = create_wrapper(preset_type, name); wrapper != std::nullopt) { try { if (wrapper.has_value()) { wrapper.value()->read(json); } } catch (const nlohmann::json::exception& e) { notify_error(PresetError::plugin_format, name); util::warning(e.what()); return false; } catch (...) { notify_error(PresetError::plugin_generic, name); return false; } } } return true; } void PresetsManager::import_from_filesystem(const PresetType& preset_type, const std::string& file_path) { // When importing presets from the filesystem, we overwrite the file if it already exists. std::filesystem::path p{file_path}; if (!std::filesystem::is_regular_file(p)) { util::warning(p.string() + " is not a file!"); return; } if (p.extension().c_str() != json_ext) { return; } const auto conf_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; const std::filesystem::path out_path = conf_dir / p.filename(); try { std::filesystem::copy_file(p, out_path, std::filesystem::copy_options::overwrite_existing); util::debug("imported preset to: " + out_path.string()); } catch (const std::exception& e) { util::warning("can't import preset to: " + out_path.string()); util::warning(e.what()); } } auto PresetsManager::import_addons_from_community_package(const PresetType& preset_type, const std::filesystem::path& path, const std::string& package) -> bool { /* Here we parse the json community preset in order to import the list of addons: * 1. Convolver Impulse Response Files * 2. RNNoise Models */ // This method assumes that the path is valid and package string is not empty, // their check has already been made in import_from_community_package(); std::ifstream is(path); nlohmann::json json; const auto irs_ext = ".irs"; const auto rnnn_ext = ".rnnn"; try { is >> json; std::vector conv_irs, rn_models; const auto* pt_key = (preset_type == PresetType::output) ? "output" : "input"; // Fill conv_irs and rn_models vectors extracting the addon names from // the json preset and append the respective file extension. for (const auto& plugin : json.at(pt_key).at("plugins_order").get>()) { if (plugin.starts_with(tags::plugin_name::convolver)) { conv_irs.push_back(json.at(pt_key).at(plugin).at("kernel-name").get() + irs_ext); } if (plugin.starts_with(tags::plugin_name::rnnoise)) { rn_models.push_back(json.at(pt_key).at(plugin).at("model-name").get() + rnnn_ext); } } // For every filename of both vectors, search the full path and copy the file locally. for (const auto& irs_name : conv_irs) { std::string path; bool found = false; for (const auto& xdg_dir : system_data_dir_irs) { if (util::search_filename(std::filesystem::path{xdg_dir + "/" + package}, irs_name, path, 3U)) { const auto out_path = std::filesystem::path{user_irs_dir} / irs_name; std::filesystem::copy_file(path, out_path, std::filesystem::copy_options::overwrite_existing); util::debug("successfully imported community preset addon " + irs_name + " locally"); found = true; break; } } if (!found) { util::warning("community preset addon " + irs_name + " not found!"); return false; } } for (const auto& model_name : rn_models) { std::string path; bool found = false; for (const auto& xdg_dir : system_data_dir_rnnoise) { if (util::search_filename(std::filesystem::path{xdg_dir + "/" + package}, model_name, path, 3U)) { const auto out_path = std::filesystem::path{user_rnnoise_dir} / model_name; std::filesystem::copy_file(path, out_path, std::filesystem::copy_options::overwrite_existing); util::debug("successfully imported community preset addon " + model_name + " locally"); found = true; break; } } if (!found) { util::warning("community preset addon " + model_name + " not found!"); return false; } } return true; } catch (const std::exception& e) { util::warning(e.what()); return false; } } void PresetsManager::import_from_community_package(const PresetType& preset_type, const std::string& file_path, const std::string& package) { // When importing presets from a community package, we do NOT overwrite // the local preset if it has the same name. std::filesystem::path p{file_path}; if (!std::filesystem::exists(p) || package.empty()) { util::warning(p.string() + " does not exist! Please reload the community preset list"); return; } if (!std::filesystem::is_regular_file(p)) { util::warning(p.string() + " is not a file! Please reload the community preset list"); return; } if (p.extension().c_str() != json_ext) { return; } bool preset_can_be_copied = false; // We limit the max copy attempts in order to not flood the local directory // if the user keeps clicking the import button. uint i = 0U; static const auto max_copy_attempts = 10; const auto conf_dir = (preset_type == PresetType::output) ? user_output_dir.string() : user_input_dir.string(); std::filesystem::path out_path; try { do { // In case of destination file already existing, we try to append // an incremental numeric suffix. const auto suffix = (i == 0U) ? "" : "-" + util::to_string(i); out_path = conf_dir + "/" + p.stem().c_str() + suffix + json_ext; if (!std::filesystem::exists(out_path)) { preset_can_be_copied = true; break; } } while (++i < max_copy_attempts); } catch (const std::exception& e) { util::warning("can't import the community preset: " + p.string()); util::warning(e.what()); return; } if (!preset_can_be_copied) { util::warning("can't import the community preset: " + p.string()); util::warning("exceeded the maximum copy attempts; please delete or rename your local preset"); return; } // Now we know that the preset is OK to be copied, but we first check for addons. if (!import_addons_from_community_package(preset_type, p, package)) { util::warning("can't import addons for the community preset: " + p.string() + "; import stage aborted, please reload the community preset list"); util::warning("if the issue goes on, contact the maintainer of the community package"); return; } std::filesystem::copy_file(p, out_path); util::debug("successfully imported the community preset to: " + out_path.string()); } void PresetsManager::add_autoload(const PresetType& preset_type, const std::string& preset_name, const std::string& device_name, const std::string& device_description, const std::string& device_profile) { nlohmann::json json; std::filesystem::path output_file; switch (preset_type) { case PresetType::output: output_file = autoload_output_dir / std::filesystem::path{device_name + ":" + device_profile + json_ext}; break; case PresetType::input: output_file = autoload_input_dir / std::filesystem::path{device_name + ":" + device_profile + json_ext}; break; } std::ofstream o(output_file.c_str()); json["device"] = device_name; json["device-description"] = device_description; json["device-profile"] = device_profile; json["preset-name"] = preset_name; o << std::setw(4) << json << '\n'; util::debug("added autoload preset file: " + output_file.string()); } void PresetsManager::remove_autoload(const PresetType& preset_type, const std::string& preset_name, const std::string& device_name, const std::string& device_profile) { std::filesystem::path input_file; switch (preset_type) { case PresetType::output: input_file = autoload_output_dir / std::filesystem::path{device_name + ":" + device_profile + json_ext}; break; case PresetType::input: input_file = autoload_input_dir / std::filesystem::path{device_name + ":" + device_profile + json_ext}; break; } if (!std::filesystem::is_regular_file(input_file)) { return; } nlohmann::json json; std::ifstream is(input_file); is >> json; if (preset_name == json.value("preset-name", "") && device_profile == json.value("device-profile", "")) { std::filesystem::remove(input_file); util::debug("removed autoload: " + input_file.string()); } } auto PresetsManager::find_autoload(const PresetType& preset_type, const std::string& device_name, const std::string& device_profile) -> std::string { std::filesystem::path input_file; switch (preset_type) { case PresetType::output: input_file = autoload_output_dir / std::filesystem::path{device_name + ":" + device_profile + json_ext}; break; case PresetType::input: input_file = autoload_input_dir / std::filesystem::path{device_name + ":" + device_profile + json_ext}; break; } if (!std::filesystem::is_regular_file(input_file)) { return ""; } nlohmann::json json; std::ifstream is(input_file); is >> json; return json.value("preset-name", ""); } void PresetsManager::autoload(const PresetType& preset_type, const std::string& device_name, const std::string& device_profile) { const auto name = find_autoload(preset_type, device_name, device_profile); if (name.empty()) { return; } util::debug("autoloading local preset " + name + " for device " + device_name); load_local_preset_file(preset_type, name); } auto PresetsManager::get_autoload_profiles(const PresetType& preset_type) -> std::vector { std::filesystem::path autoload_dir; std::vector list; switch (preset_type) { case PresetType::output: autoload_dir = autoload_output_dir; break; case PresetType::input: autoload_dir = autoload_input_dir; break; } auto it = std::filesystem::directory_iterator{autoload_dir}; try { while (it != std::filesystem::directory_iterator{}) { if (std::filesystem::is_regular_file(it->status())) { if (it->path().extension().c_str() == json_ext) { nlohmann::json json; std::ifstream is(autoload_dir / it->path()); is >> json; list.push_back(json); } } ++it; } return list; } catch (const std::exception& e) { util::warning(e.what()); return list; } } void PresetsManager::set_last_preset_keys(const PresetType& preset_type, const std::string& preset_name, const std::string& package_name) { const auto* lp_key = (preset_type == PresetType::input) ? "last-loaded-input-preset" : "last-loaded-output-preset"; const auto* lcp_key = (preset_type == PresetType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; // In order to avoid race conditions, the community package key should be set before the preset name. if (package_name.empty()) { g_settings_reset(settings, lcp_key); } else { g_settings_set_string(settings, lcp_key, package_name.c_str()); } if (preset_name.empty()) { g_settings_reset(settings, lp_key); } else { g_settings_set_string(settings, lp_key, preset_name.c_str()); } } auto PresetsManager::preset_file_exists(const PresetType& preset_type, const std::string& name) -> bool { const auto conf_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; const auto input_file = conf_dir / std::filesystem::path{name + json_ext}; return std::filesystem::exists(input_file); } void PresetsManager::notify_error(const PresetError& preset_error, const std::string& plugin_name) { std::string plugin_translated; try { const auto base_name = tags::plugin_name::get_base_name(plugin_name); plugin_translated = tags::plugin_name::get_translated().at(base_name) + ": "; } catch (std::out_of_range& e) { util::debug(e.what()); } switch (preset_error) { case PresetError::blocklist_format: { util::warning( "A parsing error occurred while trying to load the blocklist from the preset. The file could be invalid " "or corrupted. Please check its content."); preset_load_error.emit(_("Preset Not Loaded Correctly"), _("Wrong Format in Excluded Apps List")); break; } case PresetError::blocklist_generic: { util::warning("A generic error occurred while trying to load the blocklist from the preset."); preset_load_error.emit(_("Preset Not Loaded Correctly"), _("Generic Error While Loading Excluded Apps List")); break; } case PresetError::pipeline_format: { util::warning( "A parsing error occurred while trying to load the pipeline from the preset. The file could be invalid " "or corrupted. Please check its content."); preset_load_error.emit(_("Preset Not Loaded Correctly"), _("Wrong Format in Effects List")); break; } case PresetError::pipeline_generic: { util::warning("A generic error occurred while trying to load the pipeline from the preset."); preset_load_error.emit(_("Preset Not Loaded Correctly"), _("Generic Error While Loading Effects List")); break; } case PresetError::plugin_format: { util::warning("A parsing error occurred while trying to load the " + plugin_name + " plugin from the preset. The file could be invalid or " "corrupted. Please check its content."); preset_load_error.emit(_("Preset Not Loaded Correctly"), plugin_translated + _("One or More Parameters Have a Wrong Format")); break; } case PresetError::plugin_generic: { util::warning("A generic error occurred while trying to load the " + plugin_name + " plugin from the preset."); preset_load_error.emit(_("Preset Not Loaded Correctly"), plugin_translated + _("Generic Error While Loading The Effect")); break; } default: break; } } auto PresetsManager::create_wrapper(const PresetType& preset_type, std::string_view filter_name) -> std::optional> { auto instance_id = tags::plugin_name::get_id(std::string(filter_name)); if (filter_name.starts_with(tags::plugin_name::autogain)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::bass_enhancer)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::bass_loudness)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::compressor)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::convolver)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::crossfeed)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::crystalizer)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::deesser)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::delay)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::deepfilternet)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::echo_canceller)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::equalizer)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::exciter)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::expander)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::filter)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::gate)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::level_meter)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::limiter)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::loudness)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::maximizer)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::multiband_compressor)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::multiband_gate)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::pitch)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::reverb)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::rnnoise)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::speex)) { return std::make_unique(preset_type, instance_id); } if (filter_name.starts_with(tags::plugin_name::stereo_tools)) { return std::make_unique(preset_type, instance_id); } util::warning("The filter name " + std::string(filter_name) + " base name could not be recognized"); return std::nullopt; } easyeffects-7.1.7/src/presets_menu.cpp000066400000000000000000000716531463533416400200600ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "presets_menu.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "preset_type.hpp" #include "tags_app.hpp" #include "tags_resources.hpp" #include "util.hpp" namespace ui::presets_menu { struct Data { public: ~Data() { util::debug("data struct destroyed"); } app::Application* application; PresetType preset_type; std::vector connections; std::vector gconnections; }; struct _PresetsMenu { GtkPopover parent_instance; AdwViewStack* stack; GtkScrolledWindow *scrolled_window_local, *scrolled_window_community; GtkBox* community_main_box; GtkListView *listview_local, *listview_community; AdwStatusPage* status_page_community_list; GtkText* new_preset_name; GtkLabel *last_loaded_preset_title, *last_loaded_preset_value; GtkStringList *presets_list_local, *presets_list_community; GtkSearchEntry* search_community; GtkStringFilter* filter_string_community; GtkButton* refresh_community_list; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PresetsMenu, presets_menu, GTK_TYPE_POPOVER) auto closure_community_search_filter(PresetsMenu* self, const char* text) -> const char* { const std::string preset_path{text}; static const auto re_preset_name = std::regex(R"([^/]+$)"); std::smatch name_match; std::regex_search(preset_path.cbegin(), preset_path.cend(), name_match, re_preset_name); return (name_match.size() == 1U) ? g_strdup(name_match.str(0).c_str()) : ""; } void create_preset(PresetsMenu* self, GtkButton* button) { std::string name = g_utf8_make_valid(gtk_editable_get_text(GTK_EDITABLE(self->new_preset_name)), -1); // Reset input field. gtk_editable_set_text(GTK_EDITABLE(self->new_preset_name), ""); // Remove leading and trailing whitespaces. util::str_trim(name); static const auto json_ext_re = std::regex(R"((?:\.+json)+$)", std::regex::icase); // Remove the json extension at the end, if present // (it will be added in PresetsManager::add()). if (std::smatch sm; std::regex_search(name, sm, json_ext_re)) { name = std::regex_replace(name, json_ext_re, ""); } // Check if empty. if (name.empty()) { return; } // Truncate if the name is longer than 100 characters. if (const auto max_length = 100U; name.size() > max_length) { name.resize(max_length); } // Check for illegal characters. if (name.find_first_of("\\/") != std::string::npos) { util::warning(" name " + name + " has illegal file name characters. Aborting preset creation!"); return; } self->data->application->presets_manager->add(self->data->preset_type, name); } void import_preset_from_disk(PresetsMenu* self) { auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto* dialog = gtk_file_dialog_new(); gtk_file_dialog_set_title(dialog, _("Import Preset")); gtk_file_dialog_set_accept_label(dialog, _("Open")); // Open the dialog from the user home folder. auto* init_folder = g_file_new_for_path(g_get_home_dir()); gtk_file_dialog_set_initial_folder(dialog, init_folder); g_object_unref(init_folder); GListStore* filters = g_list_store_new(GTK_TYPE_FILE_FILTER); auto* filter = gtk_file_filter_new(); gtk_file_filter_add_pattern(filter, "*.json"); gtk_file_filter_set_name(filter, _("Presets")); g_list_store_append(filters, filter); g_object_unref(filter); gtk_file_dialog_set_filters(dialog, G_LIST_MODEL(filters)); g_object_unref(filters); gtk_file_dialog_open_multiple( dialog, active_window, nullptr, +[](GObject* source_object, GAsyncResult* result, gpointer user_data) { auto* self = static_cast(user_data); auto* dialog = GTK_FILE_DIALOG(source_object); auto* files_list = gtk_file_dialog_open_multiple_finish(dialog, result, nullptr); if (files_list == nullptr) { return; } for (guint n = 0U; n < g_list_model_get_n_items(files_list); n++) { auto* file = static_cast(g_list_model_get_item(files_list, n)); auto* path = g_file_get_path(file); if (self->data->preset_type == PresetType::output) { self->data->application->presets_manager->import_from_filesystem(PresetType::output, path); } else if (self->data->preset_type == PresetType::input) { self->data->application->presets_manager->import_from_filesystem(PresetType::input, path); } g_free(path); } g_object_unref(files_list); }, self); } template void setup_community_presets_listview(PresetsMenu* self, GtkListView* listview_community, GtkStringList* presets_list_community) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect( factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PresetsMenu* self) { auto builder = gtk_builder_new_from_resource(tags::resources::preset_row_community_ui); auto* top_box = gtk_builder_get_object(builder, "top_box"); auto* name = gtk_builder_get_object(builder, "name"); auto* package = gtk_builder_get_object(builder, "package"); auto* try_bt = gtk_builder_get_object(builder, "try"); auto* import = gtk_builder_get_object(builder, "import"); g_object_set_data(G_OBJECT(item), "name", name); g_object_set_data(G_OBJECT(item), "package", package); g_object_set_data(G_OBJECT(item), "try", try_bt); g_object_set_data(G_OBJECT(item), "import", import); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(top_box)); g_signal_connect(try_bt, "clicked", G_CALLBACK(+[](GtkButton* button, PresetsMenu* self) { auto* string_object_preset = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(button), "string-object-preset")); auto* label_package = GTK_LABEL(g_object_get_data(G_OBJECT(button), "gtk-label-package-name")); if (string_object_preset == nullptr || label_package == nullptr) { return; } const std::string preset_path = gtk_string_object_get_string(string_object_preset); const std::string preset_package = gtk_label_get_text(label_package); self->data->application->presets_manager->load_community_preset_file( preset_type, preset_path, preset_package); }), self); g_signal_connect(import, "clicked", G_CALLBACK(+[](GtkButton* button, PresetsMenu* self) { auto* string_object_preset = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(button), "string-object-preset")); auto* label_package = GTK_LABEL(g_object_get_data(G_OBJECT(button), "gtk-label-package-name")); if (string_object_preset == nullptr || label_package == nullptr) { return; } // community presets are indexed by full_path using stem filenames, // so we need to append the json extension. const std::string preset_path = gtk_string_object_get_string(string_object_preset) + self->data->application->presets_manager->json_ext; const std::string preset_package = gtk_label_get_text(label_package); self->data->application->presets_manager->import_from_community_package( preset_type, preset_path, preset_package); }), self); g_object_unref(builder); }), self); g_signal_connect(factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PresetsMenu* self) { auto* name = static_cast(g_object_get_data(G_OBJECT(item), "name")); auto* package = static_cast(g_object_get_data(G_OBJECT(item), "package")); auto* try_bt = static_cast(g_object_get_data(G_OBJECT(item), "try")); auto* import = static_cast(g_object_get_data(G_OBJECT(item), "import")); // Get the full path of the community preset item. auto* preset_path = GTK_STRING_OBJECT(gtk_list_item_get_item(item)); // Save community preset path in try and import buttons. g_object_set_data(G_OBJECT(try_bt), "string-object-preset", preset_path); g_object_set_data(G_OBJECT(import), "string-object-preset", preset_path); auto* full_cp_path = gtk_string_object_get_string(preset_path); // Extract package name and preset name from the full path. const auto cp_info = self->data->application->presets_manager->get_community_preset_info(preset_type, full_cp_path); // Set labels. gtk_label_set_text(name, cp_info.first.c_str()); gtk_label_set_text(package, cp_info.second.c_str()); // Save community preset package label in try and import buttons. g_object_set_data(G_OBJECT(try_bt), "gtk-label-package-name", package); g_object_set_data(G_OBJECT(import), "gtk-label-package-name", package); }), self); auto refresh_community_listview = +[](GtkButton* button, PresetsMenu* self) { // Empty the list, if it's populated. if (const auto n_items = g_list_model_get_n_items(G_LIST_MODEL(self->presets_list_community)); n_items != 0U) { gtk_string_list_splice(self->presets_list_community, 0U, n_items, nullptr); } const auto cp_paths = self->data->application->presets_manager->get_all_community_presets_paths(preset_type); // If there are no paths, show the AdwStatusPage and exit. if (cp_paths.empty()) { gtk_widget_set_visible(GTK_WIDGET(self->community_main_box), 0); gtk_widget_set_visible(GTK_WIDGET(self->status_page_community_list), 1); return; } // If there are paths, fill the empty list and hide the AdwStatusPage. for (const auto& path : cp_paths) { gtk_string_list_append(self->presets_list_community, path.c_str()); } gtk_widget_set_visible(GTK_WIDGET(self->status_page_community_list), 0); gtk_widget_set_visible(GTK_WIDGET(self->community_main_box), 1); }; g_signal_connect(self->refresh_community_list, "clicked", G_CALLBACK(refresh_community_listview), self); gtk_list_view_set_factory(listview_community, factory); g_object_unref(factory); // Initialize the list refresh_community_listview(self->refresh_community_list, self); } template void setup_local_presets_listview(PresetsMenu* self, GtkListView* listview_local, GtkStringList* presets_list_local) { auto* factory = gtk_signal_list_item_factory_new(); // setting the factory callbacks g_signal_connect( factory, "setup", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PresetsMenu* self) { auto builder = gtk_builder_new_from_resource(tags::resources::preset_row_ui); auto* top_box = gtk_builder_get_object(builder, "top_box"); auto* apply = gtk_builder_get_object(builder, "apply"); auto* save = gtk_builder_get_object(builder, "save"); auto* remove = gtk_builder_get_object(builder, "remove"); auto* confirmation_box = gtk_builder_get_object(builder, "confirmation_box"); auto* confirmation_label = gtk_builder_get_object(builder, "confirmation_label"); auto* confirmation_yes = gtk_builder_get_object(builder, "confirmation_yes"); auto* confirmation_no = gtk_builder_get_object(builder, "confirmation_no"); g_object_set_data(G_OBJECT(item), "name", gtk_builder_get_object(builder, "name")); g_object_set_data(G_OBJECT(item), "apply", apply); g_object_set_data(G_OBJECT(item), "confirmation_yes", confirmation_yes); g_object_set_data(G_OBJECT(save), "confirmation_box", confirmation_box); g_object_set_data(G_OBJECT(save), "confirmation_label", confirmation_label); g_object_set_data(G_OBJECT(save), "confirmation_yes", confirmation_yes); g_object_set_data(G_OBJECT(remove), "confirmation_box", confirmation_box); g_object_set_data(G_OBJECT(remove), "confirmation_label", confirmation_label); g_object_set_data(G_OBJECT(remove), "confirmation_yes", confirmation_yes); g_object_set_data(G_OBJECT(confirmation_yes), "confirmation_box", confirmation_box); g_object_set_data(G_OBJECT(confirmation_yes), "confirmation_label", confirmation_label); g_object_set_data(G_OBJECT(confirmation_no), "confirmation_label", confirmation_label); gtk_list_item_set_activatable(item, 0); gtk_list_item_set_child(item, GTK_WIDGET(top_box)); g_signal_connect( apply, "clicked", G_CALLBACK(+[](GtkButton* button, PresetsMenu* self) { if (auto* string_object = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(button), "string-object")); string_object != nullptr) { auto* preset_name = gtk_string_object_get_string(string_object); self->data->application->presets_manager->load_local_preset_file(preset_type, preset_name); } }), self); g_signal_connect( save, "clicked", G_CALLBACK(+[](GtkButton* button, PresetsMenu* self) { auto* confirmation_box = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_box")); auto* confirmation_label = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_label")); auto* confirmation_yes = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_yes")); gtk_label_set_text(confirmation_label, _("Save?")); gtk_widget_add_css_class(GTK_WIDGET(confirmation_label), "warning"); gtk_widget_set_visible(GTK_WIDGET(confirmation_box), 1); g_object_set_data(G_OBJECT(confirmation_yes), "operation", GUINT_TO_POINTER(0)); }), self); g_signal_connect( remove, "clicked", G_CALLBACK(+[](GtkButton* button, PresetsMenu* self) { auto* confirmation_box = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_box")); auto* confirmation_label = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_label")); auto* confirmation_yes = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_yes")); gtk_label_set_text(confirmation_label, _("Delete?")); gtk_widget_add_css_class(GTK_WIDGET(confirmation_label), "error"); gtk_widget_set_visible(GTK_WIDGET(confirmation_box), 1); g_object_set_data(G_OBJECT(confirmation_yes), "operation", GUINT_TO_POINTER(1)); }), self); g_signal_connect(confirmation_no, "clicked", G_CALLBACK(+[](GtkButton* button, GtkBox* box) { gtk_widget_set_visible(GTK_WIDGET(box), 0); auto* confirmation_label = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_label")); gtk_widget_remove_css_class(GTK_WIDGET(confirmation_label), "warning"); gtk_widget_remove_css_class(GTK_WIDGET(confirmation_label), "error"); }), confirmation_box); g_signal_connect( confirmation_yes, "clicked", G_CALLBACK(+[](GtkButton* button, PresetsMenu* self) { if (auto* string_object = GTK_STRING_OBJECT(g_object_get_data(G_OBJECT(button), "string-object")); string_object != nullptr) { auto* preset_name = gtk_string_object_get_string(string_object); const uint operation = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(button), "operation")); auto* confirmation_label = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_label")); switch (operation) { case 0U: { // save if constexpr (preset_type == PresetType::output) { self->data->application->presets_manager->save_preset_file(PresetType::output, preset_name); } else if constexpr (preset_type == PresetType::input) { self->data->application->presets_manager->save_preset_file(PresetType::input, preset_name); } gtk_widget_remove_css_class(GTK_WIDGET(confirmation_label), "warning"); break; } case 1U: { // delete if constexpr (preset_type == PresetType::output) { self->data->application->presets_manager->remove(PresetType::output, preset_name); } else if constexpr (preset_type == PresetType::input) { self->data->application->presets_manager->remove(PresetType::input, preset_name); } gtk_widget_remove_css_class(GTK_WIDGET(confirmation_label), "error"); break; } default: break; } } auto* confirmation_box = static_cast(g_object_get_data(G_OBJECT(button), "confirmation_box")); gtk_widget_set_visible(GTK_WIDGET(confirmation_box), 0); }), self); g_object_unref(builder); }), self); g_signal_connect( factory, "bind", G_CALLBACK(+[](GtkSignalListItemFactory* factory, GtkListItem* item, PresetsMenu* self) { auto* label = static_cast(g_object_get_data(G_OBJECT(item), "name")); auto* apply = static_cast(g_object_get_data(G_OBJECT(item), "apply")); auto* confirmation_yes = static_cast(g_object_get_data(G_OBJECT(item), "confirmation_yes")); auto* string_object = GTK_STRING_OBJECT(gtk_list_item_get_item(item)); g_object_set_data(G_OBJECT(apply), "string-object", string_object); g_object_set_data(G_OBJECT(confirmation_yes), "string-object", string_object); auto* name = gtk_string_object_get_string(string_object); gtk_label_set_text(label, name); }), self); gtk_list_view_set_factory(listview_local, factory); g_object_unref(factory); for (const auto& name : self->data->application->presets_manager->get_local_presets_name(preset_type)) { gtk_string_list_append(presets_list_local, name.c_str()); } } void setup(PresetsMenu* self, app::Application* application, PresetType preset_type) { self->data->application = application; self->data->preset_type = preset_type; auto add_to_list = [=](const std::string& preset_name) { if (preset_name.empty()) { util::warning("can't retrieve information about the preset file"); return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->presets_list_local)); n++) { if (preset_name == gtk_string_list_get_string(self->presets_list_local, n)) { return; } } gtk_string_list_append(self->presets_list_local, preset_name.c_str()); }; auto remove_from_list = [=](const std::string& preset_name) { if (preset_name.empty()) { util::warning("can't retrieve information about the preset file"); return; } for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->presets_list_local)); n++) { if (preset_name == gtk_string_list_get_string(self->presets_list_local, n)) { gtk_string_list_remove(self->presets_list_local, n); return; } } }; auto update_last_used_preset_labels = +[](GSettings* settings, const char* key, gpointer user_data) { auto* self = static_cast(user_data); const std::string preset_name = util::gsettings_get_string(settings, key); if (preset_name.empty()) { gtk_widget_set_visible(GTK_WIDGET(self->last_loaded_preset_value), 0); gtk_label_set_text(self->last_loaded_preset_value, ""); gtk_label_set_text(self->last_loaded_preset_title, _("No Preset Loaded")); return; } gtk_widget_set_visible(GTK_WIDGET(self->last_loaded_preset_value), 1); gtk_label_set_text(self->last_loaded_preset_value, preset_name.c_str()); const auto* lcp_key = (self->data->preset_type == PresetType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; const std::string community_package = util::gsettings_get_string(settings, lcp_key); const std::string preset_title = ((community_package.empty()) ? _("Last Local Preset Loaded") : _("Last Community Preset Loaded")); gtk_label_set_text(self->last_loaded_preset_title, preset_title.c_str()); }; if (preset_type == PresetType::output) { setup_community_presets_listview(self, self->listview_community, self->presets_list_community); setup_local_presets_listview(self, self->listview_local, self->presets_list_local); self->data->connections.push_back( self->data->application->presets_manager->user_output_preset_created.connect(add_to_list)); self->data->connections.push_back( self->data->application->presets_manager->user_output_preset_removed.connect(remove_from_list)); self->data->gconnections.push_back(g_signal_connect(self->settings, "changed::last-loaded-output-preset", G_CALLBACK(update_last_used_preset_labels), self)); // reset last loaded preset label const auto names_output = self->data->application->presets_manager->get_local_presets_name(PresetType::output); const std::string preset_name = util::gsettings_get_string(self->settings, "last-loaded-output-preset"); bool reset_key = true; if (!preset_name.empty()) { for (const auto& name : names_output) { if (name == preset_name) { reset_key = false; break; } } } else { reset_key = false; } if (reset_key) { // reset non-empty key and trigger the changed signal g_settings_reset(self->settings, "last-loaded-output-preset"); } else { // no need to reset, just update the labels update_last_used_preset_labels(self->settings, "last-loaded-output-preset", self); } } else if (preset_type == PresetType::input) { setup_community_presets_listview(self, self->listview_community, self->presets_list_community); setup_local_presets_listview(self, self->listview_local, self->presets_list_local); self->data->connections.push_back( self->data->application->presets_manager->user_input_preset_created.connect(add_to_list)); self->data->connections.push_back( self->data->application->presets_manager->user_input_preset_removed.connect(remove_from_list)); self->data->gconnections.push_back(g_signal_connect(self->settings, "changed::last-loaded-input-preset", G_CALLBACK(update_last_used_preset_labels), self)); // reset last loaded preset label const auto names_input = self->data->application->presets_manager->get_local_presets_name(PresetType::input); const std::string preset_name = util::gsettings_get_string(self->settings, "last-loaded-input-preset"); bool reset_key = true; if (!preset_name.empty()) { for (const auto& name : names_input) { if (name == preset_name) { reset_key = false; break; } } } else { reset_key = false; } if (reset_key) { // reset non-empty key and trigger the changed signal g_settings_reset(self->settings, "last-loaded-input-preset"); } else { // no need to reset, just update the labels update_last_used_preset_labels(self->settings, "last-loaded-input-preset", self); } } } void show(GtkWidget* widget) { auto* self = EE_PRESETS_MENU(widget); auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto active_window_height = gtk_widget_get_height(GTK_WIDGET(active_window)); const int menu_height = static_cast(0.5F * static_cast(active_window_height)); gtk_scrolled_window_set_max_content_height(self->scrolled_window_local, menu_height); GTK_WIDGET_CLASS(presets_menu_parent_class)->show(widget); } void dispose(GObject* object) { auto* self = EE_PRESETS_MENU(object); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(presets_menu_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_PRESETS_MENU(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(presets_menu_parent_class)->finalize(object); } void presets_menu_class_init(PresetsMenuClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; widget_class->show = show; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::presets_menu_ui); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, presets_list_local); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, presets_list_community); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, scrolled_window_local); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, scrolled_window_community); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, new_preset_name); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, search_community); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, filter_string_community); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, listview_local); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, listview_community); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, community_main_box); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, status_page_community_list); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, refresh_community_list); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, last_loaded_preset_title); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, last_loaded_preset_value); gtk_widget_class_bind_template_callback(widget_class, create_preset); gtk_widget_class_bind_template_callback(widget_class, import_preset_from_disk); gtk_widget_class_bind_template_callback(widget_class, closure_community_search_filter); } void presets_menu_init(PresetsMenu* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); self->settings = g_settings_new(tags::app::id); } auto create() -> PresetsMenu* { return static_cast(g_object_new(EE_TYPE_PRESETS_MENU, nullptr)); } } // namespace ui::presets_menu easyeffects-7.1.7/src/resampler.cpp000066400000000000000000000021421463533416400173240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "resampler.hpp" #include Resampler::Resampler(const int& input_rate, const int& output_rate) : output(1, 0) { resample_ratio = static_cast(output_rate) / static_cast(input_rate); src_state = src_new(SRC_SINC_FASTEST, 1, nullptr); } Resampler::~Resampler() { if (src_state != nullptr) { src_delete(src_state); } } easyeffects-7.1.7/src/reverb.cpp000066400000000000000000000070251463533416400166240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "reverb.hpp" #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Reverb::Reverb(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::reverb, tags::plugin_package::calf, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://calf.sourceforge.net/plugins/Reverb"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://calf.sourceforge.net/plugins/Reverb is not installed"); } lv2_wrapper->bind_key_double<"decay_time", "decay-time">(settings); lv2_wrapper->bind_key_double<"hf_damp", "hf-damp">(settings); lv2_wrapper->bind_key_double<"diffusion", "diffusion">(settings); lv2_wrapper->bind_key_double<"predelay", "predelay">(settings); lv2_wrapper->bind_key_double<"bass_cut", "bass-cut">(settings); lv2_wrapper->bind_key_double<"treble_cut", "treble-cut">(settings); lv2_wrapper->bind_key_enum<"room_size", "room-size">(settings); // The following controls can assume -inf lv2_wrapper->bind_key_double_db<"amount", "amount", false>(settings); lv2_wrapper->bind_key_double_db<"dry", "dry", false>(settings); setup_input_output_gain(); } Reverb::~Reverb() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void Reverb::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void Reverb::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto Reverb::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/reverb_preset.cpp000066400000000000000000000072101463533416400202020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "reverb_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" ReverbPreset::ReverbPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::reverb::id, tags::schema::reverb::input_path, tags::schema::reverb::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::reverb).append("#").append(util::to_string(index)); } void ReverbPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["room-size"] = util::gsettings_get_string(settings, "room-size"); json[section][instance_name]["decay-time"] = g_settings_get_double(settings, "decay-time"); json[section][instance_name]["hf-damp"] = g_settings_get_double(settings, "hf-damp"); json[section][instance_name]["diffusion"] = g_settings_get_double(settings, "diffusion"); json[section][instance_name]["amount"] = g_settings_get_double(settings, "amount"); json[section][instance_name]["dry"] = g_settings_get_double(settings, "dry"); json[section][instance_name]["predelay"] = g_settings_get_double(settings, "predelay"); json[section][instance_name]["bass-cut"] = g_settings_get_double(settings, "bass-cut"); json[section][instance_name]["treble-cut"] = g_settings_get_double(settings, "treble-cut"); } void ReverbPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "room-size", "room-size"); update_key(json.at(section).at(instance_name), settings, "decay-time", "decay-time"); update_key(json.at(section).at(instance_name), settings, "hf-damp", "hf-damp"); update_key(json.at(section).at(instance_name), settings, "diffusion", "diffusion"); update_key(json.at(section).at(instance_name), settings, "amount", "amount"); update_key(json.at(section).at(instance_name), settings, "dry", "dry"); update_key(json.at(section).at(instance_name), settings, "predelay", "predelay"); update_key(json.at(section).at(instance_name), settings, "bass-cut", "bass-cut"); update_key(json.at(section).at(instance_name), settings, "treble-cut", "treble-cut"); } easyeffects-7.1.7/src/reverb_ui.cpp000066400000000000000000000300721463533416400173170ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "reverb_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "reverb.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::reverb_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr reverb; std::vector connections; std::vector gconnections; }; struct _ReverbBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkDropDown* room_size; GtkSpinButton *predelay, *decay_time, *diffusion, *dry, *wet, *hf_damp, *bass_cut, *treble_cut; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(ReverbBox, reverb_box, GTK_TYPE_BOX) void on_reset(ReverbBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void on_preset_room(ReverbBox* self, GtkButton* btn) { g_settings_set_double(self->settings, "decay-time", 0.445945); g_settings_set_double(self->settings, "hf-damp", 5508.46); g_settings_set_enum(self->settings, "room-size", 4); g_settings_set_double(self->settings, "diffusion", 0.54); g_settings_set_double(self->settings, "amount", util::linear_to_db(0.469761)); g_settings_set_double(self->settings, "dry", util::linear_to_db(1.0)); g_settings_set_double(self->settings, "predelay", 25.0); g_settings_set_double(self->settings, "bass-cut", 257.65); g_settings_set_double(self->settings, "treble-cut", 20000.0); } void on_preset_empty_walls(ReverbBox* self, GtkButton* btn) { g_settings_set_double(self->settings, "decay-time", 0.505687); g_settings_set_double(self->settings, "hf-damp", 3971.64); g_settings_set_enum(self->settings, "room-size", 4); g_settings_set_double(self->settings, "diffusion", 0.17); g_settings_set_double(self->settings, "amount", util::linear_to_db(0.198884)); g_settings_set_double(self->settings, "dry", util::linear_to_db(1.0)); g_settings_set_double(self->settings, "predelay", 13.0); g_settings_set_double(self->settings, "bass-cut", 240.453); g_settings_set_double(self->settings, "treble-cut", 3303.47); } void on_preset_ambience(ReverbBox* self, GtkButton* btn) { g_settings_set_double(self->settings, "decay-time", 1.10354); g_settings_set_double(self->settings, "hf-damp", 2182.58); g_settings_set_enum(self->settings, "room-size", 4); g_settings_set_double(self->settings, "diffusion", 0.69); g_settings_set_double(self->settings, "amount", util::linear_to_db(0.291183)); g_settings_set_double(self->settings, "dry", util::linear_to_db(1.0)); g_settings_set_double(self->settings, "predelay", 6.5); g_settings_set_double(self->settings, "bass-cut", 514.079); g_settings_set_double(self->settings, "treble-cut", 4064.15); } void on_preset_large_empty_hall(ReverbBox* self, GtkButton* btn) { g_settings_set_double(self->settings, "decay-time", 2.00689); g_settings_set_double(self->settings, "hf-damp", 20000.0); g_settings_set_double(self->settings, "amount", util::linear_to_db(0.366022)); g_settings_reset(self->settings, "room-size"); g_settings_reset(self->settings, "diffusion"); g_settings_reset(self->settings, "dry"); g_settings_reset(self->settings, "predelay"); g_settings_reset(self->settings, "bass-cut"); g_settings_reset(self->settings, "treble-cut"); } void on_preset_disco(ReverbBox* self, GtkButton* btn) { g_settings_set_double(self->settings, "decay-time", 1.0); g_settings_set_double(self->settings, "hf-damp", 3396.49); g_settings_set_double(self->settings, "amount", util::linear_to_db(0.269807)); g_settings_reset(self->settings, "room-size"); g_settings_reset(self->settings, "diffusion"); g_settings_reset(self->settings, "dry"); g_settings_reset(self->settings, "predelay"); g_settings_reset(self->settings, "bass-cut"); g_settings_reset(self->settings, "treble-cut"); } void on_preset_large_occupied_hall(ReverbBox* self, GtkButton* btn) { g_settings_set_double(self->settings, "decay-time", 1.45397); g_settings_set_double(self->settings, "hf-damp", 9795.58); g_settings_set_double(self->settings, "amount", util::linear_to_db(0.184284)); g_settings_reset(self->settings, "room-size"); g_settings_reset(self->settings, "diffusion"); g_settings_reset(self->settings, "dry"); g_settings_reset(self->settings, "predelay"); g_settings_reset(self->settings, "bass-cut"); g_settings_reset(self->settings, "treble-cut"); } void setup(ReverbBox* self, std::shared_ptr reverb, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->reverb = reverb; self->settings = g_settings_new_with_path(tags::schema::reverb::id, schema_path.c_str()); reverb->set_post_messages(true); self->data->connections.push_back(reverb->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(reverb->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->reverb->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "amount", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "predelay", gtk_spin_button_get_adjustment(self->predelay), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "decay-time", gtk_spin_button_get_adjustment(self->decay_time), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "diffusion", gtk_spin_button_get_adjustment(self->diffusion), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "hf-damp", gtk_spin_button_get_adjustment(self->hf_damp), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "bass-cut", gtk_spin_button_get_adjustment(self->bass_cut), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "treble-cut", gtk_spin_button_get_adjustment(self->treble_cut), "value", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "room-size", self->room_size); } void dispose(GObject* object) { auto* self = EE_REVERB_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(reverb_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_REVERB_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(reverb_box_parent_class)->finalize(object); } void reverb_box_class_init(ReverbBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::reverb_ui); gtk_widget_class_bind_template_child(widget_class, ReverbBox, input_gain); gtk_widget_class_bind_template_child(widget_class, ReverbBox, output_gain); gtk_widget_class_bind_template_child(widget_class, ReverbBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, ReverbBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, ReverbBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, ReverbBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, ReverbBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, ReverbBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, ReverbBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, ReverbBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, ReverbBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, ReverbBox, room_size); gtk_widget_class_bind_template_child(widget_class, ReverbBox, predelay); gtk_widget_class_bind_template_child(widget_class, ReverbBox, decay_time); gtk_widget_class_bind_template_child(widget_class, ReverbBox, diffusion); gtk_widget_class_bind_template_child(widget_class, ReverbBox, dry); gtk_widget_class_bind_template_child(widget_class, ReverbBox, wet); gtk_widget_class_bind_template_child(widget_class, ReverbBox, hf_damp); gtk_widget_class_bind_template_child(widget_class, ReverbBox, bass_cut); gtk_widget_class_bind_template_child(widget_class, ReverbBox, treble_cut); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_preset_room); gtk_widget_class_bind_template_callback(widget_class, on_preset_empty_walls); gtk_widget_class_bind_template_callback(widget_class, on_preset_ambience); gtk_widget_class_bind_template_callback(widget_class, on_preset_large_empty_hall); gtk_widget_class_bind_template_callback(widget_class, on_preset_disco); gtk_widget_class_bind_template_callback(widget_class, on_preset_large_occupied_hall); } void reverb_box_init(ReverbBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"Hz">(self->hf_damp, self->bass_cut, self->treble_cut); prepare_spinbuttons<"s">(self->decay_time); prepare_spinbuttons<"ms">(self->predelay); prepare_spinbuttons<"">(self->diffusion); // These spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->wet, self->dry); } auto create() -> ReverbBox* { return static_cast(g_object_new(EE_TYPE_REVERB_BOX, nullptr)); } } // namespace ui::reverb_box easyeffects-7.1.7/src/rnnoise.cpp000066400000000000000000000304651463533416400170200ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "rnnoise.hpp" #include #include #include #ifdef ENABLE_RNNOISE #include #endif #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "resampler.hpp" #include "tags_plugin_name.hpp" #include "tags_resources.hpp" #include "util.hpp" RNNoise::RNNoise(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::rnnoise, tags::plugin_package::rnnoise, schema, schema_path, pipe_manager, pipe_type), enable_vad(g_settings_get_boolean(settings, "enable-vad")), vad_thres(g_settings_get_double(settings, "vad-thres") / 100.0F), data_L(0), data_R(0) { data_L.reserve(blocksize); data_R.reserve(blocksize); data_tmp.reserve(blocksize); // Initialize directories for local and community models local_dir_rnnoise = std::string{g_get_user_config_dir()} + "/easyeffects/rnnoise"; // Flatpak specific path (.flatpak-info always present for apps running in the flatpak sandbox) if (std::filesystem::is_regular_file(tags::resources::flatpak_info_file)) { system_data_dir_rnnoise.push_back("/app/extensions/Presets/rnnoise"); } // Regular paths for (const gchar* const* xdg_data_dirs = g_get_system_data_dirs(); *xdg_data_dirs != nullptr;) { std::string dir = *xdg_data_dirs++; dir += dir.ends_with("/") ? "" : "/"; system_data_dir_rnnoise.push_back(dir + "easyeffects/rnnoise"); } const auto key_v = g_settings_get_double(settings, "wet"); wet_ratio = (key_v <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_v)); gconnections.push_back(g_signal_connect(settings, "changed::model-name", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); self->data_mutex.lock(); self->rnnoise_ready = false; self->data_mutex.unlock(); #ifdef ENABLE_RNNOISE self->free_rnnoise(); auto* m = self->get_model_from_name(); self->model = m; self->state_left = rnnoise_create(self->model); self->state_right = rnnoise_create(self->model); self->rnnoise_ready = true; #endif }), this)); setup_input_output_gain(); #ifdef ENABLE_RNNOISE init_release(); gconnections.push_back(g_signal_connect(settings, "changed::enable-vad", G_CALLBACK(+[](GSettings* settings, char* key, RNNoise* self) { self->enable_vad = g_settings_get_boolean(settings, key); }), this)); g_signal_connect(settings, "changed::vad-thres", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto self = static_cast(user_data); self->vad_thres = static_cast(g_settings_get_double(settings, key)) / 100.0F; }), this); g_signal_connect(settings, "changed::wet", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto self = static_cast(user_data); const auto key_v = g_settings_get_double(settings, key); self->wet_ratio = (key_v <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_v)); }), this); g_signal_connect(settings, "changed::release", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto self = static_cast(user_data); self->init_release(); }), this); auto* m = get_model_from_name(); model = m; state_left = rnnoise_create(model); state_right = rnnoise_create(model); vad_prob_left = 1.0F; vad_prob_right = 1.0F; vad_grace_left = release; vad_grace_right = release; rnnoise_ready = true; #else util::warning("The RNNoise library was not available at compilation time. The noise reduction filter won't work"); enable_vad = false; #endif } RNNoise::~RNNoise() { if (connected_to_pw) { disconnect_from_pw(); } std::scoped_lock lock(data_mutex); resampler_ready = false; #ifdef ENABLE_RNNOISE free_rnnoise(); #endif util::debug(log_tag + name + " destroyed"); } void RNNoise::setup() { std::scoped_lock lock(data_mutex); resampler_ready = false; latency_n_frames = 0U; resample = rate != rnnoise_rate; data_L.resize(0U); data_R.resize(0U); deque_out_L.resize(0U); deque_out_R.resize(0U); resampler_inL = std::make_unique(rate, rnnoise_rate); resampler_inR = std::make_unique(rate, rnnoise_rate); resampler_outL = std::make_unique(rnnoise_rate, rate); resampler_outR = std::make_unique(rnnoise_rate, rate); resampler_ready = true; } void RNNoise::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass || !rnnoise_ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } if (resample) { if (resampler_ready) { const auto resampled_inL = resampler_inL->process(left_in, false); const auto resampled_inR = resampler_inR->process(right_in, false); resampled_data_L.resize(0U); resampled_data_R.resize(0U); #ifdef ENABLE_RNNOISE remove_noise(resampled_inL, resampled_inR, resampled_data_L, resampled_data_R); #endif auto resampled_outL = resampler_outL->process(resampled_data_L, false); auto resampled_outR = resampler_outR->process(resampled_data_R, false); for (const auto& v : resampled_outL) { deque_out_L.push_back(v); } for (const auto& v : resampled_outR) { deque_out_R.push_back(v); } } else { for (const auto& v : left_in) { deque_out_L.push_back(v); } for (const auto& v : right_in) { deque_out_R.push_back(v); } } } else { #ifdef ENABLE_RNNOISE remove_noise(left_in, right_in, deque_out_L, deque_out_R); #endif } if (deque_out_L.size() >= left_out.size()) { for (float& v : left_out) { v = deque_out_L.front(); deque_out_L.pop_front(); } for (float& v : right_out) { v = deque_out_R.front(); deque_out_R.pop_front(); } } else { const uint offset = 2U * (left_out.size() - deque_out_L.size()); if (offset != latency_n_frames) { latency_n_frames = offset; notify_latency = true; } for (uint n = 0U; !deque_out_L.empty() && n < left_out.size(); n++) { if (n < offset) { left_out[n] = 0.0F; right_out[n] = 0.0F; } else { left_out[n] = deque_out_L.front(); right_out[n] = deque_out_R.front(); deque_out_R.pop_front(); deque_out_L.pop_front(); } } } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (notify_latency) { latency_value = static_cast(latency_n_frames) / static_cast(rate); util::debug(log_tag + name + " latency: " + util::to_string(latency_value, "") + " s"); util::idle_add([this]() { if (!post_messages || latency.empty()) { return; } latency.emit(); }); update_filter_params(); notify_latency = false; } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto RNNoise::search_model_path(const std::string& name) -> std::string { // Given the model name without extension, search the full path on the filesystem. const auto model_filename = name + rnnn_ext; const auto* lcp_key = (pipeline_type == PipelineType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; const auto community_package = util::gsettings_get_string(global_settings, lcp_key); std::string model_full_path; if (community_package.empty()) { // Search local model const auto local_model_file = std::filesystem::path{local_dir_rnnoise + "/" + model_filename}; if (std::filesystem::exists(local_model_file)) { model_full_path = local_model_file.c_str(); } } else { // Search model in community package paths for (const auto& xdg_model_dir : system_data_dir_rnnoise) { if (util::search_filename(std::filesystem::path{xdg_model_dir + "/" + community_package}, model_filename, model_full_path, 3U)) { break; } } } return model_full_path; } #ifdef ENABLE_RNNOISE auto RNNoise::get_model_from_name() -> RNNModel* { RNNModel* m = nullptr; const auto name = util::gsettings_get_string(settings, "model-name"); // Standard Model if (name.empty()) { standard_model = true; util::warning(log_tag + " empty model name set, using the standard model"); model_changed.emit(false); return m; } const auto path = search_model_path(name); // Standard Model if (path.empty()) { standard_model = true; util::debug(log_tag + name + " model does not exist on the filesystem, using the standard model."); model_changed.emit(false); return m; } // Custom Model util::debug(log_tag + name + " loading custom model from path: " + path); if (FILE* f = fopen(path.c_str(), "r"); f != nullptr) { m = rnnoise_model_from_file(f); fclose(f); } standard_model = (m == nullptr); if (standard_model) { util::warning(log_tag + name + " failed to load the custom model. Using the standard one."); } model_changed.emit(standard_model); return m; } void RNNoise::free_rnnoise() { rnnoise_ready = false; if (state_left != nullptr) { rnnoise_destroy(state_left); } if (state_right != nullptr) { rnnoise_destroy(state_right); } if (model != nullptr) { rnnoise_model_free(model); } state_left = nullptr; state_right = nullptr; model = nullptr; } #endif auto RNNoise::get_latency_seconds() -> float { return latency_value; } void RNNoise::init_release() { #ifdef ENABLE_RNNOISE const auto key_v = g_settings_get_double(settings, "release"); const auto rate = static_cast(rnnoise_rate); const auto bs = static_cast(blocksize); // std::lrint returns a long type const auto release = static_cast(std::lrint(rate * key_v / 1000.0 / bs)); vad_grace_left = release; vad_grace_right = release; #endif } easyeffects-7.1.7/src/rnnoise_preset.cpp000066400000000000000000000072271463533416400204020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "rnnoise_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" RNNoisePreset::RNNoisePreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::rnnoise::id, tags::schema::rnnoise::input_path, tags::schema::rnnoise::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::rnnoise).append("#").append(util::to_string(index)); } void RNNoisePreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["model-name"] = util::gsettings_get_string(settings, "model-name"); json[section][instance_name]["enable-vad"] = g_settings_get_boolean(settings, "enable-vad") != 0; json[section][instance_name]["vad-thres"] = g_settings_get_double(settings, "vad-thres"); json[section][instance_name]["wet"] = g_settings_get_double(settings, "wet"); json[section][instance_name]["release"] = g_settings_get_double(settings, "release"); } void RNNoisePreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "enable-vad", "enable-vad"); update_key(json.at(section).at(instance_name), settings, "vad-thres", "vad-thres"); update_key(json.at(section).at(instance_name), settings, "wet", "wet"); update_key(json.at(section).at(instance_name), settings, "release", "release"); // model-path deprecation const auto* model_name_key = "model-name"; std::string new_model_name = json.at(section).at(instance_name).value(model_name_key, get_default(settings, model_name_key)); if (new_model_name.empty()) { const std::string model_path = json.at(section).at(instance_name).value("model-path", ""); if (!model_path.empty()) { new_model_name = std::filesystem::path{model_path}.stem().c_str(); util::warning("using RNNoise model-path is deprecated, please update your preset; fallback to model-name: " + new_model_name); } } const auto current_model_name = util::gsettings_get_string(settings, model_name_key); if (new_model_name != current_model_name) { g_settings_set_string(settings, model_name_key, new_model_name.c_str()); } } easyeffects-7.1.7/src/rnnoise_ui.cpp000066400000000000000000000434621463533416400175160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "rnnoise_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "config.h" #include "rnnoise.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::rnnoise_box { using namespace std::string_literals; static const std::string rnnn_ext = ".rnnn"; // The translated default_model_name is not working as global variable // because for some reasons it's not translated and, as a result, the // Standard Model is not set from UI perspective (see #1659). // So it has to be constructed every time locally when it's needed. // static const std::string default_model_name = _("Standard Model"); static std::filesystem::path model_dir = g_get_user_config_dir() + "/easyeffects/rnnoise"s; struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; app::Application* application; std::shared_ptr rnnoise; std::vector connections; std::vector gconnections; }; struct _RNNoiseBox { GtkBox parent_instance; AdwToastOverlay* toast_overlay; GtkScale *input_gain, *output_gain; GtkSpinButton *vad_thres, *wet, *release; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *active_model_name, *model_active_state, *model_error_state, *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkSwitch* enable_vad; GtkListView* listview; GtkStringList* string_list; GtkSingleSelection* selection_model; GSettings* settings; GFileMonitor* folder_monitor; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(RNNoiseBox, rnnoise_box, GTK_TYPE_BOX) void on_reset(RNNoiseBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void update_model_state(RNNoiseBox* self, const bool& load_error) { gtk_widget_set_visible(GTK_WIDGET(self->model_error_state), load_error ? 1 : 0); gtk_widget_set_visible(GTK_WIDGET(self->model_active_state), !load_error ? 1 : 0); if (load_error) { ui::show_autohiding_toast( self->toast_overlay, _("Selected Model Not Loaded. Its Format May Be Unsupported. Fell Back To The Standard Model.")); } } gboolean set_model_delete_button_visibility(GtkListItem* item, const char* name) { const std::string default_model_name = _("Standard Model"); return (name == default_model_name) ? 0 : 1; } void on_remove_model_file(GtkListItem* item, GtkButton* btn) { std::string name = gtk_string_object_get_string(GTK_STRING_OBJECT(gtk_list_item_get_item(item))); const auto model_file = model_dir / std::filesystem::path{name.c_str() + rnnn_ext}; if (std::filesystem::exists(model_file)) { std::filesystem::remove(model_file); util::debug("removed model file: " + model_file.string()); } } void import_model_file(const std::string& file_path) { std::filesystem::path p{file_path}; if (std::filesystem::is_regular_file(p)) { auto out_path = model_dir / p.filename(); out_path.replace_extension(rnnn_ext); std::filesystem::copy_file(p, out_path, std::filesystem::copy_options::overwrite_existing); util::debug("imported model file to: " + out_path.string()); } else { util::warning(p.string() + " is not a file!"); } } void on_import_model_clicked(RNNoiseBox* self, GtkButton* btn) { auto* active_window = gtk_application_get_active_window(GTK_APPLICATION(self->data->application)); auto* dialog = gtk_file_dialog_new(); gtk_file_dialog_set_title(dialog, _("Import Model File")); gtk_file_dialog_set_accept_label(dialog, _("Open")); auto* init_folder = g_file_new_for_path(g_get_home_dir()); gtk_file_dialog_set_initial_folder(dialog, init_folder); g_object_unref(init_folder); GListStore* filters = g_list_store_new(GTK_TYPE_FILE_FILTER); auto* filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("RNNoise Models")); gtk_file_filter_add_pattern(filter, ("*"s + rnnn_ext).c_str()); g_list_store_append(filters, filter); g_object_unref(filter); gtk_file_dialog_set_filters(dialog, G_LIST_MODEL(filters)); g_object_unref(filters); gtk_file_dialog_open_multiple( dialog, active_window, nullptr, +[](GObject* source_object, GAsyncResult* result, gpointer user_data) { auto* dialog = GTK_FILE_DIALOG(source_object); auto* files_list = gtk_file_dialog_open_multiple_finish(dialog, result, nullptr); if (files_list == nullptr) { return; } for (guint n = 0U; n < g_list_model_get_n_items(files_list); n++) { auto* file = static_cast(g_list_model_get_item(files_list, n)); auto* path = g_file_get_path(file); import_model_file(path); g_free(path); } g_object_unref(files_list); }, self); } void setup_listview(RNNoiseBox* self) { for (const auto& name : util::get_files_name(model_dir, rnnn_ext)) { gtk_string_list_append(self->string_list, name.c_str()); } if (g_list_model_get_n_items(G_LIST_MODEL(self->string_list)) == 0U) { g_settings_reset(self->settings, "model-name"); } } void setup(RNNoiseBox* self, std::shared_ptr rnnoise, const std::string& schema_path, app::Application* application) { self->data->rnnoise = rnnoise; self->data->application = application; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::rnnoise::id, schema_path.c_str()); rnnoise->set_post_messages(true); // Initialize state labels if (const auto m = util::gsettings_get_string(self->settings, "model-name"); !m.empty() && rnnoise->standard_model) { update_model_state(self, true); } setup_listview(self); self->data->connections.push_back(rnnoise->model_changed.connect([=](const bool load_error) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_model_state(self, load_error); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(rnnoise->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(rnnoise->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->rnnoise->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain", "enable-vad", "vad-thres", "wet", "release">( self->settings, self->input_gain, self->output_gain, self->enable_vad, self->vad_thres, self->wet, self->release); g_settings_bind_with_mapping( self->settings, "model-name", self->selection_model, "selected", G_SETTINGS_BIND_DEFAULT, +[](GValue* value, GVariant* variant, gpointer user_data) { auto* self = EE_RNNOISE_BOX(user_data); const std::string default_model_name = _("Standard Model"); const std::string gsettings_model_name = g_variant_get_string(variant, nullptr); const auto* lcp_key = (self->data->rnnoise->pipeline_type == PipelineType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; const auto community_package = util::gsettings_get_string(self->data->application->settings, lcp_key); if (!community_package.empty()) { // Model from community package used, so unselect the selection. g_value_set_uint(value, GTK_INVALID_LIST_POSITION); // Since no item is selected, we set the community model name in // the active_model_name label manually. gtk_label_set_text(self->active_model_name, gsettings_model_name.c_str()); return 1; } // Local model used. int standard_model_id = 0; for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->selection_model)); n++) { auto item = g_list_model_get_item(G_LIST_MODEL(self->selection_model), n); auto* string_object = GTK_STRING_OBJECT(item); if (string_object == nullptr) { continue; } const std::string model_name = gtk_string_object_get_string(string_object); g_object_unref(item); if (gsettings_model_name == model_name) { // Select the local model and exit. g_value_set_uint(value, n); return 1; } else if (model_name == default_model_name) { // Save the position of the standard model. standard_model_id = n; } } if (gsettings_model_name.empty()) { // If the model name is empty, select the standard model. g_value_set_uint(value, standard_model_id); } else { // A local preset is loaded, but the model file on the filesystem is missing. // Unselect the selection. g_value_set_uint(value, GTK_INVALID_LIST_POSITION); // Update the active_model_name anyway. gtk_label_set_text(self->active_model_name, gsettings_model_name.c_str()); } return 1; }, +[](const GValue* value, const GVariantType* expected_type, gpointer user_data) { auto* self = EE_RNNOISE_BOX(user_data); const auto* lcp_key = (self->data->rnnoise->pipeline_type == PipelineType::input) ? "last-loaded-input-community-package" : "last-loaded-output-community-package"; // models loaded from the rnnoise ui are always local. g_settings_reset(self->data->application->settings, lcp_key); auto string_object = GTK_STRING_OBJECT(gtk_single_selection_get_selected_item(GTK_SINGLE_SELECTION(self->selection_model))); const std::string selected_name = (string_object != nullptr) ? gtk_string_object_get_string(string_object) : ""; const std::string default_model_name = _("Standard Model"); const std::string gsettings_model_name = (selected_name == default_model_name) ? "" : selected_name; return g_variant_new_string(gsettings_model_name.c_str()); }, self, nullptr); } void dispose(GObject* object) { auto* self = EE_RNNOISE_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); g_file_monitor_cancel(self->folder_monitor); g_object_unref(self->folder_monitor); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(rnnoise_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_RNNOISE_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(rnnoise_box_parent_class)->finalize(object); } void rnnoise_box_class_init(RNNoiseBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::rnnoise_ui); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, toast_overlay); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, input_gain); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, output_gain); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, enable_vad); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, vad_thres); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, wet); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, release); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, string_list); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, selection_model); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, listview); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, active_model_name); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, model_active_state); gtk_widget_class_bind_template_child(widget_class, RNNoiseBox, model_error_state); gtk_widget_class_bind_template_callback(widget_class, on_reset); gtk_widget_class_bind_template_callback(widget_class, on_import_model_clicked); gtk_widget_class_bind_template_callback(widget_class, on_remove_model_file); gtk_widget_class_bind_template_callback(widget_class, set_model_delete_button_visibility); } void rnnoise_box_init(RNNoiseBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"ms">(self->release); prepare_spinbuttons<"%">(self->vad_thres); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->wet); // model dir auto gfile = g_file_new_for_path(model_dir.c_str()); self->folder_monitor = g_file_monitor_directory(gfile, G_FILE_MONITOR_NONE, nullptr, nullptr); g_signal_connect(self->folder_monitor, "changed", G_CALLBACK(+[](GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type, RNNoiseBox* self) { const auto rnn_filename = util::remove_filename_extension(g_file_get_basename(file)); if (rnn_filename.empty()) { util::warning("can't retrieve information about the rnn file"); return; } switch (event_type) { case G_FILE_MONITOR_EVENT_CREATED: { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->string_list)); n++) { if (rnn_filename == gtk_string_list_get_string(self->string_list, n)) { return; } } gtk_string_list_append(self->string_list, rnn_filename.c_str()); break; } case G_FILE_MONITOR_EVENT_DELETED: { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(self->string_list)); n++) { if (rnn_filename == gtk_string_list_get_string(self->string_list, n)) { gtk_string_list_remove(self->string_list, n); // Workaround for GTK not calling the listview signal_selection_changed (issue #1110) // on_selection_changed(); return; } } break; } default: break; } }), self); g_object_unref(gfile); } auto create() -> RNNoiseBox* { return static_cast(g_object_new(EE_TYPE_RNNOISE_BOX, nullptr)); } } // namespace ui::rnnoise_box easyeffects-7.1.7/src/spectrum.cpp000066400000000000000000000106541463533416400172030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "spectrum.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Spectrum::Spectrum(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, "spectrum", tags::plugin_package::ee, schema, schema_path, pipe_manager, pipe_type), fftw_ready(true) { real_input.resize(n_bands); output.resize(n_bands / 2U + 1U); complex_output = fftwf_alloc_complex(n_bands); plan = fftwf_plan_dft_r2c_1d(static_cast(n_bands), real_input.data(), complex_output, FFTW_ESTIMATE); g_signal_connect(settings, "changed::show", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); std::scoped_lock lock(self->data_mutex); self->bypass = g_settings_get_boolean(settings, key) == 0; }), this); } Spectrum::~Spectrum() { if (connected_to_pw) { disconnect_from_pw(); } std::scoped_lock lock(data_mutex); fftw_ready = false; if (complex_output != nullptr) { fftwf_free(complex_output); } fftwf_destroy_plan(plan); util::debug(log_tag + name + " destroyed"); } void Spectrum::setup() { deque_in_mono.resize(0U); std::ranges::fill(real_input, 0.0F); /* real_input size is hardcoded to 8192. THe same maxium buffer size hardcoded in PipeWire https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/filter.c#L48. If we reevei a smaller array we have to insert some zeros in the beginning. */ if (n_samples < real_input.size()) { while (deque_in_mono.size() != real_input.size() - n_samples) { deque_in_mono.push_back(0.0F); } } } void Spectrum::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); if (bypass || !fftw_ready) { return; } for (uint n = 0U; n < left_in.size(); n++) { deque_in_mono.push_back(0.5F * (left_in[n] + right_in[n])); } for (size_t n = 0; n < deque_in_mono.size(); n++) { if (n < real_input.size()) { // https : // en.wikipedia.org/wiki/Hann_function const float w = 0.5F * (1.0F - std::cos(2.0F * std::numbers::pi_v * static_cast(n) / static_cast(real_input.size() - 1U))); real_input[n] = deque_in_mono[n] * w; } } size_t count = 0U; while (count < n_samples && !deque_in_mono.empty()) { deque_in_mono.pop_front(); count++; } fftwf_execute(plan); for (uint i = 0U; i < output.size(); i++) { float sqr = complex_output[i][0] * complex_output[i][0] + complex_output[i][1] * complex_output[i][1]; sqr /= static_cast(output.size() * output.size()); output[i] = static_cast(sqr); } if (send_notifications) { util::idle_add([this]() { if (bypass) { return; } power.emit(rate, output.size(), output); }); } } auto Spectrum::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/speex.cpp000066400000000000000000000243731463533416400164700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "speex.hpp" #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" Speex::Speex(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::speex, tags::plugin_package::speex, schema, schema_path, pipe_manager, pipe_type), enable_denoise(g_settings_get_boolean(settings, "enable-denoise")), noise_suppression(g_settings_get_int(settings, "noise-suppression")), enable_agc(g_settings_get_boolean(settings, "enable-agc")), enable_vad(g_settings_get_boolean(settings, "enable-vad")), vad_probability_start(g_settings_get_int(settings, "vad-probability-start")), vad_probability_continue(g_settings_get_int(settings, "vad-probability-continue")), enable_dereverb(g_settings_get_boolean(settings, "enable-dereverb")) { gconnections.push_back(g_signal_connect( settings, "changed::enable-denoise", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->enable_denoise = g_settings_get_boolean(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_DENOISE, &self->enable_denoise); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_DENOISE, &self->enable_denoise); } }), this)); gconnections.push_back(g_signal_connect( settings, "changed::noise-suppression", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->noise_suppression = g_settings_get_int(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &self->noise_suppression); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &self->noise_suppression); } }), this)); gconnections.push_back( g_signal_connect(settings, "changed::enable-agc", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->enable_agc = g_settings_get_boolean(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_AGC, &self->enable_agc); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_AGC, &self->enable_agc); } }), this)); gconnections.push_back( g_signal_connect(settings, "changed::enable-vad", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->enable_vad = g_settings_get_boolean(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_VAD, &self->enable_vad); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_VAD, &self->enable_vad); } }), this)); gconnections.push_back(g_signal_connect( settings, "changed::vad-probability-start", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->vad_probability_start = g_settings_get_int(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_PROB_START, &self->vad_probability_start); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_PROB_START, &self->vad_probability_start); } }), this)); gconnections.push_back(g_signal_connect( settings, "changed::vad-probability-continue", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->vad_probability_continue = g_settings_get_int(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_PROB_CONTINUE, &self->vad_probability_continue); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_PROB_CONTINUE, &self->vad_probability_continue); } }), this)); gconnections.push_back(g_signal_connect( settings, "changed::enable-dereverb", G_CALLBACK(+[](GSettings* settings, char* key, Speex* self) { std::scoped_lock lock(self->data_mutex); self->enable_dereverb = g_settings_get_boolean(settings, key); if (self->state_left) { speex_preprocess_ctl(self->state_left, SPEEX_PREPROCESS_SET_DEREVERB, &self->enable_dereverb); } if (self->state_right) { speex_preprocess_ctl(self->state_right, SPEEX_PREPROCESS_SET_DEREVERB, &self->enable_dereverb); } }), this)); setup_input_output_gain(); } Speex::~Speex() { if (connected_to_pw) { disconnect_from_pw(); } std::scoped_lock lock(data_mutex); free_speex(); util::debug(log_tag + name + " destroyed"); } void Speex::setup() { std::scoped_lock lock(data_mutex); latency_n_frames = 0U; speex_ready = false; data_L.resize(n_samples); data_R.resize(n_samples); if (state_left != nullptr) { speex_preprocess_state_destroy(state_left); } if (state_right != nullptr) { speex_preprocess_state_destroy(state_right); } state_left = speex_preprocess_state_init(static_cast(n_samples), static_cast(rate)); state_right = speex_preprocess_state_init(static_cast(n_samples), static_cast(rate)); if (state_left != nullptr) { speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_DENOISE, &enable_denoise); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &noise_suppression); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_AGC, &enable_agc); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_VAD, &enable_vad); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_PROB_START, &vad_probability_start); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_PROB_CONTINUE, &vad_probability_continue); speex_preprocess_ctl(state_left, SPEEX_PREPROCESS_SET_DEREVERB, &enable_dereverb); } if (state_right != nullptr) { speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_DENOISE, &enable_denoise); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &noise_suppression); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_AGC, &enable_agc); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_VAD, &enable_vad); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_PROB_START, &vad_probability_start); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_PROB_CONTINUE, &vad_probability_continue); speex_preprocess_ctl(state_right, SPEEX_PREPROCESS_SET_DEREVERB, &enable_dereverb); } speex_ready = true; } void Speex::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { std::scoped_lock lock(data_mutex); if (bypass || !speex_ready) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } for (size_t i = 0; i < n_samples; i++) { data_L[i] = static_cast(left_in[i] * (SHRT_MAX + 1)); data_R[i] = static_cast(right_in[i] * (SHRT_MAX + 1)); } if (speex_preprocess_run(state_left, data_L.data()) == 1) { for (size_t i = 0; i < n_samples; i++) { left_out[i] = static_cast(data_L[i]) * inv_short_max; } } else { std::ranges::fill(left_out, 0.0F); } if (speex_preprocess_run(state_right, data_R.data()) == 1) { for (size_t i = 0; i < n_samples; i++) { right_out[i] = static_cast(data_R[i]) * inv_short_max; } } else { std::ranges::fill(right_out, 0.0F); } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } void Speex::free_speex() { if (state_left != nullptr) { speex_preprocess_state_destroy(state_left); } if (state_right != nullptr) { speex_preprocess_state_destroy(state_right); } state_left = nullptr; state_right = nullptr; } auto Speex::get_latency_seconds() -> float { return latency_value; } easyeffects-7.1.7/src/speex_preset.cpp000066400000000000000000000070151463533416400200440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "speex_preset.hpp" #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" SpeexPreset::SpeexPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::speex::id, tags::schema::speex::input_path, tags::schema::speex::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::speex).append("#").append(util::to_string(index)); } void SpeexPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["enable-denoise"] = g_settings_get_boolean(settings, "enable-denoise") != 0; json[section][instance_name]["noise-suppression"] = g_settings_get_int(settings, "noise-suppression"); json[section][instance_name]["enable-agc"] = g_settings_get_boolean(settings, "enable-agc") != 0; json[section][instance_name]["vad"]["enable"] = g_settings_get_boolean(settings, "enable-vad") != 0; json[section][instance_name]["vad"]["probability-start"] = g_settings_get_int(settings, "vad-probability-start"); json[section][instance_name]["vad"]["probability-continue"] = g_settings_get_int(settings, "vad-probability-continue"); json[section][instance_name]["enable-dereverb"] = g_settings_get_boolean(settings, "enable-dereverb") != 0; } void SpeexPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "enable-denoise", "enable-denoise"); update_key(json.at(section).at(instance_name), settings, "noise-suppression", "noise-suppression"); update_key(json.at(section).at(instance_name), settings, "enable-agc", "enable-agc"); update_key(json.at(section).at(instance_name).at("vad"), settings, "enable-vad", "enable"); update_key(json.at(section).at(instance_name).at("vad"), settings, "vad-probability-start", "probability-start"); update_key(json.at(section).at(instance_name).at("vad"), settings, "vad-probability-continue", "probability-continue"); update_key(json.at(section).at(instance_name), settings, "enable-dereverb", "enable-dereverb"); } easyeffects-7.1.7/src/speex_ui.cpp000066400000000000000000000164011463533416400171560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "speex_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "application.hpp" #include "speex.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::speex_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; app::Application* application; std::shared_ptr speex; std::vector connections; std::vector gconnections; }; struct _SpeexBox { GtkBox parent_instance; AdwToastOverlay* toast_overlay; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *noise_suppression_label, *plugin_credit; GtkSwitch *enable_denoise, *enable_agc, *enable_vad, *enable_dereverb; GtkSpinButton *noise_suppression, *vad_probability_start, *vad_probability_continue; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(SpeexBox, speex_box, GTK_TYPE_BOX) void on_reset(SpeexBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(SpeexBox* self, std::shared_ptr speex, const std::string& schema_path, app::Application* application) { self->data->speex = speex; self->data->application = application; auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->settings = g_settings_new_with_path(tags::schema::speex::id, schema_path.c_str()); speex->set_post_messages(true); self->data->connections.push_back(speex->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(speex->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->speex->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain", "enable-denoise", "noise-suppression", "enable-agc", "enable-vad", "vad-probability-start", "vad-probability-continue", "enable-dereverb">( self->settings, self->input_gain, self->output_gain, self->enable_denoise, self->noise_suppression, self->enable_agc, self->enable_vad, self->vad_probability_start, self->vad_probability_continue, self->enable_dereverb); } void dispose(GObject* object) { auto* self = EE_SPEEX_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(speex_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_SPEEX_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(speex_box_parent_class)->finalize(object); } void speex_box_class_init(SpeexBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::speex_ui); gtk_widget_class_bind_template_child(widget_class, SpeexBox, toast_overlay); gtk_widget_class_bind_template_child(widget_class, SpeexBox, input_gain); gtk_widget_class_bind_template_child(widget_class, SpeexBox, output_gain); gtk_widget_class_bind_template_child(widget_class, SpeexBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, SpeexBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, SpeexBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, SpeexBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, SpeexBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, SpeexBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, SpeexBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, SpeexBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, SpeexBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, SpeexBox, enable_denoise); gtk_widget_class_bind_template_child(widget_class, SpeexBox, enable_agc); gtk_widget_class_bind_template_child(widget_class, SpeexBox, enable_vad); gtk_widget_class_bind_template_child(widget_class, SpeexBox, enable_dereverb); gtk_widget_class_bind_template_child(widget_class, SpeexBox, noise_suppression); gtk_widget_class_bind_template_child(widget_class, SpeexBox, vad_probability_start); gtk_widget_class_bind_template_child(widget_class, SpeexBox, vad_probability_continue); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void speex_box_init(SpeexBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"dB">(self->noise_suppression); prepare_spinbuttons<"%">(self->vad_probability_start); prepare_spinbuttons<"%">(self->vad_probability_continue); } auto create() -> SpeexBox* { return static_cast(g_object_new(EE_TYPE_SPEEX_BOX, nullptr)); } } // namespace ui::speex_box easyeffects-7.1.7/src/stereo_tools.cpp000066400000000000000000000125551463533416400200640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "stereo_tools.hpp" #include #include #include #include #include #include #include #include #include "lv2_wrapper.hpp" #include "pipe_manager.hpp" #include "plugin_base.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" StereoTools::StereoTools(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager, PipelineType pipe_type) : PluginBase(tag, tags::plugin_name::stereo_tools, tags::plugin_package::calf, schema, schema_path, pipe_manager, pipe_type) { lv2_wrapper = std::make_unique("http://calf.sourceforge.net/plugins/StereoTools"); package_installed = lv2_wrapper->found_plugin; if (!package_installed) { util::debug(log_tag + "http://calf.sourceforge.net/plugins/StereoTools is not installed"); } lv2_wrapper->bind_key_double<"balance_in", "balance-in">(settings); lv2_wrapper->bind_key_double<"balance_out", "balance-out">(settings); lv2_wrapper->bind_key_double<"sbal", "sbal">(settings); lv2_wrapper->bind_key_double<"mpan", "mpan">(settings); lv2_wrapper->bind_key_double<"stereo_base", "stereo-base">(settings); lv2_wrapper->bind_key_double<"delay", "delay">(settings); lv2_wrapper->bind_key_double<"sc_level", "sc-level">(settings); lv2_wrapper->bind_key_double<"stereo_phase", "stereo-phase">(settings); lv2_wrapper->bind_key_double_db<"slev", "slev">(settings); lv2_wrapper->bind_key_double_db<"mlev", "mlev">(settings); lv2_wrapper->bind_key_bool<"softclip", "softclip">(settings); lv2_wrapper->bind_key_bool<"mutel", "mutel">(settings); lv2_wrapper->bind_key_bool<"muter", "muter">(settings); lv2_wrapper->bind_key_bool<"phasel", "phasel">(settings); lv2_wrapper->bind_key_bool<"phaser", "phaser">(settings); lv2_wrapper->bind_key_enum<"mode", "mode">(settings); const auto key_dry = g_settings_get_double(settings, "dry"); dry = (key_dry <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_dry)); const auto key_wet = g_settings_get_double(settings, "wet"); wet = (key_wet <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_wet)); gconnections.push_back(g_signal_connect( settings, "changed::dry", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto key_v = g_settings_get_double(settings, key); self->dry = (key_v <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_v)); }), this)); gconnections.push_back(g_signal_connect( settings, "changed::wet", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto key_v = g_settings_get_double(settings, key); self->wet = (key_v <= util::minimum_db_d_level) ? 0.0F : static_cast(util::db_to_linear(key_v)); }), this)); setup_input_output_gain(); } StereoTools::~StereoTools() { if (connected_to_pw) { disconnect_from_pw(); } util::debug(log_tag + name + " destroyed"); } void StereoTools::setup() { if (!lv2_wrapper->found_plugin) { return; } lv2_wrapper->set_n_samples(n_samples); if (lv2_wrapper->get_rate() != rate) { lv2_wrapper->create_instance(rate); } } void StereoTools::process(std::span& left_in, std::span& right_in, std::span& left_out, std::span& right_out) { if (!lv2_wrapper->found_plugin || !lv2_wrapper->has_instance() || bypass) { std::copy(left_in.begin(), left_in.end(), left_out.begin()); std::copy(right_in.begin(), right_in.end(), right_out.begin()); return; } if (input_gain != 1.0F) { apply_gain(left_in, right_in, input_gain); } lv2_wrapper->connect_data_ports(left_in, right_in, left_out, right_out); lv2_wrapper->run(); for (size_t n = 0; n < left_out.size(); n++) { left_out[n] = wet * left_out[n] + dry * left_in[n]; right_out[n] = wet * right_out[n] + dry * right_in[n]; } if (output_gain != 1.0F) { apply_gain(left_out, right_out, output_gain); } if (post_messages) { get_peaks(left_in, right_in, left_out, right_out); if (send_notifications) { notify(); } } } auto StereoTools::get_latency_seconds() -> float { return 0.0F; } easyeffects-7.1.7/src/stereo_tools_preset.cpp000066400000000000000000000117141463533416400214420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "stereo_tools_preset.hpp" #include #include #include #include "plugin_preset_base.hpp" #include "preset_type.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" StereoToolsPreset::StereoToolsPreset(PresetType preset_type, const int& index) : PluginPresetBase(tags::schema::stereo_tools::id, tags::schema::stereo_tools::input_path, tags::schema::stereo_tools::output_path, preset_type, index) { instance_name.assign(tags::plugin_name::stereo_tools).append("#").append(util::to_string(index)); } void StereoToolsPreset::save(nlohmann::json& json) { json[section][instance_name]["bypass"] = g_settings_get_boolean(settings, "bypass") != 0; json[section][instance_name]["input-gain"] = g_settings_get_double(settings, "input-gain"); json[section][instance_name]["output-gain"] = g_settings_get_double(settings, "output-gain"); json[section][instance_name]["balance-in"] = g_settings_get_double(settings, "balance-in"); json[section][instance_name]["balance-out"] = g_settings_get_double(settings, "balance-out"); json[section][instance_name]["softclip"] = g_settings_get_boolean(settings, "softclip") != 0; json[section][instance_name]["mutel"] = g_settings_get_boolean(settings, "mutel") != 0; json[section][instance_name]["muter"] = g_settings_get_boolean(settings, "muter") != 0; json[section][instance_name]["phasel"] = g_settings_get_boolean(settings, "phasel") != 0; json[section][instance_name]["phaser"] = g_settings_get_boolean(settings, "phaser") != 0; json[section][instance_name]["mode"] = util::gsettings_get_string(settings, "mode"); json[section][instance_name]["side-level"] = g_settings_get_double(settings, "slev"); json[section][instance_name]["side-balance"] = g_settings_get_double(settings, "sbal"); json[section][instance_name]["middle-level"] = g_settings_get_double(settings, "mlev"); json[section][instance_name]["middle-panorama"] = g_settings_get_double(settings, "mpan"); json[section][instance_name]["stereo-base"] = g_settings_get_double(settings, "stereo-base"); json[section][instance_name]["delay"] = g_settings_get_double(settings, "delay"); json[section][instance_name]["sc-level"] = g_settings_get_double(settings, "sc-level"); json[section][instance_name]["stereo-phase"] = g_settings_get_double(settings, "stereo-phase"); } void StereoToolsPreset::load(const nlohmann::json& json) { update_key(json.at(section).at(instance_name), settings, "bypass", "bypass"); update_key(json.at(section).at(instance_name), settings, "input-gain", "input-gain"); update_key(json.at(section).at(instance_name), settings, "output-gain", "output-gain"); update_key(json.at(section).at(instance_name), settings, "balance-in", "balance-in"); update_key(json.at(section).at(instance_name), settings, "balance-out", "balance-out"); update_key(json.at(section).at(instance_name), settings, "softclip", "softclip"); update_key(json.at(section).at(instance_name), settings, "mutel", "mutel"); update_key(json.at(section).at(instance_name), settings, "muter", "muter"); update_key(json.at(section).at(instance_name), settings, "phasel", "phasel"); update_key(json.at(section).at(instance_name), settings, "phaser", "phaser"); update_key(json.at(section).at(instance_name), settings, "mode", "mode"); update_key(json.at(section).at(instance_name), settings, "slev", "side-level"); update_key(json.at(section).at(instance_name), settings, "sbal", "side-balance"); update_key(json.at(section).at(instance_name), settings, "mlev", "middle-level"); update_key(json.at(section).at(instance_name), settings, "mpan", "middle-panorama"); update_key(json.at(section).at(instance_name), settings, "stereo-base", "stereo-base"); update_key(json.at(section).at(instance_name), settings, "delay", "delay"); update_key(json.at(section).at(instance_name), settings, "sc-level", "sc-level"); update_key(json.at(section).at(instance_name), settings, "stereo-phase", "stereo-phase"); } easyeffects-7.1.7/src/stereo_tools_ui.cpp000066400000000000000000000241501463533416400205530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "stereo_tools_ui.hpp" #include #include #include #include #include #include #include #include #include #include #include #include "stereo_tools.hpp" #include "tags_resources.hpp" #include "tags_schema.hpp" #include "ui_helpers.hpp" #include "util.hpp" namespace ui::stereo_tools_box { struct Data { public: ~Data() { util::debug("data struct destroyed"); } uint serial = 0U; std::shared_ptr stereo_tools; std::vector connections; std::vector gconnections; }; struct _StereoToolsBox { GtkBox parent_instance; GtkScale *input_gain, *output_gain; GtkLevelBar *input_level_left, *input_level_right, *output_level_left, *output_level_right; GtkLabel *input_level_left_label, *input_level_right_label, *output_level_left_label, *output_level_right_label, *plugin_credit; GtkDropDown* mode; GtkSpinButton *balance_in, *balance_out, *slev, *sbal, *mlev, *mpan, *stereo_base, *delay, *sc_level, *stereo_phase, *dry, *wet; GtkToggleButton *softclip, *mutel, *muter, *phasel, *phaser; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(StereoToolsBox, stereo_tools_box, GTK_TYPE_BOX) void on_reset(StereoToolsBox* self, GtkButton* btn) { util::reset_all_keys_except(self->settings); } void setup(StereoToolsBox* self, std::shared_ptr stereo_tools, const std::string& schema_path) { auto serial = get_new_filter_serial(); self->data->serial = serial; g_object_set_data(G_OBJECT(self), "serial", GUINT_TO_POINTER(serial)); set_ignore_filter_idle_add(serial, false); self->data->stereo_tools = stereo_tools; self->settings = g_settings_new_with_path(tags::schema::stereo_tools::id, schema_path.c_str()); stereo_tools->set_post_messages(true); self->data->connections.push_back(stereo_tools->input_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->input_level_left, self->input_level_left_label, self->input_level_right, self->input_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); self->data->connections.push_back(stereo_tools->output_level.connect([=](const float left, const float right) { g_object_ref(self); util::idle_add( [=]() { if (get_ignore_filter_idle_add(serial)) { return; } update_level(self->output_level_left, self->output_level_left_label, self->output_level_right, self->output_level_right_label, left, right); }, [=]() { g_object_unref(self); }); })); gtk_label_set_text(self->plugin_credit, ui::get_plugin_credit_translated(self->data->stereo_tools->package).c_str()); gsettings_bind_widgets<"input-gain", "output-gain">(self->settings, self->input_gain, self->output_gain); g_settings_bind(self->settings, "balance-in", gtk_spin_button_get_adjustment(self->balance_in), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "balance-out", gtk_spin_button_get_adjustment(self->balance_out), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "slev", gtk_spin_button_get_adjustment(self->slev), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sbal", gtk_spin_button_get_adjustment(self->sbal), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "mlev", gtk_spin_button_get_adjustment(self->mlev), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "mpan", gtk_spin_button_get_adjustment(self->mpan), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-base", gtk_spin_button_get_adjustment(self->stereo_base), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "delay", gtk_spin_button_get_adjustment(self->delay), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "sc-level", gtk_spin_button_get_adjustment(self->sc_level), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "stereo-phase", gtk_spin_button_get_adjustment(self->stereo_phase), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "dry", gtk_spin_button_get_adjustment(self->dry), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "wet", gtk_spin_button_get_adjustment(self->wet), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "softclip", self->softclip, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "mutel", self->mutel, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "muter", self->muter, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "phasel", self->phasel, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, "phaser", self->phaser, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, "mode", self->mode); } void dispose(GObject* object) { auto* self = EE_STEREO_TOOLS_BOX(object); set_ignore_filter_idle_add(self->data->serial, true); for (auto& c : self->data->connections) { c.disconnect(); } for (auto& handler_id : self->data->gconnections) { g_signal_handler_disconnect(self->settings, handler_id); } self->data->connections.clear(); self->data->gconnections.clear(); g_object_unref(self->settings); util::debug("disposed"); G_OBJECT_CLASS(stereo_tools_box_parent_class)->dispose(object); } void finalize(GObject* object) { auto* self = EE_STEREO_TOOLS_BOX(object); delete self->data; util::debug("finalized"); G_OBJECT_CLASS(stereo_tools_box_parent_class)->finalize(object); } void stereo_tools_box_class_init(StereoToolsBoxClass* klass) { auto* object_class = G_OBJECT_CLASS(klass); auto* widget_class = GTK_WIDGET_CLASS(klass); object_class->dispose = dispose; object_class->finalize = finalize; gtk_widget_class_set_template_from_resource(widget_class, tags::resources::stereo_tools_ui); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, input_gain); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, output_gain); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, input_level_left); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, input_level_right); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, output_level_left); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, output_level_right); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, input_level_left_label); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, input_level_right_label); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, output_level_left_label); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, output_level_right_label); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, plugin_credit); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, mode); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, balance_in); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, balance_out); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, slev); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, sbal); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, mlev); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, mpan); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, stereo_base); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, delay); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, sc_level); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, stereo_phase); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, softclip); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, mutel); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, muter); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, phasel); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, phaser); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, dry); gtk_widget_class_bind_template_child(widget_class, StereoToolsBox, wet); gtk_widget_class_bind_template_callback(widget_class, on_reset); } void stereo_tools_box_init(StereoToolsBox* self) { gtk_widget_init_template(GTK_WIDGET(self)); self->data = new Data(); prepare_scales<"dB">(self->input_gain, self->output_gain); prepare_spinbuttons<"dB">(self->slev, self->mlev); prepare_spinbuttons<"ms">(self->delay); prepare_spinbuttons<"">(self->balance_in, self->balance_out, self->sc_level, self->sbal, self->mpan, self->stereo_base, self->stereo_phase); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->dry, self->wet); } auto create() -> StereoToolsBox* { return static_cast(g_object_new(EE_TYPE_STEREO_TOOLS_BOX, nullptr)); } } // namespace ui::stereo_tools_box easyeffects-7.1.7/src/stream_input_effects.cpp000066400000000000000000000313171463533416400215510ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "stream_input_effects.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "effects_base.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" StreamInputEffects::StreamInputEffects(PipeManager* pipe_manager) : EffectsBase("sie: ", tags::schema::id_input, pipe_manager, PipelineType::input) { auto* PULSE_SOURCE = std::getenv("PULSE_SOURCE"); if (PULSE_SOURCE != nullptr && PULSE_SOURCE != tags::pipewire::ee_source_name) { for (const auto& [serial, node] : pm->node_map) { if (node.name == PULSE_SOURCE) { pm->input_device = node; g_settings_set_string(settings, "input-device", pm->input_device.name.c_str()); break; } } } connections.push_back(pm->source_added.connect([this](const NodeInfo node) { if (node.name == util::gsettings_get_string(settings, "input-device")) { pm->input_device = node; if (g_settings_get_boolean(global_settings, "bypass") != 0) { g_settings_set_boolean(global_settings, "bypass", 0); return; // filter connected through update_bypass_state } set_bypass(false); } })); connections.push_back(pm->source_removed.connect([this](const NodeInfo node) { if (g_settings_get_boolean(settings, "use-default-input-device") == 0) { if (node.name == util::gsettings_get_string(settings, "input-device")) { pm->input_device.id = SPA_ID_INVALID; pm->input_device.serial = SPA_ID_INVALID; } } })); connections.push_back(pm->stream_input_added.connect(sigc::mem_fun(*this, &StreamInputEffects::on_app_added))); connections.push_back(pm->link_changed.connect(sigc::mem_fun(*this, &StreamInputEffects::on_link_changed))); connect_filters(); gconnections.push_back(g_signal_connect(settings, "changed::input-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto name = util::gsettings_get_string(settings, key); if (name.empty()) { return; } for (const auto& [serial, node] : self->pm->node_map) { if (node.name == name) { self->pm->input_device = node; if (g_settings_get_boolean(self->global_settings, "bypass") != 0) { g_settings_set_boolean(self->global_settings, "bypass", 0); return; // filter connected through update_bypass_state } self->set_bypass(false); break; } } }), this)); gconnections.push_back(g_signal_connect(settings, "changed::plugins", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); if (g_settings_get_boolean(self->global_settings, "bypass") != 0) { g_settings_set_boolean(self->global_settings, "bypass", 0); return; // filter connected through update_bypass_state } self->set_bypass(false); }), this)); } StreamInputEffects::~StreamInputEffects() { disconnect_filters(); util::debug("destroyed"); } void StreamInputEffects::on_app_added(const NodeInfo node_info) { const auto blocklist = util::gchar_array_to_vector(g_settings_get_strv(settings, "blocklist")); auto is_blocklisted = std::ranges::find(blocklist, node_info.application_id) != blocklist.end(); is_blocklisted = is_blocklisted || std::ranges::find(blocklist, node_info.name) != blocklist.end(); if (g_settings_get_boolean(global_settings, "process-all-inputs") != 0 && !is_blocklisted) { pm->connect_stream_input(node_info.id); } } auto StreamInputEffects::apps_want_to_play() -> bool { return std::ranges::any_of(pm->list_links, [&](const auto& link) { return (link.output_node_id == pm->ee_source_node.id) && (link.state == PW_LINK_STATE_ACTIVE); }); return false; } void StreamInputEffects::on_link_changed(const LinkInfo link_info) { // We are not interested in the other link states if (link_info.state != PW_LINK_STATE_ACTIVE && link_info.state != PW_LINK_STATE_PAUSED) { return; } if (pm->default_input_device_name == pm->ee_source_node.name) { return; } /* If bypass is enabled do not touch the plugin pipeline */ if (bypass) { return; } if (apps_want_to_play()) { if (list_proxies.empty()) { util::debug("At least one app linked to our device wants to play. Linking our filters."); connect_filters(); }; } else { // no apps want to play, check if the inactivity timer is enabled if (g_settings_get_boolean(global_settings, "inactivity-timer-enable")) { // if the timer is enabled, wait for the timeout, then unlink plugin pipeline int inactivity_timeout = g_settings_get_int(global_settings, "inactivity-timeout"); g_timeout_add_seconds(inactivity_timeout, GSourceFunc(+[](StreamInputEffects* self) { if (!self->apps_want_to_play() && !self->list_proxies.empty()) { util::debug("No app linked to our device wants to play. Unlinking our filters."); self->disconnect_filters(); } return G_SOURCE_REMOVE; }), this); } else { // otherwise, do nothing if (!list_proxies.empty()) { util::debug( "No app linked to our device wants to play, but the inactivity timer is disabled. Leaving filters linked."); }; }; }; } void StreamInputEffects::connect_filters(const bool& bypass) { const auto input_device_name = util::gsettings_get_string(settings, "input-device"); // checking if the output device exists if (input_device_name.empty()) { util::debug("No input device set. Aborting the link"); return; } bool dev_exists = false; for (const auto& [serial, node] : pm->node_map) { if (node.name == input_device_name) { dev_exists = true; pm->input_device = node; break; } } if (!dev_exists) { util::debug("The input device " + input_device_name + " is not available. Aborting the link"); return; } const auto list = (bypass) ? std::vector() : util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins")); auto mic_linked = false; // waiting for the input device ports information to be available. int timeout = 0; while (pm->count_node_ports(pm->input_device.id) < 1) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); timeout++; if (timeout > 10000) { util::warning("Information about the ports of the input device " + pm->input_device.name + " with id " + util::to_string(pm->input_device.id) + " are taking to long to be available. Aborting the link"); return; } } uint prev_node_id = pm->input_device.id; uint next_node_id = 0U; // link plugins if (!list.empty()) { for (const auto& name : list) { if (!plugins.contains(name)) { continue; } if (!plugins[name]->connected_to_pw ? plugins[name]->connect_to_pw() : true) { next_node_id = plugins[name]->get_node_id(); const auto links = pm->link_nodes(prev_node_id, next_node_id); for (auto* link : links) { list_proxies.push_back(link); } if (mic_linked && (links.size() == 2U)) { prev_node_id = next_node_id; } else if (!mic_linked && (!links.empty())) { prev_node_id = next_node_id; mic_linked = true; } else { util::warning(" link from node " + util::to_string(prev_node_id) + " to node " + util::to_string(next_node_id) + " failed"); } } } // checking if we have to link the echo_canceller probe to the output device for (const auto& name : list) { if (!plugins.contains(name)) { continue; } if (name.starts_with(tags::plugin_name::echo_canceller)) { if (plugins[name]->connected_to_pw) { for (const auto& link : pm->link_nodes(pm->output_device.id, plugins[name]->get_node_id(), true)) { list_proxies.push_back(link); } } } plugins[name]->update_probe_links(); } } // link spectrum, output level meter and source node for (const auto node_id : {spectrum->get_node_id(), output_level->get_node_id(), pm->ee_source_node.id}) { next_node_id = node_id; const auto links = pm->link_nodes(prev_node_id, next_node_id); for (auto* link : links) { list_proxies.push_back(link); } if (mic_linked && (links.size() == 2U)) { prev_node_id = next_node_id; } else if (!mic_linked && (!links.empty())) { prev_node_id = next_node_id; mic_linked = true; } else { util::warning(" link from node " + util::to_string(prev_node_id) + " to node " + util::to_string(next_node_id) + " failed"); } } } void StreamInputEffects::disconnect_filters() { std::set link_id_list; const auto selected_plugins_list = (bypass) ? std::vector() : util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins")); for (const auto& plugin : plugins | std::views::values) { for (const auto& link : pm->list_links) { if (link.input_node_id == plugin->get_node_id() || link.output_node_id == plugin->get_node_id()) { link_id_list.insert(link.id); } } if (plugin->connected_to_pw) { if (std::ranges::find(selected_plugins_list, plugin->name) == selected_plugins_list.end()) { util::debug("disconnecting the " + plugin->name + " filter from PipeWire"); plugin->disconnect_from_pw(); } } } for (const auto& link : pm->list_links) { if (link.input_node_id == spectrum->get_node_id() || link.output_node_id == spectrum->get_node_id() || link.input_node_id == output_level->get_node_id() || link.output_node_id == output_level->get_node_id()) { link_id_list.insert(link.id); } } for (const auto& id : link_id_list) { pm->destroy_object(static_cast(id)); } pm->destroy_links(list_proxies); list_proxies.clear(); // remove_unused_filters(); } void StreamInputEffects::set_bypass(const bool& state) { bypass = state; disconnect_filters(); connect_filters(state); } void StreamInputEffects::set_listen_to_mic(const bool& state) { if (state) { for (const auto& link : pm->link_nodes(pm->ee_source_node.id, pm->output_device.id, false, false)) { list_proxies_listen_mic.push_back(link); } } else { pm->destroy_links(list_proxies_listen_mic); list_proxies_listen_mic.clear(); } } easyeffects-7.1.7/src/stream_output_effects.cpp000066400000000000000000000305731463533416400217550ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "stream_output_effects.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "effects_base.hpp" #include "pipe_manager.hpp" #include "pipe_objects.hpp" #include "tags_pipewire.hpp" #include "tags_plugin_name.hpp" #include "tags_schema.hpp" #include "util.hpp" StreamOutputEffects::StreamOutputEffects(PipeManager* pipe_manager) : EffectsBase("soe: ", tags::schema::id_output, pipe_manager, PipelineType::output) { auto* PULSE_SINK = std::getenv("PULSE_SINK"); if (PULSE_SINK != nullptr && PULSE_SINK != tags::pipewire::ee_sink_name) { for (const auto& [serial, node] : pm->node_map) { if (node.name == PULSE_SINK) { pm->output_device = node; g_settings_set_string(settings, "output-device", pm->output_device.name.c_str()); break; } } } connections.push_back(pm->sink_added.connect([this](const NodeInfo node) { if (node.name == util::gsettings_get_string(settings, "output-device")) { pm->output_device = node; if (g_settings_get_boolean(global_settings, "bypass") != 0) { g_settings_set_boolean(global_settings, "bypass", 0); return; // filter connected through update_bypass_state } set_bypass(false); } })); connections.push_back(pm->sink_removed.connect([this](const NodeInfo node) { if (g_settings_get_boolean(settings, "use-default-output-device") == 0) { if (node.name == util::gsettings_get_string(settings, "output-device")) { pm->output_device.id = SPA_ID_INVALID; pm->output_device.serial = SPA_ID_INVALID; } } })); connections.push_back(pm->stream_output_added.connect(sigc::mem_fun(*this, &StreamOutputEffects::on_app_added))); connections.push_back(pm->link_changed.connect(sigc::mem_fun(*this, &StreamOutputEffects::on_link_changed))); connect_filters(); gconnections.push_back(g_signal_connect(settings, "changed::output-device", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); const auto name = util::gsettings_get_string(settings, key); if (name.empty()) { return; } for (const auto& [serial, node] : self->pm->node_map) { if (node.name == name) { self->pm->output_device = node; if (g_settings_get_boolean(self->global_settings, "bypass") != 0) { g_settings_set_boolean(self->global_settings, "bypass", 0); return; // filter connected through update_bypass_state } self->set_bypass(false); break; } } }), this)); gconnections.push_back(g_signal_connect(settings, "changed::plugins", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); if (g_settings_get_boolean(self->global_settings, "bypass") != 0) { g_settings_set_boolean(self->global_settings, "bypass", 0); return; // filter connected through update_bypass_state } self->set_bypass(false); }), this)); } StreamOutputEffects::~StreamOutputEffects() { disconnect_filters(); util::debug("destroyed"); } void StreamOutputEffects::on_app_added(const NodeInfo node_info) { const auto blocklist = util::gchar_array_to_vector(g_settings_get_strv(settings, "blocklist")); auto is_blocklisted = std::ranges::find(blocklist, node_info.application_id) != blocklist.end(); is_blocklisted = is_blocklisted || std::ranges::find(blocklist, node_info.name) != blocklist.end(); if (g_settings_get_boolean(global_settings, "process-all-outputs") != 0 && !is_blocklisted) { pm->connect_stream_output(node_info.id); } } auto StreamOutputEffects::apps_want_to_play() -> bool { return std::ranges::any_of(pm->list_links, [&](const auto& link) { return (link.input_node_id == pm->ee_sink_node.id) && (link.state == PW_LINK_STATE_ACTIVE); }); } void StreamOutputEffects::on_link_changed(const LinkInfo link_info) { // We are not interested in the other link states if (link_info.state != PW_LINK_STATE_ACTIVE && link_info.state != PW_LINK_STATE_PAUSED) { return; } /* If bypass is enabled do not touch the plugin pipeline */ if (bypass) { return; } if (apps_want_to_play()) { if (list_proxies.empty()) { util::debug("At least one app linked to our device wants to play. Linking our filters."); connect_filters(); }; } else { // no apps want to play, check if the inactivity timer is enabled if (g_settings_get_boolean(global_settings, "inactivity-timer-enable")) { // if the timer is enabled, wait for the timeout, then unlink plugin pipeline int inactivity_timeout = g_settings_get_int(global_settings, "inactivity-timeout"); g_timeout_add_seconds(inactivity_timeout, GSourceFunc(+[](StreamOutputEffects* self) { if (!self->apps_want_to_play() && !self->list_proxies.empty()) { util::debug("No app linked to our device wants to play. Unlinking our filters."); self->disconnect_filters(); } return G_SOURCE_REMOVE; }), this); } else { // otherwise, do nothing if (!list_proxies.empty()) { util::debug( "No app linked to our device wants to play, but the inactivity timer is disabled. Leaving filters linked."); }; }; }; } void StreamOutputEffects::connect_filters(const bool& bypass) { const auto output_device_name = util::gsettings_get_string(settings, "output-device"); // checking if the output device exists if (output_device_name.empty()) { util::debug("No output device set. Aborting the link"); return; } bool dev_exists = false; for (const auto& [serial, node] : pm->node_map) { if (node.name == output_device_name) { dev_exists = true; pm->output_device = node; break; } } if (!dev_exists) { util::debug("The output device " + output_device_name + " is not available. Aborting the link"); return; } const auto list = (bypass) ? std::vector() : util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins")); uint prev_node_id = pm->ee_sink_node.id; uint next_node_id = 0U; // link plugins if (!list.empty()) { for (const auto& name : list) { if (!plugins.contains(name)) { continue; } if (!plugins[name]->connected_to_pw ? plugins[name]->connect_to_pw() : true) { next_node_id = plugins[name]->get_node_id(); const auto links = pm->link_nodes(prev_node_id, next_node_id); for (auto* link : links) { list_proxies.push_back(link); } if (links.size() == 2U) { prev_node_id = next_node_id; } else { util::warning(" link from node " + util::to_string(prev_node_id) + " to node " + util::to_string(next_node_id) + " failed"); } } } // checking if we have to link the echo_canceller probe to the output device for (const auto& name : list) { if (!plugins.contains(name)) { continue; } if (name.starts_with(tags::plugin_name::echo_canceller)) { if (plugins[name]->connected_to_pw) { for (const auto& link : pm->link_nodes(pm->output_device.id, plugins[name]->get_node_id(), true)) { list_proxies.push_back(link); } } } plugins[name]->update_probe_links(); } } // link spectrum and output level meter for (const auto& node_id : {spectrum->get_node_id(), output_level->get_node_id()}) { next_node_id = node_id; const auto links = pm->link_nodes(prev_node_id, next_node_id); for (auto* link : links) { list_proxies.push_back(link); } if (links.size() == 2U) { prev_node_id = next_node_id; } else { util::warning(" link from node " + util::to_string(prev_node_id) + " to node " + util::to_string(next_node_id) + " failed"); } } // waiting for the output device ports information to be available. int timeout = 0; while (pm->count_node_ports(pm->output_device.id) < 2) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); timeout++; if (timeout > 10000) { // 10 seconds util::warning("Information about the ports of the output device " + pm->output_device.name + " with id " + util::to_string(pm->output_device.id) + " are taking to long to be available. Aborting the link"); return; } } // link output device next_node_id = pm->output_device.id; const auto links = pm->link_nodes(prev_node_id, next_node_id); for (auto* link : links) { list_proxies.push_back(link); } if (links.size() < 2U) { util::warning(" link from node " + util::to_string(prev_node_id) + " to output device " + util::to_string(next_node_id) + " failed"); } } void StreamOutputEffects::disconnect_filters() { std::set link_id_list; const auto selected_plugins_list = (bypass) ? std::vector() : util::gchar_array_to_vector(g_settings_get_strv(settings, "plugins")); for (const auto& plugin : plugins | std::views::values) { for (const auto& link : pm->list_links) { if (link.input_node_id == plugin->get_node_id() || link.output_node_id == plugin->get_node_id()) { link_id_list.insert(link.id); } } if (plugin->connected_to_pw) { if (std::ranges::find(selected_plugins_list, plugin->name) == selected_plugins_list.end()) { util::debug("disconnecting the " + plugin->name + " filter from PipeWire"); plugin->disconnect_from_pw(); } } } for (const auto& link : pm->list_links) { if (link.input_node_id == spectrum->get_node_id() || link.output_node_id == spectrum->get_node_id() || link.input_node_id == output_level->get_node_id() || link.output_node_id == output_level->get_node_id()) { link_id_list.insert(link.id); } } for (const auto& id : link_id_list) { pm->destroy_object(static_cast(id)); } pm->destroy_links(list_proxies); list_proxies.clear(); // remove_unused_filters(); } void StreamOutputEffects::set_bypass(const bool& state) { bypass = state; disconnect_filters(); connect_filters(state); } easyeffects-7.1.7/src/tags_plugin_name.cpp000066400000000000000000000144651463533416400206610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "tags_plugin_name.hpp" #include #include #include #include #include #include #include "util.hpp" namespace { const auto id_regex = std::regex(R"(#(\d+)$)"); } namespace tags::plugin_name { auto get_translated() -> std::map { std::map translated = {{autogain, _("Autogain")}, {bass_enhancer, _("Bass Enhancer")}, {bass_loudness, _("Bass Loudness")}, {compressor, _("Compressor")}, {convolver, _("Convolver")}, {crossfeed, _("Crossfeed")}, {crystalizer, _("Crystalizer")}, {deepfilternet, _("Deep Noise Remover")}, {deesser, _("Deesser")}, {delay, _("Delay")}, {echo_canceller, _("Echo Canceller")}, {equalizer, _("Equalizer")}, {exciter, _("Exciter")}, {expander, _("Expander")}, {filter, _("Filter")}, {gate, _("Gate")}, {level_meter, _("Level Meter")}, {limiter, _("Limiter")}, {loudness, _("Loudness")}, {maximizer, _("Maximizer")}, {multiband_compressor, _("Multiband Compressor")}, {multiband_gate, _("Multiband Gate")}, {pitch, _("Pitch")}, {reverb, _("Reverberation")}, {rnnoise, _("Noise Reduction")}, {speex, _("Speech Processor")}, {stereo_tools, _("Stereo Tools")}}; return translated; } auto get_base_name(std::string_view name) -> std::string { if (name.starts_with(tags::plugin_name::autogain)) { return tags::plugin_name::autogain; } if (name.starts_with(tags::plugin_name::bass_enhancer)) { return tags::plugin_name::bass_enhancer; } if (name.starts_with(tags::plugin_name::bass_loudness)) { return tags::plugin_name::bass_loudness; } if (name.starts_with(tags::plugin_name::compressor)) { return tags::plugin_name::compressor; } if (name.starts_with(tags::plugin_name::convolver)) { return tags::plugin_name::convolver; } if (name.starts_with(tags::plugin_name::crossfeed)) { return tags::plugin_name::crossfeed; } if (name.starts_with(tags::plugin_name::crystalizer)) { return tags::plugin_name::crystalizer; } if (name.starts_with(tags::plugin_name::deepfilternet)) { return tags::plugin_name::deepfilternet; } if (name.starts_with(tags::plugin_name::deesser)) { return tags::plugin_name::deesser; } if (name.starts_with(tags::plugin_name::delay)) { return tags::plugin_name::delay; } if (name.starts_with(tags::plugin_name::echo_canceller)) { return tags::plugin_name::echo_canceller; } if (name.starts_with(tags::plugin_name::equalizer)) { return tags::plugin_name::equalizer; } if (name.starts_with(tags::plugin_name::exciter)) { return tags::plugin_name::exciter; } if (name.starts_with(tags::plugin_name::expander)) { return tags::plugin_name::expander; } if (name.starts_with(tags::plugin_name::filter)) { return tags::plugin_name::filter; } if (name.starts_with(tags::plugin_name::gate)) { return tags::plugin_name::gate; } if (name.starts_with(tags::plugin_name::level_meter)) { return tags::plugin_name::level_meter; } if (name.starts_with(tags::plugin_name::limiter)) { return tags::plugin_name::limiter; } if (name.starts_with(tags::plugin_name::loudness)) { return tags::plugin_name::loudness; } if (name.starts_with(tags::plugin_name::maximizer)) { return tags::plugin_name::maximizer; } if (name.starts_with(tags::plugin_name::multiband_compressor)) { return tags::plugin_name::multiband_compressor; } if (name.starts_with(tags::plugin_name::multiband_gate)) { return tags::plugin_name::multiband_gate; } if (name.starts_with(tags::plugin_name::pitch)) { return tags::plugin_name::pitch; } if (name.starts_with(tags::plugin_name::reverb)) { return tags::plugin_name::reverb; } if (name.starts_with(tags::plugin_name::rnnoise)) { return tags::plugin_name::rnnoise; } if (name.starts_with(tags::plugin_name::speex)) { return tags::plugin_name::speex; } if (name.starts_with(tags::plugin_name::stereo_tools)) { return tags::plugin_name::stereo_tools; } return ""; } auto get_id(const std::string& name) -> uint { std::smatch matches; std::regex_search(name, matches, id_regex); if (matches.size() != 2U) { return 0U; } if (uint id = 0U; util::str_to_num(matches[1], id)) { return id; } return 0U; } } // namespace tags::plugin_name easyeffects-7.1.7/src/test_signals.cpp000066400000000000000000000155631463533416400200440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "test_signals.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include "pipe_manager.hpp" #include "tags_app.hpp" #include "util.hpp" namespace { constexpr auto pi_x_2 = 2.0F * std::numbers::pi_v; void on_process(void* userdata, spa_io_position* position) { auto* d = static_cast(userdata); const auto n_samples = position->clock.duration; const auto rate = position->clock.rate.denom; if (n_samples == 0 || rate == 0) { return; } if (rate != d->ts->rate || n_samples != d->ts->n_samples) { d->ts->rate = rate; d->ts->n_samples = n_samples; d->ts->sine_phase = 0.0F; } // util::warning("processing: " + util::to_string(n_samples)); auto* out_left = static_cast(pw_filter_get_dsp_buffer(d->out_left, n_samples)); auto* out_right = static_cast(pw_filter_get_dsp_buffer(d->out_right, n_samples)); if (out_left == nullptr || out_right == nullptr) { return; } std::span left_out(out_left, n_samples); std::span right_out(out_right, n_samples); const auto phase_delta = pi_x_2 * d->ts->sine_frequency / static_cast(rate); for (uint n = 0U; n < n_samples; n++) { float signal = 0.0F; left_out[n] = 0.0F; right_out[n] = 0.0F; switch (d->ts->signal_type) { case TestSignalType::sine_wave: { d->ts->sine_phase += phase_delta; if (d->ts->sine_phase >= pi_x_2) { d->ts->sine_phase -= pi_x_2; } signal = 0.5F * std::sin(d->ts->sine_phase); break; } case TestSignalType::gaussian: { signal = d->ts->white_noise(); break; } case TestSignalType::pink: { break; } } if (d->ts->create_left_channel) { left_out[n] = signal; } if (d->ts->create_right_channel) { right_out[n] = signal; } } } void on_filter_state_changed(void* userdata, pw_filter_state old, pw_filter_state state, const char* error) { auto* d = static_cast(userdata); d->ts->state = state; switch (state) { case PW_FILTER_STATE_ERROR: d->ts->can_get_node_id = false; break; case PW_FILTER_STATE_UNCONNECTED: d->ts->can_get_node_id = false; break; case PW_FILTER_STATE_CONNECTING: d->ts->can_get_node_id = false; break; case PW_FILTER_STATE_STREAMING: d->ts->can_get_node_id = true; break; case PW_FILTER_STATE_PAUSED: d->ts->can_get_node_id = true; break; default: break; } } const struct pw_filter_events filter_events = {.state_changed = on_filter_state_changed, .process = on_process}; } // namespace TestSignals::TestSignals(PipeManager* pipe_manager) : pm(pipe_manager), random_generator(rd()) { pf_data.ts = this; const auto* filter_name = "ee_test_signals"; pm->lock(); auto* props_filter = pw_properties_new(nullptr, nullptr); pw_properties_set(props_filter, PW_KEY_APP_ID, tags::app::id); pw_properties_set(props_filter, PW_KEY_NODE_NAME, filter_name); pw_properties_set(props_filter, PW_KEY_NODE_DESCRIPTION, "Easy Effects Filter"); pw_properties_set(props_filter, PW_KEY_NODE_DRIVER, "true"); pw_properties_set(props_filter, PW_KEY_MEDIA_TYPE, "Audio"); pw_properties_set(props_filter, PW_KEY_MEDIA_CATEGORY, "Source"); pw_properties_set(props_filter, PW_KEY_MEDIA_ROLE, "DSP"); // pw_properties_set(props_filter, PW_KEY_MEDIA_CLASS, tags::pipewire::media_class::output_stream); filter = pw_filter_new(pm->core, filter_name, props_filter); // left channel output auto* props_out_left = pw_properties_new(nullptr, nullptr); pw_properties_set(props_out_left, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_out_left, PW_KEY_PORT_NAME, "output_FL"); pw_properties_set(props_out_left, "audio.channel", "FL"); pf_data.out_left = static_cast(pw_filter_add_port(filter, PW_DIRECTION_OUTPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_out_left, nullptr, 0)); // right channel output auto* props_out_right = pw_properties_new(nullptr, nullptr); pw_properties_set(props_out_right, PW_KEY_FORMAT_DSP, "32 bit float mono audio"); pw_properties_set(props_out_right, PW_KEY_PORT_NAME, "output_FR"); pw_properties_set(props_out_right, "audio.channel", "FR"); pf_data.out_right = static_cast(pw_filter_add_port( filter, PW_DIRECTION_OUTPUT, PW_FILTER_PORT_FLAG_MAP_BUFFERS, sizeof(port), props_out_right, nullptr, 0)); if (pw_filter_connect(filter, PW_FILTER_FLAG_RT_PROCESS, nullptr, 0) != 0) { using namespace std::string_literals; pm->unlock(); util::warning(filter_name + " cannot connect the filter to PipeWire!"s); return; } pw_filter_add_listener(filter, &listener, &filter_events, &pf_data); pm->sync_wait_unlock(); while (!can_get_node_id) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); if (state == PW_FILTER_STATE_ERROR) { using namespace std::string_literals; util::warning(filter_name + " is in an error"s); return; } } pm->lock(); node_id = pw_filter_get_node_id(filter); pm->sync_wait_unlock(); } TestSignals::~TestSignals() { util::debug("destroyed"); pm->lock(); spa_hook_remove(&listener); pw_filter_set_active(filter, false); pw_filter_disconnect(filter); pw_filter_destroy(filter); pm->sync_wait_unlock(); } void TestSignals::set_state(const bool& state) { sine_phase = 0.0F; if (state) { for (const auto& link : pm->link_nodes(node_id, pm->ee_sink_node.id, false, false)) { list_proxies.push_back(link); } } else { pm->destroy_links(list_proxies); list_proxies.clear(); } } void TestSignals::set_frequency(const float& value) { sine_frequency = value; sine_phase = 0.0F; } auto TestSignals::white_noise() -> float { const auto v = normal_distribution(random_generator); return (v > 1.0F) ? 1.0F : ((v < -1.0F) ? -1.0F : v); } easyeffects-7.1.7/src/ui_helpers.cpp000066400000000000000000000220161463533416400174730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "ui_helpers.hpp" #include #include #define FMT_HEADER_ONLY #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "tags_app.hpp" #include "tags_plugin_name.hpp" #include "util.hpp" namespace { uint widget_serial = 0U; std::locale user_locale; std::map map_ignore_filter_idle_add; GSettings* global_app_settings = nullptr; } // namespace namespace ui { using namespace std::string_literals; void show_autohiding_toast(AdwToastOverlay* toast_overlay, const std::string& text, const uint& timeout, const AdwToastPriority& priority) { // Construct AdwToast auto* toast = adw_toast_new(text.c_str()); adw_toast_set_timeout(toast, timeout); adw_toast_set_priority(toast, priority); // Show AdwToast adw_toast_overlay_add_toast(toast_overlay, toast); } void show_fixed_toast(AdwToastOverlay* toast_overlay, const std::string& text, const AdwToastPriority& priority) { show_autohiding_toast(toast_overlay, text, 0U, priority); } auto missing_plugin_box(const std::string& base_name, const std::string& package) -> GtkWidget* { // Since the plugin name should be translated in the local language, // this function needs the base name as parameter, retrieved from // get_base_name() util. auto* box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_set_margin_start(box, 6); gtk_widget_set_margin_end(box, 6); gtk_widget_set_margin_bottom(box, 6); gtk_widget_set_margin_top(box, 6); gtk_widget_set_valign(box, GTK_ALIGN_CENTER); auto* status_page = adw_status_page_new(); try { // For translators: {} is replaced by the effect name. const auto format_title = fmt::runtime(_("{} Not Available")); // For translators: the first {} is replaced by the effect name, the second {} is replaced by the package name. auto format_descr = fmt::runtime(_("The software required for the {} effect, \"{}\", is not installed. Consider using the Easy " "Effects Flatpak package or installing the software yourself.")); if (base_name == tags::plugin_name::rnnoise) { // For translators: the first {} is replaced by the effect name, the second {} is replaced by the package name. format_descr = fmt::runtime(_("The {} effect was disabled when Easy Effects was compiled. This is perhaps since the " "software required for this effect, \"{}\", was not available. Consider using the Easy " "Effects Flatpak package or building your own Easy Effects package.")); } const std::string translated_name = tags::plugin_name::get_translated().at(base_name); adw_status_page_set_title(ADW_STATUS_PAGE(status_page), fmt::format(format_title, translated_name).c_str()); adw_status_page_set_description(ADW_STATUS_PAGE(status_page), fmt::format(format_descr, translated_name, package).c_str()); } catch (std::out_of_range& e) { util::debug(e.what()); } adw_status_page_set_icon_name(ADW_STATUS_PAGE(status_page), "emblem-music-symbolic"); gtk_box_append(GTK_BOX(box), status_page); return box; } void show_simple_message_dialog(GtkWidget* parent, const std::string& title, const std::string& descr) { if (parent == nullptr) { return; } auto* dialog = adw_message_dialog_new(GTK_WINDOW(parent), title.c_str(), descr.c_str()); const std::string response_id = "close"; adw_message_dialog_add_response(ADW_MESSAGE_DIALOG(dialog), response_id.c_str(), "Close (Press ESC)"); adw_message_dialog_set_default_response(ADW_MESSAGE_DIALOG(dialog), response_id.c_str()); gtk_window_present(GTK_WINDOW(dialog)); } auto parse_spinbutton_output(GtkSpinButton* button, const char* unit, const bool& lower_bound) -> gboolean { auto* adjustment = gtk_spin_button_get_adjustment(button); const auto value = gtk_adjustment_get_value(adjustment); const auto precision = gtk_spin_button_get_digits(button); const auto str_unit = (unit != nullptr) ? (" "s + unit) : ""; const bool minus_infinity = (!lower_bound && value <= util::minimum_db_d_level); auto text = (minus_infinity) ? (_("-inf") + str_unit) // format string: 0 = value, 1 = precision, 2 = unit : fmt::format(ui::get_user_locale(), "{0:.{1}Lf}{2}", value, precision, str_unit); gtk_editable_set_text(GTK_EDITABLE(button), text.c_str()); return TRUE; } auto parse_spinbutton_input(GtkSpinButton* button, gdouble* new_value, const bool& lower_bound) -> gint { auto min = 0.0; auto max = 0.0; gtk_spin_button_get_range(button, &min, &max); std::istringstream str(gtk_editable_get_text(GTK_EDITABLE(button))); if (!lower_bound) { auto s = str.str(); util::str_trim_start(s); if (s.starts_with(_("-inf"))) { *new_value = util::minimum_db_d_level; return TRUE; } } str.imbue(ui::get_user_locale()); auto v = 0.0; if (str >> v) { *new_value = std::clamp(v, min, max); return TRUE; } return GTK_INPUT_ERROR; } auto get_new_filter_serial() -> uint { widget_serial++; return widget_serial; } void set_ignore_filter_idle_add(const uint& serial, const bool& state) { map_ignore_filter_idle_add[serial] = state; } auto get_ignore_filter_idle_add(const uint& serial) -> bool { return map_ignore_filter_idle_add[serial]; } void save_user_locale() { try { user_locale = std::locale(""); } catch (...) { util::warning("We could not get the user locale in your system! Your locale configuration is broken!"); util::warning("Falling back to the C locale"); } } auto get_user_locale() -> std::locale { return user_locale; } void update_level(GtkLevelBar* w_left, GtkLabel* w_left_label, GtkLevelBar* w_right, GtkLabel* w_right_label, const float& left, const float& right) { if (!GTK_IS_LEVEL_BAR(w_left) || !GTK_IS_LABEL(w_left_label) || !GTK_IS_LEVEL_BAR(w_right) || !GTK_IS_LABEL(w_right_label)) { return; } if (left >= -99.0F) { // Level bar widget needs double value const auto linear_value = static_cast(std::clamp(util::db_to_linear(left), 0.0F, 1.0F)); gtk_level_bar_set_value(w_left, linear_value); gtk_label_set_text(w_left_label, fmt::format("{0:.0f}", left).c_str()); } else { gtk_level_bar_set_value(w_left, 0.0); gtk_label_set_text(w_left_label, "-99"); } if (right >= -99.0F) { // Level bar widget needs double value const auto linear_value = static_cast(std::clamp(util::db_to_linear(right), 0.0F, 1.0F)); gtk_level_bar_set_value(w_right, linear_value); gtk_label_set_text(w_right_label, fmt::format("{0:.0f}", right).c_str()); } else { gtk_level_bar_set_value(w_right, 0.0); gtk_label_set_text(w_right_label, "-99"); } } auto get_plugin_credit_translated(const std::string& plugin_package) -> std::string { try { // For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". const auto format = fmt::runtime(_("Using {}")); return fmt::format(format, plugin_package); } catch (...) { return plugin_package; } } void append_to_string_list(GtkStringList* string_list, const std::string& name) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(string_list)); n++) { if (gtk_string_list_get_string(string_list, n) == name) { return; } } gtk_string_list_append(string_list, name.c_str()); } void remove_from_string_list(GtkStringList* string_list, const std::string& name) { for (guint n = 0U; n < g_list_model_get_n_items(G_LIST_MODEL(string_list)); n++) { if (gtk_string_list_get_string(string_list, n) == name) { gtk_string_list_remove(string_list, n); return; } } } void init_global_app_settings() { global_app_settings = g_settings_new(tags::app::id); } void unref_global_app_settings() { g_object_unref(global_app_settings); } auto get_global_app_settings() -> GSettings* { return global_app_settings; } } // namespace ui easyeffects-7.1.7/src/util.cpp000066400000000000000000000372621463533416400163220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Easy Effects. If not, see . */ #include "util.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace util { auto prepare_debug_message(const std::string& message, source_location location) -> std::string { auto file_path = std::filesystem::path{location.file_name()}; std::ostringstream msg_stream; msg_stream << "\t" << file_path.filename().string() << ":" << to_string(location.line()) << "\t" << message; return msg_stream.str(); } void debug(const std::string& s, source_location location) { g_debug(prepare_debug_message(s, location).c_str(), "%s"); } void error(const std::string& s, source_location location) { g_error(prepare_debug_message(s, location).c_str(), "%s"); } void critical(const std::string& s, source_location location) { g_critical(prepare_debug_message(s, location).c_str(), "%s"); } void warning(const std::string& s, source_location location) { g_warning(prepare_debug_message(s, location).c_str(), "%s"); } void info(const std::string& s, source_location location) { g_info(prepare_debug_message(s, location).c_str(), "%s"); } void print_thread_id() { std::cout << "thread id: " << std::this_thread::get_id() << '\n'; } auto normalize(const double& x, const double& max, const double& min) -> double { // Mainly used for gating level bar in gate effects return (x - min) / (max - min); } auto linear_to_db(const float& amp) -> float { if (amp >= minimum_linear_level) { return 20.0F * std::log10(amp); } return minimum_db_level; } auto linear_to_db(const double& amp) -> double { if (amp >= minimum_linear_d_level) { return 20.0 * std::log10(amp); } return minimum_db_d_level; } auto db_to_linear(const float& db) -> float { return std::exp((db / 20.0F) * std::log(10.0F)); } auto db_to_linear(const double& db) -> double { return std::exp((db / 20.0) * std::log(10.0)); } auto db20_gain_to_linear(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { const gfloat v_linear = std::pow(10.0F, static_cast(g_variant_get_double(variant)) / 20.0F); g_value_set_float(value, v_linear); return 1; } auto linear_gain_to_db20(const GValue* value, const GVariantType* expected_type, gpointer user_data) -> GVariant* { const gdouble v_db = 20.0 * std::log10(static_cast(g_value_get_float(value))); return g_variant_new_double(v_db); } auto db10_gain_to_linear(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { const gfloat v_linear = std::pow(10.0F, static_cast(g_variant_get_double(variant)) / 10.0F); g_value_set_float(value, v_linear); return 1; } auto double_to_float(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { g_value_set_float(value, static_cast(g_variant_get_double(variant))); return 1; } auto db20_gain_to_linear_double(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { const gdouble v_linear = std::pow(10.0, g_variant_get_double(variant) / 20.0); g_value_set_double(value, v_linear); return 1; } auto linear_double_gain_to_db20(const GValue* value, const GVariantType* expected_type, gpointer user_data) -> GVariant* { const gdouble v_db = 20.0 * std::log10(g_value_get_double(value)); return g_variant_new_double(v_db); } auto double_x10_to_int(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { g_value_set_int(value, static_cast(g_variant_get_double(variant) * 10.0)); return 1; } auto ms_to_ns(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { g_value_set_uint64(value, static_cast(g_variant_get_double(variant) * 1000000.0)); return 1; } auto remove_filename_extension(const std::string& basename) -> std::string { return basename.substr(0U, basename.find_last_of('.')); } auto gchar_array_to_vector(gchar** gchar_array, const bool free_data) -> std::vector { std::vector output; if (gchar_array != nullptr) { for (int n = 0; gchar_array[n] != nullptr; n++) { output.emplace_back(gchar_array[n]); } } if (free_data) { g_strfreev(gchar_array); } return output; } auto make_gchar_pointer_vector(const std::vector& input) -> std::vector { std::vector output; output.reserve(input.size()); for (const auto& v : input) { output.push_back(v.c_str()); } output.push_back(nullptr); // char* arrays passed to g_settings_set_strv must have a null pointer as the last element return output; } auto gsettings_get_color(GSettings* settings, const char* key) -> GdkRGBA { GdkRGBA rgba; std::array color{}; g_settings_get(settings, key, "(dddd)", color.data(), &color[1], &color[2], &color[3]); rgba.red = static_cast(color[0]); rgba.green = static_cast(color[1]); rgba.blue = static_cast(color[2]); rgba.alpha = static_cast(color[3]); return rgba; } auto gsettings_get_string(GSettings* settings, const char* key) -> std::string { auto* s = g_settings_get_string(settings, key); std::string output = s; g_free(s); return output; } // The following is not used and it was made only for reference. May be removed in the future. // GIO recommends to not use g_settings_schema_key_get_range in "normal programs". auto gsettings_get_range(GSettings* settings, const char* key) -> std::pair { GSettingsSchema* schema = nullptr; const gchar* type = nullptr; GVariant* detail = nullptr; std::string min_v; std::string max_v; g_object_get(settings, "settings-schema", &schema, nullptr); auto* schema_key = g_settings_schema_get_key(schema, key); auto* range = g_settings_schema_key_get_range(schema_key); g_variant_get(range, "(&sv)", &type, &detail); if (strcmp(type, "range") == 0) { GVariant* min = nullptr; GVariant* max = nullptr; gchar* smin = nullptr; gchar* smax = nullptr; g_variant_get(detail, "(**)", &min, &max); smin = g_variant_print(min, 0); smax = g_variant_print(max, 0); min_v = smin; max_v = smax; g_variant_unref(min); g_variant_unref(max); g_free(smin); g_free(smax); } g_variant_unref(detail); g_variant_unref(range); g_settings_schema_key_unref(schema_key); g_settings_schema_unref(schema); return {min_v, max_v}; } auto add_new_blocklist_entry(GSettings* settings, const std::string& name) -> bool { if (name.empty()) { return false; } auto list = util::gchar_array_to_vector(g_settings_get_strv(settings, "blocklist")); if (std::any_of(list.cbegin(), list.cend(), [&](const auto& str) { return str == name; })) { util::debug("entry already present in the list"); return false; } list.push_back(name); g_settings_set_strv(settings, "blocklist", util::make_gchar_pointer_vector(list).data()); util::debug("new entry has been added to the blocklist"); return true; } void remove_blocklist_entry(GSettings* settings, const std::string& name) { auto list = util::gchar_array_to_vector(g_settings_get_strv(settings, "blocklist")); list.erase(std::remove_if(list.begin(), list.end(), [=](const auto& a) { return a == name; }), list.end()); g_settings_set_strv(settings, "blocklist", util::make_gchar_pointer_vector(list).data()); util::debug("an entry has been removed from the blocklist"); } void idle_add(std::function cb, std::function cleanup_cb) { struct Data { std::function cb, cleanup_cp; }; auto* d = new Data(); d->cb = std::move(cb); d->cleanup_cp = std::move(cleanup_cb); g_idle_add((GSourceFunc) + [](Data* d) { if (d == nullptr) { return G_SOURCE_REMOVE; } if (d->cb == nullptr) { return G_SOURCE_REMOVE; } d->cb(); d->cleanup_cp(); delete d; return G_SOURCE_REMOVE; }, d); } auto get_files_name(const std::filesystem::path& dir_path, const std::string& ext) -> std::vector { std::vector names; for (std::filesystem::directory_iterator it{dir_path}; it != std::filesystem::directory_iterator{}; ++it) { if (std::filesystem::is_regular_file(it->status())) { if (it->path().extension() == ext) { names.push_back(it->path().stem().string()); } } } return names; } void reset_all_keys_except(GSettings* settings, const std::vector& blocklist, bool delay) { GSettingsSchema* schema = nullptr; g_object_get(settings, "settings-schema", &schema, nullptr); gchar** keys = g_settings_schema_list_keys(schema); /* For some reason the delayed mode breaks the binding between gsettings and the plugins. Until We figure out the reasons delayed mode will be disabled. */ // Gsettings should have a maximum of 256 delayed changes in delay mode (see issue #2215). // If surpassed, the whole application crashes (it happens on the Equalizer). // Anyway we set the maximum at the half (128) for satefy reasons. uint keys_changed = 0U; uint max_changes = 128U; if (delay) { g_settings_delay(settings); } for (int i = 0; keys[i] != nullptr; i++) { if (std::ranges::find(blocklist, keys[i]) != blocklist.end()) { continue; } g_settings_reset(settings, keys[i]); keys_changed++; if (delay && keys_changed >= max_changes) { g_settings_apply(settings); keys_changed = 0U; } } if (delay && keys_changed > 0U) { g_settings_apply(settings); } g_settings_schema_unref(schema); g_strfreev(keys); } auto str_contains(const std::string& haystack, const std::string& needle) -> bool { // This helper indicates if the needle is contained in the haystack string, // but the empty needle will NOT return true. // Instead .find method of C++ string class returns a size_type different // than std::string::npos when the needle is empty indicating that an empty // string IS CONTAINED in the haystack. That's pointless, so here is this helper. if (needle.empty()) { return false; } return (haystack.find(needle) != std::string::npos); } void str_trim_start(std::string& str) { // This util removes whitespaces such as simple space " ", new line "\n", // carriage return "\r", tab "\t", vertical tab "\v" and form feed "\f" // at the start of the given string. // No copy involved, the input string is just modified if needed. str.erase(0U, str.find_first_not_of(" \n\r\t\v\f")); } void str_trim_end(std::string& str) { // Same as above, but at the end of the given string. str.erase(str.find_last_not_of(" \n\r\t\v\f") + 1U); } void str_trim(std::string& str) { // Trim both sides of the given string. See above. str_trim_end(str); str_trim_start(str); } auto search_filename(const std::filesystem::path& path, const std::string& filename, std::string& full_path_result, const uint& top_scan_level) -> bool { // Recursive util to search a filename from an origin full path directory. // The search is performed in subdirectories and it's stopped at a specified // sublevel (top_scan_level = 1 searches only in the path). if (!std::filesystem::exists(path) || !std::filesystem::is_directory(path)) { return false; } const auto fn = path / filename; // Get the file in this directory, if exists. if (std::filesystem::exists(fn) && std::filesystem::is_regular_file(fn)) { // File found, abort the search. full_path_result = fn.c_str(); return true; } // The file is not in this directory, search in subdirectories. const auto scan_level = top_scan_level - 1U; if (scan_level == 0U) { return false; } auto it = std::filesystem::directory_iterator{path}; try { while (it != std::filesystem::directory_iterator{}) { if (std::filesystem::is_directory(it->status())) { if (const auto p = it->path(); !p.empty()) { // Continue the search in the subfolder. const auto found = search_filename(p, filename, full_path_result, scan_level); if (found) { return true; } } } ++it; } } catch (const std::exception& e) { util::warning(e.what()); return false; } return false; } auto compare_versions(const std::string& v0, const std::string& v1) -> int { /* This is an util to compare two strings as semver, mainly used to compare two Pipewire versions. The format should adhere to what is defined at `https://semver.org/`. The additional extension label, if present, is ignored and fortunately we don't need to look at it since Pipewire does not use it. Given two version strings v0 and v1, this util returns an integer: - 0 if the versions are equal; - 1 if v0 is higher than v1; - -1 if v0 is lower than v1; - Whichever other number if the comparison fails (i.e. giving one or both strings not respecting the semver format). */ struct SemVer { int major = -1; int minor = -1; int patch = -1; }; static const auto re_semver = std::regex(R"(^(\d+)\.?(\d+)?\.?(\d+)?)"); std::array sv{}; std::array v{v0, v1}; // SemVer struct initialization. Loop the given strings. for (int v_idx = 0; v_idx < 2; v_idx++) { // For both strings, execute the regular expression search, // then loop through the submatches. std::smatch match; if (!std::regex_search(v[v_idx], match, re_semver)) { // The given string is not a semver: the comparison failed. return 9; } // Submatches lookup for (int sub_idx = 0, size = match.size(); sub_idx < size; sub_idx++) { // Fill the structure converting the string to an integer. switch (sub_idx) { case 1: // major str_to_num(match[sub_idx].str(), sv[v_idx].major); break; case 2: // minor str_to_num(match[sub_idx].str(), sv[v_idx].minor); break; case 3: // patch str_to_num(match[sub_idx].str(), sv[v_idx].patch); break; default: // sub_idx = 0: the first group which is the entire match we don't need. break; } } } // Now that we are sure to have two valid semver, let's compare each part. if (sv[0].major < sv[1].major) { return -1; } else if (sv[0].major > sv[1].major) { return 1; } if (sv[0].minor < sv[1].minor) { return -1; } else if (sv[0].minor > sv[1].minor) { return 1; } if (sv[0].patch < sv[1].patch) { return -1; } else if (sv[0].patch > sv[1].patch) { return 1; } return 0; } } // namespace util easyeffects-7.1.7/util/000077500000000000000000000000001463533416400150155ustar00rootroot00000000000000easyeffects-7.1.7/util/NEWS.yaml000066400000000000000000000606421463533416400164650ustar00rootroot00000000000000--- Version: UNRELEASED_VERSION Date: UNRELEASED_DATE Description: - Features∶ - - Bug fixes∶ - - Other notes∶ - --- Version: 7.1.7 Date: 2024-06-21 Description: - Features∶ - Community Presets have been implemented. Users can install packages containing multiple Easy Effects presets to be imported and applied inside the application. These packages will be maintained and shipped by volunteers. You can search them on the repositories of your favorite distribution. - Added the ability of collapsing the sidebar to hide the effects list and expand the area of the effects user interface. - EasyEffects won't touch streams that define `PW_KEY_TARGET_OBJECT` to an output device that is different from the one EasyEffects is using. - Equalizer APO import feature can now apply Band-Pass filters. - Bug fixes∶ - A change in GTK 4.14.1 prevented to apply the values inserted into the text field of our SpinButton widgets. This issue is now resolved. - The latest Maximizer plugin releases do not have the ceiling control anymore. So we removed it from our user interface (you can use the plugin input gain to retrieve the same functionality). - Equalizer APO import feature does not crash anymore on Flatpak when invalid values are provided. - Other notes∶ - In order for Community Presets to be correctly shipped, packagers are invited to read and follow the guidelines linked inside the README of EasyEffects master branch. - Presets with Convolver and/or Noise Reduction (RNNoise) effects created before `7.2.0` version are deprecated. Please reload the irs/model file inside the Convolver/RNNoise UI and resave the preset. --- Version: 7.1.6 Date: 2024-03-29 Description: - Features∶ - Improved the pipeline management system. Non-limiter effects are placed before the limiter even if the last two plugins in the pipeline are a limiter followed by a level meter. - Bug fixes∶ - Fixed a regression that prevented the level meters to be updated under certain conditions. - Other notes∶ --- Version: 7.1.5 Date: 2024-03-22 Description: - Features∶ - We now set `monitor.passthrough = true` in our virtual devices. This will allow latency offset to be properly applied by video players when PipeWire > 1.0.3 is released. - Updated translations. - Bug fixes∶ - Other notes∶ --- Version: 7.1.4 Date: 2024-02-01 Description: - Features∶ - EasyEffects will try to avoid moving to its virtual sources streams for which the user has set a custom `target.object` that is different from the mic EE is recording from. THe stream has to be started when EE is already running for this logic to take effect. - Updated translations - The equalizer can export basic APO preset files - Our players/recorders tab will show the audio client binary name in the cases were no app name is defined. - EasyEffects version can be shown in the command line through the option `--version` - Bug fixes∶ - A workaround for a bug in gtk4 GtkLevelBar was implemented and will be kept in place until gtk developers fiz things on their side - Other notes∶ --- Version: 7.1.3 Date: 2023-11-08 Description: - Features∶ - Updated translations - Bug fixes∶ - Fixed a regression introduced in `7.1.2` that could cause EasyEffects to crash - Other notes∶ --- Version: 7.1.2 Date: 2023-11-08 Description: - Features∶ - Updated translations - Bug fixes∶ - The DeepFilterNet plugin can now be added to the preset file - Other notes∶ --- Version: 7.1.1 Date: 2023-10-27 Description: - Features∶ - The spectrum has a new option that allows the dynamic vertical scale to be disabled. - Improved compatibility with the latest LSP releases. - Bug fixes∶ - Fixed an incorrect drawing of the impulse response file characteristics - Other notes∶ --- Version: 7.1.0 Date: 2023-09-07 Description: - Features∶ - Bug fixes∶ - Fixed a small bug the prevented the noise reduction voice activity threshold from being properly initialized. - Other notes∶ --- Version: 7.0.9 Date: 2023-09-07 Description: - Features∶ - Added a new control to the noise reduction plugin that allows the voice detection to be disabled. - Bug fixes∶ - Other notes∶ --- Version: 7.0.8 Date: 2023-08-29 Description: - Features∶ - The Filter effect has been improved with new parameters since it has been ported from Calf Studio to Linux Studio Plugins. - Noise reduction by RNNoise has been improved with the addition of Release and VAD Threshold controls. - Noise reduction by RNNoise can now mix the original and denoised signals to avoid the output to sound too "dry". - Bug fixes∶ - Other notes∶ - This release is intended to work with versions of Linux Studio Plugins equal or greater than "1.2.10". - EasyEffects is now buildable also with libc++. --- Version: 7.0.7 Date: 2023-08-11 Description: - Features∶ - The Expander from Linux Studio Plugins can be used in Easy Effects. - The Equalizer bands now have an additional gain control that allows for more efficient input of values that are hard to set in the scale. More details at https://github.com/wwmm/easyeffects/issues/1383. - Added the ability to select and load multiple files in the opening dialogs for presets, Convolver impulse responses and RNNoise models. - Bug fixes∶ - Fixed the Solo button in the Equalizer band settings. - Other notes∶ - Easy Effects folders under `/etc` have been deprecated and presets located there won't be loaded anymore. At the moment only local presets under `~/.config/easyeffects` are automatically loaded in the Presets Menu. In the future we will implement a new system to install, manage and import Community Presets. --- Version: 7.0.6 Date: 2023-07-28 Description: - Features∶ - An "Experimental Features" section was added to our preferences window. - The native window of the LSP plugins can be used. This is an experimental feature intended only for advanced users. So expect some bugs. - Fractional semitone values can now be used in the Pitch Shift effect. - Bug fixes∶ - The input/output device dropdown in our PipeWire tab is updated when the system default device changes and `Use Default` is enabled. This fixes issue https://github.com/wwmm/easyeffects/issues/1989. - Other notes∶ --- Version: 7.0.5 Date: 2023-06-11 Description: - Features∶ - A new `Level Meter` plugin based on `libebur128` has been added. - The Pitch plugin now uses the library SoundTouch instead of Rubberband. Hopefully some of the mysterious crashes that were happening with Rubbernand are not going to happen anymore. - Improved compatibility with recent PipeWire versions. More information at https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3196 - Bug fixes∶ - Active Equalizer filters are not set to `Bell` type anymore when the number of bands changes. - Other notes∶ - Rabberband is not a dependency anymore since it has been replaced by SoundTouch. --- Version: 7.0.4 Date: 2023-05-01 Description: - Features∶ - The presets menu now asks for confirmation before saving/deleting a preset file. - Bug fixes∶ - The plugin reset should not make its controls innefective anymore. - Other notes∶ - Speex is no longer incorrectly listed as a build dependency (speexdsp is still a build dependency) - RNNoise is no longer an autodependency. It is now required by default, if not available it must be explicitly disabled with -Denable-rnnoise=false --- Version: 7.0.3 Date: 2023-04-06 Description: - Features∶ - Updated translations. - Bug fixes∶ - A small mistake was done in the last release. Making a new one to make sure people have the right branch in the package --- Version: 7.0.2 Date: 2023-04-06 Description: - Features∶ - The Equalizer "sort bands" feature is now ordering bands on GSettings, so the result can be saved into presets. - Improved performance when resetting keys. - Bug fixes∶ - Fixed the "Large Empty Hall" preset selection in the Reverberation effect. - Fixed some misuses of PipeWire's API that can potentially fix some random bugs some users are facing. - Other notes∶ - As we are removing code deprecated by `GTK 4.10` the minimum GTK version has been increased. --- Version: 7.0.1 Date: 2023-02-26 Description: - Features∶ - The spectrum plugin update rate was improved. Different sampling rates should lead to similar update frequencies visually. - The update interval used by level meters and the spectrum can be customized by the user. - The equalizer band gain slider value can be updated in larger steps. Fine grain control is still possible through the keyboard up/down keys. - Small improvements to the echo canceller. - Bug fixes∶ - The echo canceller probes were not being linked to the soundcard after the move to multiple filters intances. This should be fixed now. --- Version: 7.0.0 Date: 2022-11-02 Description: - Features∶ - It is now possible to add more than one filter instance to the effects pipeline. - A new `Speech Processor` plugin based on the Speex library was added. Besides providing noise suppression it also can detect voice activity. It is a decent alternative to the cases whre the rnnoise library does not work well. - Improved compatibility with Linux Studio Plugins `1.2.3`. - GraphicEQ presets can be imported into the Equalizer effect. - The application name has been changed to `Easy Effects` to adhere to the naming conventions of GNOME Human Interface Guidelines. - The documentation has been updated. - Improved presets autoloading. - The Autogain silence threshold can now be configured by the user. - Dry and wet controls added to the Stereo Tools effect. - The echo canceller now has a residual noise suppression control also based on the Speex library. - Bug fixes∶ - When the mouse was hovering over a chart the wrong value for the x axis coordinate was being shown. This regression is fixed. - Other notes∶ - Because of the new multiple instances feature, the preset format has changed, but the old one is still compatible to be loaded. Anyway take in consideration that saving the current preset will always write it in the new format. --- Version: 6.3.0 Date: 2022-09-02 Description: - Features∶ - Multiband Gate implementation has been migrated from CALF to Linux Studio Plugins. - The preset autoloading code compatibility with bluez5 devices has been improved. - Wet/dry controls were added for some plugins - Effect interface is no longer loaded when the related lv2 plugin is not installed on the system. In its place a status message to the user is shown. - The documentation has been updated - Improved debug messages - Updated translations - Bug fixes∶ - Other notes∶ --- Version: 6.2.8 Date: 2022-07-25 Description: - Features∶ - Improved translations - Bug fixes∶ - Fixed a bug where EasyEffects could crash when closing its window while effects were being applied. - Other notes∶ --- Version: 6.2.7 Date: 2022-07-18 Description: - Features∶ - The bypass state can be saved to the preset file. The reasons why this was done can be seen at https://github.com/wwmm/easyeffects/issues/1039 - The preset autoloading code compatibility with usb devices has been improved. - A dialog is shown to the user when a preset fails to load or a preset/impulse file fails to be imported. - The SideChain Gate plugin from `Linux Studio Plugins` is now used instead of the one from Calf Studio. - Bug fixes∶ - EasyEffects should not crash anymore when the user locale is not properly configured. - A workaround was implemented in our icon to deal with the lack of proper SVG support in QT. - Other notes∶ --- Version: 6.2.6 Date: 2022-06-22 Description: - Features∶ - When effects are disable to an application we now set its target metadata to null. This will allow the media session manager (wireplumber) to properly move the stream to a new device. - A new configuration option was added. It allows EasyEffects to ignore streams whose purpose is to monitor sink devices. This will help to fix some of problems our users were having when using OBS. - The code that shows the stream sample format has been improved - The rnnoise library is now optional. This should help package maintainers to build a Debian package. See https://github.com/wwmm/easyeffects/issues/1000 for more information. - Our logs now show the source code line where the messages are being printed - Bug fixes∶ - The "enable effects" checkbox in our window was not being updated when third party programs like pavucontrol moved the stream away from our virtual devices. This should be fixed now. - Fixed a crash that could happen when the maximum autogain history was changed. - Avoid crashes when pw-mididump is running --- Version: 6.2.5 Date: 2022-04-30 Description: - Features∶ - The interface of the pitch plugin was improved - Our application icon is now compatible with desktops that uses QT - Our blocklist code will use the `application.id` tag if the stream sets it - In order to avoid problems with the mouse scroll the entries in the applications list shown in our `Players/Recorders` tab do not show a volume scale anymore. More details about the problem and the solution for it can be found on https://github.com/wwmm/easyeffects/issues/1211 and https://github.com/wwmm/easyeffects/issues/1427 - When no application is available for display in the `Players/Recorders` a message will be shown to the user - Many translation updates - Bug fixes∶ - Fixed a bug where EasyEffects crashed when the number of points displayed in the spectrum was changed while our pipeline was active and the spectrum widget was visible - The pipeline latency value displayed in our window could be wrong in some situations. This was fixed. --- Version: 6.2.4 Date: 2022-03-07 Description: - Features∶ - There is a new setting allowing the user to select an inactivity timeout for the pipeline. When no client is playing to or recording from our devices the filters will be unlinked after the timeout is reached. This is done to make sure we do not waste CPU power processing silence. - The autogain plugin now allows the user to select which of the three loudness are used to calculate the geometric mean. - The autogain plugin now allows the maximum history to be set and does not use `libebur128` histogram mode anymore. This should avoid the cases where the `Integrated` loudness gets stuck forever in the same value. - EasyEffects icon has been updated in a way that should make it visible in QT desktops. - Bug fixes∶ - The command line option that returns the global bypass state is working again. --- Version: 6.2.3 Date: 2022-01-29 Description: - Features∶ - The crossfeed filter should deal better with PipeWire's dynamic latency switches. Jumps in volume level should not happen anymore in these situations. - Bug fixes∶ - Fixed a bug that prevented mono microphones from properly working with EasyEffects --- Version: 6.2.2 Date: 2022-01-27 Description: - Features∶ - Support for the next PipeWire release `0.3.44` - The autogain filter should deal better with PipeWire's dynamic latency switches. Jumps in volume level should not happen anymore in these situations. - We added an option that allows the volume and mute state of our virtual devices to be reset when EasyEffects starts. It should help with the cases were our devices are muted by the audio server for unknown reasons. - Better support for computer suspending. - Updated translations - Bug fixes∶ - Fixed a bug where trying to create an autoloading profile without having presets caused the application to crash. --- Version: 6.2.1 Date: 2022-01-05 Description: - Bug fixes∶ - Fixed a bug where setting a equalizer band `quality` to `zero` would lead to an application crash. --- Version: 6.2.0 Date: 2022-01-04 Description: - Features∶ - LibAdwaita is used to create some parts of our window and for handling the switching between dark and light themes. - The settings menu has been redesigned using LibAdwaita widgets. - Equalizer APO preset import feature has been improved to apply not only the Bell filter, but also other supported ones (at the moment only the Bandpass filter is not available in LSP plugin). - The `Reset All Settings` function in our menu should work in Flatpak now. - We have a new option that allows the user to disable our menus `autohide`. This may help to workaround some bugs Popover menus currently have on gtk4. - Bug fixes∶ - More robust parsing to import APO presets saved with comma as thousands separator in central frequency band. - Other notes∶ - The fmt library is a new dependency https://github.com/fmtlib/fmt. At least while the c++ compilers do not implement its features. This is expected to happen in the next years. - GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly. --- Version: 6.1.5 Date: 2021-11-17 Description: - Features∶ - It is now possible to combine impulse responses in the Convolver interface. A new impulse file is generated and it should be visible in the impulse list. - Improved `x axis` drawings in our plots. Now the number of labels is adjusted dynamically depending on our window width. - The documentation has been updated reflecting the new EasyEffects features. Old references about PulseEffects have been removed. The documentation button has been added in the menu section. - Bug fixes∶ - When a spinbutton is filled with an out of range value, now it is updated with the lowest/highest value rather than resetting to the previous one. - The application window now remembers the maximized state and restores it on the next opening event. - Other notes∶ - The `tbb` library is a new dependency https://www.threadingbuildingblocks.org --- Version: 6.1.4 Date: 2021-10-16 Description: - Features∶ - The Limiter and the Multiband Compressor plugins can now use an optional external sidechain. - The Autogain plugin now allows the user to select which Loudness is used as reference for the volume correction. - The APO Profile Import feature of Equalizer plugin now parses the "Pre Amplification" parameter. - Optional Cubic Volume can be enabled in General Settings. - Bug fixes∶ - The Spectrum plugin was supposed to enter passthrough whenever it was not visible, but this was happening only when our window was closed. - Improved support for Assistive Technology. - The probes used in some filters like the Compressor and the Limiter were not being relinked after changing the order of the plugins in the pipeline. It should be working now. --- Version: 6.1.3 Date: 2021-10-03 Description: - Features∶ - PipeWire monitor streams are now excluded and removed from the applications list. - Bug fixes∶ - Hopefully crashes like the one reported at https://github.com/wwmm/easyeffects/issues/1172 are fixed. - Prevented a case in which Spectrum was crashing. - Pavucontrol is not added anymore to input applications list on systems with localization different than English. --- Version: 6.1.2 Date: 2021-09-20 Description: - Features∶ - Improved compatibility with WirePlumber. This is needed to run on systems that decided to use it instead of the built-in PipeWire session manager. More information at https://github.com/wwmm/easyeffects/issues/1144. --- Version: 6.1.1 Date: 2021-09-17 Description: - Features∶ - When trying to add an autoloading profile for a device already in the list its target preset will be updated. This way we can change the profile preset without having to remove and recreating it. - The preset autoloading support implementation was redesigned again. It should work on more hardware now. For more information see https://github.com/wwmm/easyeffects/issues/1051. - If the Limiter or the Maximizer are set in the last position of the plugin stack, new plugins are added at the second to last position in order to prevent hardware damage on eventually high output level. - Removing an application from the blocklist, its previous enabled state is restored. - Bug fixes∶ - Sometimes when removing imported models from the noise reduction plugin the current used model was not properly updated. This should be fixed now. - When editing presets files in an external editor, duplicated entries won't be shown in our presets menu. - Now the blocklist is correctly set when switching presets. - Now the status of the global bypass button is correctly updated when changing plugin stack. - Missing icons on the system should not be shown inside the application info UI (if an application icon could not be shown even if you're sure it's correctly installed, please open an issue). - Some icons not showing in Plasma DE with Breeze icon theme should appear now. --- Version: 6.1.0 Date: 2021-08-17 Description: - Features∶ - Updated Chinese translation. - Updated Italian translation. - Added support for the compressor parameter `Boost Amount` - The multiband compressor plugin now uses the stereo multiband compressor plugin from Linux Studio Plugins instead of the one from Calf Studio. - The limiter plugin now uses the stereo limiter plugin from Linux Studio Plugins instead of the one from Calf Studio. - LV2 filters now are spawned in PipeWire graph only when loaded the first time. Once loaded, they remain connected until EasyEffects shutdown. - Bug fixes∶ - The echo canceller sampling rate is now properly set. - The threshold parameter from the deesser plugin is now saved to the preset file. - Improved band splitting for crystalizer with new default intensity values. - Depending on the input gain or output gain values the corresponding level bars could not be aligned. - When adding more equalizer bands they are set to `Bell` instead of `Off`. - Equalizer APO presets loading is now working properly on locales different than C. - Improved linking management between port filter nodes in PipeWire. - The crystalizer plugin signal amplification was too high before. It should be within more reasonable levels now. --- Version: 6.0.3 Date: 2021-07-16 Description: - Features∶ - Improved the resampler used in the plugins that require one(like the rnnoise plugin) - Updated translations - Bug fixes∶ - Setting multiple autoloading presets should be fine now - Transient windows are now properly set for some plugins dialogs - The convolver impulse response menu was improved to workaround an issue where the impulse files was not loaded when only one was available in the menu, see https://github.com/wwmm/easyeffects/issues/1011 - Fixed a bug that could make the pitch plugin to not be properly initialized - The saturation warning should not displace its neighbor widgets anymore - Fixed the locale in a few widgets - Fixed wrong alignment in a few widgets --- Version: 6.0.2 Date: 2021-07-11 Description: - Features∶ - The Loudness plugin is being used again for the reasons described at https://github.com/wwmm/easyeffects/issues/820. This means that http://drobilla.net/plugins/mda/Loudness is an optional dependency again. - Bug fixes∶ - Fixed a segmentation fault that happened when optional dependencies were not installed --- Version: 6.0.1 Date: 2021-07-09 Description: - Features∶ - Improved equalizer interface. - Now we use a sidechain LSP compressor that allows the user to select and external source as the sidechain input. - We now support the LSP compressor `Boosting` mode. - When `split-channels` is enabled in the equalizer the imported APO preset will be applied only to the channel being visualized in the window. This will allow to import different presets for each channel instead of just settings the same values to both. - Bug fixes∶ - Fixed some segmentation faults that could happen when creating a preset autoloading profile or removing presets --- Version: 6.0.0 Date: 2021-07-07 Description: - Features∶ - This is one of the biggest releases that I have ever made. The amount of changes is so big that it is hard to talk about everything here. - The following are just the most import ones. People interested on the journey that got us here can take a look at https://github.com/wwmm/easyeffects/issues/904 and https://github.com/wwmm/easyeffects/issues/874. - The application and its repository have been renamed from PulseEffects to `EasyEffects` - gtkmm3 was replaced by gtkmm4 - Gstreamer was replaced by native PipeWire filters. - Many features were reimplemented from scratch. The preset autoloading is one example. Another remarkable change will be seen in the plugins selection menu. Now the user can show in the window only the plugins that he/she wants to use. - Boost is no longer a dependency. The price paid for that was a little change in our presets structures. With some patience it is possible to edit PulseEffects presets in a text editor and make them work in EasyEffects. Hopefully someone will come up with a script for this in the feature. - New libraries are being used and some of the librarires that were optional before are now required easyeffects-7.1.7/util/autobuild.sh000077500000000000000000000065171463533416400173550ustar00rootroot00000000000000#!/usr/bin/env bash # This ugly script helps to build a new version of Easy Effects # Currently for DEB package only # Author: Mikhail Novosyolov pkg_name="easyeffects" git_upstream_url="https://github.com/wwmm/easyeffects.git" stdate="$(date +%s)" day_name="$(env LANG=c date --date="@${stdate}" +%a)" month_name="$(env LANG=c date --date="@${stdate}" +%b)" year="$(env LANG=c date --date="@${stdate}" +%Y)" day_month="$(env LANG=c date --date="@${stdate}" +%d)" time="$(env LANG=c date --date="@${stdate}" +%H:%m:%S)" timezone="$(env LANG=c date --date="@${stdate}" +%z)" dir_start="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" if [ "$(basename "${dir_start}")" = 'util' ]; then cd .. fi dir0="$(pwd)" echo_help(){ echo "Usage: nv|nw|new_version, ppa, lc|local_test, check_fuzzy|check_fuzzy_po|cf, full" } git_sync_upstream(){ if ! git remote -v | grep -q "$git_upstream_url"; then git remote add upstream "$git_upstream_url" fi git fetch upstream # git merge returns 0 only if merge was successful if git merge upstream/master then : else echo "" echo "Merge conflicts! Cannot continue!" echo "" exit 1 fi } debian_changelog_new_entry(){ if [ ! -f debian/changelog.tpl ]; then echo "No debian/changelog.tpl, cannot continue!" exit 1 fi if [ -z "$new_version" ]; then echo "new_version is empty"; exit 1; fi cat debian/changelog.tpl | \ sed "s/%new_version%/${new_version}/g" | \ sed "s/%day_name%/${day_name}/g" | \ sed "s/%day_month%/${day_month}/g" | \ sed "s/%month_name%/${month_name}/g" | \ sed "s/%year%/${year}/g" | \ sed "s/%time%/${time}/g" | \ sed "s/%timezone%/${timezone}/g" | \ tee -a "${dir0}/debian/changelog.new" mv debian/changelog debian/changelog.old echo " " >> debian/changelog.new cat debian/changelog.new debian/changelog.old > debian/changelog rm -f debian/changelog.new debian/changelog.old } check_fuzzy_po(){ for lang in ru do if grep -q "^#, fuzzy" "po/${lang}.po" then read -p "Fuzzies FOUND in localization ${lang}" else echo "No fuzzies found in localization ${lang}" fi if grep -q "^#, fuzzy" "help/${lang}/${lang}.po" then read -p "Fuzzies FOUND in help ${lang}" echo "No fuzzies found in help ${lang}" else echo "No fuzzies found in help ${lang}" fi done } new_version(){ # env USCAN=0 util/autobuild.sh if [ ! "$USCAN" = '0' ] then if env LANG=c uscan | grep -qi 'Newer package available'; then new_version="$(env LANG=c uscan --no-download | grep 'Newest version of' | awk -F ', ' '{print $1}' | awk -F ' ' '{print $NF}')" fi else : fi git_sync_upstream git commit -m "Updated to ${new_version} (autobuild)" debian/changelog debian_changelog_new_entry check_fuzzy_po } ppa(){ pushd debian ./build-ppa.sh popd } git_push(){ git push } local_test(){ dpkg-buildpackage last_version="$(head -n 1 debian/changelog | tr -d "()" | awk -F ' ' '{print $2}')" sudo apt install ../*${pkg_name}*${last_version}*.deb -y && \ if easyeffects then return 0 else return 1 fi debian/rules clean } case "$1" in nv|nw|new_version ) new_version ;; ppa ) ppa ;; full ) new_version if local_test; then ppa git_push fi ;; lc|local_test ) #new_version local_test ;; check_fuzzy|check_fuzzy_po|cf ) check_fuzzy_po ;; * ) echo "Current dir is: $(pwd) ." echo_help ;; esac easyeffects-7.1.7/util/changes_since_last_release.sh000077500000000000000000000004531463533416400226720ustar00rootroot00000000000000#!/usr/bin/env bash # using git log to view the changes that have been done since the tag given as argument read -r -e -p "Write the last release version(example 6.2.6): " LAST_RELEASE echo "" echo "Changes done since $LAST_RELEASE:" echo "" git log v$LAST_RELEASE...HEAD --pretty=format:'%H %s'easyeffects-7.1.7/util/clang-tidy.sh000077500000000000000000000017321463533416400174120ustar00rootroot00000000000000#!/usr/bin/env bash set -e # write a custom script for ease of use, meson clang-tidy target can't do fixes, and also has somewhat broken threading if ! meson introspect --projectinfo &> /dev/null; then echo "Error, meson introspect command failed, make sure you are in a meson build directory" exit 1 fi if [[ "$PWD" == "" ]]; then echo "Error, \$PWD is empty" exit 1 fi # save current dir and get repo dir # we need an absolute path without any .. in them otherwise these various layers of scripts get confused BUILD_DIR="$PWD" cd .. REPO_DIR="$PWD" # back to build dir cd "$BUILD_DIR" # only scan c++ files in src, we don't want to scan the generated easyeffects-resources.c file # it is fine to use -fix everywhere, since it will still exit with error even if errors were all automatically fixed. # however we do not use -fix since it is safer to just manually fix things python3 ../util/run-clang-tidy.py -p . -config-file=../.clang-tidy "$REPO_DIR"/src/*.cpp easyeffects-7.1.7/util/crystalizer.py000077500000000000000000000027211463533416400177470ustar00rootroot00000000000000#!/usr/bin/env python3 import numpy as np import matplotlib.pyplot as plt import scipy.io.wavfile as wavefile rate, wave = wavefile.read('test.wav') wave_y = wave[14000:15000] wave_x = np.arange(wave_y.size) t = wave_x original = wave_y standard = np.copy(original) deriv2 = np.zeros(original.size) intensity = 2.0 # the boundaries are better handled in the plugin code for n in range(original.size): if n > 0 and n < original.size - 1: deriv2[n] = original[n + 1] - 2 * original[n] + original[n - 1] elif n == 0: deriv2[0] = original[n + 1] - 2 * original[n] + original[n] elif n == original.size - 1: deriv2[n] = original[n] - 2 * original[n] + original[n - 1] for n in range(standard.size): standard[n] -= intensity * deriv2[n] aggressive = np.copy(standard) if intensity >= 1: ndivs = 1000 gain = np.linspace(1, intensity, ndivs) dv = 0.5 / ndivs for n in range(standard.size): v = aggressive[n] idx = int(np.floor(np.fabs(v) / dv)) if idx < 0: idx = 0 elif idx > gain.size: idx = gain.size - 1 aggressive[n] = v * gain[idx] fig = plt.figure() plt.plot(t, original, 'bo-', markersize=4, label='original') plt.plot(t, standard, 'ro-', markersize=4, label='standard') plt.plot(t, aggressive, 'go-', markersize=4, label='aggressive') fig.legend() plt.xlabel('Arbitrary Time', fontsize=18) plt.ylabel('Waveform', fontsize=18) plt.grid() plt.show() easyeffects-7.1.7/util/environmental_variables.sh000077500000000000000000000006741463533416400222740ustar00rootroot00000000000000#!/bin/sh export GSETTINGS_SCHEMA_DIR=../../data/schemas/ export G_MESSAGES_DEBUG=easyeffects export ASAN_OPTIONS="detect_stack_use_after_return=1:check_initialization_order=1" export LSAN_OPTIONS="print_suppressions=true:suppressions=../../util/sanitizer.supp" alias ee_valgrind='valgrind --suppressions=/usr/share/gtk-4.0/valgrind/gtk.supp --suppressions=/usr/share/glib-2.0/valgrind/glib.supp --leak-check=full --show-leak-kinds=definite' easyeffects-7.1.7/util/flatpak/000077500000000000000000000000001463533416400164375ustar00rootroot00000000000000easyeffects-7.1.7/util/flatpak/com.github.wwmm.easyeffects.Devel.json000066400000000000000000000067111463533416400257220ustar00rootroot00000000000000{ "id": "com.github.wwmm.easyeffects.Devel", "runtime": "org.gnome.Platform", "runtime-version": "46", "sdk": "org.gnome.Sdk", "branch": "stable", "command": "easyeffects", "finish-args": [ "--share=ipc", "--socket=fallback-x11", "--socket=wayland", "--device=dri", "--filesystem=xdg-run/pipewire-0:ro", "--env=LV2_PATH=/app/lib/lv2:/app/extensions/Plugins/lv2", "--env=LADSPA_PATH=/app/lib/ladspa" ], "cleanup": [ "*.a", "*.h", "*.la", "/bin/analyseplugin", "/bin/applyplugin", "/bin/listplugins", "/include", "/lib/pkgconfig", "/lib/python*", "/share/info" ], "add-extensions": { "io.github.wwmm.easyeffects.Presets": { "directory": "extensions/Presets", "merge-dirs": "input;output;irs;rnnoise", "subdirectories": true, "no-autodownload": true, "autodelete": true }, "org.freedesktop.LinuxAudio.Plugins": { "directory": "extensions/Plugins", "version": "23.08", "add-ld-path": "lib", "merge-dirs": "lv2", "subdirectories": true, "no-autodownload": true }, "org.freedesktop.LinuxAudio.Plugins.Calf": { "directory": "extensions/Plugins/Calf", "version": "23.08", "add-ld-path": "lib", "merge-dirs": "lv2", "autodelete": false, "subdirectories": true }, "org.freedesktop.LinuxAudio.Plugins.LSP": { "directory": "extensions/Plugins/LSP", "version": "23.08", "add-ld-path": "lib", "merge-dirs": "lv2", "autodelete": false, "subdirectories": true }, "org.freedesktop.LinuxAudio.Plugins.ZamPlugins": { "directory": "extensions/Plugins/ZamPlugins", "version": "23.08", "add-ld-path": "lib", "merge-dirs": "lv2", "autodelete": false, "subdirectories": true }, "org.freedesktop.LinuxAudio.Plugins.MDA": { "directory": "extensions/Plugins/MDA", "version": "23.08", "add-ld-path": "lib", "merge-dirs": "lv2", "autodelete": false, "subdirectories": true } }, "modules": [ { "name": "easyeffects", "buildsystem": "meson", "config-opts": [ "-Ddevel=true", "-Dbuildtype=debug", "-Denable-libportal=true", "-Denable-mold=true" ], "run-tests": true, "sources": [ { "//": "Should be type: git for downstream sources, e.g. when using flatpak-builder with easyeffects as a submodule. This ensures the commit can be found for the build debug info. Type dir works everywhere else I have tested.", "type": "dir", "path": "../../" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/$FLATPAK_ID ../LICENSE", "mkdir -pm755 $FLATPAK_DEST/extensions/Presets", "mkdir -pm755 $FLATPAK_DEST/extensions/Plugins" ], "modules": [ "easyeffects-modules.json" ] } ] } easyeffects-7.1.7/util/flatpak/easyeffects-modules.json000066400000000000000000000367511463533416400233150ustar00rootroot00000000000000{ "name": "easyeffects-modules", "modules": [ { "name": "pipewire", "buildsystem": "meson", "config-opts": [ "-Dgstreamer=disabled", "-Dman=disabled", "-Dsystemd=disabled", "-Dudev=disabled", "-Dudevrulesdir=disabled", "-Dsession-managers=[]", "-Djack=enabled" ], "sources": [ { "type": "git", "url": "https://github.com/pipewire/pipewire.git", "tag": "0.3.69", "commit": "cd8be0ba3b27542253f7744b699c2ede159e2d7c" } ] }, { "name": "libsigc++", "buildsystem": "meson", "config-opts": [ "-Dbuild-examples=false" ], "sources": [ { "type": "archive", "url": "https://download.gnome.org/sources/libsigc++/3.6/libsigc++-3.6.0.tar.xz", "sha256": "c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17", "x-checker-data": { "type": "gnome", "name": "libsigc++", "stable-only": true } } ], "cleanup": [ "/lib/sigc++*" ] }, { "name": "libebur128", "buildsystem": "cmake-ninja", "config-opts": [ "-DCMAKE_BUILD_TYPE=Release", "-DBUILD_STATIC_LIBS=OFF", "-DCMAKE_INSTALL_LIBDIR=lib" ], "sources": [ { "type": "git", "url": "https://github.com/jiixyj/libebur128", "tag": "v1.2.6", "commit": "67b33abe1558160ed76ada1322329b0e9e058b02", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/jiixyj/libebur128/releases/latest", "tag-query": ".tag_name", "version-query": "$tag | sub(\"^jq-\"; \"\")", "timestamp-query": ".published_at" } } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/libebur128 COPYING" ] }, { "name": "zita-convolver", "no-autogen": true, "subdir": "source", "make-install-args": [ "PREFIX=${FLATPAK_DEST}", "LIBDIR=${FLATPAK_DEST}/lib" ], "sources": [ { "type": "archive", "url": "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/zita-convolver-4.0.3.tar.bz2", "sha512": "62d7841757f10c094e43ed755e187f947c5743f302ed2a1ee6064a850c18921466f4505d8a2a7b3ad23619db7f1ad7307e1dfb2e8a1e7685e60ece2ffff4f6ca" }, { "type": "patch", "path": "patch/zita-convolver/0001-Fix-makefile.patch" } ], "modules": [ "shared-modules/linux-audio/fftw3f.json", "shared-modules/linux-audio/lv2.json", "shared-modules/linux-audio/lilv.json", "shared-modules/linux-audio/ladspa.json", { "name": "bs2b", "rm-configure": true, "sources": [ { "type": "archive", "url": "https://downloads.sourceforge.net/sourceforge/bs2b/libbs2b-3.1.0.tar.gz", "sha256": "6aaafd81aae3898ee40148dd1349aab348db9bfae9767d0e66e0b07ddd4b2528" }, { "type": "script", "dest-filename": "autogen.sh", "commands": [ "cp -p /usr/share/automake-*/config.{sub,guess} build-aux", "autoreconf -vfi" ] }, { "type": "patch", "path": "patch/bs2b/001-fix-automake-dist-lzma.patch" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/bs2b COPYING" ], "cleanup": [ "/bin" ] }, { "name": "speexdsp", "buildsystem": "autotools", "sources": [ { "type": "git", "url": "https://gitlab.xiph.org/xiph/speexdsp", "tag": "SpeexDSP-1.2.1", "commit": "1b28a0f61bc31162979e1f26f3981fc3637095c8", "x-checker-data": { "type": "git", "tag-pattern": "^SpeexDSP-([\\d.]+)" } } ] } ] }, { "name": "rnnoise", "sources": [ { "type": "archive", "url": "https://github.com/xiph/rnnoise/releases/download/v0.2/rnnoise-0.2.tar.gz", "sha256": "90fce4b00b9ff24c08dbfe31b82ffd43bae383d85c5535676d28b0a2b11c0d37", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/xiph/rnnoise/releases/latest", "version-query": ".tag_name | sub(\"^v\"; \"\")", "url-query": ".assets[] | select(.name==\"rnnoise-\" + $version + \".tar.gz\") | .browser_download_url" } }, { "//": "downloads the file as found by this script https://github.com/xiph/rnnoise/blob/904a876dce1f9ab8860c0a5000ed151f9f6eef58/download_model.sh", "type": "archive", "url": "https://media.xiph.org/rnnoise/models/rnnoise_data-0b50c45.tar.gz", "sha256": "4ac81c5c0884ec4bd5907026aaae16209b7b76cd9d7f71af582094a2f98f4b43" } ], "cleanup": [ "/share/doc/rnnoise" ] }, { "name": "soundtouch", "buildsystem": "cmake-ninja", "sources": [ { "type": "git", "url": "https://codeberg.org/soundtouch/soundtouch.git", "tag": "2.3.3", "commit": "e83424d5928ab8513d2d082779c275765dee31b9", "x-checker-data": { "type": "git", "tag-pattern": "^([\\d.]+)$", "versions": { "!=": "2.3.2" } } } ], "cleanup": [ "/bin", "/lib/cmake", "/share/doc" ] }, { "name": "nlohmann-json", "buildsystem": "cmake-ninja", "config-opts": [ "-DCMAKE_BUILD_TYPE=Release", "-DJSON_BuildTests=false" ], "sources": [ { "type": "git", "url": "https://github.com/nlohmann/json", "tag": "v3.11.3", "commit": "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/nlohmann/json/releases/latest", "tag-query": ".tag_name", "version-query": "$tag | sub(\"^jq-\"; \"\")", "timestamp-query": ".published_at" } } ] }, { "name": "tbb", "buildsystem": "cmake-ninja", "builddir": true, "config-opts": [ "-DTBB_TEST=OFF" ], "sources": [ { "type": "archive", "url": "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.12.0.tar.gz", "sha256": "c7bb7aa69c254d91b8f0041a71c5bcc3936acb64408a1719aec0b2b7639dd84f", "x-checker-data": { "type": "anitya", "project-id": 227581, "stable-only": true, "url-template": "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v$version.tar.gz" } } ] }, { "name": "libportal", "buildsystem": "meson", "config-opts": [ "-Ddocs=false", "-Dbackend-gtk4=enabled" ], "sources": [ { "type": "git", "url": "https://github.com/flatpak/libportal.git", "tag": "0.7.1", "commit": "e9ed3a50cdde321eaf42361212480a66eb94a57a", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/flatpak/libportal/releases/latest", "tag-query": ".tag_name", "version-query": "$tag | sub(\"^jq-\"; \"\")", "timestamp-query": ".published_at" } } ] }, { "name": "fmt", "buildsystem": "cmake-ninja", "config-opts": [ "-DCMAKE_INSTALL_PREFIX=/app", "-DCMAKE_INSTALL_LIBDIR=/app/lib", "-DBUILD_SHARED_LIBS=ON", "-DFMT_TEST=Off" ], "sources": [ { "type": "git", "url": "https://github.com/fmtlib/fmt", "tag": "10.2.1", "commit": "e69e5f977d458f2650bb346dadf2ad30c5320281", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/fmtlib/fmt/releases/latest", "tag-query": ".tag_name", "version-query": "$tag | sub(\"^jq-\"; \"\")", "timestamp-query": ".published_at" } } ] }, { "name": "gsl", "sources": [ { "type": "archive", "url": "https://ftp.gnu.org/gnu/gsl/gsl-2.8.tar.gz", "sha256": "6a99eeed15632c6354895b1dd542ed5a855c0f15d9ad1326c6fe2b2c9e423190", "x-checker-data": { "type": "anitya", "project-id": 1267, "stable-only": true, "url-template": "https://ftp.gnu.org/gnu/gsl/gsl-$version.tar.gz" } } ] }, { "name": "mold", "sources": [ { "type": "archive", "dest-filename": "mold-linux.tar.gz", "only-arches": [ "x86_64" ], "url": "https://github.com/rui314/mold/releases/download/v2.32.0/mold-2.32.0-x86_64-linux.tar.gz", "sha256": "2e69989cc1c0041ecfcb31fec57b2a5caa7802848d9468ffa5b1b348b26e4982", "x-checker-data": { "type": "anitya", "project-id": 241732, "stable-only": true, "url-template": "https://github.com/rui314/mold/releases/download/v$version/mold-$version-x86_64-linux.tar.gz" } }, { "type": "archive", "dest-filename": "mold-linux.tar.gz", "only-arches": [ "aarch64" ], "url": "https://github.com/rui314/mold/releases/download/v2.32.0/mold-2.32.0-aarch64-linux.tar.gz", "sha256": "c75d17c1c530dee4b9ca811aaacca782a9fe8538ae8c68ce619f198a58e2b0e7", "x-checker-data": { "type": "anitya", "project-id": 241732, "stable-only": true, "url-template": "https://github.com/rui314/mold/releases/download/v$version/mold-$version-aarch64-linux.tar.gz" } } ], "buildsystem": "simple", "build-commands": [ "install -m 755 bin/mold $FLATPAK_DEST/bin/mold", "install -m 755 bin/ld.mold $FLATPAK_DEST/bin/ld.mold" ], "cleanup": [ "*" ] }, { "name": "libdeep_filter_ladspa", "sources": [ { "type": "file", "dest-filename": "libdeep_filter_ladspa.so", "only-arches": [ "x86_64" ], "url": "https://github.com/Rikorose/DeepFilterNet/releases/download/v0.5.6/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so", "sha256": "2ca3205c2911d389604a826a240e745597d50252b5cab81c8248252b335e2236", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/Rikorose/DeepFilterNet/releases/latest", "version-query": ".tag_name | sub(\"^v\"; \"\")", "url-query": ".assets[] | select(.name==\"libdeep_filter_ladspa-\" + $version + \"-x86_64-unknown-linux-gnu.so\") | .browser_download_url" } }, { "type": "file", "dest-filename": "libdeep_filter_ladspa.so", "only-arches": [ "aarch64" ], "url": "https://github.com/Rikorose/DeepFilterNet/releases/download/v0.5.6/libdeep_filter_ladspa-0.5.6-aarch64-unknown-linux-gnu.so", "sha256": "7b1fe31e41a4b447e2c7a6fd46397b7cd4456d6acb5a011d4ea125cb9612041e", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/Rikorose/DeepFilterNet/releases/latest", "version-query": ".tag_name | sub(\"^v\"; \"\")", "url-query": ".assets[] | select(.name==\"libdeep_filter_ladspa-\" + $version + \"-aarch64-unknown-linux-gnu.so\") | .browser_download_url" } } ], "buildsystem": "simple", "build-commands": [ "install -m 644 libdeep_filter_ladspa.so $FLATPAK_DEST/lib/ladspa/" ] } ] } easyeffects-7.1.7/util/flatpak/patch/000077500000000000000000000000001463533416400175365ustar00rootroot00000000000000easyeffects-7.1.7/util/flatpak/patch/bs2b/000077500000000000000000000000001463533416400203665ustar00rootroot00000000000000easyeffects-7.1.7/util/flatpak/patch/bs2b/001-fix-automake-dist-lzma.patch000066400000000000000000000006731463533416400262070ustar00rootroot00000000000000--- a/configure.ac +++ b/configure.ac @@ -4,8 +4,8 @@ AC_PREREQ([2.63]) AC_INIT([libbs2b], [3.1.0], [boris_mikhaylov@users.sourceforge.net]) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([1.10.1 -Wall foreign subdir-objects - dist-zip dist-bzip2 dist-lzma]) +AM_INIT_AUTOMAKE([1.11.2 -Wall foreign subdir-objects + dist-zip dist-bzip2 dist-xz]) AC_CONFIG_SRCDIR([src/bs2b.h]) # Checks for programs. easyeffects-7.1.7/util/flatpak/patch/zita-convolver/000077500000000000000000000000001463533416400225205ustar00rootroot00000000000000easyeffects-7.1.7/util/flatpak/patch/zita-convolver/0001-Fix-makefile.patch000066400000000000000000000021641463533416400264230ustar00rootroot00000000000000From 5980950dbae82c6a03b38b8e66e07a8b29068a00 Mon Sep 17 00:00:00 2001 From: AsavarTzeth Date: Thu, 19 Jul 2018 21:55:38 +0200 Subject: [PATCH] Fix makefile - ldconfig should not be called by Makefile - Add missing symlink for major version of lib --- source/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/Makefile b/source/Makefile index 776c067..a15bea9 100644 --- a/source/Makefile +++ b/source/Makefile @@ -34,7 +34,6 @@ VERSION = $(MAJVERS).$(MINVERS) CPPFLAGS += -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS CPPFLAGS += -DENABLE_VECTOR_MODE CXXFLAGS += -fPIC -Wall -ffast-math -funroll-loops -O2 -CXXFLAGS += -march=native LDLFAGS += LDLIBS += @@ -56,8 +55,8 @@ install: $(ZITA-CONVOLVER_MIN) install -d $(DESTDIR)$(LIBDIR) install -m 644 $(ZITA-CONVOLVER_H) $(DESTDIR)$(INCDIR) install -m 755 $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR) - ldconfig ln -sf $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-CONVOLVER_SO) + ln -sf $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-CONVOLVER_MAJ) uninstall: rm -rf $(DESTDIR)$(INCDIR)/$(ZITA-CONVOLVER_H) easyeffects-7.1.7/util/flatpak/shared-modules/000077500000000000000000000000001463533416400213535ustar00rootroot00000000000000easyeffects-7.1.7/util/flatpak/shared-modules/linux-audio/000077500000000000000000000000001463533416400236115ustar00rootroot00000000000000easyeffects-7.1.7/util/flatpak/shared-modules/linux-audio/fftw3f.json000066400000000000000000000016521463533416400257070ustar00rootroot00000000000000{ "name": "fftw3f", "config-opts": [ "--enable-threads", "--enable-shared", "--disable-static", "--enable-float" ], "build-options": { "arch": { "x86_64": { "config-opts": [ "--enable-sse2", "--enable-avx", "--enable-avx-128-fma" ] }, "aarch64": { "config-opts": [ "--enable-neon" ] } } }, "sources": [ { "type": "archive", "url": "https://www.fftw.org/fftw-3.3.10.tar.gz", "sha256": "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" } ], "cleanup": [ "/bin", "/include", "/lib/cmake", "/lib/pkgconfig", "/share/man", "*.la", "*.so" ] } easyeffects-7.1.7/util/flatpak/shared-modules/linux-audio/ladspa.json000066400000000000000000000007261463533416400257550ustar00rootroot00000000000000{ "name": "ladspa", "no-autogen": true, "subdir": "src", "make-install-args": [ "INSTALL_PLUGINS_DIR=/app/lib/ladspa", "INSTALL_INCLUDE_DIR=/app/include", "INSTALL_BINARY_DIR=/app/bin" ], "sources": [ { "type": "archive", "url": "http://www.ladspa.org/download/ladspa_sdk_1.17.tgz", "sha256": "27d24f279e4b81bd17ecbdcc38e4c42991bb388826c0b200067ce0eb59d3da5b" } ] } easyeffects-7.1.7/util/flatpak/shared-modules/linux-audio/lilv.json000066400000000000000000000036511463533416400254570ustar00rootroot00000000000000{ "name": "lilv", "buildsystem": "meson", "modules": [ { "name": "serd", "buildsystem": "meson", "sources": [ { "type": "archive", "url": "https://download.drobilla.net/serd-0.30.16.tar.xz", "sha256": "f50f486da519cdd8d03b20c9e42414e459133f5a244411d8e63caef8d9ac9146" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/serd ../COPYING" ], "cleanup": [ "/bin", "/include", "/lib/pkgconfig", "/share/man" ] }, { "name": "sord", "buildsystem": "meson", "sources": [ { "type": "archive", "url": "https://download.drobilla.net/sord-0.16.14.tar.xz", "sha256": "220fd97d5fcb216e7b85db66f685bfdaad7dc58a50d1f96dfb2558dbc6c4731b" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/sord ../COPYING" ], "cleanup": [ "/bin", "/include", "/lib/pkgconfig", "/share/man" ] }, { "name": "sratom", "buildsystem": "meson", "cleanup": [ "/include", "/lib/pkgconfig" ], "sources": [ { "type": "archive", "url": "https://download.drobilla.net/sratom-0.6.14.tar.xz", "sha256": "9982faf40db83aedd9b3850e499fecd6852b8b4ba6dede514013655cffaca1e6" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/sratom ../COPYING" ] } ], "sources": [ { "type": "archive", "url": "https://download.drobilla.net/lilv-0.24.20.tar.xz", "sha256": "4fb082b9b8b286ea92bbb71bde6b75624cecab6df0cc639ee75a2a096212eebc" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/lilv ../COPYING" ], "cleanup": [ "/bin", "/etc", "/lib/pkgconfig", "/share/man" ] } easyeffects-7.1.7/util/flatpak/shared-modules/linux-audio/lv2.json000066400000000000000000000010431463533416400252050ustar00rootroot00000000000000 { "name": "lv2", "buildsystem": "meson", "cleanup": [ "/bin", "/include", "/lib/pkgconfig", "/share" ], "sources": [ { "type": "archive", "url": "https://lv2plug.in/spec/lv2-1.18.10.tar.xz", "sha256": "78c51bcf21b54e58bb6329accbb4dae03b2ed79b520f9a01e734bd9de530953f" } ], "post-install": [ "install -Dm644 -t $FLATPAK_DEST/share/licenses/lv2 ../COPYING", "ln -sf lv2.pc $FLATPAK_DEST/lib/pkgconfig/lv2core.pc" ] }easyeffects-7.1.7/util/news-release-template.yaml000066400000000000000000000001771463533416400221110ustar00rootroot00000000000000--- Version: UNRELEASED_VERSION Date: UNRELEASED_DATE Description: - Features∶ - - Bug fixes∶ - - Other notes∶ - easyeffects-7.1.7/util/run-clang-tidy.py000066400000000000000000000351151463533416400202310ustar00rootroot00000000000000#!/usr/bin/env python3 # #===- run-clang-tidy.py - Parallel clang-tidy runner --------*- python -*--===# # # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. # See https://llvm.org/LICENSE.txt for license information. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # #===-----------------------------------------------------------------------===# # FIXME: Integrate with clang-tidy-diff.py # https://clang.llvm.org/extra/doxygen/run-clang-tidy_8py_source.html """ Parallel clang-tidy runner ========================== Runs clang-tidy over all files in a compilation database. Requires clang-tidy and clang-apply-replacements in $PATH. Example invocations. - Run clang-tidy on all files in the current working directory with a default set of checks and show warnings in the cpp files and all project headers. run-clang-tidy.py $PWD - Fix all header guards. run-clang-tidy.py -fix -checks=-*,llvm-header-guard - Fix all header guards included from clang-tidy and header guards for clang-tidy headers. run-clang-tidy.py -fix -checks=-*,llvm-header-guard extra/clang-tidy \ -header-filter=extra/clang-tidy Compilation database setup: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html """ from __future__ import print_function import argparse import glob import json import multiprocessing import os import queue import re import shutil import subprocess import sys import tempfile import threading import traceback try: import yaml except ImportError: yaml = None def strtobool(val): """Convert a string representation of truth to a bool following LLVM's CLI argument parsing.""" val = val.lower() if val in ['', 'true', '1']: return True elif val in ['false', '0']: return False # Return ArgumentTypeError so that argparse does not substitute its own error message raise argparse.ArgumentTypeError( "'{}' is invalid value for boolean argument! Try 0 or 1.".format(val) ) def find_compilation_database(path): """Adjusts the directory until a compilation database is found.""" result = os.path.realpath('./') while not os.path.isfile(os.path.join(result, path)): parent = os.path.dirname(result) if result == parent: print('Error: could not find compilation database.') sys.exit(1) result = parent return result def make_absolute(f, directory): if os.path.isabs(f): return f return os.path.normpath(os.path.join(directory, f)) def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path, header_filter, allow_enabling_alpha_checkers, extra_arg, extra_arg_before, quiet, config_file_path, config, line_filter, use_color, plugins): """Gets a command line for clang-tidy.""" start = [clang_tidy_binary] if allow_enabling_alpha_checkers: start.append('-allow-enabling-analyzer-alpha-checkers') if header_filter is not None: start.append('-header-filter=' + header_filter) if line_filter is not None: start.append('-line-filter=' + line_filter) if use_color is not None: if use_color: start.append('--use-color') else: start.append('--use-color=false') if checks: start.append('-checks=' + checks) if tmpdir is not None: start.append('-export-fixes') # Get a temporary file. We immediately close the handle so clang-tidy can # overwrite it. (handle, name) = tempfile.mkstemp(suffix='.yaml', dir=tmpdir) os.close(handle) start.append(name) for arg in extra_arg: start.append('-extra-arg=%s' % arg) for arg in extra_arg_before: start.append('-extra-arg-before=%s' % arg) start.append('-p=' + build_path) if quiet: start.append('-quiet') if config_file_path: start.append('--config-file=' + config_file_path) elif config: start.append('-config=' + config) for plugin in plugins: start.append('-load=' + plugin) start.append(f) return start def merge_replacement_files(tmpdir, mergefile): """Merge all replacement files in a directory into a single file""" # The fixes suggested by clang-tidy >= 4.0.0 are given under # the top level key 'Diagnostics' in the output yaml files mergekey = "Diagnostics" merged=[] for replacefile in glob.iglob(os.path.join(tmpdir, '*.yaml')): content = yaml.safe_load(open(replacefile, 'r')) if not content: continue # Skip empty files. merged.extend(content.get(mergekey, [])) if merged: # MainSourceFile: The key is required by the definition inside # include/clang/Tooling/ReplacementsYaml.h, but the value # is actually never used inside clang-apply-replacements, # so we set it to '' here. output = {'MainSourceFile': '', mergekey: merged} with open(mergefile, 'w') as out: yaml.safe_dump(output, out) else: # Empty the file: open(mergefile, 'w').close() def find_binary(arg, name, build_path): """Get the path for a binary or exit""" if arg: if shutil.which(arg): return arg else: raise SystemExit( "error: passed binary '{}' was not found or is not executable" .format(arg)) built_path = os.path.join(build_path, "bin", name) binary = shutil.which(name) or shutil.which(built_path) if binary: return binary else: raise SystemExit( "error: failed to find {} in $PATH or at {}" .format(name, built_path)) def apply_fixes(args, clang_apply_replacements_binary, tmpdir): """Calls clang-apply-fixes on a given directory.""" invocation = [clang_apply_replacements_binary] invocation.append('-ignore-insert-conflict') if args.format: invocation.append('-format') if args.style: invocation.append('-style=' + args.style) invocation.append(tmpdir) subprocess.call(invocation) def run_tidy(args, clang_tidy_binary, tmpdir, build_path, queue, lock, failed_files): """Takes filenames out of queue and runs clang-tidy on them.""" while True: name = queue.get() invocation = get_tidy_invocation(name, clang_tidy_binary, args.checks, tmpdir, build_path, args.header_filter, args.allow_enabling_alpha_checkers, args.extra_arg, args.extra_arg_before, args.quiet, args.config_file, args.config, args.line_filter, args.use_color, args.plugins) proc = subprocess.Popen(invocation, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, err = proc.communicate() if proc.returncode != 0: if proc.returncode < 0: msg = "%s: terminated by signal %d\n" % (name, -proc.returncode) err += msg.encode('utf-8') failed_files.append(name) with lock: sys.stdout.write(' '.join(invocation) + '\n' + output.decode('utf-8')) if len(err) > 0: sys.stdout.flush() sys.stderr.write(err.decode('utf-8')) queue.task_done() def main(): parser = argparse.ArgumentParser(description='Runs clang-tidy over all files ' 'in a compilation database. Requires ' 'clang-tidy and clang-apply-replacements in ' '$PATH or in your build directory.') parser.add_argument('-allow-enabling-alpha-checkers', action='store_true', help='allow alpha checkers from ' 'clang-analyzer.') parser.add_argument('-clang-tidy-binary', metavar='PATH', help='path to clang-tidy binary') parser.add_argument('-clang-apply-replacements-binary', metavar='PATH', help='path to clang-apply-replacements binary') parser.add_argument('-checks', default=None, help='checks filter, when not specified, use clang-tidy ' 'default') config_group = parser.add_mutually_exclusive_group() config_group.add_argument('-config', default=None, help='Specifies a configuration in YAML/JSON format: ' ' -config="{Checks: \'*\', ' ' CheckOptions: {x: y}}" ' 'When the value is empty, clang-tidy will ' 'attempt to find a file named .clang-tidy for ' 'each source file in its parent directories.') config_group.add_argument('-config-file', default=None, help='Specify the path of .clang-tidy or custom config ' 'file: e.g. -config-file=/some/path/myTidyConfigFile. ' 'This option internally works exactly the same way as ' '-config option after reading specified config file. ' 'Use either -config-file or -config, not both.') parser.add_argument('-header-filter', default=None, help='regular expression matching the names of the ' 'headers to output diagnostics from. Diagnostics from ' 'the main file of each translation unit are always ' 'displayed.') parser.add_argument('-line-filter', default=None, help='List of files with line ranges to filter the' 'warnings.') if yaml: parser.add_argument('-export-fixes', metavar='filename', dest='export_fixes', help='Create a yaml file to store suggested fixes in, ' 'which can be applied with clang-apply-replacements.') parser.add_argument('-j', type=int, default=0, help='number of tidy instances to be run in parallel.') parser.add_argument('files', nargs='*', default=['.*'], help='files to be processed (regex on path)') parser.add_argument('-fix', action='store_true', help='apply fix-its') parser.add_argument('-format', action='store_true', help='Reformat code ' 'after applying fixes') parser.add_argument('-style', default='file', help='The style of reformat ' 'code after applying fixes') parser.add_argument('-use-color', type=strtobool, nargs='?', const=True, help='Use colors in diagnostics, overriding clang-tidy\'s' ' default behavior. This option overrides the \'UseColor' '\' option in .clang-tidy file, if any.') parser.add_argument('-p', dest='build_path', help='Path used to read a compile command database.') parser.add_argument('-extra-arg', dest='extra_arg', action='append', default=[], help='Additional argument to append to the compiler ' 'command line.') parser.add_argument('-extra-arg-before', dest='extra_arg_before', action='append', default=[], help='Additional argument to prepend to the compiler ' 'command line.') parser.add_argument('-quiet', action='store_true', help='Run clang-tidy in quiet mode') parser.add_argument('-load', dest='plugins', action='append', default=[], help='Load the specified plugin in clang-tidy.') args = parser.parse_args() db_path = 'compile_commands.json' if args.build_path is not None: build_path = args.build_path else: # Find our database build_path = find_compilation_database(db_path) clang_tidy_binary = find_binary(args.clang_tidy_binary, "clang-tidy", build_path) tmpdir = None if args.fix: clang_apply_replacements_binary = find_binary( args.clang_apply_replacements_binary, "clang-apply-replacements", build_path) tmpdir = tempfile.mkdtemp() try: invocation = get_tidy_invocation("", clang_tidy_binary, args.checks, None, build_path, args.header_filter, args.allow_enabling_alpha_checkers, args.extra_arg, args.extra_arg_before, args.quiet, args.config_file, args.config, args.line_filter, args.use_color, args.plugins) invocation.append('-list-checks') invocation.append('-') if args.quiet: # Even with -quiet we still want to check if we can call clang-tidy. with open(os.devnull, 'w') as dev_null: subprocess.check_call(invocation, stdout=dev_null) else: subprocess.check_call(invocation) except: print("Unable to run clang-tidy.", file=sys.stderr) sys.exit(1) # Load the database and extract all files. database = json.load(open(os.path.join(build_path, db_path))) files = set([make_absolute(entry['file'], entry['directory']) for entry in database]) max_task = args.j if max_task == 0: max_task = multiprocessing.cpu_count() # Build up a big regexy filter from all command line arguments. file_name_re = re.compile('|'.join(args.files)) return_code = 0 try: # Spin up a bunch of tidy-launching threads. task_queue = queue.Queue(max_task) # List of files with a non-zero return code. failed_files = [] lock = threading.Lock() for _ in range(max_task): t = threading.Thread(target=run_tidy, args=(args, clang_tidy_binary, tmpdir, build_path, task_queue, lock, failed_files)) t.daemon = True t.start() # Fill the queue with files. for name in files: if file_name_re.search(name): task_queue.put(name) # Wait for all threads to be done. task_queue.join() if len(failed_files): return_code = 1 except KeyboardInterrupt: # This is a sad hack. Unfortunately subprocess goes # bonkers with ctrl-c and we start forking merrily. print('\nCtrl-C detected, goodbye.') if tmpdir: shutil.rmtree(tmpdir) os.kill(0, 9) if yaml and args.export_fixes: print('Writing fixes to ' + args.export_fixes + ' ...') try: merge_replacement_files(tmpdir, args.export_fixes) except: print('Error exporting fixes.\n', file=sys.stderr) traceback.print_exc() return_code=1 if args.fix: print('Applying fixes ...') try: apply_fixes(args, clang_apply_replacements_binary, tmpdir) except: print('Error applying fixes.\n', file=sys.stderr) traceback.print_exc() return_code = 1 if tmpdir: shutil.rmtree(tmpdir) sys.exit(return_code) if __name__ == '__main__': main() easyeffects-7.1.7/util/sanitizer.supp000066400000000000000000000001031463533416400177300ustar00rootroot00000000000000leak:libEGL_mesa* leak:libfontconfig* leak:libsigc* leak:libglib-2*easyeffects-7.1.7/util/sanitizer.txt000066400000000000000000000003401463533416400175630ustar00rootroot00000000000000meson setup _build --prefix=/tmp/ee -Db_sanitize=address,undefined G_SLICE=always-malloc G_DEBUG=gc-friendly ./easyeffects export LSAN_OPTIONS="print_suppressions=false:suppressions=/path/to/blender-lsan-suppressions.txt" easyeffects-7.1.7/util/test.wav000066400000000000000000025511021463533416400165210ustar00rootroot00000000000000RIFF: WAVEfmt D factdata ʪHAXd15=Pw=@={$`/CRL_-8NP0s(-u*XdC8=4)H( Ͻm\<8+ Ȯ|0U,L(PZPc{h&f`d~Jl-CdP`֧.(;&X=h=>lH>PNf>h>e>4x>[>x>̏a>,KM>~<>_>i=pc=3<_ٻ,7:3;8-E pVXPkNC SͼgcS>h >84>M>Y>8b>d.m>e>HH>+>p> >t]>>$`>(>T>>R>=>z>R>|;>R>lu>8o>JC>@{1>p]>>>> Xa>(>=HH=C='=<<@V==@h=V;hpֽ@–szz4 hnѽνD`:vMhOJCZ@?B:NXxOY/Bh V=ho=`>$>>y/>F>LQY>Do>.>>>J>p]>'>(,=Bi=BKXήx Ht 7 P"8 8wk@ʁ<<=]n=U=H=> >G><=3>lHE>D<>4>(>d^$>Dg8>=>o->k4>3>(=h=&>%x>젋>lmx> B>,>>l>@u>@D>>%>Lh>ޭ>4>愙>(>J>>=>(,=h==Q= 3'>Xf$>@[=@<| > >z=ѹ=h=@Z=И=h'=Ic=aN=`A=`=7<,<D#;o4<п=`=Q=>?'>H0>,>,>B5>B>3^>k>>>@>F!>ơ>$>>P>y>,\>C;>x >P\==Ņ=p==hJ=`/=P=s=ٖ=(r==hL==>`>o>%>2>J>`q>j>=0J=s==p=hG=]=+=l=Q=<@v< ^< ޼@kоģHޜrt/s|U@|>|:FT8S2XS.Qr[lؕtJpi[hTjk~fdU?N.9(y%>8>0!>3>F>4I>g;>z'>T>XF=P=@Oz=(=@<|a<@]<^<;԰ V <<|n=PƵ=(==Ϙ=P=yU=F<\ B <0P=P:9=:=`U=@I=<=)=0=h=/==<<8=>?>3>>}%>D;>2>\? >x= ̩==,|>C>==s܍ (ZphP[T@G=j=đ>e/>@>[W>Rp>[>>:>(>ߕ>ٝ>R>>Np>hV>l@> #>>W=K==щ=P=`=@F=<r:,<>P`==`=P=X=0i={=RN=R=p=` =;s< <j/L<۰==@mR=ػ@综Ϙ`Լ0wB\܏&>> >1>` >6>8w=0=(=R=x===M=<>ȃ=p=x=P=V==<<=(>@>Ĵ,>ȵ===0=< <żpP ==Hs=[T=@ = :<@\<;@?L@wҏN{ HּpDFo< 7=PV=`4=D0=` a=q=5/=<<<`*<e; "X |гhԽ ɽu!`ּ?'@'>e=>_M>p]>k>p>d.m>la>@H>(.>$>N> >8>}>W>T:m>J>I>X3>F>>_>`+>J>tŚ>&Ŝ>Lƛ>>d\>>-> >>4> >>N֔> >|>%>%>zJ>>B>*>6>>E>>۲>> ݶ>>>>z|>R}>]>Ԗ>>Xk><>X>p=H==x;==0'=h=@M=X=(=====P= =d=@=k=5=2= JG=<ü\i<";+<<\ G ^>Cu`pѼ ϼǼӼpPg>><">$>%>*>41>3>t:>(>G>[P>[>DI`>|P>>>47>\1,>D>Z=8=x=,=P= >p>*(>40>_;>dJ> R>vT>Q>T'M>t M>-O>L>eG>F>\H>NJ>TH>B>5>%> t>hH>v><: >$>j>Щ> >>>((>z9>tF>L>@P>hO>>J>E>VJ>TP> WT>,U>|9R>TO>M>SI>,>>2>,>p)>8$>4u>>c><>h=h=X=±=@===(=r=` T=4=+=@ == $=a =Pp =`=<<7<X<Ȟ<<@<ߊN43T@UQ`aKآF`AI:p4o4:H\[#>8-:>L>Z>4c>(i>@o>pu>d|>>h>F>>>>>>;>Ti>$>Hڔ>(~>֑>f>0ށ>0:{>s>n>̱m>Tq>y>>D>.>,>V#>U>nC>Fe>:>>>J>~>>L >>˭>a>/>⚬>T> >4>&M>,j>>>>o>>{>> >|>蓅>L"{>m>8d>W^>X>ķS>M>F>?>ȱ9>L4>80>+>?'>(m%>$>PM%>(>,>/>T/>,>@'>>>0>d>dK>]>|# >>.>i>R>h>>4 >i>2==X=4=]==0=x=إ= > >?>H > >$,>(===C=h(=b=}=`U=Ш,= =T<@(1f: 8NdZ_Z*QE8X. (%O#L P~,7ҽ%᝽᤽ h]˽8X$ 8OXJ8 K$Xtn|zB$a/p9@L?FJxMPOQLaRP I&<*%\O8뽸ؽ0Ͻ&ѽx۽8@LE|yN8؄HwpW彈q`$X lw#0*+H0&( pU˽d!NЖƠPIE@ՅjgWZrxz 0սZ<;9/DA"QG[`^b_8@Z(QE9t. u%Rk  ׽:~4 =c@ `@@;nXķ uٽ(- r` <8xŽ蹫h''sD %`}ļ@]@N@FؼvugGW_ ,<<5/=I=` T=P=?=&= =`p>P~>s&><0>\:>,:G>&U>d>s> B>˅>5>0>0>2T>!>1|>,q>,e>lZ>dO>XXE>T:>40->Ԃ > >` > >@=`=К==(:=5=Hw= =\ >S>,)>\B2>h6>[4>h->$q%>X4>X>p>\u> >'>p='==_=n=J="=z=@c=pB==@=`<`<1 =`@=0Y,= 1A=BN=@3M=0Z9=s=<<~;>( {ƼPO k@0>`Cr@2P8` @ռN@Y7. лƠA,\|Vy`? q%@DgxSІ,İ(p!hpR`栽Xte꿽pEҽ@=罈|,سL;0"ܽƽնSV08ҁ nmI#׭YOPμ0 4P}Ж8s` &`P:%< <<`=C1=pM=o=؉== =(= == k=?P=`:=pS1= 04===wI=NQ=K=P5= =<@\<e;ێ@!04` v:9(; @q]ټü࿊,7@P<<(` +`A QY]._agPq}x1LMhȽH׽'XTLD !lw#2?X$ O|8E?8>@DpG)D8P'S aH_ZFJSnh-ihຽ`ǽ CԽ1ܽݽpg޽H佐iHp@`hpC۽ȒԽѽyս ݽH5罠AX(ҽ@|ѫ@Єh&U)ppb S s?)V``}ļ@_zX;য়<<`b$=6<=0H=yU=g===ܩ==p=>D)>?>TU> m>>l>D>A>d:>J>>>>w}>`v>'s>tp>m>,i>e>Tb>c>l6f>li>m>pu>V߀>@>>>BF>hk>W>n">(>r>Z>>ֱ>h>V>’>x>t>ڟ>Bw>+e>aU>H>>>t`7>2>0>d0>2>L>9>F>Y>pyq>d>>>x>胦> >x§>D4>>B>.Т>>>V>>9> }>d>EK>2>D>$>=h=&=j=#=(=(==0== A>S>> >x>p>P]>C>>>> >>н==*==)c= s?= #= === "=B$=2$=0(=T0=P:9=I=ic=0w==E===xƧ==Юz=@5= t<#;1f`& $ N | | 0?`.FIUM+ Փl4޻`ЋaXPPиhpSȡ`ֽcS@=8lnUK<^'=s=}=9=8-= X= =j_^\]_g0r,:{D|DucG') ܽq(`mDD @g0@._4PQ%4G׼¿@мP:ptȏL`״`֧XxЕtlZb O`5| `&u+@<`=Y=N{=2=l=m6=<`𳼘ן >@[^d GC`,ӽ `@5gĂ'>Lt>>R>_>Rb>L\>R>l#F>6>^'>P>>() >( >X> >4B >̪>>0"> *>i3>?>gP>Bb>r>|M>>2 >T u>h>`>]>Y>R>A>&>>= ==H=@=`==` =X====0==>x]>P>P >#>PM%>%>&>'>(>$)>s&>d > >@6 >|y>="=,{> >>>>_ >">H">:!>h>t>І >m!>!>`">$>#>x!>>\>>$>|==W==؂=%=P =(=X=V===ri=`A= =p= << f=`` =X=;<P<``<@k8<;:*9;;6/<@we< $<Ι< <@X>'>L>> >,{>[=Hu=Ӝ=N=<;``f@I: ;<)">>+>9>F>W> _>7l>)>쏅>46{> i>s>>>,y>lS>taD>=\>|>w>,\S>W4>|W*>`)>>>>x)%>D;>O>`>Hgl>s>؅{>">+>8>>M>9>Z3>v>ޞ>> >Iq>d>}`>X\>pS>K>VC>8;>3>+>D#>i>d>>!>` >Ht >>>|X>>0>>W*>8>3I>\fX>`b>f>5c>[>R>J> B>_;>2>^'>>>==`=Xy=!j=>== =`<mO'`\żQ R+8iȺ00>0k@ |P〽lsy`jW=p(P.GW+})xx ǽpݽYXgֽpR0c7p@`@``k0Q0Eg@py 70\ -0.d xQ],W̽+[μu y`格 UP 2@Uȝ ̽#齘8<@<O;޻ Ѳh@<@B\L<[;ZnmΙ@``wջo;;@<=0d=`ԍ=p0=I=)==Xz= ɂ= lS=PuK=P]=@^=?=9<׺kԼ+k8zP8` mm=Ō=5==> >=y='=l=*==3=,===8s==`/==R=9q=8=B<JUPU=&8 »< v==='=h= >=>ܞ>z> >P* >>,>z=======3=\==(={=b= =0%u=Q=` &=J<7<`<ב<<u<@<< = =F<`<=Е=@=P= =Ϲ̼e=~C N:w;@!A<)<?<;żK;<8<<`T>Ќ=== x=<@<{=+;o^Ȟ`HQ8pb@PuKgHu˽rXfE޼ ;0=ѹ=x)=L=;;< < *< <d>=u=)< <0=R>Z=PO=<,<0gs=P=h=>=;`<Ј:=(==`Ç= - =8=h=h&>?>H>=^=$O>)>=ko=4B$^pS)H<轀T h@& 08v߽@:xp}۾T9Xkس̽{aֽϭ@AfpWe`߼`aW`&28m¤ B Hܔ :F: \WX܍ ãC@Ͻ}ٽ0;Ƅ0dRT ?нpج<L<\;t<=6=`=Q= 0<ha `<.Q=`K8=`<ug<n;VJ(K=`=~riuR>\Wl>C>=i;0x@@vf:A [RN(<=i>| >h>&>0=H >DGF>>p=@3M=}6=x-<@μ+*{aPW0"<য়< (ټ9ռ(=8->8=X9'L= =><>@=:@<к=(=;;'; <0}R=#\>+I>t> <@=` f>,>@=௘q=ܡ9>%>f>56>>v>8 >==^ >1>|O>dn>[>x>tד>Զ>>Z܍>>>>ߑ>XJf>P{>ij>JS>\۴>>v>4t>‚>u>Ĥ>fm>j>g>e>>R>}>>5q>v>~>R>>>>¸>nh> >>zK>hH>t`>>>B>>T>><;> ><>\>>Z>>>>>>^>T~>*>B>V>Z>>x>x>w>hi>.5>Dw>>&;>@|>>G>2>._>g->$">]>p\>X=>>@.==T=@ |=z==L>8>8s8>`H>> >$^>P [><+ >V>=P=l=x>H$=Ć=yG=`<@<@0>2>Mj>+>@y=@D >8=` 8G;@9,xn$.,@NДgh{# pY@I\|XT xx佽uU`:x:GSoP~bԍ2~p3 ƾ᯾젋 Tχ8tyjL皾ix8@B ,=piL+\3zpo[sxm([hXЫӾƾZS~{oDwj&Ӿ~ ēݾ*ºzTl鑾n:<)Tío 6 ~U2ؾ̾Dj4=1w;ģZBNd|GX5HLVd_e(,h4}X}?7J ڍJw ۂi{v:A6/H<<! &ѽЉ{ & hY콸ytAP9#5(t9vx@mR,p:>Hy=9=D >>==ZꈽM;= 7=z:xսf! LxH@8 P}Dw<`EY=MR΄ \h@py=`<ŽP⽰l 伀A%<Җ= A=<e<ƒ==І =a =@&<LY=@O> > >^u<((>Qu>E>>>=b@>s>s>>a>> >\>^O>X>@Y>ȀA>8`>>Ǧ>\>ܗ>t>R>L1g>\u><=g>ɑ>(>I>s>a> Q>(5>8=>E>`>T>d),>@>Hd> V>R>†>b>pfQ>̮F>ttd>e>ի>>>aq>F>r>T>>c>@=g> }>JQ>y>>Ԧ>pٓ>v>]>C*>Au>g>>5>>h>,B>"P>pyq>Xa>>ꓹ>O> >->P>7> ە==j>֞>Ɔ>.>:*>8.>N >/}>=`<"<>M>>>$A:>8r+>u@>L|>"b>@>f8>Ji>> =iU>C>>>^p><_?>Tn>Ҧ>`R_>hP=@=C= WM>>l>=z< 6<=`!>=@?Fʽ=h*m>t>}=|4v(o耳qN=8;= Oeqb8! 8Pc L<4Qedh hO΄=cqg~3"8bf̈[Ts ̩jp,E@3<0 L)xP8+ 4 Pp#lxd6.Hs+pPpaLCzB춾׾bqľ`NYnt׾v妾LԸ6Ѿ@ݾX| nؾ̾ؿZVXž!IJ瘾Okɭ_@lE2YXuM.H`a,h,zu' ,0¾5ӾվKԾؾ˾N\rL·>\jP~ꜾZpȾ^Ͼ_¾U׾W㾒羺ھxv뾾xo* }6aHrKPꋾ@jht|~wXnlsZ <`<C<Z\`aA<@m< ޼ G}<7e={F=ބ=p==>w>XV>d> >>t>->-=8=p=P=M6>?>1>\t7>y>.> E> >`O>,>W>Y>d G>J>:>{>(>>J >N>v>>o>t<>u>й>>:>>4>pa>tsW>r5>".>*>b >Vz>Nw> >LN>Ć>Wo> }>Ѳ>*>?)>>0(h>,)A>>80>(s>_>>>ŝ>&>ʬ>,>*>>> >>Ь`>Hw>H>]>>a>{>>:>ޝ>>>J>D)>E>b>.5> >>:>>>^>fj>z>dK>>>>>S>`>>X!>>>>f;>J>J>\>R>Ј>>,>\ >(\>I\>+>VY>ʰ>>n>` >%>(>ڴ> h>\>O>ן>>>>0>>\>^>>Ʌ>zX>8>>~#>6>Ԟ>2ͯ>Vz>⻑>P>X=> D4>@4> >P= =j>`[> V>s>}> 7>@D> >>(k>y@>H;>V>l{W>dV> #b>Uq>(B>K*>1=> >?=<= =jp=%8 0U,4I8=)= (=G`H= =<'<@X<`p!I>(E>$=a= =)== %>s> X@ҽoм=౲DH$B{$>=j<(0~L;kDHSE8 ⼠ϟ*+Xrt@yTVm3(мٽp꽼Nz:-DVN d@޽eG>v >p`=3P嚽Y+<)p =p=z==b=xȒԽ`ݼ~'= @=` >>(==(=O=X=0>X.>KT>Q>pI>DGF>>)===?=l>h>@:t>{>Qn>,>G=u;OT>x)>\ >h==0>{>X>l>>>̰`>VC>t;>C> GT> x>z>q>D*> ==,>%>I >4>s>L>o>.ߎ>y>ħZ>>>L_>v*>Lk>=tN$>` >>dL>>r>*U>^> c>0X>l}>>2>=1=1=XjT= )=Tg=ko=(r<ט=$=r黀Y&~>>lZ>NN>V'>q >o->H;>A>j>do>->80>~i>tH>h=)= }={$,d޽`^߼9=ܝ>==h߭=@ʁ<"̼,8;p:= )=d;֒༐ ,) @,ὴ&9HPu챑m]!PIսt$([P`0׽h{(x׽Z- Xi3Z X&4|jq@`nuD ,j2SPdG|h0p838i|&2fagjCpvJTu[JꧾKɾyvB^\ :Lk{@@:{x4D&_44a8WOH;pMIu ;bP߾d=پn8 ^"fzǾNԔ\"`d|o d=TVex@H xHTL 0¾ЄGc4K^3.yWom\pZXd.\Tcƒ".6؛rֆh\;. |i l&B2T:$"0bЈn0;0ҽ-6RRppj.J+ %0((<)0c?L@:@'<;w;@\̽`Mҽ`t0B=&=Y= 1=I=[<>== *><'>Ē >$*>k;>5D>Lb>sz>ln>`v>ضs> E>>8>p >:U>Yq>4v>x>>^>N>ؑ>4/><'>A > >8>G'>=0=̈>*<>x=R>^>"p>8> F== =>==@6t=V==L>i=Ņ=t=He=b >?>@W>80>\>x)>q3>X;>lO>eq>~>J>ց>pV>D>K>@v>~>Vb>X >^==$>>4c>lݓ>.>o>d {>(>nm>4!>hX > =&>-O>ư>{>/e>d<>%>$L>|n>d>A>=@O=`9< =@G=A=x_===h=pt=(===\.>`==#=X$=$>KT> >:>ؔg>P7>=@=@(=p==U!>(7>)>w->L>A>P A>8>9>DF9><>L[>`a>@/>N>)><>_>$cF>,>@>==>NQ>؄n>$r>dV>T[>->C>}>І>k>XjX>4D>T:9>1>(>>>x)>e>+>Ґ> Y>9>(o >P= ɂ=`*9=M=@< <=Ь=׹p`g< Ӻ A>h7 >=;Zp=l==2=a ==0>tAR>71>J=c< Q@ݼ+=0$=<Ph9